lnrpc 0.12.1 → 0.14.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c75951f225bdf55afcec88b635e02f7677d35c850dce27702fe25713f3b26250
4
- data.tar.gz: 64ed585674ccba14158abef3af4582ee85434fb9e9dbaf778a8458c085caee40
3
+ metadata.gz: d1501e290f91d54b09af1d2abc92fef6869c0064c667ef3b129d50a6e0f4885c
4
+ data.tar.gz: af3884acd17e590108e293134fb15170d53fc309f79431397e8cdd3a8da4b075
5
5
  SHA512:
6
- metadata.gz: 5e6d026d4222dd01107fb35540ecc928f604f084d48befc47deb66e96e49fbf336e8863dbe4c6b556cbb243d1d9df7613c3f9a1bd0554492bac369595d3305e0
7
- data.tar.gz: 83571ca31a4b21524a841cd9f1badd1934e15078b2265667c6bb3e7db2fd344cc451acaad255512803b50e1486f87b5b9e80f2ec713144fe31db544ed58491b6
6
+ metadata.gz: 435fbe6709811cec7be3f8e57ce3ee35ba53c46ed7a20484c65ff51981658b8522ef211acebaa81dc74b11098dd22e27767484b2412cecf7998e2221d333fc18
7
+ data.tar.gz: de2e8589a9179407c3019b160f1a1267e87cb0a355c082d681a01c3f047ff97cc9f341ac7d92868b84f946e719d1b99409cc89fed9966bd5d0dd2e53be3e508c
data/Gemfile.lock CHANGED
@@ -1,34 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lnrpc (0.11.1)
5
- google-protobuf (>= 3.12)
4
+ lnrpc (0.14.1)
5
+ google-protobuf (>= 3.15.7)
6
6
  grpc (>= 1.28.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- diff-lcs (1.4.4)
12
- google-protobuf (3.17.3)
13
- googleapis-common-protos-types (1.1.0)
11
+ diff-lcs (1.5.0)
12
+ google-protobuf (3.21.1)
13
+ googleapis-common-protos-types (1.3.1)
14
14
  google-protobuf (~> 3.14)
15
- grpc (1.38.0)
16
- google-protobuf (~> 3.15)
15
+ grpc (1.46.3)
16
+ google-protobuf (~> 3.19)
17
17
  googleapis-common-protos-types (~> 1.0)
18
18
  rake (13.0.6)
19
- rspec (3.10.0)
20
- rspec-core (~> 3.10.0)
21
- rspec-expectations (~> 3.10.0)
22
- rspec-mocks (~> 3.10.0)
23
- rspec-core (3.10.1)
24
- rspec-support (~> 3.10.0)
25
- rspec-expectations (3.10.1)
19
+ rspec (3.11.0)
20
+ rspec-core (~> 3.11.0)
21
+ rspec-expectations (~> 3.11.0)
22
+ rspec-mocks (~> 3.11.0)
23
+ rspec-core (3.11.0)
24
+ rspec-support (~> 3.11.0)
25
+ rspec-expectations (3.11.0)
26
26
  diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.10.0)
28
- rspec-mocks (3.10.2)
27
+ rspec-support (~> 3.11.0)
28
+ rspec-mocks (3.11.1)
29
29
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (~> 3.10.0)
31
- rspec-support (3.10.2)
30
+ rspec-support (~> 3.11.0)
31
+ rspec-support (3.11.0)
32
32
 
33
33
  PLATFORMS
34
34
  ruby
@@ -40,4 +40,4 @@ DEPENDENCIES
40
40
  rspec (~> 3.0)
41
41
 
42
42
  BUNDLED WITH
