@atomicfinance/bitcoin-dlc-provider 4.2.8 → 4.3.0

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.
Files changed (968) hide show
  1. package/.turbo/turbo-build.log +5 -4
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  6. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  9. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  10. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  129. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  130. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  158. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  159. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  160. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  161. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  162. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  163. package/.yalc/@node-dlc/bufio/.eslintrc +6 -0
  164. package/.yalc/@node-dlc/bufio/.nyc_output/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +1 -0
  165. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +1 -0
  166. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/index.json +1 -0
  167. package/.yalc/@node-dlc/bufio/README.md +68 -0
  168. package/.yalc/@node-dlc/bufio/__tests__/BufferReader.spec.ts +548 -0
  169. package/.yalc/@node-dlc/bufio/__tests__/BufferWriter.spec.ts +530 -0
  170. package/.yalc/@node-dlc/bufio/__tests__/Hex.spec.ts +51 -0
  171. package/.yalc/@node-dlc/bufio/__tests__/StreamReader.spec.ts +133 -0
  172. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufBE.spec.ts +14 -0
  173. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufLE.spec.ts +14 -0
  174. package/.yalc/@node-dlc/bufio/__tests__/bigToBufBE.spec.ts +15 -0
  175. package/.yalc/@node-dlc/bufio/__tests__/bigToBufLE.spec.ts +14 -0
  176. package/.yalc/@node-dlc/bufio/__tests__/encodeVarInt.spec.ts +25 -0
  177. package/.yalc/@node-dlc/bufio/__tests__/tsconfig.json +7 -0
  178. package/.yalc/@node-dlc/bufio/__tests__/varIntBytes.spec.ts +34 -0
  179. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferReader.ts.html +1142 -0
  180. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferWriter.ts.html +953 -0
  181. package/.yalc/@node-dlc/bufio/coverage/lcov-report/Hex.ts.html +323 -0
  182. package/.yalc/@node-dlc/bufio/coverage/lcov-report/StreamReader.ts.html +620 -0
  183. package/.yalc/@node-dlc/bufio/coverage/lcov-report/base.css +224 -0
  184. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufBE.ts.html +89 -0
  185. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufLE.ts.html +95 -0
  186. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufBE.ts.html +98 -0
  187. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufLE.ts.html +95 -0
  188. package/.yalc/@node-dlc/bufio/coverage/lcov-report/block-navigation.js +79 -0
  189. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bufToStream.ts.html +113 -0
  190. package/.yalc/@node-dlc/bufio/coverage/lcov-report/encodeVarInt.ts.html +203 -0
  191. package/.yalc/@node-dlc/bufio/coverage/lcov-report/favicon.png +0 -0
  192. package/.yalc/@node-dlc/bufio/coverage/lcov-report/index.html +261 -0
  193. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.css +1 -0
  194. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.js +2 -0
  195. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  196. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sorter.js +170 -0
  197. package/.yalc/@node-dlc/bufio/coverage/lcov-report/varIntBytes.ts.html +116 -0
  198. package/.yalc/@node-dlc/bufio/coverage/lcov.info +747 -0
  199. package/.yalc/@node-dlc/bufio/dist/BufferReader.d.ts +155 -0
  200. package/.yalc/@node-dlc/bufio/dist/BufferReader.js +346 -0
  201. package/.yalc/@node-dlc/bufio/dist/BufferReader.js.map +1 -0
  202. package/.yalc/@node-dlc/bufio/dist/BufferWriter.d.ts +143 -0
  203. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js +279 -0
  204. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js.map +1 -0
  205. package/.yalc/@node-dlc/bufio/dist/Hex.d.ts +13 -0
  206. package/.yalc/@node-dlc/bufio/dist/Hex.js +78 -0
  207. package/.yalc/@node-dlc/bufio/dist/Hex.js.map +1 -0
  208. package/.yalc/@node-dlc/bufio/dist/StreamReader.d.ts +111 -0
  209. package/.yalc/@node-dlc/bufio/dist/StreamReader.js +180 -0
  210. package/.yalc/@node-dlc/bufio/dist/StreamReader.js.map +1 -0
  211. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.d.ts +2 -0
  212. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js +8 -0
  213. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js.map +1 -0
  214. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.d.ts +2 -0
  215. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js +9 -0
  216. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js.map +1 -0
  217. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.d.ts +2 -0
  218. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js +13 -0
  219. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js.map +1 -0
  220. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.d.ts +2 -0
  221. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js +9 -0
  222. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js.map +1 -0
  223. package/.yalc/@node-dlc/bufio/dist/bufToStream.d.ts +7 -0
  224. package/.yalc/@node-dlc/bufio/dist/bufToStream.js +15 -0
  225. package/.yalc/@node-dlc/bufio/dist/bufToStream.js.map +1 -0
  226. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.d.ts +12 -0
  227. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js +46 -0
  228. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js.map +1 -0
  229. package/.yalc/@node-dlc/bufio/dist/index.d.ts +11 -0
  230. package/.yalc/@node-dlc/bufio/dist/index.js +28 -0
  231. package/.yalc/@node-dlc/bufio/dist/index.js.map +1 -0
  232. package/.yalc/@node-dlc/bufio/dist/varIntBytes.d.ts +5 -0
  233. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js +22 -0
  234. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js.map +1 -0
  235. package/.yalc/@node-dlc/bufio/lib/BufferReader.ts +354 -0
  236. package/.yalc/@node-dlc/bufio/lib/BufferWriter.ts +291 -0
  237. package/.yalc/@node-dlc/bufio/lib/Hex.ts +81 -0
  238. package/.yalc/@node-dlc/bufio/lib/StreamReader.ts +180 -0
  239. package/.yalc/@node-dlc/bufio/lib/bigFromBufBE.ts +3 -0
  240. package/.yalc/@node-dlc/bufio/lib/bigFromBufLE.ts +5 -0
  241. package/.yalc/@node-dlc/bufio/lib/bigToBufBE.ts +6 -0
  242. package/.yalc/@node-dlc/bufio/lib/bigToBufLE.ts +5 -0
  243. package/.yalc/@node-dlc/bufio/lib/bufToStream.ts +11 -0
  244. package/.yalc/@node-dlc/bufio/lib/encodeVarInt.ts +41 -0
  245. package/.yalc/@node-dlc/bufio/lib/index.ts +11 -0
  246. package/.yalc/@node-dlc/bufio/lib/varIntBytes.ts +12 -0
  247. package/.yalc/@node-dlc/bufio/package.json +27 -0
  248. package/.yalc/@node-dlc/bufio/tsconfig-build.json +7 -0
  249. package/.yalc/@node-dlc/bufio/tsconfig.json +7 -0
  250. package/.yalc/@node-dlc/bufio/yalc.sig +1 -0
  251. package/.yalc/@node-dlc/core/.nyc_output/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  252. package/.yalc/@node-dlc/core/.nyc_output/processinfo/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  253. package/.yalc/@node-dlc/core/.nyc_output/processinfo/index.json +1 -0
  254. package/.yalc/@node-dlc/core/README.md +11 -0
  255. package/.yalc/@node-dlc/core/__tests__/core.spec.ts +7 -0
  256. package/.yalc/@node-dlc/core/__tests__/dlc/CETCalculator.spec.ts +1029 -0
  257. package/.yalc/@node-dlc/core/__tests__/dlc/CoinSelect.spec.ts +179 -0
  258. package/.yalc/@node-dlc/core/__tests__/dlc/PolynomialPayoutCurve.spec.ts +345 -0
  259. package/.yalc/@node-dlc/core/__tests__/dlc/TxBuilder.spec.ts +424 -0
  260. package/.yalc/@node-dlc/core/__tests__/dlc/finance/Builder.spec.ts +492 -0
  261. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CoveredCall.spec.ts +112 -0
  262. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CsoInfo.spec.ts +1124 -0
  263. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongCall.spec.ts +55 -0
  264. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongPut.spec.ts +55 -0
  265. package/.yalc/@node-dlc/core/__tests__/dlc/finance/OptionInfo.spec.ts +226 -0
  266. package/.yalc/@node-dlc/core/__tests__/dlc/finance/ShortPut.spec.ts +62 -0
  267. package/.yalc/@node-dlc/core/__tests__/tsconfig.json +8 -0
  268. package/.yalc/@node-dlc/core/__tests__/utils/precision.spec.ts +40 -0
  269. package/.yalc/@node-dlc/core/coverage/lcov-report/base.css +224 -0
  270. package/.yalc/@node-dlc/core/coverage/lcov-report/block-navigation.js +79 -0
  271. package/.yalc/@node-dlc/core/coverage/lcov-report/favicon.png +0 -0
  272. package/.yalc/@node-dlc/core/coverage/lcov-report/index.html +171 -0
  273. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/AsyncProcessingQueue.ts.html +269 -0
  274. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Base32.ts.html +86 -0
  275. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BigIntUtils.ts.html +86 -0
  276. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BitField.ts.html +86 -0
  277. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ChannelId.ts.html +86 -0
  278. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedList.ts.html +413 -0
  279. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedListNode.ts.html +122 -0
  280. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Queue.ts.html +188 -0
  281. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelId.ts.html +86 -0
  282. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelIdUtils.ts.html +107 -0
  283. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CETCalculator.ts.html +1430 -0
  284. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CoinSelect.ts.html +431 -0
  285. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/HyperbolaPayoutCurve.ts.html +644 -0
  286. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/PolynomialPayoutCurve.ts.html +878 -0
  287. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxBuilder.ts.html +1088 -0
  288. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxFinalizer.ts.html +731 -0
  289. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/Builder.ts.html +2270 -0
  290. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CoveredCall.ts.html +410 -0
  291. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CsoInfo.ts.html +1574 -0
  292. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LinearPayout.ts.html +362 -0
  293. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongCall.ts.html +302 -0
  294. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongPut.ts.html +302 -0
  295. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/OptionInfo.ts.html +626 -0
  296. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/ShortPut.ts.html +305 -0
  297. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/index.html +216 -0
  298. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/index.html +186 -0
  299. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.html +261 -0
  300. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.ts.html +278 -0
  301. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelId.ts.html +242 -0
  302. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelKeys.ts.html +407 -0
  303. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentNumber.ts.html +362 -0
  304. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecret.ts.html +203 -0
  305. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html +332 -0
  306. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/Htlc.ts.html +236 -0
  307. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/HtlcDirection.ts.html +131 -0
  308. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ScriptFactory.ts.html +530 -0
  309. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/TxFactory.ts.html +1094 -0
  310. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/index.html +231 -0
  311. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/BigIntUtils.ts.html +272 -0
  312. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/Precision.ts.html +149 -0
  313. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/index.html +126 -0
  314. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.css +1 -0
  315. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.js +2 -0
  316. package/.yalc/@node-dlc/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  317. package/.yalc/@node-dlc/core/coverage/lcov-report/sorter.js +170 -0
  318. package/.yalc/@node-dlc/core/coverage/lcov.info +2426 -0
  319. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.d.ts +22 -0
  320. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js +55 -0
  321. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js.map +1 -0
  322. package/.yalc/@node-dlc/core/dist/Base32.d.ts +1 -0
  323. package/.yalc/@node-dlc/core/dist/Base32.js +7 -0
  324. package/.yalc/@node-dlc/core/dist/Base32.js.map +1 -0
  325. package/.yalc/@node-dlc/core/dist/BigIntUtils.d.ts +1 -0
  326. package/.yalc/@node-dlc/core/dist/BigIntUtils.js +8 -0
  327. package/.yalc/@node-dlc/core/dist/BigIntUtils.js.map +1 -0
  328. package/.yalc/@node-dlc/core/dist/BitField.d.ts +1 -0
  329. package/.yalc/@node-dlc/core/dist/BitField.js +7 -0
  330. package/.yalc/@node-dlc/core/dist/BitField.js.map +1 -0
  331. package/.yalc/@node-dlc/core/dist/ChannelId.d.ts +1 -0
  332. package/.yalc/@node-dlc/core/dist/ChannelId.js +7 -0
  333. package/.yalc/@node-dlc/core/dist/ChannelId.js.map +1 -0
  334. package/.yalc/@node-dlc/core/dist/LinkedList.d.ts +30 -0
  335. package/.yalc/@node-dlc/core/dist/LinkedList.js +104 -0
  336. package/.yalc/@node-dlc/core/dist/LinkedList.js.map +1 -0
  337. package/.yalc/@node-dlc/core/dist/LinkedListNode.d.ts +9 -0
  338. package/.yalc/@node-dlc/core/dist/LinkedListNode.js +15 -0
  339. package/.yalc/@node-dlc/core/dist/LinkedListNode.js.map +1 -0
  340. package/.yalc/@node-dlc/core/dist/Queue.d.ts +22 -0
  341. package/.yalc/@node-dlc/core/dist/Queue.js +38 -0
  342. package/.yalc/@node-dlc/core/dist/Queue.js.map +1 -0
  343. package/.yalc/@node-dlc/core/dist/ShortChannelId.d.ts +1 -0
  344. package/.yalc/@node-dlc/core/dist/ShortChannelId.js +7 -0
  345. package/.yalc/@node-dlc/core/dist/ShortChannelId.js.map +1 -0
  346. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.d.ts +1 -0
  347. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js +12 -0
  348. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js.map +1 -0
  349. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.d.ts +50 -0
  350. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js +332 -0
  351. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js.map +1 -0
  352. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.d.ts +23 -0
  353. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js +77 -0
  354. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js.map +1 -0
  355. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.d.ts +20 -0
  356. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js +117 -0
  357. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js.map +1 -0
  358. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.d.ts +5 -0
  359. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js +3 -0
  360. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js.map +1 -0
  361. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.d.ts +52 -0
  362. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js +173 -0
  363. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js.map +1 -0
  364. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.d.ts +55 -0
  365. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js +217 -0
  366. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js.map +1 -0
  367. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.d.ts +40 -0
  368. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js +146 -0
  369. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js.map +1 -0
  370. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.d.ts +193 -0
  371. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js +422 -0
  372. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js.map +1 -0
  373. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.d.ts +13 -0
  374. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js +67 -0
  375. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js.map +1 -0
  376. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.d.ts +114 -0
  377. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js +290 -0
  378. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js.map +1 -0
  379. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.d.ts +6 -0
  380. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js +79 -0
  381. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js.map +1 -0
  382. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.d.ts +13 -0
  383. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js +47 -0
  384. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js.map +1 -0
  385. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.d.ts +13 -0
  386. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js +47 -0
  387. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js.map +1 -0
  388. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.d.ts +20 -0
  389. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js +101 -0
  390. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js.map +1 -0
  391. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.d.ts +12 -0
  392. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js +46 -0
  393. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js.map +1 -0
  394. package/.yalc/@node-dlc/core/dist/index.d.ts +39 -0
  395. package/.yalc/@node-dlc/core/dist/index.js +78 -0
  396. package/.yalc/@node-dlc/core/dist/index.js.map +1 -0
  397. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.d.ts +31 -0
  398. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js +52 -0
  399. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js.map +1 -0
  400. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.d.ts +55 -0
  401. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js +105 -0
  402. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js.map +1 -0
  403. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.d.ts +55 -0
  404. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js +76 -0
  405. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js.map +1 -0
  406. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.d.ts +26 -0
  407. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js +44 -0
  408. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js.map +1 -0
  409. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.d.ts +41 -0
  410. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js +79 -0
  411. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js.map +1 -0
  412. package/.yalc/@node-dlc/core/dist/lightning/Htlc.d.ts +46 -0
  413. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js +46 -0
  414. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js.map +1 -0
  415. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.d.ts +16 -0
  416. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js +21 -0
  417. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js.map +1 -0
  418. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.d.ts +76 -0
  419. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js +102 -0
  420. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js.map +1 -0
  421. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.d.ts +83 -0
  422. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js +222 -0
  423. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js.map +1 -0
  424. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.d.ts +9 -0
  425. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js +59 -0
  426. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js.map +1 -0
  427. package/.yalc/@node-dlc/core/dist/utils/Precision.d.ts +13 -0
  428. package/.yalc/@node-dlc/core/dist/utils/Precision.js +28 -0
  429. package/.yalc/@node-dlc/core/dist/utils/Precision.js.map +1 -0
  430. package/.yalc/@node-dlc/core/lib/AsyncProcessingQueue.ts +63 -0
  431. package/.yalc/@node-dlc/core/lib/Base32.ts +2 -0
  432. package/.yalc/@node-dlc/core/lib/BigIntUtils.ts +2 -0
  433. package/.yalc/@node-dlc/core/lib/BitField.ts +2 -0
  434. package/.yalc/@node-dlc/core/lib/ChannelId.ts +2 -0
  435. package/.yalc/@node-dlc/core/lib/LinkedList.ts +111 -0
  436. package/.yalc/@node-dlc/core/lib/LinkedListNode.ts +14 -0
  437. package/.yalc/@node-dlc/core/lib/Queue.ts +36 -0
  438. package/.yalc/@node-dlc/core/lib/ShortChannelId.ts +2 -0
  439. package/.yalc/@node-dlc/core/lib/ShortChannelIdUtils.ts +9 -0
  440. package/.yalc/@node-dlc/core/lib/dlc/CETCalculator.ts +450 -0
  441. package/.yalc/@node-dlc/core/lib/dlc/CoinSelect.ts +117 -0
  442. package/.yalc/@node-dlc/core/lib/dlc/HyperbolaPayoutCurve.ts +188 -0
  443. package/.yalc/@node-dlc/core/lib/dlc/PayoutCurve.ts +6 -0
  444. package/.yalc/@node-dlc/core/lib/dlc/PolynomialPayoutCurve.ts +266 -0
  445. package/.yalc/@node-dlc/core/lib/dlc/TxBuilder.ts +336 -0
  446. package/.yalc/@node-dlc/core/lib/dlc/TxFinalizer.ts +217 -0
  447. package/.yalc/@node-dlc/core/lib/dlc/finance/Builder.ts +730 -0
  448. package/.yalc/@node-dlc/core/lib/dlc/finance/CoveredCall.ts +110 -0
  449. package/.yalc/@node-dlc/core/lib/dlc/finance/CsoInfo.ts +498 -0
  450. package/.yalc/@node-dlc/core/lib/dlc/finance/LinearPayout.ts +94 -0
  451. package/.yalc/@node-dlc/core/lib/dlc/finance/LongCall.ts +74 -0
  452. package/.yalc/@node-dlc/core/lib/dlc/finance/LongPut.ts +74 -0
  453. package/.yalc/@node-dlc/core/lib/dlc/finance/OptionInfo.ts +182 -0
  454. package/.yalc/@node-dlc/core/lib/dlc/finance/ShortPut.ts +75 -0
  455. package/.yalc/@node-dlc/core/lib/index.ts +66 -0
  456. package/.yalc/@node-dlc/core/lib/lightning/ChannelId.ts +54 -0
  457. package/.yalc/@node-dlc/core/lib/lightning/ChannelKeys.ts +109 -0
  458. package/.yalc/@node-dlc/core/lib/lightning/CommitmentNumber.ts +94 -0
  459. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecret.ts +41 -0
  460. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecretStore.ts +84 -0
  461. package/.yalc/@node-dlc/core/lib/lightning/Htlc.ts +52 -0
  462. package/.yalc/@node-dlc/core/lib/lightning/HtlcDirection.ts +17 -0
  463. package/.yalc/@node-dlc/core/lib/lightning/ScriptFactory.ts +150 -0
  464. package/.yalc/@node-dlc/core/lib/lightning/TxFactory.ts +338 -0
  465. package/.yalc/@node-dlc/core/lib/utils/BigIntUtils.ts +64 -0
  466. package/.yalc/@node-dlc/core/lib/utils/Precision.ts +23 -0
  467. package/.yalc/@node-dlc/core/package.json +38 -0
  468. package/.yalc/@node-dlc/core/tsconfig.json +8 -0
  469. package/.yalc/@node-dlc/core/yalc.sig +1 -0
  470. package/.yalc/@node-dlc/crypto/.eslintrc +6 -0
  471. package/.yalc/@node-dlc/crypto/.nyc_output/de03e0b4-d482-4f61-b680-59411360f56e.json +1 -0
  472. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/de03e0b4-d482-4f61-b680-59411360f56e.json +1 -0
  473. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/index.json +1 -0
  474. package/.yalc/@node-dlc/crypto/README.md +13 -0
  475. package/.yalc/@node-dlc/crypto/__tests__/chacha.spec.ts +29 -0
  476. package/.yalc/@node-dlc/crypto/__tests__/chachapoly.spec.ts +78 -0
  477. package/.yalc/@node-dlc/crypto/__tests__/hkdf.spec.ts +131 -0
  478. package/.yalc/@node-dlc/crypto/__tests__/key.spec.ts +125 -0
  479. package/.yalc/@node-dlc/crypto/__tests__/secp256k1.spec.ts +194 -0
  480. package/.yalc/@node-dlc/crypto/__tests__/xor.spec.ts +28 -0
  481. package/.yalc/@node-dlc/crypto/coverage/lcov-report/base.css +224 -0
  482. package/.yalc/@node-dlc/crypto/coverage/lcov-report/block-navigation.js +79 -0
  483. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chacha.ts.html +119 -0
  484. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chachapoly.ts.html +275 -0
  485. package/.yalc/@node-dlc/crypto/coverage/lcov-report/favicon.png +0 -0
  486. package/.yalc/@node-dlc/crypto/coverage/lcov-report/hkdf.ts.html +236 -0
  487. package/.yalc/@node-dlc/crypto/coverage/lcov-report/index.html +186 -0
  488. package/.yalc/@node-dlc/crypto/coverage/lcov-report/key.ts.html +272 -0
  489. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.css +1 -0
  490. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.js +2 -0
  491. package/.yalc/@node-dlc/crypto/coverage/lcov-report/secp256k1.ts.html +680 -0
  492. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  493. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sorter.js +170 -0
  494. package/.yalc/@node-dlc/crypto/coverage/lcov-report/xor.ts.html +116 -0
  495. package/.yalc/@node-dlc/crypto/coverage/lcov.info +221 -0
  496. package/.yalc/@node-dlc/crypto/dist/aes-key.d.ts +6 -0
  497. package/.yalc/@node-dlc/crypto/dist/aes-key.js +3 -0
  498. package/.yalc/@node-dlc/crypto/dist/aes-key.js.map +1 -0
  499. package/.yalc/@node-dlc/crypto/dist/aes.d.ts +34 -0
  500. package/.yalc/@node-dlc/crypto/dist/aes.js +62 -0
  501. package/.yalc/@node-dlc/crypto/dist/aes.js.map +1 -0
  502. package/.yalc/@node-dlc/crypto/dist/chacha.d.ts +4 -0
  503. package/.yalc/@node-dlc/crypto/dist/chacha.js +40 -0
  504. package/.yalc/@node-dlc/crypto/dist/chacha.js.map +1 -0
  505. package/.yalc/@node-dlc/crypto/dist/chachapoly.d.ts +24 -0
  506. package/.yalc/@node-dlc/crypto/dist/chachapoly.js +61 -0
  507. package/.yalc/@node-dlc/crypto/dist/chachapoly.js.map +1 -0
  508. package/.yalc/@node-dlc/crypto/dist/hash.d.ts +29 -0
  509. package/.yalc/@node-dlc/crypto/dist/hash.js +51 -0
  510. package/.yalc/@node-dlc/crypto/dist/hash.js.map +1 -0
  511. package/.yalc/@node-dlc/crypto/dist/hkdf.d.ts +20 -0
  512. package/.yalc/@node-dlc/crypto/dist/hkdf.js +50 -0
  513. package/.yalc/@node-dlc/crypto/dist/hkdf.js.map +1 -0
  514. package/.yalc/@node-dlc/crypto/dist/hmac.d.ts +3 -0
  515. package/.yalc/@node-dlc/crypto/dist/hmac.js +14 -0
  516. package/.yalc/@node-dlc/crypto/dist/hmac.js.map +1 -0
  517. package/.yalc/@node-dlc/crypto/dist/index.d.ts +11 -0
  518. package/.yalc/@node-dlc/crypto/dist/index.js +30 -0
  519. package/.yalc/@node-dlc/crypto/dist/index.js.map +1 -0
  520. package/.yalc/@node-dlc/crypto/dist/key.d.ts +37 -0
  521. package/.yalc/@node-dlc/crypto/dist/key.js +72 -0
  522. package/.yalc/@node-dlc/crypto/dist/key.js.map +1 -0
  523. package/.yalc/@node-dlc/crypto/dist/secp256k1.d.ts +120 -0
  524. package/.yalc/@node-dlc/crypto/dist/secp256k1.js +184 -0
  525. package/.yalc/@node-dlc/crypto/dist/secp256k1.js.map +1 -0
  526. package/.yalc/@node-dlc/crypto/dist/xor.d.ts +8 -0
  527. package/.yalc/@node-dlc/crypto/dist/xor.js +17 -0
  528. package/.yalc/@node-dlc/crypto/dist/xor.js.map +1 -0
  529. package/.yalc/@node-dlc/crypto/lib/aes-key.ts +4 -0
  530. package/.yalc/@node-dlc/crypto/lib/aes.ts +81 -0
  531. package/.yalc/@node-dlc/crypto/lib/chacha.ts +13 -0
  532. package/.yalc/@node-dlc/crypto/lib/chachapoly.ts +65 -0
  533. package/.yalc/@node-dlc/crypto/lib/hash.ts +44 -0
  534. package/.yalc/@node-dlc/crypto/lib/hkdf.ts +52 -0
  535. package/.yalc/@node-dlc/crypto/lib/hmac.ts +7 -0
  536. package/.yalc/@node-dlc/crypto/lib/index.ts +11 -0
  537. package/.yalc/@node-dlc/crypto/lib/key.ts +64 -0
  538. package/.yalc/@node-dlc/crypto/lib/secp256k1.ts +200 -0
  539. package/.yalc/@node-dlc/crypto/lib/xor.ts +12 -0
  540. package/.yalc/@node-dlc/crypto/package.json +34 -0
  541. package/.yalc/@node-dlc/crypto/tsconfig-build.json +7 -0
  542. package/.yalc/@node-dlc/crypto/tsconfig.json +4 -0
  543. package/.yalc/@node-dlc/crypto/yalc.sig +1 -0
  544. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  545. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  546. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  547. package/.yalc/@node-dlc/messaging/README.md +24 -0
  548. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  549. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  550. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  551. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  552. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  553. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  554. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  555. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  556. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  557. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  558. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  559. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  560. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  561. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  562. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  563. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  564. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  565. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  566. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  567. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  568. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  569. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  570. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  571. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  572. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  573. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  574. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  575. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  576. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  577. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  578. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  579. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  580. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  581. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  582. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  583. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  584. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  585. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  586. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  587. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  588. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  589. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  590. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  591. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  592. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  593. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  594. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  595. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  596. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  597. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  598. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  599. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  600. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  601. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  602. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  603. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  604. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  605. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  606. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  607. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  608. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  609. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  610. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  611. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  612. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  613. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  614. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  615. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  616. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  617. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  618. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  619. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  620. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  621. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  622. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  623. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  624. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  625. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  626. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  627. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  628. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  629. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  630. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  631. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  632. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  633. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  634. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  635. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  636. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  637. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  638. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  639. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  640. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  641. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  642. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  643. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  644. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  645. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  646. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  647. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  648. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  649. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  650. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  651. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  652. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  653. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  654. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  655. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  656. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  657. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  658. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  659. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  660. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  661. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  662. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  663. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  664. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  665. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  666. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  667. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  668. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  669. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  670. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  671. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  672. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  673. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  674. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  675. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  676. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  677. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  678. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  679. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  680. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  681. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  682. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  683. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  684. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  685. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  686. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  687. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  688. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  689. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  690. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  691. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  692. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  693. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  694. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  695. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  696. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  697. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  698. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  699. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  700. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  701. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  702. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  703. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  704. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  705. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  706. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  707. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  708. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  709. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  710. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  711. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  712. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  713. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  714. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  715. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  716. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  717. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  718. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  719. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  720. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  721. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  722. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  723. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  724. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  725. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  726. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  727. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  728. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  729. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  730. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  731. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  732. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  733. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  734. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  735. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  736. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  737. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  738. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  739. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  740. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  741. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  742. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  743. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  744. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  745. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  746. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  747. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  748. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  749. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  750. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  751. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  752. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  753. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  754. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  755. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  756. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  757. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  758. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  759. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  760. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  761. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  762. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  763. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  764. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  765. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  766. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  767. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  768. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  769. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  770. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  771. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  772. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  773. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  774. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  775. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  776. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  777. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  778. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  779. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  780. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  781. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  782. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  783. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  784. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  785. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  786. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  787. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  788. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  789. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  790. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  791. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  792. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  793. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  794. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  795. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  796. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  797. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  798. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  799. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  800. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  801. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  802. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  803. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  804. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  805. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  806. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  807. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  808. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  809. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  810. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  811. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  812. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  813. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  814. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  815. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  816. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  817. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  818. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  819. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  820. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  821. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  822. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  823. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  824. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  825. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  826. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  827. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  828. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  829. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  830. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  831. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  832. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  833. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  834. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  835. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  836. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  837. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  838. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  839. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  840. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  841. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  842. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  843. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  844. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  845. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  846. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  847. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  848. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  849. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  850. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  851. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  852. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  853. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  854. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  855. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  856. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  857. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  858. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  859. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  860. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  861. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  862. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  863. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  864. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  865. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  866. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  867. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  868. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  869. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  870. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  871. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  872. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  873. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  874. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  875. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  876. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  877. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  878. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  879. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  880. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  881. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  882. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  883. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  884. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  885. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  886. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  887. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  888. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  889. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  890. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  891. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  892. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  893. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  894. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  895. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  896. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  897. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  898. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  899. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  900. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  901. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  902. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  903. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  904. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  905. package/.yalc/@node-dlc/messaging/package.json +42 -0
  906. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  907. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  908. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  909. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  910. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  911. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  912. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  913. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  914. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  915. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  916. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  917. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  918. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  919. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  920. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  921. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  922. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  923. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  924. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  925. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  926. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  927. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  928. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  929. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  930. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  931. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  932. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  933. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  934. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  935. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  936. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  937. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  938. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  939. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  940. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  941. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  942. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  943. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  944. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  945. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  946. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  947. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  948. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  949. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  950. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  951. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  952. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  953. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  954. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  955. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  956. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  957. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  958. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  959. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  960. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  961. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  962. package/CHANGELOG.md +14 -0
  963. package/dist/BitcoinDlcProvider.d.ts +2 -2
  964. package/dist/BitcoinDlcProvider.js +4 -5
  965. package/dist/BitcoinDlcProvider.js.map +1 -1
  966. package/lib/BitcoinDlcProvider.ts +4 -3
  967. package/package.json +5 -5
  968. package/yalc.lock +30 -0
