probing 1.3.5 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/package.json +7 -8
- package/routing/channels_from_hints.js +1 -1
- package/test/graph/test_get_policies_for_channels.js +1 -1
- package/test/graph/test_max_htlc_across_route.js +1 -1
- package/test/liquidity/test_find_max_payable.js +7 -4
- package/test/liquidity/test_get_synthetic_out_ignores.js +1 -1
- package/test/liquidity/test_hops_for_find_max_path.js +1 -1
- package/test/liquidity/test_multi_probe_ignores.js +1 -1
- package/test/liquidity/test_subscribe_to_find_max_payable.js +3 -2
- package/test/liquidity/test_subscribe_to_find_path.js +6 -3
- package/test/liquidity/test_subscribe_to_multi_path_probe.js +11 -4
- package/test/payments/test_get_route_for_payment.js +1 -1
- package/test/payments/test_mtokens_for_multi_path_payment.js +1 -1
- package/test/payments/test_sort_multiple_payment_paths.js +1 -1
- package/test/payments/test_subscribe_to_multi_path_pay.js +17 -10
- package/test/routing/test_channels_from_hints.js +1 -1
- package/test/routing/test_is_route_payable.js +15 -6
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -7,18 +7,17 @@
|
|
|
7
7
|
"url": "https://github.com/alexbosworth/probing/issues"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"async": "3.2.
|
|
11
|
-
"asyncjs-util": "1.2.
|
|
12
|
-
"bolt07": "1.
|
|
13
|
-
"
|
|
14
|
-
"ln-service": "51.5.0"
|
|
10
|
+
"async": "3.2.3",
|
|
11
|
+
"asyncjs-util": "1.2.8",
|
|
12
|
+
"bolt07": "1.8.0",
|
|
13
|
+
"ln-service": "53.4.0"
|
|
15
14
|
},
|
|
16
15
|
"description": "Lightning Network probing utilities",
|
|
17
16
|
"devDependencies": {
|
|
18
|
-
"tap": "15.0.
|
|
17
|
+
"@alexbosworth/tap": "15.0.10"
|
|
19
18
|
},
|
|
20
19
|
"engines": {
|
|
21
|
-
"node": ">=
|
|
20
|
+
"node": ">=12.20"
|
|
22
21
|
},
|
|
23
22
|
"keywords": [
|
|
24
23
|
"lightning",
|
|
@@ -35,5 +34,5 @@
|
|
|
35
34
|
"scripts": {
|
|
36
35
|
"test": "tap --branches=1 --functions=1 --lines=1 --statements=1 test/graph/*.js test/liquidity/*.js test/payments/*.js test/routing/*.js"
|
|
37
36
|
},
|
|
38
|
-
"version": "
|
|
37
|
+
"version": "2.0.2"
|
|
39
38
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const {test} = require('tap');
|
|
1
|
+
const {test} = require('@alexbosworth/tap');
|
|
2
2
|
|
|
3
3
|
const findMaxPayable = require('./../../liquidity/find_max_payable');
|
|
4
4
|
const {getInfoResponse} = require('./../fixtures');
|
|
@@ -13,6 +13,7 @@ const makeArgs = overrides => {
|
|
|
13
13
|
emitter: {emit: () => {}},
|
|
14
14
|
lnd: {
|
|
15
15
|
default: {
|
|
16
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
16
17
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
17
18
|
capacity: '1',
|
|
18
19
|
chan_point: '1:1',
|
|
@@ -42,7 +43,7 @@ const makeArgs = overrides => {
|
|
|
42
43
|
},
|
|
43
44
|
router: {
|
|
44
45
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
45
|
-
|
|
46
|
+
sendToRouteV2: (args, cbk) => {
|
|
46
47
|
return cbk(null, {
|
|
47
48
|
failure: {code: 'UNKNOWN_PAYMENT_HASH'},
|
|
48
49
|
});
|
|
@@ -117,6 +118,7 @@ const tests = [
|
|
|
117
118
|
emitter: {emit: () => {}},
|
|
118
119
|
lnd: {
|
|
119
120
|
default: {
|
|
121
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
120
122
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
121
123
|
capacity: '1',
|
|
122
124
|
chan_point: '1:1',
|
|
@@ -145,7 +147,7 @@ const tests = [
|
|
|
145
147
|
getInfo: ({}, cbk) => cbk('err'),
|
|
146
148
|
},
|
|
147
149
|
router: {
|
|
148
|
-
|
|
150
|
+
sendToRouteV2: ({}, cbk) => cbk(null, {
|
|
149
151
|
failure: {code: 'UNKNOWN_PAYMENT_HASH'},
|
|
150
152
|
}),
|
|
151
153
|
},
|
|
@@ -163,6 +165,7 @@ const tests = [
|
|
|
163
165
|
emitter: {emit: () => {}},
|
|
164
166
|
lnd: {
|
|
165
167
|
default: {
|
|
168
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
166
169
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
167
170
|
capacity: '1',
|
|
168
171
|
chan_point: '1:1',
|
|
@@ -192,7 +195,7 @@ const tests = [
|
|
|
192
195
|
},
|
|
193
196
|
router: {
|
|
194
197
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
195
|
-
|
|
198
|
+
sendToRouteV2: ({}, cbk) => cbk(null, {
|
|
196
199
|
failure: {code: 'TEMPORARY_CHANNEL_FAILURE'},
|
|
197
200
|
}),
|
|
198
201
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {once} = require('events');
|
|
2
2
|
const {promisify} = require('util');
|
|
3
3
|
|
|
4
|
-
const {test} = require('tap');
|
|
4
|
+
const {test} = require('@alexbosworth/tap');
|
|
5
5
|
|
|
6
6
|
const {getChanInfoResponse} = require('./../fixtures');
|
|
7
7
|
const {getInfoResponse} = require('./../fixtures');
|
|
@@ -18,6 +18,7 @@ const makeArgs = overrides => {
|
|
|
18
18
|
emitter: {emit: () => {}},
|
|
19
19
|
lnd: {
|
|
20
20
|
default: {
|
|
21
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
21
22
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
22
23
|
capacity: '1',
|
|
23
24
|
chan_point: '1:1',
|
|
@@ -47,7 +48,7 @@ const makeArgs = overrides => {
|
|
|
47
48
|
},
|
|
48
49
|
router: {
|
|
49
50
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
50
|
-
|
|
51
|
+
sendToRouteV2: (args, cbk) => {
|
|
51
52
|
return cbk(null, {
|
|
52
53
|
failure: {code: 'UNKNOWN_PAYMENT_HASH'},
|
|
53
54
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {once} = require('events');
|
|
2
2
|
const {promisify} = require('util');
|
|
3
3
|
|
|
4
|
-
const {test} = require('tap');
|
|
4
|
+
const {test} = require('@alexbosworth/tap');
|
|
5
5
|
|
|
6
6
|
const {getChanInfoResponse} = require('./../fixtures');
|
|
7
7
|
const {getInfoResponse} = require('./../fixtures');
|
|
@@ -14,6 +14,7 @@ const nextTick = promisify(process.nextTick);
|
|
|
14
14
|
const makeLnd = overrides => {
|
|
15
15
|
const lnd = {
|
|
16
16
|
default: {
|
|
17
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
17
18
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
18
19
|
capacity: '1',
|
|
19
20
|
chan_point: '1:1',
|
|
@@ -94,7 +95,7 @@ const makeLnd = overrides => {
|
|
|
94
95
|
},
|
|
95
96
|
router: {
|
|
96
97
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
97
|
-
|
|
98
|
+
sendToRouteV2: (args, cbk) => {
|
|
98
99
|
return cbk(null, {
|
|
99
100
|
failure: {
|
|
100
101
|
chan_id: '1',
|
|
@@ -166,6 +167,7 @@ const tests = [
|
|
|
166
167
|
args: makeArgs({
|
|
167
168
|
lnd: makeLnd({
|
|
168
169
|
default: {
|
|
170
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
169
171
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
170
172
|
capacity: '1',
|
|
171
173
|
chan_point: '1:1',
|
|
@@ -263,7 +265,7 @@ const tests = [
|
|
|
263
265
|
},
|
|
264
266
|
router: {
|
|
265
267
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
266
|
-
|
|
268
|
+
sendToRouteV2: (args, cbk) => cbk('err'),
|
|
267
269
|
},
|
|
268
270
|
}),
|
|
269
271
|
}),
|
|
@@ -279,6 +281,7 @@ const tests = [
|
|
|
279
281
|
args: makeArgs({
|
|
280
282
|
lnd: makeLnd({
|
|
281
283
|
default: {
|
|
284
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
282
285
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
283
286
|
capacity: '1',
|
|
284
287
|
chan_point: '1:1',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {once} = require('events');
|
|
2
2
|
const {promisify} = require('util');
|
|
3
3
|
|
|
4
|
-
const {test} = require('tap');
|
|
4
|
+
const {test} = require('@alexbosworth/tap');
|
|
5
5
|
|
|
6
6
|
const {getChanInfoResponse} = require('./../fixtures');
|
|
7
7
|
const {getInfoResponse} = require('./../fixtures');
|
|
@@ -14,6 +14,7 @@ const nextTick = promisify(process.nextTick);
|
|
|
14
14
|
|
|
15
15
|
const makeLndDefault = overrides => {
|
|
16
16
|
const lndDefault = {
|
|
17
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
17
18
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
18
19
|
capacity: '1',
|
|
19
20
|
chan_point: '1:1',
|
|
@@ -57,7 +58,7 @@ const makeLnd = overrides => {
|
|
|
57
58
|
default: makeLndDefault({}),
|
|
58
59
|
router: {
|
|
59
60
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
60
|
-
|
|
61
|
+
sendToRouteV2: ({}, cbk) => cbk(null, {
|
|
61
62
|
failure: {code: 'UNKNOWN_PAYMENT_HASH'},
|
|
62
63
|
}),
|
|
63
64
|
},
|
|
@@ -101,7 +102,12 @@ const tests = [
|
|
|
101
102
|
},
|
|
102
103
|
{
|
|
103
104
|
args: makeArgs({
|
|
104
|
-
lnd: makeLnd({
|
|
105
|
+
lnd: makeLnd({
|
|
106
|
+
default: {
|
|
107
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
108
|
+
getInfo: ({}, cbk) => cbk('err'),
|
|
109
|
+
},
|
|
110
|
+
}),
|
|
105
111
|
}),
|
|
106
112
|
description: 'An error is passed back',
|
|
107
113
|
expected: {
|
|
@@ -122,6 +128,7 @@ const tests = [
|
|
|
122
128
|
probe_timeout_ms: 1,
|
|
123
129
|
lnd: makeLnd({
|
|
124
130
|
default: {
|
|
131
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
125
132
|
getChanInfo: ({channel}, cbk) => cbk(null, {
|
|
126
133
|
capacity: '1',
|
|
127
134
|
chan_point: '1:1',
|
|
@@ -223,7 +230,7 @@ const tests = [
|
|
|
223
230
|
},
|
|
224
231
|
router: {
|
|
225
232
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
226
|
-
|
|
233
|
+
sendToRouteV2: (args, cbk) => {
|
|
227
234
|
return cbk(null, {
|
|
228
235
|
failure: {
|
|
229
236
|
chan_id: '1',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const {once} = require('events');
|
|
2
2
|
const {promisify} = require('util');
|
|
3
3
|
|
|
4
|
-
const {test} = require('tap');
|
|
4
|
+
const {test} = require('@alexbosworth/tap');
|
|
5
5
|
|
|
6
6
|
const {getChanInfoResponse} = require('./../fixtures');
|
|
7
7
|
const {getInfoResponse} = require('./../fixtures');
|
|
@@ -14,6 +14,7 @@ const nextTick = promisify(process.nextTick);
|
|
|
14
14
|
const makeLnd = overrides => {
|
|
15
15
|
const lnd = {
|
|
16
16
|
default: {
|
|
17
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
17
18
|
getChanInfo: ({}, cbk) => cbk(null, getChanInfoResponse),
|
|
18
19
|
getInfo: ({}, cbk) => cbk(null, getInfoRes()),
|
|
19
20
|
listChannels: ({}, cbk) => cbk(null, {
|
|
@@ -66,7 +67,7 @@ const makeLnd = overrides => {
|
|
|
66
67
|
},
|
|
67
68
|
router: {
|
|
68
69
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
69
|
-
|
|
70
|
+
sendToRouteV2: ({}, cbk) => {
|
|
70
71
|
return cbk(null, {preimage: Buffer.alloc(32)});
|
|
71
72
|
},
|
|
72
73
|
},
|
|
@@ -136,6 +137,7 @@ const makePathSuccessEvent = ({}) => {
|
|
|
136
137
|
tokens: 0,
|
|
137
138
|
total_mtokens: '1',
|
|
138
139
|
},
|
|
140
|
+
confirmed_at: undefined,
|
|
139
141
|
fee: 0,
|
|
140
142
|
fee_mtokens: '0',
|
|
141
143
|
hops: [{
|
|
@@ -192,7 +194,7 @@ const makePayingEvent = ({channel}) => {
|
|
|
192
194
|
};
|
|
193
195
|
|
|
194
196
|
const makeRoutingFailureEvent = ({channel}) => {
|
|
195
|
-
const event =
|
|
197
|
+
const event = {
|
|
196
198
|
data: {
|
|
197
199
|
route: {
|
|
198
200
|
fee: 0,
|
|
@@ -256,6 +258,7 @@ const makeSuccessEvent = ({}) => {
|
|
|
256
258
|
tokens: 0,
|
|
257
259
|
total_mtokens: '1'
|
|
258
260
|
},
|
|
261
|
+
confirmed_at: undefined,
|
|
259
262
|
fee: 0,
|
|
260
263
|
fee_mtokens: '0',
|
|
261
264
|
hops: [{
|
|
@@ -335,7 +338,7 @@ const tests = [
|
|
|
335
338
|
lnd: makeLnd({
|
|
336
339
|
router: {
|
|
337
340
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
338
|
-
|
|
341
|
+
sendToRouteV2: (args, cbk) => {
|
|
339
342
|
return cbk(null, {failure: {code: 'TEMPORARY_CHANNEL_FAILURE'}});
|
|
340
343
|
},
|
|
341
344
|
},
|
|
@@ -359,7 +362,7 @@ const tests = [
|
|
|
359
362
|
lnd: makeLnd({
|
|
360
363
|
router: {
|
|
361
364
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
362
|
-
|
|
365
|
+
sendToRouteV2: (args, cbk) => cbk('err'),
|
|
363
366
|
},
|
|
364
367
|
}),
|
|
365
368
|
max_attempts: 1,
|
|
@@ -377,7 +380,7 @@ const tests = [
|
|
|
377
380
|
lnd: makeLnd({
|
|
378
381
|
router: {
|
|
379
382
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
380
|
-
|
|
383
|
+
sendToRouteV2: (args, cbk) => {
|
|
381
384
|
return cbk(null, {failure: {code: 'UNKNOWN_PAYMENT_HASH'}});
|
|
382
385
|
},
|
|
383
386
|
},
|
|
@@ -400,7 +403,7 @@ const tests = [
|
|
|
400
403
|
lnd: makeLnd({
|
|
401
404
|
router: {
|
|
402
405
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
403
|
-
|
|
406
|
+
sendToRouteV2: (args, cbk) => {
|
|
404
407
|
return cbk(null, {failure: {code: 'MPP_TIMEOUT'}});
|
|
405
408
|
},
|
|
406
409
|
},
|
|
@@ -420,7 +423,7 @@ const tests = [
|
|
|
420
423
|
lnd: makeLnd({
|
|
421
424
|
router: {
|
|
422
425
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
423
|
-
|
|
426
|
+
sendToRouteV2: (args, cbk) => {
|
|
424
427
|
const [firstHop] = args.route.hops;
|
|
425
428
|
|
|
426
429
|
// Fail the route on one of the channels
|
|
@@ -513,7 +516,7 @@ const tests = [
|
|
|
513
516
|
lnd: makeLnd({
|
|
514
517
|
router: {
|
|
515
518
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
516
|
-
|
|
519
|
+
sendToRouteV2: (args, cbk) => {
|
|
517
520
|
return cbk(null, {failure: {code: 'TEMPORARY_CHANNEL_FAILURE'}});
|
|
518
521
|
},
|
|
519
522
|
},
|
|
@@ -554,7 +557,7 @@ const tests = [
|
|
|
554
557
|
lnd: makeLnd({
|
|
555
558
|
router: {
|
|
556
559
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
557
|
-
|
|
560
|
+
sendToRouteV2: (args, cbk) => {
|
|
558
561
|
const [firstHop] = args.route.hops;
|
|
559
562
|
|
|
560
563
|
// Fail the route on one of the channels
|
|
@@ -703,6 +706,7 @@ const tests = [
|
|
|
703
706
|
tokens: 1,
|
|
704
707
|
total_mtokens: '3000',
|
|
705
708
|
},
|
|
709
|
+
confirmed_at: undefined,
|
|
706
710
|
fee: 0,
|
|
707
711
|
fee_mtokens: '0',
|
|
708
712
|
hops: [{
|
|
@@ -773,6 +777,7 @@ const tests = [
|
|
|
773
777
|
tokens: 1,
|
|
774
778
|
total_mtokens: '3000',
|
|
775
779
|
},
|
|
780
|
+
confirmed_at: undefined,
|
|
776
781
|
fee: 0,
|
|
777
782
|
fee_mtokens: '0',
|
|
778
783
|
hops: [{
|
|
@@ -819,6 +824,7 @@ const tests = [
|
|
|
819
824
|
tokens: 1,
|
|
820
825
|
total_mtokens: '3000',
|
|
821
826
|
},
|
|
827
|
+
confirmed_at: undefined,
|
|
822
828
|
fee: 0,
|
|
823
829
|
fee_mtokens: '0',
|
|
824
830
|
hops: [{
|
|
@@ -859,6 +865,7 @@ const tests = [
|
|
|
859
865
|
tokens: 1,
|
|
860
866
|
total_mtokens: '3000',
|
|
861
867
|
},
|
|
868
|
+
confirmed_at: undefined,
|
|
862
869
|
fee: 0,
|
|
863
870
|
fee_mtokens: '0',
|
|
864
871
|
hops: [{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const {test} = require('tap');
|
|
1
|
+
const {test} = require('@alexbosworth/tap');
|
|
2
2
|
|
|
3
3
|
const {getInfoResponse} = require('./../fixtures');
|
|
4
4
|
|
|
@@ -54,10 +54,13 @@ const tests = [
|
|
|
54
54
|
}],
|
|
55
55
|
cltv: 1,
|
|
56
56
|
lnd: {
|
|
57
|
-
default: {
|
|
57
|
+
default: {
|
|
58
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
59
|
+
getInfo: ({}, cbk) => cbk(null, getInfoRes()),
|
|
60
|
+
},
|
|
58
61
|
router: {
|
|
59
62
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
60
|
-
|
|
63
|
+
sendToRouteV2: ({}, cbk) => cbk(null, {
|
|
61
64
|
failure: {code: 'INCORRECT_CLTV_EXPIRY'},
|
|
62
65
|
},
|
|
63
66
|
)},
|
|
@@ -94,7 +97,10 @@ const tests = [
|
|
|
94
97
|
}],
|
|
95
98
|
cltv: 1,
|
|
96
99
|
lnd: {
|
|
97
|
-
default: {
|
|
100
|
+
default: {
|
|
101
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
102
|
+
getInfo: ({}, cbk) => cbk(null, getInfoRes()),
|
|
103
|
+
},
|
|
98
104
|
router: {
|
|
99
105
|
buildRoute: ({}, cbk) => cbk(null, {
|
|
100
106
|
route: {
|
|
@@ -149,10 +155,13 @@ const tests = [
|
|
|
149
155
|
}],
|
|
150
156
|
cltv: 1,
|
|
151
157
|
lnd: {
|
|
152
|
-
default: {
|
|
158
|
+
default: {
|
|
159
|
+
deletePayment: ({}, cbk) => cbk(),
|
|
160
|
+
getInfo: ({}, cbk) => cbk(null, getInfoRes()),
|
|
161
|
+
},
|
|
153
162
|
router: {
|
|
154
163
|
buildRoute: ({}, cbk) => cbk('err'),
|
|
155
|
-
|
|
164
|
+
sendToRouteV2: ({}, cbk) => cbk(null, {
|
|
156
165
|
failure: {code: 'UNKNOWN_PAYMENT_HASH'},
|
|
157
166
|
},
|
|
158
167
|
)},
|