@atomicfinance/bitcoin-wallet-provider 4.2.7 → 4.2.8
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/.turbo/turbo-build.log +4 -5
- package/CHANGELOG.md +12 -0
- package/package.json +6 -6
- package/.turbo/turbo-lint$colon$fix.log +0 -4
- package/.turbo/turbo-lint.log +0 -5
- package/.turbo/turbo-test.log +0 -0
- package/.yalc/@node-dlc/core/.nyc_output/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +0 -1
- package/.yalc/@node-dlc/core/.nyc_output/processinfo/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +0 -1
- package/.yalc/@node-dlc/core/.nyc_output/processinfo/index.json +0 -1
- package/.yalc/@node-dlc/core/README.md +0 -11
- package/.yalc/@node-dlc/core/__tests__/core.spec.ts +0 -7
- package/.yalc/@node-dlc/core/__tests__/dlc/CETCalculator.spec.ts +0 -1029
- package/.yalc/@node-dlc/core/__tests__/dlc/CoinSelect.spec.ts +0 -179
- package/.yalc/@node-dlc/core/__tests__/dlc/PolynomialPayoutCurve.spec.ts +0 -345
- package/.yalc/@node-dlc/core/__tests__/dlc/TxBuilder.spec.ts +0 -424
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/Builder.spec.ts +0 -492
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/CoveredCall.spec.ts +0 -112
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/CsoInfo.spec.ts +0 -1124
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongCall.spec.ts +0 -55
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongPut.spec.ts +0 -55
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/OptionInfo.spec.ts +0 -226
- package/.yalc/@node-dlc/core/__tests__/dlc/finance/ShortPut.spec.ts +0 -62
- package/.yalc/@node-dlc/core/__tests__/tsconfig.json +0 -8
- package/.yalc/@node-dlc/core/__tests__/utils/precision.spec.ts +0 -40
- package/.yalc/@node-dlc/core/coverage/lcov-report/base.css +0 -224
- package/.yalc/@node-dlc/core/coverage/lcov-report/block-navigation.js +0 -79
- package/.yalc/@node-dlc/core/coverage/lcov-report/favicon.png +0 -0
- package/.yalc/@node-dlc/core/coverage/lcov-report/index.html +0 -171
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/AsyncProcessingQueue.ts.html +0 -269
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Base32.ts.html +0 -86
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BigIntUtils.ts.html +0 -86
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BitField.ts.html +0 -86
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ChannelId.ts.html +0 -86
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedList.ts.html +0 -413
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedListNode.ts.html +0 -122
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Queue.ts.html +0 -188
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelId.ts.html +0 -86
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelIdUtils.ts.html +0 -107
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CETCalculator.ts.html +0 -1430
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CoinSelect.ts.html +0 -431
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/HyperbolaPayoutCurve.ts.html +0 -644
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/PolynomialPayoutCurve.ts.html +0 -878
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxBuilder.ts.html +0 -1088
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxFinalizer.ts.html +0 -731
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/Builder.ts.html +0 -2270
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CoveredCall.ts.html +0 -410
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CsoInfo.ts.html +0 -1574
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LinearPayout.ts.html +0 -362
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongCall.ts.html +0 -302
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongPut.ts.html +0 -302
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/OptionInfo.ts.html +0 -626
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/ShortPut.ts.html +0 -305
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/index.html +0 -216
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/index.html +0 -186
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.html +0 -261
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.ts.html +0 -278
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelId.ts.html +0 -242
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelKeys.ts.html +0 -407
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentNumber.ts.html +0 -362
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecret.ts.html +0 -203
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html +0 -332
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/Htlc.ts.html +0 -236
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/HtlcDirection.ts.html +0 -131
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ScriptFactory.ts.html +0 -530
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/TxFactory.ts.html +0 -1094
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/index.html +0 -231
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/BigIntUtils.ts.html +0 -272
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/Precision.ts.html +0 -149
- package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/index.html +0 -126
- package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.css +0 -1
- package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.js +0 -2
- package/.yalc/@node-dlc/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/.yalc/@node-dlc/core/coverage/lcov-report/sorter.js +0 -170
- package/.yalc/@node-dlc/core/coverage/lcov.info +0 -2426
- package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.d.ts +0 -22
- package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js +0 -55
- package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/Base32.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/Base32.js +0 -7
- package/.yalc/@node-dlc/core/dist/Base32.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/BigIntUtils.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/BigIntUtils.js +0 -8
- package/.yalc/@node-dlc/core/dist/BigIntUtils.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/BitField.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/BitField.js +0 -7
- package/.yalc/@node-dlc/core/dist/BitField.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/ChannelId.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/ChannelId.js +0 -7
- package/.yalc/@node-dlc/core/dist/ChannelId.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/LinkedList.d.ts +0 -30
- package/.yalc/@node-dlc/core/dist/LinkedList.js +0 -104
- package/.yalc/@node-dlc/core/dist/LinkedList.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/LinkedListNode.d.ts +0 -9
- package/.yalc/@node-dlc/core/dist/LinkedListNode.js +0 -15
- package/.yalc/@node-dlc/core/dist/LinkedListNode.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/Queue.d.ts +0 -22
- package/.yalc/@node-dlc/core/dist/Queue.js +0 -38
- package/.yalc/@node-dlc/core/dist/Queue.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/ShortChannelId.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/ShortChannelId.js +0 -7
- package/.yalc/@node-dlc/core/dist/ShortChannelId.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.d.ts +0 -1
- package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js +0 -12
- package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.d.ts +0 -50
- package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js +0 -332
- package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.d.ts +0 -23
- package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js +0 -77
- package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.d.ts +0 -20
- package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js +0 -117
- package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.d.ts +0 -5
- package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js +0 -3
- package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.d.ts +0 -52
- package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js +0 -173
- package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.d.ts +0 -55
- package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js +0 -217
- package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.d.ts +0 -40
- package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js +0 -146
- package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.d.ts +0 -193
- package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js +0 -422
- package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.d.ts +0 -13
- package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js +0 -67
- package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.d.ts +0 -114
- package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js +0 -290
- package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.d.ts +0 -6
- package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js +0 -79
- package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.d.ts +0 -13
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js +0 -47
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.d.ts +0 -13
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js +0 -47
- package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.d.ts +0 -20
- package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js +0 -101
- package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.d.ts +0 -12
- package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js +0 -46
- package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/index.d.ts +0 -39
- package/.yalc/@node-dlc/core/dist/index.js +0 -78
- package/.yalc/@node-dlc/core/dist/index.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/ChannelId.d.ts +0 -31
- package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js +0 -52
- package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.d.ts +0 -55
- package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js +0 -105
- package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.d.ts +0 -55
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js +0 -76
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.d.ts +0 -26
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js +0 -44
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.d.ts +0 -41
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js +0 -79
- package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/Htlc.d.ts +0 -46
- package/.yalc/@node-dlc/core/dist/lightning/Htlc.js +0 -46
- package/.yalc/@node-dlc/core/dist/lightning/Htlc.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.d.ts +0 -16
- package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js +0 -21
- package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.d.ts +0 -76
- package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js +0 -102
- package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/lightning/TxFactory.d.ts +0 -83
- package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js +0 -222
- package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.d.ts +0 -9
- package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js +0 -59
- package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js.map +0 -1
- package/.yalc/@node-dlc/core/dist/utils/Precision.d.ts +0 -13
- package/.yalc/@node-dlc/core/dist/utils/Precision.js +0 -28
- package/.yalc/@node-dlc/core/dist/utils/Precision.js.map +0 -1
- package/.yalc/@node-dlc/core/lib/AsyncProcessingQueue.ts +0 -63
- package/.yalc/@node-dlc/core/lib/Base32.ts +0 -2
- package/.yalc/@node-dlc/core/lib/BigIntUtils.ts +0 -2
- package/.yalc/@node-dlc/core/lib/BitField.ts +0 -2
- package/.yalc/@node-dlc/core/lib/ChannelId.ts +0 -2
- package/.yalc/@node-dlc/core/lib/LinkedList.ts +0 -111
- package/.yalc/@node-dlc/core/lib/LinkedListNode.ts +0 -14
- package/.yalc/@node-dlc/core/lib/Queue.ts +0 -36
- package/.yalc/@node-dlc/core/lib/ShortChannelId.ts +0 -2
- package/.yalc/@node-dlc/core/lib/ShortChannelIdUtils.ts +0 -9
- package/.yalc/@node-dlc/core/lib/dlc/CETCalculator.ts +0 -450
- package/.yalc/@node-dlc/core/lib/dlc/CoinSelect.ts +0 -117
- package/.yalc/@node-dlc/core/lib/dlc/HyperbolaPayoutCurve.ts +0 -188
- package/.yalc/@node-dlc/core/lib/dlc/PayoutCurve.ts +0 -6
- package/.yalc/@node-dlc/core/lib/dlc/PolynomialPayoutCurve.ts +0 -266
- package/.yalc/@node-dlc/core/lib/dlc/TxBuilder.ts +0 -336
- package/.yalc/@node-dlc/core/lib/dlc/TxFinalizer.ts +0 -217
- package/.yalc/@node-dlc/core/lib/dlc/finance/Builder.ts +0 -730
- package/.yalc/@node-dlc/core/lib/dlc/finance/CoveredCall.ts +0 -110
- package/.yalc/@node-dlc/core/lib/dlc/finance/CsoInfo.ts +0 -498
- package/.yalc/@node-dlc/core/lib/dlc/finance/LinearPayout.ts +0 -94
- package/.yalc/@node-dlc/core/lib/dlc/finance/LongCall.ts +0 -74
- package/.yalc/@node-dlc/core/lib/dlc/finance/LongPut.ts +0 -74
- package/.yalc/@node-dlc/core/lib/dlc/finance/OptionInfo.ts +0 -182
- package/.yalc/@node-dlc/core/lib/dlc/finance/ShortPut.ts +0 -75
- package/.yalc/@node-dlc/core/lib/index.ts +0 -66
- package/.yalc/@node-dlc/core/lib/lightning/ChannelId.ts +0 -54
- package/.yalc/@node-dlc/core/lib/lightning/ChannelKeys.ts +0 -109
- package/.yalc/@node-dlc/core/lib/lightning/CommitmentNumber.ts +0 -94
- package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecret.ts +0 -41
- package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecretStore.ts +0 -84
- package/.yalc/@node-dlc/core/lib/lightning/Htlc.ts +0 -52
- package/.yalc/@node-dlc/core/lib/lightning/HtlcDirection.ts +0 -17
- package/.yalc/@node-dlc/core/lib/lightning/ScriptFactory.ts +0 -150
- package/.yalc/@node-dlc/core/lib/lightning/TxFactory.ts +0 -338
- package/.yalc/@node-dlc/core/lib/utils/BigIntUtils.ts +0 -64
- package/.yalc/@node-dlc/core/lib/utils/Precision.ts +0 -23
- package/.yalc/@node-dlc/core/package.json +0 -38
- package/.yalc/@node-dlc/core/tsconfig.json +0 -8
- package/.yalc/@node-dlc/core/yalc.sig +0 -1
- package/yalc.lock +0 -10
package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html
DELETED
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for lib/lightning/CommitmentSecretStore.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">lib/lightning</a> CommitmentSecretStore.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">7.69% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>2/26</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/8</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">0% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/4</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">9.52% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>2/21</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
</div>
|
|
58
|
-
<div class='status-line low'></div>
|
|
59
|
-
<pre><table class="coverage">
|
|
60
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
62
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
63
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
64
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
65
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
66
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
72
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
73
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
74
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
75
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
76
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
111
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
113
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
114
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
115
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
116
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
117
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
118
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
119
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
120
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
121
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
122
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
123
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
124
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
125
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
126
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
127
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
128
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
129
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
130
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
131
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
132
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
133
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
134
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
135
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
136
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
137
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
138
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
139
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
140
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
141
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
142
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
|
-
<a name='L85'></a><a href='#L85'>85</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-yes">1x</span>
|
|
159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
165
|
-
<span class="cline-any cline-no"> </span>
|
|
166
|
-
<span class="cline-any cline-no"> </span>
|
|
167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
168
|
-
<span class="cline-any cline-no"> </span>
|
|
169
|
-
<span class="cline-any cline-neutral"> </span>
|
|
170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
174
|
-
<span class="cline-any cline-no"> </span>
|
|
175
|
-
<span class="cline-any cline-no"> </span>
|
|
176
|
-
<span class="cline-any cline-no"> </span>
|
|
177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
183
|
-
<span class="cline-any cline-neutral"> </span>
|
|
184
|
-
<span class="cline-any cline-neutral"> </span>
|
|
185
|
-
<span class="cline-any cline-neutral"> </span>
|
|
186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
188
|
-
<span class="cline-any cline-neutral"> </span>
|
|
189
|
-
<span class="cline-any cline-no"> </span>
|
|
190
|
-
<span class="cline-any cline-neutral"> </span>
|
|
191
|
-
<span class="cline-any cline-neutral"> </span>
|
|
192
|
-
<span class="cline-any cline-neutral"> </span>
|
|
193
|
-
<span class="cline-any cline-no"> </span>
|
|
194
|
-
<span class="cline-any cline-no"> </span>
|
|
195
|
-
<span class="cline-any cline-no"> </span>
|
|
196
|
-
<span class="cline-any cline-no"> </span>
|
|
197
|
-
<span class="cline-any cline-no"> </span>
|
|
198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
199
|
-
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
202
|
-
<span class="cline-any cline-no"> </span>
|
|
203
|
-
<span class="cline-any cline-no"> </span>
|
|
204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-no"> </span>
|
|
214
|
-
<span class="cline-any cline-neutral"> </span>
|
|
215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
216
|
-
<span class="cline-any cline-no"> </span>
|
|
217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
221
|
-
<span class="cline-any cline-no"> </span>
|
|
222
|
-
<span class="cline-any cline-no"> </span>
|
|
223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
225
|
-
<span class="cline-any cline-no"> </span>
|
|
226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { CommitmentSecret } from './CommitmentSecret';
|
|
229
|
-
|
|
230
|
-
export type CommitmentSecretStoreItem = { index: bigint; secret: Buffer };
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Defined in BOLT3, this class compactly stored received commitment
|
|
234
|
-
* secrets from our counterparty. Without this mechanism we are required
|
|
235
|
-
* to store every commitment secret that we receive (2^48) which can be
|
|
236
|
-
* a huge amount of data at 32-bytes per secret.
|
|
237
|
-
*
|
|
238
|
-
* Instead we can use the fact that later commitment secrets act as
|
|
239
|
-
* prefixes for prior commitment secrets. We can then compactly store
|
|
240
|
-
* only the secrets we need to derive older commitment secrets.
|
|
241
|
-
*/
|
|
242
|
-
export class CommitmentSecretStore {
|
|
243
|
-
/**
|
|
244
|
-
* Returns the index of the least-significant bit. This is used to
|
|
245
|
-
* determine what the value at I is a prefix for.
|
|
246
|
-
* @param I commitment
|
|
247
|
-
*/
|
|
248
|
-
public <span class="fstat-no" title="function not covered" >static </span>calcIndex(I: bigint): number {
|
|
249
|
-
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >BigInt(0);</span> i < BigInt(48); i++) {</span>
|
|
250
|
-
<span class="cstat-no" title="statement not covered" > if (I & (BigInt(1) << i)) <span class="cstat-no" title="statement not covered" >return Number(i);</span></span>
|
|
251
|
-
}
|
|
252
|
-
<span class="cstat-no" title="statement not covered" > return 48; </span>// seed
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
private secrets: CommitmentSecretStoreItem[];
|
|
256
|
-
|
|
257
|
-
<span class="fstat-no" title="function not covered" > constructor() {</span>
|
|
258
|
-
<span class="cstat-no" title="statement not covered" > this.secrets = new Array(49) as CommitmentSecretStoreItem[];</span>
|
|
259
|
-
<span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i < this.secrets.length; i++) {</span>
|
|
260
|
-
<span class="cstat-no" title="statement not covered" > this.secrets[i] = { index: BigInt(0), secret: undefined };</span>
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Insert the commitment secret into the store and verify that the
|
|
266
|
-
* secret is able to derive all prior commitment secrets that we
|
|
267
|
-
* already know about.
|
|
268
|
-
*
|
|
269
|
-
* @param secret 32-byte secp256k1 secret
|
|
270
|
-
* @param i commitment number
|
|
271
|
-
*/
|
|
272
|
-
public <span class="fstat-no" title="function not covered" >insert(</span>secret: Buffer, i: bigint): void {
|
|
273
|
-
const B = <span class="cstat-no" title="statement not covered" >CommitmentSecretStore.calcIndex(i);</span>
|
|
274
|
-
|
|
275
|
-
// validate that the new secret allows derivation of known keys
|
|
276
|
-
// up to the new key
|
|
277
|
-
<span class="cstat-no" title="statement not covered" > for (let b = <span class="cstat-no" title="statement not covered" >0;</span> b < B; b++) {</span>
|
|
278
|
-
const existing = <span class="cstat-no" title="statement not covered" >this.secrets[b].secret;</span>
|
|
279
|
-
const derived = <span class="cstat-no" title="statement not covered" >CommitmentSecret.derive(secret, this.secrets[b].index, B);</span>
|
|
280
|
-
<span class="cstat-no" title="statement not covered" > if (!derived.equals(existing)) {</span>
|
|
281
|
-
<span class="cstat-no" title="statement not covered" > throw new Error('The secret for I is incorrect');</span>
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
// update the position
|
|
286
|
-
<span class="cstat-no" title="statement not covered" > this.secrets[Number(B)].index = i;</span>
|
|
287
|
-
<span class="cstat-no" title="statement not covered" > this.secrets[Number(B)].secret = secret;</span>
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Derives old commitment secrets from the from the compact store.
|
|
292
|
-
* Throws if we do not have the commitment secret for the specified
|
|
293
|
-
* commitment nmber.
|
|
294
|
-
* @param i derivation number starting at 2^48-1 down to zero.
|
|
295
|
-
*/
|
|
296
|
-
public <span class="fstat-no" title="function not covered" >derive(</span>i: bigint): Buffer {
|
|
297
|
-
<span class="cstat-no" title="statement not covered" > for (let b = <span class="cstat-no" title="statement not covered" >0;</span> b < this.secrets.length; b++) {</span>
|
|
298
|
-
// construct a mask of the upper bits. Basically we lop off
|
|
299
|
-
// the lower b bits and then right-shift back into place
|
|
300
|
-
const mask = <span class="cstat-no" title="statement not covered" >(BigInt(0xffffffffffff) >> BigInt(b)) << BigInt(b);</span>
|
|
301
|
-
|
|
302
|
-
// Check if the prefix found using I & mask is one that we
|
|
303
|
-
// can use to derive our value. If not, we need to try
|
|
304
|
-
// another bit.
|
|
305
|
-
<span class="cstat-no" title="statement not covered" > if ((i & mask) === this.secrets[b].index && this.secrets[b].secret) {</span>
|
|
306
|
-
<span class="cstat-no" title="statement not covered" > return CommitmentSecret.derive(this.secrets[b].secret, i, b);</span>
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Index I hasn't been received yet");</span>
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
</pre></td></tr></table></pre>
|
|
313
|
-
|
|
314
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
315
|
-
</div><!-- /wrapper -->
|
|
316
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
317
|
-
Code coverage generated by
|
|
318
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
319
|
-
at Sun Jul 20 2025 21:18:12 GMT-0700 (Pacific Daylight Saving Time)
|
|
320
|
-
</div>
|
|
321
|
-
</div>
|
|
322
|
-
<script src="../../prettify.js"></script>
|
|
323
|
-
<script>
|
|
324
|
-
window.onload = function () {
|
|
325
|
-
prettyPrint();
|
|
326
|
-
};
|
|
327
|
-
</script>
|
|
328
|
-
<script src="../../sorter.js"></script>
|
|
329
|
-
<script src="../../block-navigation.js"></script>
|
|
330
|
-
</body>
|
|
331
|
-
</html>
|
|
332
|
-
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for lib/lightning/Htlc.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">lib/lightning</a> Htlc.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">14.29% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>1/7</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/0</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">0% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/1</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">14.29% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>1/7</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
</div>
|
|
58
|
-
<div class='status-line low'></div>
|
|
59
|
-
<pre><table class="coverage">
|
|
60
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
62
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
63
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
64
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
65
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
66
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
72
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
73
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
74
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
75
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
76
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
111
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
-
<a name='L53'></a><a href='#L53'>53</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
116
|
-
<span class="cline-any cline-neutral"> </span>
|
|
117
|
-
<span class="cline-any cline-neutral"> </span>
|
|
118
|
-
<span class="cline-any cline-neutral"> </span>
|
|
119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
120
|
-
<span class="cline-any cline-neutral"> </span>
|
|
121
|
-
<span class="cline-any cline-neutral"> </span>
|
|
122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
126
|
-
<span class="cline-any cline-yes">1x</span>
|
|
127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
139
|
-
<span class="cline-any cline-neutral"> </span>
|
|
140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
154
|
-
<span class="cline-any cline-no"> </span>
|
|
155
|
-
<span class="cline-any cline-no"> </span>
|
|
156
|
-
<span class="cline-any cline-no"> </span>
|
|
157
|
-
<span class="cline-any cline-no"> </span>
|
|
158
|
-
<span class="cline-any cline-no"> </span>
|
|
159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-no"> </span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
164
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Value } from '@node-dlc/bitcoin';
|
|
165
|
-
|
|
166
|
-
import { HtlcDirection } from './HtlcDirection';
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* An HTLC (hashed time-locked contract) is part of the transfer
|
|
170
|
-
* layer of the Lightning network. HTLCs are used to trustlessly offer
|
|
171
|
-
* a payment to a counterparty if they are able to provide a preimage
|
|
172
|
-
* of the hash. The offeror can claw back funds after an expiration
|
|
173
|
-
* period (absolute lock time) if the recipient is unable to provide
|
|
174
|
-
* the preimage for the contract. HTLCs are used in Lightning for both
|
|
175
|
-
* initiating payments to a peer directly and as part of forwarding
|
|
176
|
-
* payments.
|
|
177
|
-
*/
|
|
178
|
-
export class Htlc {
|
|
179
|
-
/**
|
|
180
|
-
* The preimage of the payment hash using SHA256.
|
|
181
|
-
*/
|
|
182
|
-
public paymentPreimage: Buffer;
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Constructs an HTLC with associated information
|
|
186
|
-
* @param htlcId Identifier for the HTLC is a counter maintained
|
|
187
|
-
* per-channel, per-peer. It starts at zero and is incremented when
|
|
188
|
-
* an HTLC is offered. This value is used when sending channel
|
|
189
|
-
* related messages to disambiguate HTLCs that may share the same
|
|
190
|
-
* preimage.
|
|
191
|
-
*
|
|
192
|
-
* @param direction Direction, from your node's perspective, that
|
|
193
|
-
* indicates if the HTLC was offered or received.
|
|
194
|
-
*
|
|
195
|
-
* @param value The value of the HTLC in millisatoshi.
|
|
196
|
-
*
|
|
197
|
-
* @param cltvExpiry The absolutely blocktime expiry of the HTLC.
|
|
198
|
-
* The value must be under 500,000,000 to ensure it is a block-based
|
|
199
|
-
* locktime. After this timeout has expired, the offeror can perform
|
|
200
|
-
* a forced resolution on-chain.
|
|
201
|
-
*
|
|
202
|
-
* @param paymentHash The 32-byte hash of the preimage. Knowledge of
|
|
203
|
-
* the preimage is irrevocable and considers payment complete.
|
|
204
|
-
*/
|
|
205
|
-
<span class="fstat-no" title="function not covered" > constructor(</span>
|
|
206
|
-
readonly <span class="cstat-no" title="statement not covered" >htlcId: bigint,</span>
|
|
207
|
-
readonly <span class="cstat-no" title="statement not covered" >direction: HtlcDirection,</span>
|
|
208
|
-
readonly <span class="cstat-no" title="statement not covered" >value: Value,</span>
|
|
209
|
-
readonly <span class="cstat-no" title="statement not covered" >cltvExpiry: number,</span>
|
|
210
|
-
readonly <span class="cstat-no" title="statement not covered" >paymentHash: Buffer,</span>
|
|
211
|
-
paymentPreimage?: Buffer,
|
|
212
|
-
) {
|
|
213
|
-
<span class="cstat-no" title="statement not covered" > this.paymentPreimage = paymentPreimage;</span>
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
</pre></td></tr></table></pre>
|
|
217
|
-
|
|
218
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
219
|
-
</div><!-- /wrapper -->
|
|
220
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
221
|
-
Code coverage generated by
|
|
222
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
223
|
-
at Sun Jul 20 2025 21:18:12 GMT-0700 (Pacific Daylight Saving Time)
|
|
224
|
-
</div>
|
|
225
|
-
</div>
|
|
226
|
-
<script src="../../prettify.js"></script>
|
|
227
|
-
<script>
|
|
228
|
-
window.onload = function () {
|
|
229
|
-
prettyPrint();
|
|
230
|
-
};
|
|
231
|
-
</script>
|
|
232
|
-
<script src="../../sorter.js"></script>
|
|
233
|
-
<script src="../../block-navigation.js"></script>
|
|
234
|
-
</body>
|
|
235
|
-
</html>
|
|
236
|
-
|