@@ -0,0 +1,83 @@
1
+ /// <reference types="node" />
2
+ import { HashValue, OutPoint, TxBuilder, TxOut, Value } from '@node-dlc/bitcoin';
3
+ import { Htlc } from './Htlc';
4
+ export declare class TxFactory {
5
+ /**
6
+ * Creates a TxOut to attach to a funding transaction. This includes
7
+ * the P2WSH-P2MS script that uses 2-2MS. The open and accept funding
8
+ * pubkeys are sorted lexicographcially to create the script.
9
+ * @param builder
10
+ */
11
+ static createFundingOutput(value: Value, openPubKey: Buffer, acceptPubKey: Buffer): TxOut;
12
+ /**
13
+ * Constructs an unsigned commitment transaction according to BOLT3.
14
+ * This method is a low level commitment transaction builder, meaning
15
+ * it accepts primatives and constructs a commitment transaction
16
+ * accordingly. The proper inputs are determiend
17
+ *
18
+ * @param isFunderLocal True when the funding node is local. This
19
+ * is used to determine which output pays fees (to_local/to_remote).
20
+ * @param commitmentNumber The commitment number of the transaction
21
+ * which is used to generate the obscurred commitment number.
22
+ * @param openPaymentBasePoint The basepoint sent in open_channel
23
+ * which is used to generate the obscurred commitment number.
24
+ * @param acceptPaymentBasePoint The basepoitn sent in accept_channel
25
+ * which is used to generate the obscurred commitment number.
26
+ * @param fundingOutPoint The outpoint of the funding transaction
27
+ * which was established in funding_created.
28
+ * @param dustLimitSatoshi The dust limit in sats after which outputs
29
+ * will be prune
30
+ * @param feePerKw The fee rate per kiloweight which will be deducted
31
+ * from the funding node's output
32
+ * @param localDelay The delay applied to the to_local output
33
+ * @param localValue Value paid to the to_local RSMC output
34
+ * @param remoteValue Value paid to the to_emote P2WPKH output
35
+ * @param revocationPubKey The revocation public key used to in the
36
+ * to_local and HTLC outputs
37
+ * @param delayedPubKey The delayed public key used to spend the
38
+ * to_local output
39
+ * @param remotePubKey The public key used to spend the to_remote
40
+ * output
41
+ * @param reverseHtlcs True when the HTLC direction needs to be
42
+ * inverted because the holder of this commitment transaction is
43
+ * our counterparty.
44
+ * @param localHtlcPubKey The public key used to spend HTLC outputs
45
+ * by the commitment holder.
46
+ * @param remoteHtlcPubKey The public key used to spend HTLC outputs
47
+ * by the commitment counterparty.
48
+ * @param htlcs A full list of HTLCs that will be selectively
49
+ * included in the commitment transaction based on the feePerKw.
50
+ */
51
+ static createCommitment(isFunderLocal: boolean, commitmentNumber: number, openPaymentBasePoint: Buffer, acceptPaymentBasePoint: Buffer, fundingOutPoint: OutPoint, dustLimitSatoshi: Value, feePerKw: bigint, localDelay: number, localValue: Value, remoteValue: Value, revocationPubKey: Buffer, delayedPubKey: Buffer, remotePubKey: Buffer, reverseHtlcs: boolean, localHtlcPubKey?: Buffer, remoteHtlcPubKey?: Buffer, htlcs?: Htlc[]): [TxBuilder, Htlc[]];
52
+ /**
53
+ * Constructs an HTLC-Timeout transaction as defined in BOLT3. This
54
+ * transaction spends an offered HTLC from the commitment transaction
55
+ * and outputs the HTLC value less the fee. The output is spendable
56
+ * via an RSMC that is sequence locked for the received by the
57
+ * transaction owner. Finally this transaction has an absolute
58
+ * locktime of the HTLC's cltv expiry.
59
+ * @param commitmentTx
60
+ * @param outputIndex
61
+ * @param localDelay
62
+ * @param revocationPubKey
63
+ * @param delayedPubKey
64
+ * @param feePerKw
65
+ * @param htlc
66
+ */
67
+ static createHtlcTimeout(commitmentTx: HashValue, outputIndex: number, localDelay: number, revocationPubKey: Buffer, delayedPubKey: Buffer, feePerKw: bigint, htlc: Htlc): TxBuilder;
68
+ /**
69
+ * Constructs an HTLC-Success transaction as defined in BOLT3. This
70
+ * transaction spends a received HTLC form the commitment transaction
71
+ * and outputs the HTLC value less the fee. The output is spendable
72
+ * via an RSMC that is sequence locked for the received by the
73
+ * transaction owner.
74
+ * @param commitmentTx
75
+ * @param outputIndex
76
+ * @param localDelay
77
+ * @param revocationPubKey
78
+ * @param delayedPubKey
79
+ * @param feePerKw
80
+ * @param htlc
81
+ */
82
+ static createHtlcSuccess(commitmentTx: HashValue, outputIndex: number, localDelay: number, revocationPubKey: Buffer, delayedPubKey: Buffer, feePerKw: bigint, htlc: Htlc): TxBuilder;
83
+ }
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TxFactory = void 0;
4
+ const bitcoin_1 = require("@node-dlc/bitcoin");
5
+ const CommitmentNumber_1 = require("./CommitmentNumber");
6
+ const HtlcDirection_1 = require("./HtlcDirection");
7
+ const ScriptFactory_1 = require("./ScriptFactory");
8
+ class TxFactory {
9
+ /**
10
+ * Creates a TxOut to attach to a funding transaction. This includes
11
+ * the P2WSH-P2MS script that uses 2-2MS. The open and accept funding
12
+ * pubkeys are sorted lexicographcially to create the script.
13
+ * @param builder
14
+ */
15
+ static createFundingOutput(value, openPubKey, acceptPubKey) {
16
+ const script = bitcoin_1.Script.p2wshLock(ScriptFactory_1.ScriptFactory.fundingScript(openPubKey, acceptPubKey));
17
+ return new bitcoin_1.TxOut(value, script);
18
+ }
19
+ /**
20
+ * Constructs an unsigned commitment transaction according to BOLT3.
21
+ * This method is a low level commitment transaction builder, meaning
22
+ * it accepts primatives and constructs a commitment transaction
23
+ * accordingly. The proper inputs are determiend
24
+ *
25
+ * @param isFunderLocal True when the funding node is local. This
26
+ * is used to determine which output pays fees (to_local/to_remote).
27
+ * @param commitmentNumber The commitment number of the transaction
28
+ * which is used to generate the obscurred commitment number.
29
+ * @param openPaymentBasePoint The basepoint sent in open_channel
30
+ * which is used to generate the obscurred commitment number.
31
+ * @param acceptPaymentBasePoint The basepoitn sent in accept_channel
32
+ * which is used to generate the obscurred commitment number.
33
+ * @param fundingOutPoint The outpoint of the funding transaction
34
+ * which was established in funding_created.
35
+ * @param dustLimitSatoshi The dust limit in sats after which outputs
36
+ * will be prune
37
+ * @param feePerKw The fee rate per kiloweight which will be deducted
38
+ * from the funding node's output
39
+ * @param localDelay The delay applied to the to_local output
40
+ * @param localValue Value paid to the to_local RSMC output
41
+ * @param remoteValue Value paid to the to_emote P2WPKH output
42
+ * @param revocationPubKey The revocation public key used to in the
43
+ * to_local and HTLC outputs
44
+ * @param delayedPubKey The delayed public key used to spend the
45
+ * to_local output
46
+ * @param remotePubKey The public key used to spend the to_remote
47
+ * output
48
+ * @param reverseHtlcs True when the HTLC direction needs to be
49
+ * inverted because the holder of this commitment transaction is
50
+ * our counterparty.
51
+ * @param localHtlcPubKey The public key used to spend HTLC outputs
52
+ * by the commitment holder.
53
+ * @param remoteHtlcPubKey The public key used to spend HTLC outputs
54
+ * by the commitment counterparty.
55
+ * @param htlcs A full list of HTLCs that will be selectively
56
+ * included in the commitment transaction based on the feePerKw.
57
+ */
58
+ static createCommitment(isFunderLocal, commitmentNumber, openPaymentBasePoint, acceptPaymentBasePoint, fundingOutPoint, dustLimitSatoshi, feePerKw, localDelay, localValue, remoteValue, revocationPubKey, delayedPubKey, remotePubKey, reverseHtlcs, localHtlcPubKey, remoteHtlcPubKey, htlcs = []) {
59
+ const obscuredCommitmentNumber = CommitmentNumber_1.CommitmentNumber.obscure(commitmentNumber, openPaymentBasePoint, acceptPaymentBasePoint);
60
+ // 1. add the input as the funding outpoint and set the nSequence
61
+ const tx = new bitcoin_1.TxBuilder();
62
+ tx.version = 2;
63
+ tx.addInput(fundingOutPoint, CommitmentNumber_1.CommitmentNumber.getSequence(obscuredCommitmentNumber));
64
+ // 2. set the locktime to the obscurred commitment number
65
+ tx.locktime = CommitmentNumber_1.CommitmentNumber.getLockTime(obscuredCommitmentNumber);
66
+ // 3. find unpruned outputs
67
+ const unprunedHtlcs = [];
68
+ for (const htlc of htlcs) {
69
+ const valueInSats = htlc.value.sats;
70
+ let feeWeight;
71
+ // HtlcDirection refers to the local nodes perception of the HTLC.
72
+ // When isLocal, offered uses the HTLC-Timeout weight of 663. When
73
+ // remote, the commitment is for the remote counterparty and an
74
+ // offered HTLC is received and will be spent by the remote
75
+ // counterparty using the HTLC-Success transaction with a weight of 703
76
+ if (reverseHtlcs) {
77
+ feeWeight =
78
+ htlc.direction === HtlcDirection_1.HtlcDirection.Offered ? BigInt(703) : BigInt(663);
79
+ }
80
+ else {
81
+ feeWeight =
82
+ htlc.direction === HtlcDirection_1.HtlcDirection.Offered ? BigInt(663) : BigInt(703);
83
+ }
84
+ // Calculate the HTLC less fees
85
+ const feeInSats = (feeWeight * feePerKw) / BigInt(1000);
86
+ const satsLessFee = valueInSats - feeInSats;
87
+ // Only keep HTLCs greater than the dustLimitSatoshi for the tx
88
+ if (satsLessFee >= dustLimitSatoshi.sats) {
89
+ unprunedHtlcs.push(htlc);
90
+ }
91
+ }
92
+ // 4. calculate base fee
93
+ const weight = 724 + unprunedHtlcs.length * 172;
94
+ const baseFee = (BigInt(weight) * feePerKw) / BigInt(1000);
95
+ // 5. substract base fee from funding node
96
+ if (isFunderLocal) {
97
+ const newValue = localValue.sats - baseFee;
98
+ if (newValue > BigInt(0)) {
99
+ localValue = bitcoin_1.Value.fromSats(newValue);
100
+ }
101
+ else {
102
+ localValue = bitcoin_1.Value.zero();
103
+ }
104
+ }
105
+ else {
106
+ const newValue = remoteValue.sats - baseFee;
107
+ if (newValue > BigInt(0)) {
108
+ remoteValue = bitcoin_1.Value.fromSats(newValue);
109
+ }
110
+ else {
111
+ remoteValue = bitcoin_1.Value.zero();
112
+ }
113
+ }
114
+ // 6/7. add unpruned offered/received HTLCs
115
+ const txouts = [];
116
+ for (const htlc of unprunedHtlcs) {
117
+ const witnessScript = (!reverseHtlcs && htlc.direction === HtlcDirection_1.HtlcDirection.Offered) ||
118
+ (reverseHtlcs && htlc.direction === HtlcDirection_1.HtlcDirection.Accepted)
119
+ ? ScriptFactory_1.ScriptFactory.offeredHtlcScript(htlc.paymentHash, revocationPubKey, localHtlcPubKey, remoteHtlcPubKey)
120
+ : ScriptFactory_1.ScriptFactory.receivedHtlcScript(htlc.paymentHash, htlc.cltvExpiry, revocationPubKey, localHtlcPubKey, remoteHtlcPubKey);
121
+ const txout = new bitcoin_1.TxOut(htlc.value, bitcoin_1.Script.p2wshLock(witnessScript));
122
+ txouts.push([txout, htlc]);
123
+ }
124
+ // 8. add local if unpruned
125
+ if (localValue.sats >= dustLimitSatoshi.sats) {
126
+ txouts.push([
127
+ new bitcoin_1.TxOut(localValue, bitcoin_1.Script.p2wshLock(ScriptFactory_1.ScriptFactory.toLocalScript(revocationPubKey, delayedPubKey, localDelay))),
128
+ ]);
129
+ }
130
+ // 9. add remote if unpruned
131
+ if (remoteValue.sats >= dustLimitSatoshi.sats) {
132
+ txouts.push([new bitcoin_1.TxOut(remoteValue, bitcoin_1.Script.p2wpkhLock(remotePubKey))]);
133
+ }
134
+ // 10. sort outputs using bip69 and using cltv for htlc tiebreaks
135
+ txouts.sort((a, b) => {
136
+ // compare on value
137
+ const value = Number(a[0].value.sats - b[0].value.sats);
138
+ if (value !== 0)
139
+ return value;
140
+ // compare on script
141
+ const scriptCompare = a[0].scriptPubKey
142
+ .serializeCmds()
143
+ .compare(b[0].scriptPubKey.serializeCmds());
144
+ if (scriptCompare !== 0)
145
+ return scriptCompare;
146
+ // tie-break on htlcs
147
+ return b[1].cltvExpiry - a[1].cltvExpiry;
148
+ });
149
+ // add hte outputs in sorted order
150
+ const sortedHtlcs = [];
151
+ for (const [txout, htlc] of txouts) {
152
+ tx.addOutput(txout);
153
+ sortedHtlcs.push(htlc);
154
+ }
155
+ // return the tuple with the sorted htlcs
156
+ return [tx, sortedHtlcs];
157
+ }
158
+ /**
159
+ * Constructs an HTLC-Timeout transaction as defined in BOLT3. This
160
+ * transaction spends an offered HTLC from the commitment transaction
161
+ * and outputs the HTLC value less the fee. The output is spendable
162
+ * via an RSMC that is sequence locked for the received by the
163
+ * transaction owner. Finally this transaction has an absolute
164
+ * locktime of the HTLC's cltv expiry.
165
+ * @param commitmentTx
166
+ * @param outputIndex
167
+ * @param localDelay
168
+ * @param revocationPubKey
169
+ * @param delayedPubKey
170
+ * @param feePerKw
171
+ * @param htlc
172
+ */
173
+ static createHtlcTimeout(commitmentTx, outputIndex, localDelay, revocationPubKey, delayedPubKey, feePerKw, htlc) {
174
+ const tx = new bitcoin_1.TxBuilder();
175
+ // Input points to the commmitment transaction and the BIP69
176
+ // sorted index of the HTLC. nSequence is set to zero.
177
+ tx.addInput(new bitcoin_1.OutPoint(commitmentTx, outputIndex), bitcoin_1.Sequence.zero());
178
+ // calc value less fees for this transaction
179
+ const weight = BigInt(663);
180
+ const fees = (weight * feePerKw) / BigInt(1000);
181
+ const sats = fees > htlc.value.sats ? 0 : htlc.value.sats - fees;
182
+ // Spends a P2WSH RSMC
183
+ tx.addOutput(bitcoin_1.Value.fromSats(sats), bitcoin_1.Script.p2wshLock(ScriptFactory_1.ScriptFactory.toLocalScript(revocationPubKey, delayedPubKey, localDelay)));
184
+ // nLocktime is set to the cltvExpiry of the HTLC. This prevents
185
+ // the HTLC-Timeout from being broadcast until after the expiry
186
+ // has been reached.
187
+ tx.locktime = new bitcoin_1.LockTime(htlc.cltvExpiry);
188
+ return tx;
189
+ }
190
+ /**
191
+ * Constructs an HTLC-Success transaction as defined in BOLT3. This
192
+ * transaction spends a received HTLC form the commitment transaction
193
+ * and outputs the HTLC value less the fee. The output is spendable
194
+ * via an RSMC that is sequence locked for the received by the
195
+ * transaction owner.
196
+ * @param commitmentTx
197
+ * @param outputIndex
198
+ * @param localDelay
199
+ * @param revocationPubKey
200
+ * @param delayedPubKey
201
+ * @param feePerKw
202
+ * @param htlc
203
+ */
204
+ static createHtlcSuccess(commitmentTx, outputIndex, localDelay, revocationPubKey, delayedPubKey, feePerKw, htlc) {
205
+ const tx = new bitcoin_1.TxBuilder();
206
+ // Input points to the commmitment transaction and the BIP69
207
+ // sorted index of the HTLC. nSequence is set to zero.
208
+ tx.addInput(new bitcoin_1.OutPoint(commitmentTx, outputIndex), bitcoin_1.Sequence.zero());
209
+ // calc value less fees for this transaction
210
+ const weight = BigInt(703);
211
+ const fees = (weight * feePerKw) / BigInt(1000);
212
+ const sats = fees > htlc.value.sats ? 0 : htlc.value.sats - fees;
213
+ // Spends a P2WSH RSMC
214
+ tx.addOutput(bitcoin_1.Value.fromSats(sats), bitcoin_1.Script.p2wshLock(ScriptFactory_1.ScriptFactory.toLocalScript(revocationPubKey, delayedPubKey, localDelay)));
215
+ // nLockTime is zero since the tx owner can immediately spend
216
+ // this transaction if they have the preimage
217
+ tx.locktime = bitcoin_1.LockTime.zero();
218
+ return tx;
219
+ }
220
+ }
221
+ exports.TxFactory = TxFactory;
222
+ //# sourceMappingURL=TxFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TxFactory.js","sourceRoot":"","sources":["../../lib/lightning/TxFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export declare class BigIntMath {
3
+ static max(...values: bigint[]): bigint;
4
+ static min(...values: bigint[]): bigint;
5
+ static sign(value: bigint): bigint;
6
+ static abs(value: bigint): bigint;
7
+ static clamp(min: bigint, val: bigint, max: bigint): bigint;
8
+ }
9
+ export declare function toBigInt(num: BigNumber): bigint;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toBigInt = exports.BigIntMath = void 0;
4
+ class BigIntMath {
5
+ static max(...values) {
6
+ if (values.length === 0) {
7
+ return null;
8
+ }
9
+ if (values.length === 1) {
10
+ return values[0];
11
+ }
12
+ let max = values[0];
13
+ for (let i = 1; i < values.length; i++) {
14
+ if (values[i] > max) {
15
+ max = values[i];
16
+ }
17
+ }
18
+ return max;
19
+ }
20
+ static min(...values) {
21
+ if (values.length === 0) {
22
+ return null;
23
+ }
24
+ if (values.length === 1) {
25
+ return values[0];
26
+ }
27
+ let min = values[0];
28
+ for (let i = 1; i < values.length; i++) {
29
+ if (values[i] < min) {
30
+ min = values[i];
31
+ }
32
+ }
33
+ return min;
34
+ }
35
+ static sign(value) {
36
+ if (value > BigInt(0)) {
37
+ return BigInt(1);
38
+ }
39
+ if (value < BigInt(0)) {
40
+ return BigInt(-1);
41
+ }
42
+ return BigInt(0);
43
+ }
44
+ static abs(value) {
45
+ if (this.sign(value) === BigInt(-1)) {
46
+ return -value;
47
+ }
48
+ return value;
49
+ }
50
+ static clamp(min, val, max) {
51
+ return this.max(min, this.min(val, max));
52
+ }
53
+ }
54
+ exports.BigIntMath = BigIntMath;
55
+ function toBigInt(num) {
56
+ return BigInt(num.integerValue().toString());
57
+ }
58
+ exports.toBigInt = toBigInt;
59
+ //# sourceMappingURL=BigIntUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigIntUtils.js","sourceRoot":"","sources":["../../lib/utils/BigIntUtils.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACrB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAgB;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;gBACnB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAgB;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;gBACnB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAa;QACvB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACnB;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;CACF;AAzDD,gCAyDC;AAED,SAAgB,QAAQ,CAAC,GAAc;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAFD,4BAEC"}
@@ -0,0 +1,13 @@
1
+ import BigNumber from 'bignumber.js';
2
+ /**
3
+ * Extract the precision of a number
4
+ * @param num
5
+ * @returns The precision of the number
6
+ */
7
+ export declare const getPrecision: (num: BigNumber) => number;
8
+ /**
9
+ * Creates a precise number from a precision
10
+ * @param precision
11
+ * @returns The number with the given precision
12
+ */
13
+ export declare const fromPrecision: (precision: number) => BigNumber;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fromPrecision = exports.getPrecision = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ // Precision refers to the number of digits after the decimal point.
9
+ // Refer to https://github.com/discreetlogcontracts/dlcspecs/blob/master/PayoutCurve.md#version-0-payout_function
10
+ /**
11
+ * Extract the precision of a number
12
+ * @param num
13
+ * @returns The precision of the number
14
+ */
15
+ const getPrecision = (num) => num.decimalPlaces(16).abs().modulo(1).shiftedBy(16).toNumber();
16
+ exports.getPrecision = getPrecision;
17
+ /**
18
+ * Creates a precise number from a precision
19
+ * @param precision
20
+ * @returns The number with the given precision
21
+ */
22
+ const fromPrecision = (precision) => {
23
+ if (precision.toString().length > 16)
24
+ throw new Error('Precision is too large');
25
+ return new bignumber_js_1.default(precision).shiftedBy(-16);
26
+ };
27
+ exports.fromPrecision = fromPrecision;
28
+ //# sourceMappingURL=Precision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Precision.js","sourceRoot":"","sources":["../../lib/utils/Precision.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,oEAAoE;AACpE,iHAAiH;AAEjH;;;;GAIG;AACI,MAAM,YAAY,GAAG,CAAC,GAAc,EAAU,EAAE,CACrD,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AADpD,QAAA,YAAY,gBACwC;AAEjE;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAa,EAAE;IAC5D,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,OAAO,IAAI,sBAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
@@ -0,0 +1,63 @@
1
+ import { EventEmitter } from 'events';
2
+
3
+ import { Queue } from './Queue';
4
+
5
+ /**
6
+ * Serializes execution of events. This class is constructed with
7
+ * a delegate function that is executed for each item that is enqueued.
8
+ */
9
+ export class AsyncProcessingQueue<T> extends EventEmitter {
10
+ private _fn: (...args: T[]) => Promise<void>;
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ private _queue: Queue<any>;
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ private _flushHandle: any;
15
+
16
+ constructor(fn: (...args: T[]) => Promise<void>) {
17
+ super();
18
+ this._fn = fn;
19
+ this._queue = new Queue();
20
+ this._flush = this._flush.bind(this);
21
+ }
22
+
23
+ /**
24
+ * Adds a new item to the processing queue
25
+ */
26
+ public enqueue(value: T): void {
27
+ this._queue.enqueue(value);
28
+
29
+ // Postpone flushing until end of event loop to allow multiple operations
30
+ // to enqueue. This handle will be cleared once flushing has completed.
31
+ if (!this._flushHandle) this._flushHandle = setImmediate(this._flush);
32
+ }
33
+
34
+ /**
35
+ * Gets the number of pending items in the processor queue
36
+ * @type {number}
37
+ */
38
+ get size(): number {
39
+ return this._queue.length;
40
+ }
41
+
42
+ private async _flush() {
43
+ // emit that flushing is starting
44
+ this.emit('flushing');
45
+
46
+ // process all items on the queue, even items that
47
+ // are added to the queue while flushing is occuring
48
+ while (this._queue.length > 0) {
49
+ try {
50
+ const value = this._queue.dequeue();
51
+ await this._fn(value);
52
+ } catch (ex) {
53
+ this.emit('error', ex);
54
+ }
55
+ }
56
+
57
+ // emit flushing has completed
58
+ this.emit('flushed');
59
+
60
+ // clear flush handle so that next enqueue will trigger a flush
61
+ this._flushHandle = undefined;
62
+ }
63
+ }
@@ -0,0 +1,2 @@
1
+ // Re-export Base32 from common package to maintain backward compatibility
2
+ export { Base32 } from '@node-dlc/common';
@@ -0,0 +1,2 @@
1
+ // Re-export BigIntUtils functions from common package to maintain backward compatibility
2
+ export { bigintToBuffer, calcBytes } from '@node-dlc/common';
@@ -0,0 +1,2 @@
1
+ // Re-export BitField from common package to maintain backward compatibility
2
+ export { BitField } from '@node-dlc/common';
@@ -0,0 +1,2 @@
1
+ // Re-export ChannelId from common package to maintain backward compatibility
2
+ export { ChannelId } from '@node-dlc/common';
@@ -0,0 +1,111 @@
1
+ import { LinkedListNode } from './LinkedListNode';
2
+
3
+ /**
4
+ * Implementation of a doubly linked-list that maintains both head and tail.
5
+ * Tail maintenance allows for O(1) insertions at tail
6
+ */
7
+ export class LinkedList<T> {
8
+ public length = 0;
9
+ public head: LinkedListNode<T> = null;
10
+ public tail: LinkedListNode<T> = null;
11
+
12
+ /**
13
+ * Adds a node to the end of a linked List
14
+ * @param T value
15
+ * @returns {LinkedListNode}
16
+ */
17
+ public add(value: T): LinkedListNode<T> {
18
+ const node = new LinkedListNode(value);
19
+
20
+ // when empty list
21
+ if (!this.head) {
22
+ this.head = node;
23
+ this.tail = node;
24
+ this.length++;
25
+ return node;
26
+ }
27
+
28
+ // non-empty, append to tail
29
+ node.prev = this.tail;
30
+ this.tail.next = node;
31
+ this.tail = node;
32
+ this.length++;
33
+ return node;
34
+ }
35
+
36
+ /**
37
+ * Finds the node at a specific position
38
+ */
39
+ public valueAt(index: number): T {
40
+ const node = this.nodeAt(index);
41
+ if (node) return node.value;
42
+ }
43
+
44
+ /**
45
+ * Finds the node for the index or throws an out of range exception
46
+ */
47
+ public nodeAt(index: number): LinkedListNode<T> {
48
+ // error when index out of range
49
+ if (index < 0 || index > this.length) {
50
+ throw new RangeError('Index out of range');
51
+ }
52
+
53
+ // seek until index is found
54
+ let currentNode = this.head;
55
+ let count = 0;
56
+ while (count < index) {
57
+ currentNode = currentNode.next;
58
+ count++;
59
+ }
60
+
61
+ return currentNode;
62
+ }
63
+
64
+ /**
65
+ * Removes the node at the index and returns its value.
66
+ * Head or tail removal is an O(1) operation. For removal of other indexes
67
+ * is at worst O(N).
68
+ */
69
+ public remove(index: number): T {
70
+ // error when index out of range
71
+ if (index < 0 || index > this.length) {
72
+ throw new RangeError('Index out of range');
73
+ }
74
+
75
+ let removeNode;
76
+ let prevNode = null;
77
+ let nextNode = null;
78
+
79
+ // first node simply removes the node at the tip
80
+ if (index === 0) {
81
+ removeNode = this.head;
82
+ nextNode = this.head.next;
83
+
84
+ // adjust head
85
+ this.head = nextNode;
86
+ }
87
+
88
+ // last node, update the tail and mark next as null
89
+ if (index === this.length - 1) {
90
+ removeNode = this.tail;
91
+ prevNode = this.tail.prev;
92
+
93
+ // adjust tail
94
+ this.tail = prevNode;
95
+ }
96
+
97
+ // middle node
98
+ if (!removeNode) {
99
+ removeNode = this.nodeAt(index);
100
+ prevNode = removeNode.prev;
101
+ nextNode = removeNode.next;
102
+ }
103
+
104
+ // splice out the node afer null checking
105
+ if (prevNode) prevNode.next = nextNode;
106
+ if (nextNode) nextNode.prev = prevNode;
107
+ this.length--;
108
+
109
+ return removeNode.value;
110
+ }
111
+ }
@@ -0,0 +1,14 @@
1
+ export class LinkedListNode<T> {
2
+ public value: T;
3
+ public prev: LinkedListNode<T>;
4
+ public next: LinkedListNode<T>;
5
+
6
+ /**
7
+ * Creates a linked list node with the specified data
8
+ */
9
+ constructor(value: T) {
10
+ this.value = value;
11
+ this.prev = null;
12
+ this.next = null;
13
+ }
14
+ }