lnrpc 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -13
- data/examples.rb +5 -5
- data/generate-grpc-service-files.sh +30 -0
- data/lib/grpc_services/autopilotrpc/autopilot_pb.rb +48 -0
- data/lib/grpc_services/autopilotrpc/autopilot_services_pb.rb +40 -0
- data/lib/grpc_services/chainrpc/chainnotifier_pb.rb +67 -0
- data/lib/grpc_services/chainrpc/chainnotifier_services_pb.rb +51 -0
- data/lib/grpc_services/invoicesrpc/invoices_pb.rb +48 -0
- data/lib/grpc_services/invoicesrpc/invoices_services_pb.rb +41 -0
- data/lib/grpc_services/lnclipb/lncli_pb.rb +18 -0
- data/lib/grpc_services/routerrpc/router_pb.rb +229 -0
- data/lib/{lnrpc → grpc_services/routerrpc}/router_services_pb.rb +33 -16
- data/lib/grpc_services/rpc_pb.rb +1265 -0
- data/lib/{lnrpc → grpc_services}/rpc_services_pb.rb +83 -115
- data/lib/grpc_services/signrpc/signer_pb.rb +83 -0
- data/lib/grpc_services/signrpc/signer_services_pb.rb +68 -0
- data/lib/grpc_services/verrpc/verrpc_pb.rb +27 -0
- data/lib/grpc_services/verrpc/verrpc_services_pb.rb +27 -0
- data/lib/grpc_services/walletrpc/walletkit_pb.rb +149 -0
- data/lib/grpc_services/walletrpc/walletkit_services_pb.rb +115 -0
- data/lib/grpc_services/walletunlocker_pb.rb +51 -0
- data/lib/grpc_services/walletunlocker_services_pb.rb +72 -0
- data/lib/grpc_services/watchtowerrpc/watchtower_pb.rb +21 -0
- data/lib/grpc_services/watchtowerrpc/watchtower_services_pb.rb +28 -0
- data/lib/grpc_services/wtclientrpc/wtclient_pb.rb +75 -0
- data/lib/grpc_services/wtclientrpc/wtclient_services_pb.rb +43 -0
- data/lib/lnrpc.rb +6 -2
- data/lib/lnrpc/client.rb +50 -9
- data/lib/lnrpc/grpc_wrapper.rb +19 -42
- data/lib/lnrpc/version.rb +1 -1
- data/lnrpc.gemspec +1 -1
- metadata +27 -8
- data/lib/lnrpc/router.proto +0 -560
- data/lib/lnrpc/router_pb.rb +0 -198
- data/lib/lnrpc/rpc.proto +0 -3687
- data/lib/lnrpc/rpc_pb.rb +0 -1248
data/lib/lnrpc/version.rb
CHANGED
data/lnrpc.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
end
|
24
24
|
spec.bindir = "exe"
|
25
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
|
-
spec.require_paths = ["lib"]
|
26
|
+
spec.require_paths = ["lib", "lib/grpc_services"]
|
27
27
|
|
28
28
|
spec.add_development_dependency "bundler", "~> 1.17"
|
29
29
|
spec.add_development_dependency "rake", "~> 13.0"
|
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.
|
4
|
+
version: 0.11.0
|
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
|
+
date: 2020-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -98,16 +98,34 @@ files:
|
|
98
98
|
- bin/console
|
99
99
|
- bin/setup
|
100
100
|
- examples.rb
|
101
|
+
- generate-grpc-service-files.sh
|
102
|
+
- lib/grpc_services/autopilotrpc/autopilot_pb.rb
|
103
|
+
- lib/grpc_services/autopilotrpc/autopilot_services_pb.rb
|
104
|
+
- lib/grpc_services/chainrpc/chainnotifier_pb.rb
|
105
|
+
- lib/grpc_services/chainrpc/chainnotifier_services_pb.rb
|
106
|
+
- lib/grpc_services/invoicesrpc/invoices_pb.rb
|
107
|
+
- lib/grpc_services/invoicesrpc/invoices_services_pb.rb
|
108
|
+
- lib/grpc_services/lnclipb/lncli_pb.rb
|
109
|
+
- lib/grpc_services/routerrpc/router_pb.rb
|
110
|
+
- lib/grpc_services/routerrpc/router_services_pb.rb
|
111
|
+
- lib/grpc_services/rpc_pb.rb
|
112
|
+
- lib/grpc_services/rpc_services_pb.rb
|
113
|
+
- lib/grpc_services/signrpc/signer_pb.rb
|
114
|
+
- lib/grpc_services/signrpc/signer_services_pb.rb
|
115
|
+
- lib/grpc_services/verrpc/verrpc_pb.rb
|
116
|
+
- lib/grpc_services/verrpc/verrpc_services_pb.rb
|
117
|
+
- lib/grpc_services/walletrpc/walletkit_pb.rb
|
118
|
+
- lib/grpc_services/walletrpc/walletkit_services_pb.rb
|
119
|
+
- lib/grpc_services/walletunlocker_pb.rb
|
120
|
+
- lib/grpc_services/walletunlocker_services_pb.rb
|
121
|
+
- lib/grpc_services/watchtowerrpc/watchtower_pb.rb
|
122
|
+
- lib/grpc_services/watchtowerrpc/watchtower_services_pb.rb
|
123
|
+
- lib/grpc_services/wtclientrpc/wtclient_pb.rb
|
124
|
+
- lib/grpc_services/wtclientrpc/wtclient_services_pb.rb
|
101
125
|
- lib/lnrpc.rb
|
102
126
|
- lib/lnrpc/client.rb
|
103
127
|
- lib/lnrpc/grpc_wrapper.rb
|
104
128
|
- lib/lnrpc/macaroon_interceptor.rb
|
105
|
-
- lib/lnrpc/router.proto
|
106
|
-
- lib/lnrpc/router_pb.rb
|
107
|
-
- lib/lnrpc/router_services_pb.rb
|
108
|
-
- lib/lnrpc/rpc.proto
|
109
|
-
- lib/lnrpc/rpc_pb.rb
|
110
|
-
- lib/lnrpc/rpc_services_pb.rb
|
111
129
|
- lib/lnrpc/version.rb
|
112
130
|
- lnrpc.gemspec
|
113
131
|
homepage: https://github.com/bumi/lnrpc
|
@@ -119,6 +137,7 @@ post_install_message:
|
|
119
137
|
rdoc_options: []
|
120
138
|
require_paths:
|
121
139
|
- lib
|
140
|
+
- lib/grpc_services
|
122
141
|
required_ruby_version: !ruby/object:Gem::Requirement
|
123
142
|
requirements:
|
124
143
|
- - ">="
|
data/lib/lnrpc/router.proto
DELETED
@@ -1,560 +0,0 @@
|
|
1
|
-
syntax = "proto3";
|
2
|
-
|
3
|
-
import "rpc.proto";
|
4
|
-
|
5
|
-
package routerrpc;
|
6
|
-
|
7
|
-
option go_package = "github.com/lightningnetwork/lnd/lnrpc/routerrpc";
|
8
|
-
|
9
|
-
message SendPaymentRequest {
|
10
|
-
/// The identity pubkey of the payment recipient
|
11
|
-
bytes dest = 1;
|
12
|
-
|
13
|
-
/**
|
14
|
-
Number of satoshis to send.
|
15
|
-
|
16
|
-
The fields amt and amt_msat are mutually exclusive.
|
17
|
-
*/
|
18
|
-
int64 amt = 2;
|
19
|
-
|
20
|
-
/**
|
21
|
-
Number of millisatoshis to send.
|
22
|
-
|
23
|
-
The fields amt and amt_msat are mutually exclusive.
|
24
|
-
*/
|
25
|
-
int64 amt_msat = 12;
|
26
|
-
|
27
|
-
/// The hash to use within the payment's HTLC
|
28
|
-
bytes payment_hash = 3;
|
29
|
-
|
30
|
-
/**
|
31
|
-
The CLTV delta from the current height that should be used to set the
|
32
|
-
timelock for the final hop.
|
33
|
-
*/
|
34
|
-
int32 final_cltv_delta = 4;
|
35
|
-
|
36
|
-
/**
|
37
|
-
A bare-bones invoice for a payment within the Lightning Network. With the
|
38
|
-
details of the invoice, the sender has all the data necessary to send a
|
39
|
-
payment to the recipient. The amount in the payment request may be zero. In
|
40
|
-
that case it is required to set the amt field as well. If no payment request
|
41
|
-
is specified, the following fields are required: dest, amt and payment_hash.
|
42
|
-
*/
|
43
|
-
string payment_request = 5;
|
44
|
-
|
45
|
-
/**
|
46
|
-
An upper limit on the amount of time we should spend when attempting to
|
47
|
-
fulfill the payment. This is expressed in seconds. If we cannot make a
|
48
|
-
successful payment within this time frame, an error will be returned.
|
49
|
-
This field must be non-zero.
|
50
|
-
*/
|
51
|
-
int32 timeout_seconds = 6;
|
52
|
-
|
53
|
-
/**
|
54
|
-
The maximum number of satoshis that will be paid as a fee of the payment.
|
55
|
-
If this field is left to the default value of 0, only zero-fee routes will
|
56
|
-
be considered. This usually means single hop routes connecting directly to
|
57
|
-
the destination. To send the payment without a fee limit, use max int here.
|
58
|
-
|
59
|
-
The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
|
60
|
-
*/
|
61
|
-
int64 fee_limit_sat = 7;
|
62
|
-
|
63
|
-
/**
|
64
|
-
The maximum number of millisatoshis that will be paid as a fee of the
|
65
|
-
payment. If this field is left to the default value of 0, only zero-fee
|
66
|
-
routes will be considered. This usually means single hop routes connecting
|
67
|
-
directly to the destination. To send the payment without a fee limit, use
|
68
|
-
max int here.
|
69
|
-
|
70
|
-
The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
|
71
|
-
*/
|
72
|
-
int64 fee_limit_msat = 13;
|
73
|
-
|
74
|
-
/**
|
75
|
-
The channel id of the channel that must be taken to the first hop. If zero,
|
76
|
-
any channel may be used.
|
77
|
-
*/
|
78
|
-
uint64 outgoing_chan_id = 8 [jstype = JS_STRING];
|
79
|
-
|
80
|
-
/**
|
81
|
-
The pubkey of the last hop of the route. If empty, any hop may be used.
|
82
|
-
*/
|
83
|
-
bytes last_hop_pubkey = 14;
|
84
|
-
|
85
|
-
/**
|
86
|
-
An optional maximum total time lock for the route. This should not exceed
|
87
|
-
lnd's `--max-cltv-expiry` setting. If zero, then the value of
|
88
|
-
`--max-cltv-expiry` is enforced.
|
89
|
-
*/
|
90
|
-
int32 cltv_limit = 9;
|
91
|
-
|
92
|
-
/**
|
93
|
-
Optional route hints to reach the destination through private channels.
|
94
|
-
*/
|
95
|
-
repeated lnrpc.RouteHint route_hints = 10;
|
96
|
-
|
97
|
-
/**
|
98
|
-
An optional field that can be used to pass an arbitrary set of TLV records
|
99
|
-
to a peer which understands the new records. This can be used to pass
|
100
|
-
application specific data during the payment attempt. Record types are
|
101
|
-
required to be in the custom range >= 65536. When using REST, the values
|
102
|
-
must be encoded as base64.
|
103
|
-
*/
|
104
|
-
map<uint64, bytes> dest_custom_records = 11;
|
105
|
-
|
106
|
-
/// If set, circular payments to self are permitted.
|
107
|
-
bool allow_self_payment = 15;
|
108
|
-
|
109
|
-
/**
|
110
|
-
Features assumed to be supported by the final node. All transitive feature
|
111
|
-
dependencies must also be set properly. For a given feature bit pair, either
|
112
|
-
optional or remote may be set, but not both. If this field is nil or empty,
|
113
|
-
the router will try to load destination features from the graph as a
|
114
|
-
fallback.
|
115
|
-
*/
|
116
|
-
repeated lnrpc.FeatureBit dest_features = 16;
|
117
|
-
|
118
|
-
/**
|
119
|
-
The maximum number of partial payments that may be use to complete the full
|
120
|
-
amount.
|
121
|
-
*/
|
122
|
-
uint32 max_parts = 17;
|
123
|
-
|
124
|
-
/**
|
125
|
-
If set, only the final payment update is streamed back. Intermediate updates
|
126
|
-
that show which htlcs are still in flight are suppressed.
|
127
|
-
*/
|
128
|
-
bool no_inflight_updates = 18;
|
129
|
-
}
|
130
|
-
|
131
|
-
message TrackPaymentRequest {
|
132
|
-
/// The hash of the payment to look up.
|
133
|
-
bytes payment_hash = 1;
|
134
|
-
|
135
|
-
/**
|
136
|
-
If set, only the final payment update is streamed back. Intermediate updates
|
137
|
-
that show which htlcs are still in flight are suppressed.
|
138
|
-
*/
|
139
|
-
bool no_inflight_updates = 2;
|
140
|
-
}
|
141
|
-
|
142
|
-
message RouteFeeRequest {
|
143
|
-
/**
|
144
|
-
The destination once wishes to obtain a routing fee quote to.
|
145
|
-
*/
|
146
|
-
bytes dest = 1;
|
147
|
-
|
148
|
-
/**
|
149
|
-
The amount one wishes to send to the target destination.
|
150
|
-
*/
|
151
|
-
int64 amt_sat = 2;
|
152
|
-
}
|
153
|
-
|
154
|
-
message RouteFeeResponse {
|
155
|
-
/**
|
156
|
-
A lower bound of the estimated fee to the target destination within the
|
157
|
-
network, expressed in milli-satoshis.
|
158
|
-
*/
|
159
|
-
int64 routing_fee_msat = 1;
|
160
|
-
|
161
|
-
/**
|
162
|
-
An estimate of the worst case time delay that can occur. Note that callers
|
163
|
-
will still need to factor in the final CLTV delta of the last hop into this
|
164
|
-
value.
|
165
|
-
*/
|
166
|
-
int64 time_lock_delay = 2;
|
167
|
-
}
|
168
|
-
|
169
|
-
message SendToRouteRequest {
|
170
|
-
/// The payment hash to use for the HTLC.
|
171
|
-
bytes payment_hash = 1;
|
172
|
-
|
173
|
-
/// Route that should be used to attempt to complete the payment.
|
174
|
-
lnrpc.Route route = 2;
|
175
|
-
}
|
176
|
-
|
177
|
-
message SendToRouteResponse {
|
178
|
-
/// The preimage obtained by making the payment.
|
179
|
-
bytes preimage = 1;
|
180
|
-
|
181
|
-
/// The failure message in case the payment failed.
|
182
|
-
lnrpc.Failure failure = 2;
|
183
|
-
}
|
184
|
-
|
185
|
-
message ResetMissionControlRequest {
|
186
|
-
}
|
187
|
-
|
188
|
-
message ResetMissionControlResponse {
|
189
|
-
}
|
190
|
-
|
191
|
-
message QueryMissionControlRequest {
|
192
|
-
}
|
193
|
-
|
194
|
-
/// QueryMissionControlResponse contains mission control state.
|
195
|
-
message QueryMissionControlResponse {
|
196
|
-
reserved 1;
|
197
|
-
|
198
|
-
/// Node pair-level mission control state.
|
199
|
-
repeated PairHistory pairs = 2;
|
200
|
-
}
|
201
|
-
|
202
|
-
/// PairHistory contains the mission control state for a particular node pair.
|
203
|
-
message PairHistory {
|
204
|
-
/// The source node pubkey of the pair.
|
205
|
-
bytes node_from = 1;
|
206
|
-
|
207
|
-
/// The destination node pubkey of the pair.
|
208
|
-
bytes node_to = 2;
|
209
|
-
|
210
|
-
reserved 3, 4, 5, 6;
|
211
|
-
|
212
|
-
PairData history = 7;
|
213
|
-
}
|
214
|
-
|
215
|
-
message PairData {
|
216
|
-
/// Time of last failure.
|
217
|
-
int64 fail_time = 1;
|
218
|
-
|
219
|
-
/**
|
220
|
-
Lowest amount that failed to forward rounded to whole sats. This may be
|
221
|
-
set to zero if the failure is independent of amount.
|
222
|
-
*/
|
223
|
-
int64 fail_amt_sat = 2;
|
224
|
-
|
225
|
-
/**
|
226
|
-
Lowest amount that failed to forward in millisats. This may be
|
227
|
-
set to zero if the failure is independent of amount.
|
228
|
-
*/
|
229
|
-
int64 fail_amt_msat = 4;
|
230
|
-
|
231
|
-
reserved 3;
|
232
|
-
|
233
|
-
/// Time of last success.
|
234
|
-
int64 success_time = 5;
|
235
|
-
|
236
|
-
/// Highest amount that we could successfully forward rounded to whole sats.
|
237
|
-
int64 success_amt_sat = 6;
|
238
|
-
|
239
|
-
/// Highest amount that we could successfully forward in millisats.
|
240
|
-
int64 success_amt_msat = 7;
|
241
|
-
}
|
242
|
-
|
243
|
-
message QueryProbabilityRequest {
|
244
|
-
/// The source node pubkey of the pair.
|
245
|
-
bytes from_node = 1;
|
246
|
-
|
247
|
-
/// The destination node pubkey of the pair.
|
248
|
-
bytes to_node = 2;
|
249
|
-
|
250
|
-
/// The amount for which to calculate a probability.
|
251
|
-
int64 amt_msat = 3;
|
252
|
-
}
|
253
|
-
|
254
|
-
message QueryProbabilityResponse {
|
255
|
-
/// The success probability for the requested pair.
|
256
|
-
double probability = 1;
|
257
|
-
|
258
|
-
/// The historical data for the requested pair.
|
259
|
-
PairData history = 2;
|
260
|
-
}
|
261
|
-
|
262
|
-
message BuildRouteRequest {
|
263
|
-
/**
|
264
|
-
The amount to send expressed in msat. If set to zero, the minimum routable
|
265
|
-
amount is used.
|
266
|
-
*/
|
267
|
-
int64 amt_msat = 1;
|
268
|
-
|
269
|
-
/**
|
270
|
-
CLTV delta from the current height that should be used for the timelock
|
271
|
-
of the final hop
|
272
|
-
*/
|
273
|
-
int32 final_cltv_delta = 2;
|
274
|
-
|
275
|
-
/**
|
276
|
-
The channel id of the channel that must be taken to the first hop. If zero,
|
277
|
-
any channel may be used.
|
278
|
-
*/
|
279
|
-
uint64 outgoing_chan_id = 3 [jstype = JS_STRING];
|
280
|
-
|
281
|
-
/**
|
282
|
-
A list of hops that defines the route. This does not include the source hop
|
283
|
-
pubkey.
|
284
|
-
*/
|
285
|
-
repeated bytes hop_pubkeys = 4;
|
286
|
-
}
|
287
|
-
|
288
|
-
message BuildRouteResponse {
|
289
|
-
/**
|
290
|
-
Fully specified route that can be used to execute the payment.
|
291
|
-
*/
|
292
|
-
lnrpc.Route route = 1;
|
293
|
-
}
|
294
|
-
|
295
|
-
message SubscribeHtlcEventsRequest {
|
296
|
-
}
|
297
|
-
|
298
|
-
/**
|
299
|
-
HtlcEvent contains the htlc event that was processed. These are served on a
|
300
|
-
best-effort basis; events are not persisted, delivery is not guaranteed
|
301
|
-
(in the event of a crash in the switch, forward events may be lost) and
|
302
|
-
some events may be replayed upon restart. Events consumed from this package
|
303
|
-
should be de-duplicated by the htlc's unique combination of incoming and
|
304
|
-
outgoing channel id and htlc id. [EXPERIMENTAL]
|
305
|
-
*/
|
306
|
-
message HtlcEvent {
|
307
|
-
/**
|
308
|
-
The short channel id that the incoming htlc arrived at our node on. This
|
309
|
-
value is zero for sends.
|
310
|
-
*/
|
311
|
-
uint64 incoming_channel_id = 1;
|
312
|
-
|
313
|
-
/**
|
314
|
-
The short channel id that the outgoing htlc left our node on. This value
|
315
|
-
is zero for receives.
|
316
|
-
*/
|
317
|
-
uint64 outgoing_channel_id = 2;
|
318
|
-
|
319
|
-
/**
|
320
|
-
Incoming id is the index of the incoming htlc in the incoming channel.
|
321
|
-
This value is zero for sends.
|
322
|
-
*/
|
323
|
-
uint64 incoming_htlc_id = 3;
|
324
|
-
|
325
|
-
/**
|
326
|
-
Outgoing id is the index of the outgoing htlc in the outgoing channel.
|
327
|
-
This value is zero for receives.
|
328
|
-
*/
|
329
|
-
uint64 outgoing_htlc_id = 4;
|
330
|
-
|
331
|
-
/**
|
332
|
-
The time in unix nanoseconds that the event occurred.
|
333
|
-
*/
|
334
|
-
uint64 timestamp_ns = 5;
|
335
|
-
|
336
|
-
enum EventType {
|
337
|
-
UNKNOWN = 0;
|
338
|
-
SEND = 1;
|
339
|
-
RECEIVE = 2;
|
340
|
-
FORWARD = 3;
|
341
|
-
}
|
342
|
-
|
343
|
-
/**
|
344
|
-
The event type indicates whether the htlc was part of a send, receive or
|
345
|
-
forward.
|
346
|
-
*/
|
347
|
-
EventType event_type = 6;
|
348
|
-
|
349
|
-
oneof event {
|
350
|
-
ForwardEvent forward_event = 7;
|
351
|
-
ForwardFailEvent forward_fail_event = 8;
|
352
|
-
SettleEvent settle_event = 9;
|
353
|
-
LinkFailEvent link_fail_event = 10;
|
354
|
-
}
|
355
|
-
}
|
356
|
-
|
357
|
-
message HtlcInfo {
|
358
|
-
// The timelock on the incoming htlc.
|
359
|
-
uint32 incoming_timelock = 1;
|
360
|
-
|
361
|
-
// The timelock on the outgoing htlc.
|
362
|
-
uint32 outgoing_timelock = 2;
|
363
|
-
|
364
|
-
// The amount of the incoming htlc.
|
365
|
-
uint64 incoming_amt_msat = 3;
|
366
|
-
|
367
|
-
// The amount of the outgoing htlc.
|
368
|
-
uint64 outgoing_amt_msat = 4;
|
369
|
-
}
|
370
|
-
|
371
|
-
message ForwardEvent {
|
372
|
-
// Info contains details about the htlc that was forwarded.
|
373
|
-
HtlcInfo info = 1;
|
374
|
-
}
|
375
|
-
|
376
|
-
message ForwardFailEvent {
|
377
|
-
}
|
378
|
-
|
379
|
-
message SettleEvent {
|
380
|
-
}
|
381
|
-
|
382
|
-
message LinkFailEvent {
|
383
|
-
// Info contains details about the htlc that we failed.
|
384
|
-
HtlcInfo info = 1;
|
385
|
-
|
386
|
-
// FailureCode is the BOLT error code for the failure.
|
387
|
-
lnrpc.Failure.FailureCode wire_failure = 2;
|
388
|
-
|
389
|
-
/**
|
390
|
-
FailureDetail provides additional information about the reason for the
|
391
|
-
failure. This detail enriches the information provided by the wire message
|
392
|
-
and may be 'no detail' if the wire message requires no additional metadata.
|
393
|
-
*/
|
394
|
-
FailureDetail failure_detail = 3;
|
395
|
-
|
396
|
-
// A string representation of the link failure.
|
397
|
-
string failure_string = 4;
|
398
|
-
}
|
399
|
-
|
400
|
-
enum FailureDetail {
|
401
|
-
UNKNOWN = 0;
|
402
|
-
NO_DETAIL = 1;
|
403
|
-
ONION_DECODE = 2;
|
404
|
-
LINK_NOT_ELIGIBLE = 3;
|
405
|
-
ON_CHAIN_TIMEOUT = 4;
|
406
|
-
HTLC_EXCEEDS_MAX = 5;
|
407
|
-
INSUFFICIENT_BALANCE = 6;
|
408
|
-
INCOMPLETE_FORWARD = 7;
|
409
|
-
HTLC_ADD_FAILED = 8;
|
410
|
-
FORWARDS_DISABLED = 9;
|
411
|
-
INVOICE_CANCELED = 10;
|
412
|
-
INVOICE_UNDERPAID = 11;
|
413
|
-
INVOICE_EXPIRY_TOO_SOON = 12;
|
414
|
-
INVOICE_NOT_OPEN = 13;
|
415
|
-
MPP_INVOICE_TIMEOUT = 14;
|
416
|
-
ADDRESS_MISMATCH = 15;
|
417
|
-
SET_TOTAL_MISMATCH = 16;
|
418
|
-
SET_TOTAL_TOO_LOW = 17;
|
419
|
-
SET_OVERPAID = 18;
|
420
|
-
UNKNOWN_INVOICE = 19;
|
421
|
-
INVALID_KEYSEND = 20;
|
422
|
-
MPP_IN_PROGRESS = 21;
|
423
|
-
CIRCULAR_ROUTE = 22;
|
424
|
-
}
|
425
|
-
|
426
|
-
enum PaymentState {
|
427
|
-
/**
|
428
|
-
Payment is still in flight.
|
429
|
-
*/
|
430
|
-
IN_FLIGHT = 0;
|
431
|
-
|
432
|
-
/**
|
433
|
-
Payment completed successfully.
|
434
|
-
*/
|
435
|
-
SUCCEEDED = 1;
|
436
|
-
|
437
|
-
/**
|
438
|
-
There are more routes to try, but the payment timeout was exceeded.
|
439
|
-
*/
|
440
|
-
FAILED_TIMEOUT = 2;
|
441
|
-
|
442
|
-
/**
|
443
|
-
All possible routes were tried and failed permanently. Or were no
|
444
|
-
routes to the destination at all.
|
445
|
-
*/
|
446
|
-
FAILED_NO_ROUTE = 3;
|
447
|
-
|
448
|
-
/**
|
449
|
-
A non-recoverable error has occured.
|
450
|
-
*/
|
451
|
-
FAILED_ERROR = 4;
|
452
|
-
|
453
|
-
/**
|
454
|
-
Payment details incorrect (unknown hash, invalid amt or
|
455
|
-
invalid final cltv delta)
|
456
|
-
*/
|
457
|
-
FAILED_INCORRECT_PAYMENT_DETAILS = 5;
|
458
|
-
|
459
|
-
/**
|
460
|
-
Insufficient local balance.
|
461
|
-
*/
|
462
|
-
FAILED_INSUFFICIENT_BALANCE = 6;
|
463
|
-
}
|
464
|
-
|
465
|
-
message PaymentStatus {
|
466
|
-
/// Current state the payment is in.
|
467
|
-
PaymentState state = 1;
|
468
|
-
|
469
|
-
/**
|
470
|
-
The pre-image of the payment when state is SUCCEEDED.
|
471
|
-
*/
|
472
|
-
bytes preimage = 2;
|
473
|
-
|
474
|
-
reserved 3;
|
475
|
-
|
476
|
-
/**
|
477
|
-
The HTLCs made in attempt to settle the payment [EXPERIMENTAL].
|
478
|
-
*/
|
479
|
-
repeated lnrpc.HTLCAttempt htlcs = 4;
|
480
|
-
}
|
481
|
-
|
482
|
-
service Router {
|
483
|
-
/**
|
484
|
-
SendPaymentV2 attempts to route a payment described by the passed
|
485
|
-
PaymentRequest to the final destination. The call returns a stream of
|
486
|
-
payment updates.
|
487
|
-
*/
|
488
|
-
rpc SendPaymentV2 (SendPaymentRequest) returns (stream lnrpc.Payment);
|
489
|
-
|
490
|
-
/**
|
491
|
-
TrackPaymentV2 returns an update stream for the payment identified by the
|
492
|
-
payment hash.
|
493
|
-
*/
|
494
|
-
rpc TrackPaymentV2 (TrackPaymentRequest) returns (stream lnrpc.Payment);
|
495
|
-
|
496
|
-
/**
|
497
|
-
EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
|
498
|
-
may cost to send an HTLC to the target end destination.
|
499
|
-
*/
|
500
|
-
rpc EstimateRouteFee (RouteFeeRequest) returns (RouteFeeResponse);
|
501
|
-
|
502
|
-
/**
|
503
|
-
SendToRoute attempts to make a payment via the specified route. This method
|
504
|
-
differs from SendPayment in that it allows users to specify a full route
|
505
|
-
manually. This can be used for things like rebalancing, and atomic swaps.
|
506
|
-
*/
|
507
|
-
rpc SendToRoute (SendToRouteRequest) returns (SendToRouteResponse);
|
508
|
-
|
509
|
-
/**
|
510
|
-
ResetMissionControl clears all mission control state and starts with a clean
|
511
|
-
slate.
|
512
|
-
*/
|
513
|
-
rpc ResetMissionControl (ResetMissionControlRequest)
|
514
|
-
returns (ResetMissionControlResponse);
|
515
|
-
|
516
|
-
/**
|
517
|
-
QueryMissionControl exposes the internal mission control state to callers.
|
518
|
-
It is a development feature.
|
519
|
-
*/
|
520
|
-
rpc QueryMissionControl (QueryMissionControlRequest)
|
521
|
-
returns (QueryMissionControlResponse);
|
522
|
-
|
523
|
-
/**
|
524
|
-
QueryProbability returns the current success probability estimate for a
|
525
|
-
given node pair and amount.
|
526
|
-
*/
|
527
|
-
rpc QueryProbability (QueryProbabilityRequest)
|
528
|
-
returns (QueryProbabilityResponse);
|
529
|
-
|
530
|
-
/**
|
531
|
-
BuildRoute builds a fully specified route based on a list of hop public
|
532
|
-
keys. It retrieves the relevant channel policies from the graph in order to
|
533
|
-
calculate the correct fees and time locks.
|
534
|
-
*/
|
535
|
-
rpc BuildRoute (BuildRouteRequest) returns (BuildRouteResponse);
|
536
|
-
|
537
|
-
/**
|
538
|
-
SubscribeHtlcEvents creates a uni-directional stream from the server to
|
539
|
-
the client which delivers a stream of htlc events.
|
540
|
-
*/
|
541
|
-
rpc SubscribeHtlcEvents (SubscribeHtlcEventsRequest)
|
542
|
-
returns (stream HtlcEvent);
|
543
|
-
|
544
|
-
/**
|
545
|
-
Deprecated, use SendPaymentV2. SendPayment attempts to route a payment
|
546
|
-
described by the passed PaymentRequest to the final destination. The call
|
547
|
-
returns a stream of payment status updates.
|
548
|
-
*/
|
549
|
-
rpc SendPayment(SendPaymentRequest) returns (stream PaymentStatus) {
|
550
|
-
option deprecated = true;
|
551
|
-
}
|
552
|
-
|
553
|
-
/**
|
554
|
-
Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for
|
555
|
-
the payment identified by the payment hash.
|
556
|
-
*/
|
557
|
-
rpc TrackPayment(TrackPaymentRequest) returns (stream PaymentStatus) {
|
558
|
-
option deprecated = true;
|
559
|
-
}
|
560
|
-
}
|