43
- 2.1.4
43
+ 2.2.33
data/README.md CHANGED
@@ -5,13 +5,10 @@ a [gRPC](https://grpc.io/) client for [LND, the Lightning Network Daemon](https:
5
5
 
6
6
  ## Installation
7
7
 
8
- Note: there is still an GRPC/protobuf [issue with Ruby 2.7](https://github.com/protocolbuffers/protobuf/issues/7070).
9
- So lnrpc requires Ruby < 2.7.
10
-
11
8
  Add this line to your application's Gemfile:
12
9
 
13
10
  ```ruby
14
- gem 'lnrpc', '~> 0.11.0'
11
+ gem 'lnrpc', '~> 0.13.0'
15
12
  ```
16
13
  lnrpc follows the lnd versioning, thus it is recommended to specify the exact version you need for your lnd node as dependency (see [#Versioning](#Versioning)).
17
14
 
@@ -27,7 +24,7 @@ Or install it yourself as:
27
24
 
28
25
  ## Usage
29
26
 
30
- This gem makes the gRPC client classes created from the [LND service defintions](https://github.com/lightningnetwork/lnd/tree/master/lnrpc) available.
27
+ This gem makes the gRPC client classes created from the [LND service definitions](https://github.com/lightningnetwork/lnd/tree/master/lnrpc) available.
31
28
 
32
29
  ```ruby
33
30
  require "lnrpc"
@@ -35,7 +32,7 @@ require "lnrpc"
35
32
  # With the changes in LND v.10.0 this load the `Lnrpc` and `Routerrpc` namespace
36
33
 
37
34
  Lnrpc::Lightning::Stub
38
- Routerrpc:::Routerrpc::Stub
35
+ Routerrpc::Routerrpc::Stub
39
36
  Lnrpc::GetInfoRequest
40
37
  ...
41
38
  ```
@@ -78,7 +75,7 @@ lnd = Lnrpc::Client.new({credentials_path: '/path/to.cert.cls', macaroon_path: '
78
75
  lnd.lightning # => Lnrpc::Lightning::Stub
79
76
  lnd.router # => Lnrpc::Router::Stub
80
77
 
81
- lnd.ligthning.get_info
78
+ lnd.lightning.get_info
82
79
  ```
83
80
 
84
81
  Also have a look at [examples.rb](https://github.com/bumi/lnrpc/blob/master/examples.rb)
@@ -133,7 +130,7 @@ client.lightning.grpc.list_channels(request)
133
130
 
134
131
  client.lightning.wallet_balance.total_balance
135
132
  # is the same as:
136
- request = Lnrpc::WalletBalanceRequest.new()
133
+ request = Lnrpc::WalletBalanceRequest.new
137
134
  client.lightning.grpc.wallet_balance(request).total_balance
138
135
  ```
139
136
 
@@ -144,7 +141,7 @@ If you have a running BTC Pay Server with LND support, integrating with lnrpc is
144
141
  - Navigate to Services on the Server Settings page
145
142
  - Click "see information" for your gRPC Server
146
143
  - The link by "More details..." will expose the address and various macaroon hex strings
147
- - Initialize your client with the options detailed above. BTC Pay Server utilizes LetsEncrypt for trusted TLC Certificates so set that option to nil.
144
+ - Initialize your client with the options detailed above. BTC Pay Server utilizes LetsEncrypt for trusted TLC Certificates so set that option to nil.
148
145
 
149
146
  Don't have a BTC Pay Server? [Setting one up is easy.](https://medium.com/@BtcpayServer/launch-btcpay-server-via-web-interface-and-deploy-full-bitcoin-node-lnd-in-less-than-a-minute-dc8bc6f06a3)
150
147
 
data/examples.rb CHANGED
@@ -24,3 +24,46 @@ puts lnd.wallet_kit.next_addr
24
24
  lnd.lightning.subscribe_invoices(settle_index: 1).each do |invoice|
25
25
  puts invoice.payment_request
26
26
  end
27
+
28
+ # sign a message with your node
29
+ signed_message = lnd.lightning.sign_message({ msg: "Money printer goes brrr" })
30
+ puts "Signature: " + signed_message.signature
31
+
32
+ # verify a signed message by another node
33
+ verification_response = lnd.lightning.verify_message({
34
+ msg: "Money printer goes brrr",
35
+ signature: signed_message.signature
36
+ })
37
+ puts "Pubkey: " + verification_response.pubkey # pubkey of the node that signed
38
+ puts "Valid: " + verification_response.valid.to_s
39
+
40
+ # get information on a node
41
+ node_info_response = lnd.lightning.get_node_info(pub_key: verification_response.pubkey, include_channels: true)
42
+ puts "Updated: " + Time.at(node_info_response.node.last_update).to_s
43
+ puts "Pubkey: " + node_info_response.node.pub_key.to_s
44
+ puts "Alias: " + node_info_response.node.alias.to_s
45
+ puts "Color: " + node_info_response.node.color.to_s
46
+ puts "Channels: " + node_info_response.num_channels.to_s
47
+ puts "Capacity SAT: " + node_info_response.total_capacity.to_s
48
+ puts "Address: " + node_info_response.node.addresses.first["addr"].to_s
49
+
50
+ # extract channel information
51
+ node_info_response.channels.each do |channel|
52
+ puts "Channel ID: " + channel["channel_id"].to_s
53
+ puts "Channel 1:" + channel["node1_pub"].to_s # pubkey of the first node
54
+ puts "Channel 2:" + channel["node2_pub"].to_s # pubkey of the second node
55
+ puts "Channel Capacity:" + channel["capacity"].to_s
56
+ end
57
+
58
+ # update channel policy
59
+ channel = lnd.lightning.list_channels.channels[0]
60
+ puts lnd.lightning.get_chan_info(chan_id: channel.chan_id)
61
+ channel_point = {
62
+ funding_txid_str: channel.channel_point.split(":")[0],
63
+ output_index: channel.channel_point.split(":")[1].to_i
64
+ }
65
+ lnd.lightning.update_channel_policy({
66
+ time_lock_delta: 40,
67
+ base_fee_msat: 1100,
68
+ chan_point: channel_point
69
+ })
@@ -18,9 +18,8 @@ for file in $PROTOS; do
18
18
  echo "Generating protos from ${file}, into ${LNRPC_TARGET_DIR}/${DIRECTORY}"
19
19
 
20
20
  # writes all ruby files in the ruby directory
21
- grpc_tools_ruby_protoc -I/usr/local/include \
22
- -I. \
23
- -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
21
+ grpc_tools_ruby_protoc -I. \
22
+ -I$GOPATH/src/github.com/googleapis/googleapis \
24
23
  -I$GOPATH/src/github.com/lightningnetwork/lnd/lnrpc \
25
24
  --ruby_out=plugins=grpc,paths=source_relative:${LNRPC_TARGET_DIR} \
26
25
  --grpc_out=${LNRPC_TARGET_DIR} "${file}"
@@ -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("invoicesrpc/invoices.proto", :syntax => :proto3) do
9
10
  add_message "invoicesrpc.CancelInvoiceMsg" do
@@ -25,6 +26,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
25
26
  end
26
27
  add_message "invoicesrpc.AddHoldInvoiceResp" do
27
28
  optional :payment_request, :string, 1
29
+ optional :add_index, :uint64, 2
30
+ optional :payment_addr, :bytes, 3
28
31
  end
29
32
  add_message "invoicesrpc.SettleInvoiceMsg" do
30
33
  optional :preimage, :bytes, 1
@@ -34,6 +37,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
34
37
  add_message "invoicesrpc.SubscribeSingleInvoiceRequest" do
35
38
  optional :r_hash, :bytes, 2
36
39
  end
40
+ add_message "invoicesrpc.LookupInvoiceMsg" do
41
+ optional :lookup_modifier, :enum, 4, "invoicesrpc.LookupModifier"
42
+ oneof :invoice_ref do
43
+ optional :payment_hash, :bytes, 1
44
+ optional :payment_addr, :bytes, 2
45
+ optional :set_id, :bytes, 3
46
+ end
47
+ end
48
+ add_enum "invoicesrpc.LookupModifier" do
49
+ value :DEFAULT, 0
50
+ value :HTLC_SET_ONLY, 1
51
+ value :HTLC_SET_BLANK, 2
52
+ end
37
53
  end
38
54
  end
39
55
 
@@ -45,4 +61,6 @@ module Invoicesrpc
45
61
  SettleInvoiceMsg = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("invoicesrpc.SettleInvoiceMsg").msgclass
46
62
  SettleInvoiceResp = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("invoicesrpc.SettleInvoiceResp").msgclass
47
63
  SubscribeSingleInvoiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("invoicesrpc.SubscribeSingleInvoiceRequest").msgclass
64
+ LookupInvoiceMsg = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("invoicesrpc.LookupInvoiceMsg").msgclass
65
+ LookupModifier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("invoicesrpc.LookupModifier").enummodule
48
66
  end
@@ -34,6 +34,10 @@ module Invoicesrpc
34
34
  # SettleInvoice settles an accepted invoice. If the invoice is already
35
35
  # settled, this call will succeed.
36
36
  rpc :SettleInvoice, ::Invoicesrpc::SettleInvoiceMsg, ::Invoicesrpc::SettleInvoiceResp
37
+ #
38
+ # LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced
39
+ # using either its payment hash, payment address, or set ID.
40
+ rpc :LookupInvoiceV2, ::Invoicesrpc::LookupInvoiceMsg, ::Lnrpc::Invoice
37
41
  end
38
42
 
39
43
  Stub = Service.rpc_stub_class
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'verrpc/verrpc_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("lnclipb/lncli.proto", :syntax => :proto3) do
9
10
  add_message "lnclipb.VersionResponse" do
@@ -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("routerrpc/router.proto", :syntax => :proto3) do
9
10
  add_message "routerrpc.SendPaymentRequest" do
@@ -28,6 +29,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
29
  optional :max_parts, :uint32, 17
29
30
  optional :no_inflight_updates, :bool, 18
30
31
  optional :max_shard_size_msat, :uint64, 21
32
+ optional :amp, :bool, 22
31
33
  end
32
34
  add_message "routerrpc.TrackPaymentRequest" do
33
35
  optional :payment_hash, :bytes, 1
@@ -58,6 +60,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
58
60
  add_message "routerrpc.QueryMissionControlResponse" do
59
61
  repeated :pairs, :message, 2, "routerrpc.PairHistory"
60
62
  end
63
+ add_message "routerrpc.XImportMissionControlRequest" do
64
+ repeated :pairs, :message, 1, "routerrpc.PairHistory"
65
+ optional :force, :bool, 2
66
+ end
67
+ add_message "routerrpc.XImportMissionControlResponse" do
68
+ end
61
69
  add_message "routerrpc.PairHistory" do
62
70
  optional :node_from, :bytes, 1
63
71
  optional :node_to, :bytes, 2
@@ -71,6 +79,23 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
71
79
  optional :success_amt_sat, :int64, 6
72
80
  optional :success_amt_msat, :int64, 7
73
81
  end
82
+ add_message "routerrpc.GetMissionControlConfigRequest" do
83
+ end
84
+ add_message "routerrpc.GetMissionControlConfigResponse" do
85
+ optional :config, :message, 1, "routerrpc.MissionControlConfig"
86
+ end
87
+ add_message "routerrpc.SetMissionControlConfigRequest" do
88
+ optional :config, :message, 1, "routerrpc.MissionControlConfig"
89
+ end
90
+ add_message "routerrpc.SetMissionControlConfigResponse" do
91
+ end
92
+ add_message "routerrpc.MissionControlConfig" do
93
+ optional :half_life_seconds, :uint64, 1
94
+ optional :hop_probability, :float, 2
95
+ optional :weight, :float, 3
96
+ optional :maximum_payment_results, :uint32, 4
97
+ optional :minimum_failure_relax_interval, :uint64, 5
98
+ end
74
99
  add_message "routerrpc.QueryProbabilityRequest" do
75
100
  optional :from_node, :bytes, 1
76
101
  optional :to_node, :bytes, 2
@@ -124,6 +149,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
124
149
  add_message "routerrpc.ForwardFailEvent" do
125
150
  end
126
151
  add_message "routerrpc.SettleEvent" do
152
+ optional :preimage, :bytes, 1
127
153
  end
128
154
  add_message "routerrpc.LinkFailEvent" do
129
155
  optional :info, :message, 1, "routerrpc.HtlcInfo"
@@ -156,6 +182,12 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
156
182
  optional :action, :enum, 2, "routerrpc.ResolveHoldForwardAction"
157
183
  optional :preimage, :bytes, 3
158
184
  end
185
+ add_message "routerrpc.UpdateChanStatusRequest" do
186
+ optional :chan_point, :message, 1, "lnrpc.ChannelPoint"
187
+ optional :action, :enum, 2, "routerrpc.ChanStatusAction"
188
+ end
189
+ add_message "routerrpc.UpdateChanStatusResponse" do
190
+ end
159
191
  add_enum "routerrpc.FailureDetail" do
160
192
  value :UNKNOWN, 0
161
193
  value :NO_DETAIL, 1
@@ -195,6 +227,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
195
227
  value :FAIL, 1
196
228
  value :RESUME, 2
197
229
  end
230
+ add_enum "routerrpc.ChanStatusAction" do
231
+ value :ENABLE, 0
232
+ value :DISABLE, 1
233
+ value :AUTO, 2
234
+ end
198
235
  end
199
236
  end
200
237
 
@@ -209,8 +246,15 @@ module Routerrpc
209
246
  ResetMissionControlResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.ResetMissionControlResponse").msgclass
210
247
  QueryMissionControlRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryMissionControlRequest").msgclass
211
248
  QueryMissionControlResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryMissionControlResponse").msgclass
249
+ XImportMissionControlRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.XImportMissionControlRequest").msgclass
250
+ XImportMissionControlResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.XImportMissionControlResponse").msgclass
212
251
  PairHistory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.PairHistory").msgclass
213
252
  PairData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.PairData").msgclass
253
+ GetMissionControlConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.GetMissionControlConfigRequest").msgclass
254
+ GetMissionControlConfigResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.GetMissionControlConfigResponse").msgclass
255
+ SetMissionControlConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.SetMissionControlConfigRequest").msgclass
256
+ SetMissionControlConfigResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.SetMissionControlConfigResponse").msgclass
257
+ MissionControlConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.MissionControlConfig").msgclass
214
258
  QueryProbabilityRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryProbabilityRequest").msgclass
215
259
  QueryProbabilityResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.QueryProbabilityResponse").msgclass
216
260
  BuildRouteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.BuildRouteRequest").msgclass
@@ -227,7 +271,10 @@ module Routerrpc
227
271
  CircuitKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.CircuitKey").msgclass
228
272
  ForwardHtlcInterceptRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.ForwardHtlcInterceptRequest").msgclass
229
273
  ForwardHtlcInterceptResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.ForwardHtlcInterceptResponse").msgclass
274
+ UpdateChanStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.UpdateChanStatusRequest").msgclass
275
+ UpdateChanStatusResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.UpdateChanStatusResponse").msgclass
230
276
  FailureDetail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.FailureDetail").enummodule
231
277
  PaymentState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.PaymentState").enummodule
232
278
  ResolveHoldForwardAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.ResolveHoldForwardAction").enummodule
279
+ ChanStatusAction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("routerrpc.ChanStatusAction").enummodule
233
280
  end
@@ -51,6 +51,19 @@ module Routerrpc
51
51
  # It is a development feature.
52
52
  rpc :QueryMissionControl, ::Routerrpc::QueryMissionControlRequest, ::Routerrpc::QueryMissionControlResponse
53
53
  #
54
+ # XImportMissionControl is an experimental API that imports the state provided
55
+ # to the internal mission control's state, using all results which are more
56
+ # recent than our existing values. These values will only be imported
57
+ # in-memory, and will not be persisted across restarts.
58
+ rpc :XImportMissionControl, ::Routerrpc::XImportMissionControlRequest, ::Routerrpc::XImportMissionControlResponse
59
+ #
60
+ # GetMissionControlConfig returns mission control's current config.
61
+ rpc :GetMissionControlConfig, ::Routerrpc::GetMissionControlConfigRequest, ::Routerrpc::GetMissionControlConfigResponse
62
+ #
63
+ # SetMissionControlConfig will set mission control's config, if the config
64
+ # provided is valid.
65
+ rpc :SetMissionControlConfig, ::Routerrpc::SetMissionControlConfigRequest, ::Routerrpc::SetMissionControlConfigResponse
66
+ #
54
67
  # QueryProbability returns the current success probability estimate for a
55
68
  # given node pair and amount.
56
69
  rpc :QueryProbability, ::Routerrpc::QueryProbabilityRequest, ::Routerrpc::QueryProbabilityResponse
@@ -79,6 +92,12 @@ module Routerrpc
79
92
  # In case of interception, the htlc can be either settled, cancelled or
80
93
  # resumed later by using the ResolveHoldForward endpoint.
81
94
  rpc :HtlcInterceptor, stream(::Routerrpc::ForwardHtlcInterceptResponse), stream(::Routerrpc::ForwardHtlcInterceptRequest)
95
+ #
96
+ # UpdateChanStatus attempts to manually set the state of a channel
97
+ # (enabled, disabled, or auto). A manual "disable" request will cause the
98
+ # channel to stay disabled until a subsequent manual request of either
99
+ # "enable" or "auto".
100
+ rpc :UpdateChanStatus, ::Routerrpc::UpdateChanStatusRequest, ::Routerrpc::UpdateChanStatusResponse
82
101
  end
83
102
 
84
103
  Stub = Service.rpc_stub_class
@@ -28,6 +28,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
28
28
  add_message "lnrpc.GetTransactionsRequest" do
29
29
  optional :start_height, :int32, 1
30
30
  optional :end_height, :int32, 2
31
+ optional :account, :string, 3
31
32
  end
32
33
  add_message "lnrpc.TransactionDetails" do
33
34
  repeated :transactions, :message, 1, "lnrpc.Transaction"
@@ -55,6 +56,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
55
56
  map :dest_custom_records, :uint64, :bytes, 11
56
57
  optional :allow_self_payment, :bool, 14
57
58
  repeated :dest_features, :enum, 15, "lnrpc.FeatureBit"
59
+ optional :payment_addr, :bytes, 16
58
60
  end
59
61
  add_message "lnrpc.SendResponse" do
60
62
  optional :payment_error, :string, 1
@@ -113,14 +115,18 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
113
115
  add_message "lnrpc.EstimateFeeRequest" do
114
116
  map :AddrToAmount, :string, :int64, 1
115
117
  optional :target_conf, :int32, 2
118
+ optional :min_confs, :int32, 3
119
+ optional :spend_unconfirmed, :bool, 4
116
120
  end
117
121
  add_message "lnrpc.EstimateFeeResponse" do
118
122
  optional :fee_sat, :int64, 1
119
123
  optional :feerate_sat_per_byte, :int64, 2
124
+ optional :sat_per_vbyte, :uint64, 3
120
125
  end
121
126
  add_message "lnrpc.SendManyRequest" do
122
127
  map :AddrToAmount, :string, :int64, 1
123
128
  optional :target_conf, :int32, 3
129
+ optional :sat_per_vbyte, :uint64, 4
124
130
  optional :sat_per_byte, :int64, 5
125
131
  optional :label, :string, 6
126
132
  optional :min_confs, :int32, 7
@@ -133,6 +139,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
133
139
  optional :addr, :string, 1
134
140
  optional :amount, :int64, 2
135
141
  optional :target_conf, :int32, 3
142
+ optional :sat_per_vbyte, :uint64, 4
136
143
  optional :sat_per_byte, :int64, 5
137
144
  optional :send_all, :bool, 6
138
145
  optional :label, :string, 7
@@ -145,12 +152,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
145
152
  add_message "lnrpc.ListUnspentRequest" do
146
153
  optional :min_confs, :int32, 1
147
154
  optional :max_confs, :int32, 2
155
+ optional :account, :string, 3
148
156
  end
149
157
  add_message "lnrpc.ListUnspentResponse" do
150
158
  repeated :utxos, :message, 1, "lnrpc.Utxo"
151
159
  end
152
160
  add_message "lnrpc.NewAddressRequest" do
153
161
  optional :type, :enum, 1, "lnrpc.AddressType"
162
+ optional :account, :string, 2
154
163
  end
155
164
  add_message "lnrpc.NewAddressResponse" do
156
165
  optional :address, :string, 1
@@ -373,6 +382,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
373
382
  optional :target_conf, :int32, 3
374
383
  optional :sat_per_byte, :int64, 4
375
384
  optional :delivery_address, :string, 5
385
+ optional :sat_per_vbyte, :uint64, 6
376
386
  end
377
387
  add_message "lnrpc.CloseStatusUpdate" do
378
388
  oneof :update do
@@ -390,6 +400,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
390
400
  optional :psbt, :bytes, 3
391
401
  end
392
402
  add_message "lnrpc.OpenChannelRequest" do
403
+ optional :sat_per_vbyte, :uint64, 1
393
404
  optional :node_pubkey, :bytes, 2
394
405
  optional :node_pubkey_string, :string, 3
395
406
  optional :local_funding_amount, :int64, 4
@@ -550,12 +561,17 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
550
561
  value :INACTIVE_CHANNEL, 3
551
562
  value :PENDING_OPEN_CHANNEL, 4
552
563
  end
564
+ add_message "lnrpc.WalletAccountBalance" do
565
+ optional :confirmed_balance, :int64, 1
566
+ optional :unconfirmed_balance, :int64, 2
567
+ end
553
568
  add_message "lnrpc.WalletBalanceRequest" do
554
569
  end
555
570
  add_message "lnrpc.WalletBalanceResponse" do
556
571
  optional :total_balance, :int64, 1
557
572
  optional :confirmed_balance, :int64, 2
558
573
  optional :unconfirmed_balance, :int64, 3
574
+ map :account_balance, :string, :message, 4, "lnrpc.WalletAccountBalance"
559
575
  end
560
576
  add_message "lnrpc.Amount" do
561
577
  optional :sat, :uint64, 1
@@ -614,12 +630,18 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
614
630
  optional :pub_key, :string, 8
615
631
  optional :tlv_payload, :bool, 9
616
632
  optional :mpp_record, :message, 10, "lnrpc.MPPRecord"
633
+ optional :amp_record, :message, 12, "lnrpc.AMPRecord"
617
634
  map :custom_records, :uint64, :bytes, 11
618
635
  end
619
636
  add_message "lnrpc.MPPRecord" do
620
637
  optional :payment_addr, :bytes, 11
621
638
  optional :total_amt_msat, :int64, 10
622
639
  end
640
+ add_message "lnrpc.AMPRecord" do
641
+ optional :root_share, :bytes, 1
642
+ optional :set_id, :bytes, 2
643
+ optional :child_index, :uint32, 3
644
+ end
623
645
  add_message "lnrpc.Route" do
624
646
  optional :total_time_lock, :uint32, 1
625
647
  optional :total_fees, :int64, 2
@@ -721,6 +743,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
721
743
  optional :global_features, :bytes, 3
722
744
  optional :alias, :string, 4
723
745
  optional :color, :string, 5
746
+ repeated :node_addresses, :message, 7, "lnrpc.NodeAddress"
724
747
  map :features, :uint32, :message, 6, "lnrpc.Feature"
725
748
  end
726
749
  add_message "lnrpc.ChannelEdgeUpdate" do
@@ -773,6 +796,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
773
796
  map :features, :uint32, :message, 24, "lnrpc.Feature"
774
797
  optional :is_keysend, :bool, 25
775
798
  optional :payment_addr, :bytes, 26
799
+ optional :is_amp, :bool, 27
776
800
  end
777
801
  add_enum "lnrpc.Invoice.InvoiceState" do
778
802
  value :OPEN, 0
@@ -791,6 +815,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
791
815
  optional :state, :enum, 8, "lnrpc.InvoiceHTLCState"
792
816
  map :custom_records, :uint64, :bytes, 9
793
817
  optional :mpp_total_amt_msat, :uint64, 10
818
+ optional :amp, :message, 11, "lnrpc.AMP"
819
+ end
820
+ add_message "lnrpc.AMP" do
821
+ optional :root_share, :bytes, 1
822
+ optional :set_id, :bytes, 2
823
+ optional :child_index, :uint32, 3
824
+ optional :hash, :bytes, 4
825
+ optional :preimage, :bytes, 5
794
826
  end
795
827
  add_message "lnrpc.AddInvoiceResponse" do
796
828
  optional :r_hash, :bytes, 1
@@ -866,6 +898,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
866
898
  optional :last_index_offset, :uint64, 3
867
899
  end
868
900
  add_message "lnrpc.DeleteAllPaymentsRequest" do
901
+ optional :failed_payments_only, :bool, 1
902
+ optional :failed_htlcs_only, :bool, 2
869
903
  end
870
904
  add_message "lnrpc.DeleteAllPaymentsResponse" do
871
905
  end
@@ -950,6 +984,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
950
984
  optional :fee_msat, :uint64, 8
951
985
  optional :amt_in_msat, :uint64, 9
952
986
  optional :amt_out_msat, :uint64, 10
987
+ optional :timestamp_ns, :uint64, 11
953
988
  end
954
989
  add_message "lnrpc.ForwardingHistoryResponse" do
955
990
  repeated :forwarding_events, :message, 1, "lnrpc.ForwardingEvent"
@@ -1052,6 +1087,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
1052
1087
  value :PERMANENT_CHANNEL_FAILURE, 21
1053
1088
  value :EXPIRY_TOO_FAR, 22
1054
1089
  value :MPP_TIMEOUT, 23
1090
+ value :INVALID_ONION_PAYLOAD, 24
1055
1091
  value :INTERNAL_FAILURE, 997
1056
1092
  value :UNKNOWN_FAILURE, 998
1057
1093
  value :UNREADABLE_FAILURE, 999
@@ -1153,6 +1189,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
1153
1189
  value :ANCHORS_OPT, 21
1154
1190
  value :ANCHORS_ZERO_FEE_HTLC_REQ, 22
1155
1191
  value :ANCHORS_ZERO_FEE_HTLC_OPT, 23
1192
+ value :AMP_REQ, 30
1193
+ value :AMP_OPT, 31
1156
1194
  end
1157
1195
  end
1158
1196
  end
@@ -1244,6 +1282,7 @@ module Lnrpc
1244
1282
  ChannelEventSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelEventSubscription").msgclass
1245
1283
  ChannelEventUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelEventUpdate").msgclass
1246
1284
  ChannelEventUpdate::UpdateType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChannelEventUpdate.UpdateType").enummodule
1285
+ WalletAccountBalance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletAccountBalance").msgclass
1247
1286
  WalletBalanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletBalanceRequest").msgclass
1248
1287
  WalletBalanceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WalletBalanceResponse").msgclass
1249
1288
  Amount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Amount").msgclass
@@ -1255,6 +1294,7 @@ module Lnrpc
1255
1294
  QueryRoutesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.QueryRoutesResponse").msgclass
1256
1295
  Hop = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Hop").msgclass
1257
1296
  MPPRecord = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.MPPRecord").msgclass
1297
+ AMPRecord = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AMPRecord").msgclass
1258
1298
  Route = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Route").msgclass
1259
1299
  NodeInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeInfoRequest").msgclass
1260
1300
  NodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.NodeInfo").msgclass
@@ -1282,6 +1322,7 @@ module Lnrpc
1282
1322
  Invoice = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Invoice").msgclass
1283
1323
  Invoice::InvoiceState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.Invoice.InvoiceState").enummodule
1284
1324
  InvoiceHTLC = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InvoiceHTLC").msgclass
1325
+ AMP = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AMP").msgclass
1285
1326
  AddInvoiceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.AddInvoiceResponse").msgclass
1286
1327
  PaymentHash = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.PaymentHash").msgclass
1287
1328
  ListInvoiceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ListInvoiceRequest").msgclass
@@ -58,7 +58,7 @@ module Lnrpc
58
58
  # lncli: `sendcoins`
59
59
  # SendCoins executes a request to send coins to a particular address. Unlike
60
60
  # SendMany, this RPC call only allows creating a single output at a time. If
61
- # neither target_conf, or sat_per_byte are set, then the internal wallet will
61
+ # neither target_conf, or sat_per_vbyte are set, then the internal wallet will
62
62
  # consult its fee model to determine a fee for the default confirmation
63
63
  # target.
64
64
  rpc :SendCoins, ::Lnrpc::SendCoinsRequest, ::Lnrpc::SendCoinsResponse
@@ -75,7 +75,7 @@ module Lnrpc
75
75
  rpc :SubscribeTransactions, ::Lnrpc::GetTransactionsRequest, stream(::Lnrpc::Transaction)
76
76
  # lncli: `sendmany`
77
77
  # SendMany handles a request for a transaction that creates multiple specified
78
- # outputs in parallel. If neither target_conf, or sat_per_byte are set, then
78
+ # outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then
79
79
  # the internal wallet will consult its fee model to determine a fee for the
80
80
  # default confirmation target.
81
81
  rpc :SendMany, ::Lnrpc::SendManyRequest, ::Lnrpc::SendManyResponse
@@ -43,6 +43,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
43
43
  add_message "signrpc.SignMessageReq" do
44
44
  optional :msg, :bytes, 1
45
45
  optional :key_loc, :message, 2, "signrpc.KeyLocator"
46
+ optional :double_hash, :bool, 3
47
+ optional :compact_sig, :bool, 4
46
48
  end
47
49
  add_message "signrpc.SignMessageResp" do
48
50
  optional :signature, :bytes, 1
@@ -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
@@ -68,6 +109,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
68
109
  optional :next_broadcast_height, :uint32, 6
69
110
  optional :requested_conf_target, :uint32, 8
70
111
  optional :requested_sat_per_byte, :uint32, 9
112
+ optional :sat_per_vbyte, :uint64, 10
113
+ optional :requested_sat_per_vbyte, :uint64, 11
71
114
  optional :force, :bool, 7
72
115
  end
73
116
  add_message "walletrpc.PendingSweepsRequest" do
@@ -80,6 +123,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
80
123
  optional :target_conf, :uint32, 2
81
124
  optional :sat_per_byte, :uint32, 3
82
125
  optional :force, :bool, 4
126
+ optional :sat_per_vbyte, :uint64, 5
83
127
  end
84
128
  add_message "walletrpc.BumpFeeResponse" do
85
129
  end
@@ -103,13 +147,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
103
147
  add_message "walletrpc.LabelTransactionResponse" do
104
148
  end
105
149
  add_message "walletrpc.FundPsbtRequest" do
150
+ optional :account, :string, 5
151
+ optional :min_confs, :int32, 6
152
+ optional :spend_unconfirmed, :bool, 7
106
153
  oneof :template do
107
154
  optional :psbt, :bytes, 1
108
155
  optional :raw, :message, 2, "walletrpc.TxTemplate"
109
156
  end
110
157
  oneof :fees do
111
158
  optional :target_conf, :uint32, 3
112
- optional :sat_per_vbyte, :uint32, 4
159
+ optional :sat_per_vbyte, :uint64, 4
113
160
  end
114
161
  end
115
162
  add_message "walletrpc.FundPsbtResponse" do
@@ -126,13 +173,31 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
126
173
  optional :outpoint, :message, 2, "lnrpc.OutPoint"
127
174
  optional :expiration, :uint64, 3
128
175
  end
176
+ add_message "walletrpc.SignPsbtRequest" do
177
+ optional :funded_psbt, :bytes, 1
178
+ end
179
+ add_message "walletrpc.SignPsbtResponse" do
180
+ optional :signed_psbt, :bytes, 1
181
+ end
129
182
  add_message "walletrpc.FinalizePsbtRequest" do
130
183
  optional :funded_psbt, :bytes, 1
184
+ optional :account, :string, 5
131
185
  end
132
186
  add_message "walletrpc.FinalizePsbtResponse" do
133
187
  optional :signed_psbt, :bytes, 1
134
188
  optional :raw_final_tx, :bytes, 2
135
189
  end
190
+ add_message "walletrpc.ListLeasesRequest" do
191
+ end
192
+ add_message "walletrpc.ListLeasesResponse" do
193
+ repeated :locked_utxos, :message, 1, "walletrpc.UtxoLease"
194
+ end
195
+ add_enum "walletrpc.AddressType" do
196
+ value :UNKNOWN, 0
197
+ value :WITNESS_PUBKEY_HASH, 1
198
+ value :NESTED_WITNESS_PUBKEY_HASH, 2
199
+ value :HYBRID_NESTED_WITNESS_PUBKEY_HASH, 3
200
+ end
136
201
  add_enum "walletrpc.WitnessType" do
137
202
  value :UNKNOWN_WITNESS, 0
138
203
  value :COMMITMENT_TIME_LOCK, 1
@@ -162,6 +227,13 @@ module Walletrpc
162
227
  KeyReq = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.KeyReq").msgclass
163
228
  AddrRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddrRequest").msgclass
164
229
  AddrResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddrResponse").msgclass
230
+ Account = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.Account").msgclass
231
+ ListAccountsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsRequest").msgclass
232
+ ListAccountsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsResponse").msgclass
233
+ ImportAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountRequest").msgclass
234
+ ImportAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountResponse").msgclass
235
+ ImportPublicKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyRequest").msgclass
236
+ ImportPublicKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyResponse").msgclass
165
237
  Transaction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.Transaction").msgclass
166
238
  PublishResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.PublishResponse").msgclass
167
239
  SendOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SendOutputsRequest").msgclass
@@ -182,7 +254,12 @@ module Walletrpc
182
254
  FundPsbtResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FundPsbtResponse").msgclass
183
255
  TxTemplate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.TxTemplate").msgclass
184
256
  UtxoLease = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.UtxoLease").msgclass
257
+ SignPsbtRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SignPsbtRequest").msgclass
258
+ SignPsbtResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SignPsbtResponse").msgclass
185
259
  FinalizePsbtRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FinalizePsbtRequest").msgclass
186
260
  FinalizePsbtResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FinalizePsbtResponse").msgclass
261
+ ListLeasesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListLeasesRequest").msgclass
262
+ ListLeasesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListLeasesResponse").msgclass
263
+ AddressType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddressType").enummodule
187
264
  WitnessType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.WitnessType").enummodule
188
265
  end
@@ -33,6 +33,9 @@ module Walletrpc
33
33
  # originally lock the output.
34
34
  rpc :ReleaseOutput, ::Walletrpc::ReleaseOutputRequest, ::Walletrpc::ReleaseOutputResponse
35
35
  #
36
+ # ListLeases lists all currently locked utxos.
37
+ rpc :ListLeases, ::Walletrpc::ListLeasesRequest, ::Walletrpc::ListLeasesResponse
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.
@@ -45,6 +48,43 @@ module Walletrpc
45
48
  # NextAddr returns the next unused address within the wallet.
46
49
  rpc :NextAddr, ::Walletrpc::AddrRequest, ::Walletrpc::AddrResponse
47
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
+ #
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
@@ -129,6 +169,19 @@ module Walletrpc
129
169
  # an error on the caller's side.
130
170
  rpc :FundPsbt, ::Walletrpc::FundPsbtRequest, ::Walletrpc::FundPsbtResponse
131
171
  #
172
+ # SignPsbt expects a partial transaction with all inputs and outputs fully
173
+ # declared and tries to sign all unsigned inputs that have all required fields
174
+ # (UTXO information, BIP32 derivation information, witness or sig scripts)
175
+ # set.
176
+ # If no error is returned, the PSBT is ready to be given to the next signer or
177
+ # to be finalized if lnd was the last signer.
178
+ #
179
+ # NOTE: This RPC only signs inputs (and only those it can sign), it does not
180
+ # perform any other tasks (such as coin selection, UTXO locking or
181
+ # input/output/fee value validation, PSBT finalization). Any input that is
182
+ # incomplete will be skipped.
183
+ rpc :SignPsbt, ::Walletrpc::SignPsbtRequest, ::Walletrpc::SignPsbtResponse
184
+ #
132
185
  # FinalizePsbt expects a partial transaction with all inputs and outputs fully
133
186
  # declared and tries to sign all inputs that belong to the wallet. Lnd must be
134
187
  # the last signer of the transaction. That means, if there are any unsigned
@@ -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
@@ -21,10 +22,24 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
21
22
  optional :recovery_window, :int32, 4
22
23
  optional :channel_backups, :message, 5, "lnrpc.ChanBackupSnapshot"
23
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"
24
28
  end
25
29
  add_message "lnrpc.InitWalletResponse" do
26
30
  optional :admin_macaroon, :bytes, 1
27
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
42
+ end
28
43
  add_message "lnrpc.UnlockWalletRequest" do
29
44
  optional :wallet_password, :bytes, 1
30
45
  optional :recovery_window, :int32, 2
@@ -50,6 +65,8 @@ module Lnrpc
50
65
  GenSeedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedResponse").msgclass
51
66
  InitWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletRequest").msgclass
52
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
53
70
  UnlockWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletRequest").msgclass
54
71
  UnlockWalletResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletResponse").msgclass
55
72
  ChangePasswordRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordRequest").msgclass
@@ -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
@@ -55,6 +56,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
55
56
  add_message "wtclientrpc.PolicyResponse" do
56
57
  optional :max_updates, :uint32, 1
57
58
  optional :sweep_sat_per_byte, :uint32, 2
59
+ optional :sweep_sat_per_vbyte, :uint32, 3
58
60
  end
59
61
  add_enum "wtclientrpc.PolicyType" do
60
62
  value :LEGACY, 0
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.12.1"
2
+ VERSION = "0.14.3.1"
3
3
  end
data/lnrpc.gemspec CHANGED
@@ -30,5 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
 
32
32
  spec.add_dependency "grpc", ">= 1.28.0"
33
- spec.add_dependency "google-protobuf", ">=3.12"
33
+ spec.add_dependency "google-protobuf", ">=3.15.7"
34
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lnrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.14.3.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: 2021-07-09 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
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '3.12'
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.12'
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.1.4
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