@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,1124 @@
1
+ import { Value } from '@node-dlc/bitcoin';
2
+ import {
3
+ ContractDescriptorV1,
4
+ ContractInfoV0,
5
+ DigitDecompositionEventDescriptorV0,
6
+ DlcOffer,
7
+ OracleAnnouncement,
8
+ OracleEvent,
9
+ OracleInfoV0,
10
+ PayoutFunctionV0,
11
+ PolynomialPayoutCurvePiece,
12
+ } from '@node-dlc/messaging';
13
+ import { BitcoinNetworks } from 'bitcoin-networks';
14
+ import { expect } from 'chai';
15
+
16
+ import {
17
+ buildCustomStrategyOrderOffer,
18
+ buildRoundingIntervalsFromIntervals,
19
+ DlcParty,
20
+ dustThreshold,
21
+ getFinalizerByCount,
22
+ LinearPayout,
23
+ roundDownToNearestMultiplier,
24
+ roundUpToNearestMultiplier,
25
+ } from '../../../lib';
26
+ import {
27
+ getCsoInfoFromContractInfo,
28
+ getCsoInfoFromOffer,
29
+ validateCsoPayoutFunction,
30
+ } from '../../../lib/dlc/finance/CsoInfo';
31
+
32
+ const buildOracleAnnouncement = (oracleDigits: number, expiry: Date) => {
33
+ const eventDescriptor = new DigitDecompositionEventDescriptorV0();
34
+ eventDescriptor.base = 2;
35
+ eventDescriptor.isSigned = false;
36
+ eventDescriptor.unit = 'bits';
37
+ eventDescriptor.precision = 0;
38
+ eventDescriptor.nbDigits = oracleDigits;
39
+
40
+ const oracleEvent = new OracleEvent();
41
+ oracleEvent.eventMaturityEpoch = Math.floor(expiry.getTime() / 1000);
42
+ oracleEvent.eventDescriptor = eventDescriptor;
43
+
44
+ const oracleAnnouncement = new OracleAnnouncement();
45
+ oracleAnnouncement.oracleEvent = oracleEvent;
46
+
47
+ return oracleAnnouncement;
48
+ };
49
+
50
+ const buildCsoDlcOfferFixture = (
51
+ oracleDigits: number,
52
+ expiry: Date,
53
+ payoutFunction: PayoutFunctionV0,
54
+ totalCollateral: bigint,
55
+ offerCollateral: bigint,
56
+ ): DlcOffer => {
57
+ const oracleAnnouncement = buildOracleAnnouncement(oracleDigits, expiry);
58
+
59
+ const oracleInfo = new OracleInfoV0();
60
+ oracleInfo.announcement = oracleAnnouncement;
61
+
62
+ const contractDescriptor = new ContractDescriptorV1();
63
+ contractDescriptor.numDigits = oracleDigits;
64
+ contractDescriptor.payoutFunction = payoutFunction;
65
+
66
+ const contractInfo = new ContractInfoV0();
67
+ contractInfo.totalCollateral = totalCollateral;
68
+ contractInfo.contractDescriptor = contractDescriptor;
69
+ contractInfo.oracleInfo = oracleInfo;
70
+
71
+ const dlcOffer = new DlcOffer();
72
+
73
+ // Set all required properties following DlcOffer.spec.ts pattern
74
+ dlcOffer.contractFlags = Buffer.from('00', 'hex');
75
+ dlcOffer.chainHash = Buffer.from(
76
+ '06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f',
77
+ 'hex',
78
+ );
79
+ dlcOffer.temporaryContractId = Buffer.from(
80
+ '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
81
+ 'hex',
82
+ );
83
+ dlcOffer.fundingPubkey = Buffer.from(
84
+ '0327efea09ff4dfb13230e887cbab8821d5cc249c7ff28668c6633ff9f4b4c08e3',
85
+ 'hex',
86
+ );
87
+ dlcOffer.payoutSpk = Buffer.from(
88
+ '00142bbdec425007dc360523b0294d2c64d2213af498',
89
+ 'hex',
90
+ );
91
+ dlcOffer.payoutSerialId = BigInt(11555292);
92
+ dlcOffer.changeSpk = Buffer.from(
93
+ '0014afa16f949f3055f38bd3a73312bed00b61558884',
94
+ 'hex',
95
+ );
96
+ dlcOffer.changeSerialId = BigInt(2008045);
97
+ dlcOffer.fundOutputSerialId = BigInt(5411962);
98
+ dlcOffer.feeRatePerVb = BigInt(1);
99
+ dlcOffer.cetLocktime = 100;
100
+ dlcOffer.refundLocktime = 200;
101
+
102
+ dlcOffer.contractInfo = contractInfo;
103
+ dlcOffer.offerCollateral = offerCollateral;
104
+
105
+ return dlcOffer;
106
+ };
107
+
108
+ describe('CsoInfo', () => {
109
+ const minPayout = 60000000n;
110
+ const maxPayout = 100000000n;
111
+ const startOutcome = 800000n;
112
+ const endOutcome = 1200000n;
113
+ const offerCollateralValue = 80000000n;
114
+
115
+ const oracleBase = 2;
116
+ const oracleDigits = 21;
117
+
118
+ const expiry = new Date(1620014750000);
119
+
120
+ const maxGain = Value.fromBitcoin(0.2);
121
+ const maxLoss = Value.fromBitcoin(0.2);
122
+ const maxGainForContractSize = Value.fromBitcoin(0.2);
123
+ const maxLossForContractSize = Value.fromBitcoin(0.2);
124
+
125
+ const contractSize = Value.fromBitcoin(1);
126
+ const totalCollateral = Value.fromBitcoin(1);
127
+ const offerCollateral = Value.fromBitcoin(0.8);
128
+
129
+ const network = BitcoinNetworks.bitcoin;
130
+
131
+ const highestPrecisionRounding = Value.fromSats(10000);
132
+ const highPrecisionRounding = Value.fromSats(25000);
133
+ const mediumPrecisionRounding = Value.fromSats(100000);
134
+ const lowPrecisionRounding = Value.fromSats(200000);
135
+
136
+ const oracleAnnouncement = OracleAnnouncement.deserialize(
137
+ Buffer.from(
138
+ 'fdd824fd0344340d5e431a385a8bb3819c0410c749b2a11ae5bebdd363e2dc23af057c6cbd3fd097fffa8e6beef46cb02389fb6ef102d3653a281dda5ff0d6e3f4d42a14df6830bbf19aa3a986ed4e5640240b507901d6e03d6bbd71a281ed356a145516c655fdd822fd02de0015b4ced0696e0c7b8636b816e8742944cfd652f3366d659694add4d186da20f06e1750ce25afb96aee7aedbc5a3981b7e62a22baf768f94fe0ffd455cb6ccb4da1a07fadc76aada50705e583aa77b664f1217212d4537f9d5398630716cd26e5fcdba1a300388860a9f5feed894ca9d5caf9daffaca23f53fd46071f69007b286050e798293f7524223f1882667d5e282be7b09faada3179496630053a060c1af1d2c80d212dc871bf56a846a6b70cfca17b47d2fcb86e57cef165215f2a526cc40215c3c6002fbeb5f0a9d545379004fd108a8a5ee96ac0bd33d1495c609724e6554fe1bf90fe92e679df8883df6df9173e8c476b5e83493f55bf2e20e9c85acd21f7f710a9a380233fc28254077fb751c4ffbd5124639421cc05ae2e3886bbc29177c02ad5ab569b5a89c4dd5da2e131ab41ac4ce2347f5425230b8822198cd805047b1a35fa00cd3877fdc902857293f94fcad3f0e418448b0756e99ce6cc46d1a4cf8673823a89819a9bd9d4c3506975d37835a5310a1bee056887124b6d0fc0ae8974371e1e12e13d68f844878bd9fa51bfdb2455f6bb6c93e49998b37e4fa2b01ff31c665b16313015311007d624fe77df48ac69d8475ca06500d618fbff38ab6f50575d4b0fd3efe4fd6e561797070ec365ecda8a62e6dcb993b8eff16a2e5af7ad7b93cb6a028cdab351251e368c4f188d620ad86fa43886ee57f91be033feab89cd381c486b9cb9c102ae2d3d3cc15068ecb5e0822e8f5ff5a2faef2598308ec40acc4f122023722e8e6758034f98bb45136117154cb7690a2c04b9504a747ce3f69be7d29299462181fcf721d795233aacf010309af5b1709309cb5c2ceae7926ea0868b1c8a2573554284f86310d1df7ed82e6be49d417ec494da9f15f9fac757bdee7cb49c3e7fdcfabc28801bde8f90b90cf3eb37784bb91d9c35662b5f00fdd80a0e00020004626974730000000000152561746f6d69632d656e67696e652d6d6f6e74686c792d323646454232342d32364150523234',
139
+ 'hex',
140
+ ),
141
+ );
142
+
143
+ describe('CsoInfo from linear curve message', () => {
144
+ const { payoutFunction } = LinearPayout.buildPayoutFunction(
145
+ minPayout,
146
+ maxPayout,
147
+ startOutcome,
148
+ endOutcome,
149
+ oracleBase,
150
+ oracleDigits,
151
+ );
152
+
153
+ const dlcOffer = buildCsoDlcOfferFixture(
154
+ oracleDigits,
155
+ expiry,
156
+ payoutFunction,
157
+ maxPayout,
158
+ offerCollateralValue,
159
+ );
160
+
161
+ const contractInfo = dlcOffer.contractInfo;
162
+
163
+ it('should get correct CsoInfo from ContractInfo', () => {
164
+ const csoInfo = getCsoInfoFromContractInfo(
165
+ contractInfo,
166
+ 'neither',
167
+ Value.fromSats(0),
168
+ undefined,
169
+ 'v0',
170
+ );
171
+
172
+ expect(csoInfo).to.deep.equal({
173
+ normalizedMaxGain: maxGain,
174
+ normalizedMaxLoss: maxLoss,
175
+ maxGainForContractSize,
176
+ maxLossForContractSize,
177
+ minPayout,
178
+ maxPayout,
179
+ contractSize,
180
+ offerCollateral,
181
+ totalCollateral,
182
+ expiry,
183
+ });
184
+ });
185
+
186
+ it('should get correct CsoInfo from ContractInfo', () => {
187
+ const csoInfo = getCsoInfoFromOffer(dlcOffer, 'v0');
188
+
189
+ expect(csoInfo).to.deep.equal({
190
+ normalizedMaxGain: maxGain,
191
+ normalizedMaxLoss: maxLoss,
192
+ maxGainForContractSize,
193
+ maxLossForContractSize,
194
+ minPayout,
195
+ maxPayout,
196
+ contractSize,
197
+ offerCollateral,
198
+ totalCollateral,
199
+ expiry,
200
+ });
201
+ });
202
+
203
+ it('should throw if offerCollateralSatoshis does not match calculated offerCollateral', () => {
204
+ const { payoutFunction } = LinearPayout.buildPayoutFunction(
205
+ minPayout,
206
+ maxPayout,
207
+ startOutcome,
208
+ endOutcome,
209
+ oracleBase,
210
+ oracleDigits,
211
+ );
212
+
213
+ const dlcOffer = buildCsoDlcOfferFixture(
214
+ oracleDigits,
215
+ expiry,
216
+ payoutFunction,
217
+ maxPayout,
218
+ offerCollateralValue,
219
+ );
220
+
221
+ dlcOffer.offerCollateral -= BigInt(10000);
222
+
223
+ expect(() => getCsoInfoFromOffer(dlcOffer)).to.throw(Error);
224
+ });
225
+
226
+ it('should get correct CsoInfo from ContractInfo with fees shifted', () => {
227
+ const contractSize = Value.fromBitcoin(1);
228
+
229
+ const maxLoss = Value.fromBitcoin(0.2);
230
+ const maxGain = Value.fromBitcoin(0.04);
231
+
232
+ const feeRate = 10n;
233
+
234
+ const highestPrecisionRounding = Value.fromSats(10000);
235
+ const highPrecisionRounding = Value.fromSats(25000);
236
+ const mediumPrecisionRounding = Value.fromSats(100000);
237
+ const lowPrecisionRounding = Value.fromSats(200000);
238
+
239
+ const roundingIntervals = buildRoundingIntervalsFromIntervals(
240
+ contractSize,
241
+ [
242
+ { beginInterval: 0n, rounding: lowPrecisionRounding },
243
+ { beginInterval: 750000n, rounding: mediumPrecisionRounding },
244
+ { beginInterval: 850000n, rounding: highPrecisionRounding },
245
+ { beginInterval: 950000n, rounding: highestPrecisionRounding },
246
+ ],
247
+ );
248
+
249
+ const network = BitcoinNetworks.bitcoin;
250
+
251
+ const shiftForFees: DlcParty = 'offeror';
252
+ const fees = Value.fromSats(10000);
253
+
254
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
255
+ oracleAnnouncement,
256
+ contractSize,
257
+ maxLoss,
258
+ maxGain,
259
+ feeRate,
260
+ roundingIntervals,
261
+ network,
262
+ shiftForFees,
263
+ fees,
264
+ );
265
+
266
+ const csoInfoFromContractInfo = getCsoInfoFromContractInfo(
267
+ csoOrderOffer.contractInfo,
268
+ shiftForFees,
269
+ fees,
270
+ );
271
+ const csoInfoFromOffer = getCsoInfoFromOffer(csoOrderOffer);
272
+
273
+ expect(csoInfoFromContractInfo.normalizedMaxGain.sats).to.equal(
274
+ maxGain.sats,
275
+ );
276
+ expect(csoInfoFromContractInfo.normalizedMaxLoss.sats).to.equal(
277
+ maxLoss.sats,
278
+ );
279
+
280
+ expect(csoInfoFromOffer.normalizedMaxGain.sats).to.equal(maxGain.sats);
281
+ expect(csoInfoFromOffer.normalizedMaxLoss.sats).to.equal(maxLoss.sats);
282
+ });
283
+
284
+ it('should get correct ContractInfo with smaller max gain', () => {
285
+ const contractSize = Value.fromBitcoin(1);
286
+
287
+ const maxLoss = Value.fromBitcoin(0.95);
288
+ const maxGain = Value.fromBitcoin(0.005);
289
+
290
+ const feeRate = 10n;
291
+
292
+ const highestPrecisionRounding = Value.fromSats(10000);
293
+ const highPrecisionRounding = Value.fromSats(25000);
294
+ const mediumPrecisionRounding = Value.fromSats(100000);
295
+ const lowPrecisionRounding = Value.fromSats(200000);
296
+
297
+ const roundingIntervals = buildRoundingIntervalsFromIntervals(
298
+ contractSize,
299
+ [
300
+ { beginInterval: 0n, rounding: lowPrecisionRounding },
301
+ { beginInterval: 750000n, rounding: mediumPrecisionRounding },
302
+ { beginInterval: 850000n, rounding: highPrecisionRounding },
303
+ { beginInterval: 950000n, rounding: highestPrecisionRounding },
304
+ ],
305
+ );
306
+
307
+ const network = BitcoinNetworks.bitcoin;
308
+
309
+ const shiftForFees: DlcParty = 'offeror';
310
+ const fees = Value.fromSats(10000);
311
+
312
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
313
+ oracleAnnouncement,
314
+ contractSize,
315
+ maxLoss,
316
+ maxGain,
317
+ feeRate,
318
+ roundingIntervals,
319
+ network,
320
+ shiftForFees,
321
+ fees,
322
+ );
323
+
324
+ const csoInfoFromContractInfo = getCsoInfoFromContractInfo(
325
+ csoOrderOffer.contractInfo,
326
+ shiftForFees,
327
+ fees,
328
+ );
329
+ const csoInfoFromOffer = getCsoInfoFromOffer(csoOrderOffer);
330
+
331
+ expect(csoInfoFromContractInfo.normalizedMaxGain.sats).to.equal(
332
+ maxGain.sats,
333
+ );
334
+ expect(csoInfoFromContractInfo.normalizedMaxLoss.sats).to.equal(
335
+ maxLoss.sats,
336
+ );
337
+
338
+ expect(csoInfoFromOffer.normalizedMaxGain.sats).to.equal(maxGain.sats);
339
+ expect(csoInfoFromOffer.normalizedMaxLoss.sats).to.equal(maxLoss.sats);
340
+ });
341
+
342
+ it('should get correct CsoInfo from ContractInfo with fees shifted contract size 0.01', () => {
343
+ const contractSize = Value.fromBitcoin(0.01);
344
+
345
+ const maxLoss = Value.fromBitcoin(0.2);
346
+ const maxGain = Value.fromBitcoin(0.04);
347
+
348
+ const feeRate = 10n;
349
+
350
+ const highestPrecisionRounding = Value.fromSats(10000);
351
+ const highPrecisionRounding = Value.fromSats(25000);
352
+ const mediumPrecisionRounding = Value.fromSats(100000);
353
+ const lowPrecisionRounding = Value.fromSats(200000);
354
+
355
+ const roundingIntervals = buildRoundingIntervalsFromIntervals(
356
+ contractSize,
357
+ [
358
+ { beginInterval: 0n, rounding: lowPrecisionRounding },
359
+ { beginInterval: 750000n, rounding: mediumPrecisionRounding },
360
+ { beginInterval: 850000n, rounding: highPrecisionRounding },
361
+ { beginInterval: 950000n, rounding: highestPrecisionRounding },
362
+ ],
363
+ );
364
+
365
+ const network = BitcoinNetworks.bitcoin;
366
+
367
+ const shiftForFees: DlcParty = 'neither';
368
+ const fees = Value.fromSats(0);
369
+
370
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
371
+ oracleAnnouncement,
372
+ contractSize,
373
+ maxLoss,
374
+ maxGain,
375
+ feeRate,
376
+ roundingIntervals,
377
+ network,
378
+ shiftForFees,
379
+ fees,
380
+ );
381
+
382
+ const csoInfoFromContractInfo = getCsoInfoFromContractInfo(
383
+ csoOrderOffer.contractInfo,
384
+ shiftForFees,
385
+ fees,
386
+ );
387
+ const csoInfoFromOffer = getCsoInfoFromOffer(csoOrderOffer);
388
+
389
+ expect(csoInfoFromContractInfo.normalizedMaxGain.sats).to.equal(
390
+ maxGain.sats,
391
+ );
392
+ expect(csoInfoFromContractInfo.normalizedMaxLoss.sats).to.equal(
393
+ maxLoss.sats,
394
+ );
395
+
396
+ expect(csoInfoFromOffer.normalizedMaxGain.sats).to.equal(maxGain.sats);
397
+ expect(csoInfoFromOffer.normalizedMaxLoss.sats).to.equal(maxLoss.sats);
398
+ });
399
+
400
+ const fees = [0, 1116, 29384, 34, 245, 11293, 2223, 10410];
401
+ const contractSizes = [0.01, 0.1, 0.5, 1, 2, 5, 10, 50];
402
+
403
+ contractSizes.forEach((contractSizeNum) => {
404
+ fees.forEach((fee) => {
405
+ it(`should get correct CsoInfo from ContractInfo with fees shifted contract size ${contractSizeNum} and fee ${fee}`, () => {
406
+ const contractSize = Value.fromBitcoin(contractSizeNum);
407
+
408
+ // const eventDescriptor = new DigitDecompositionEventDescriptorV0();
409
+ // eventDescriptor.base = 2;
410
+ // eventDescriptor.isSigned = false;
411
+ // eventDescriptor.unit = 'bits';
412
+ // eventDescriptor.precision = 0;
413
+ // eventDescriptor.nbDigits = oracleDigits;
414
+
415
+ // const oracleEvent = new OracleEventV0();
416
+ // oracleEvent.eventMaturityEpoch = Math.floor(expiry.getTime() / 1000);
417
+ // oracleEvent.eventDescriptor = eventDescriptor;
418
+
419
+ // const oracleAnnouncement = new OracleAnnouncementV0();
420
+ // oracleAnnouncement.oracleEvent = oracleEvent;
421
+
422
+ const maxLoss = Value.fromBitcoin(0.2);
423
+ const maxGain = Value.fromBitcoin(0.04);
424
+
425
+ const feeRate = 4n;
426
+
427
+ const highestPrecisionRounding = Value.fromSats(10000);
428
+ const highPrecisionRounding = Value.fromSats(25000);
429
+ const mediumPrecisionRounding = Value.fromSats(100000);
430
+ const lowPrecisionRounding = Value.fromSats(200000);
431
+
432
+ const roundingIntervals = buildRoundingIntervalsFromIntervals(
433
+ contractSize,
434
+ [
435
+ { beginInterval: 0n, rounding: lowPrecisionRounding },
436
+ { beginInterval: 750000n, rounding: mediumPrecisionRounding },
437
+ { beginInterval: 850000n, rounding: highPrecisionRounding },
438
+ { beginInterval: 950000n, rounding: highestPrecisionRounding },
439
+ ],
440
+ );
441
+
442
+ const network = BitcoinNetworks.bitcoin;
443
+
444
+ const shiftForFees: DlcParty = 'acceptor';
445
+ const fees = Value.fromSats(fee);
446
+
447
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
448
+ oracleAnnouncement,
449
+ contractSize,
450
+ maxLoss,
451
+ maxGain,
452
+ feeRate,
453
+ roundingIntervals,
454
+ network,
455
+ shiftForFees,
456
+ fees,
457
+ );
458
+
459
+ const csoInfo = getCsoInfoFromOffer(csoOrderOffer);
460
+
461
+ expect(csoInfo.normalizedMaxGain.sats).to.equal(maxGain.sats);
462
+ expect(csoInfo.normalizedMaxLoss.sats).to.equal(maxLoss.sats);
463
+ });
464
+ });
465
+ });
466
+ });
467
+
468
+ describe('validateCsoPayoutFunction', () => {
469
+ it('should throw if event outcome is not an ascending line', () => {
470
+ const startOutcome = 900000n;
471
+ const endOutcome = 900000n;
472
+
473
+ const { payoutFunction } = LinearPayout.buildPayoutFunction(
474
+ minPayout,
475
+ maxPayout,
476
+ startOutcome,
477
+ endOutcome,
478
+ oracleBase,
479
+ oracleDigits,
480
+ );
481
+
482
+ expect(() => validateCsoPayoutFunction(payoutFunction)).to.throw(Error);
483
+ });
484
+ });
485
+
486
+ it('should throw if maxLoss to maxGain is not an ascending line', () => {
487
+ const minPayout = 100000000n;
488
+ const maxPayout = 100000000n;
489
+
490
+ const { payoutFunction } = LinearPayout.buildPayoutFunction(
491
+ minPayout,
492
+ maxPayout,
493
+ startOutcome,
494
+ endOutcome,
495
+ oracleBase,
496
+ oracleDigits,
497
+ );
498
+
499
+ expect(() => validateCsoPayoutFunction(payoutFunction)).to.throw(Error);
500
+ });
501
+
502
+ it('should throw if Payout Function point outcome payout not continuous', () => {
503
+ const { payoutFunction } = LinearPayout.buildPayoutFunction(
504
+ minPayout,
505
+ maxPayout,
506
+ startOutcome,
507
+ endOutcome,
508
+ oracleBase,
509
+ oracleDigits,
510
+ );
511
+
512
+ // Subtract 1 from outcomePayout to create gap in point outcome payout
513
+ (payoutFunction.payoutFunctionPieces[0]
514
+ .payoutCurvePiece as PolynomialPayoutCurvePiece).points[1].outcomePayout -= BigInt(
515
+ 1,
516
+ );
517
+
518
+ expect(() => validateCsoPayoutFunction(payoutFunction)).to.throw(Error);
519
+ });
520
+
521
+ describe('CsoInfo collateral', () => {
522
+ const oracleAnnouncement = OracleAnnouncement.deserialize(
523
+ Buffer.from(
524
+ 'fdd824fd0344340d5e431a385a8bb3819c0410c749b2a11ae5bebdd363e2dc23af057c6cbd3fd097fffa8e6beef46cb02389fb6ef102d3653a281dda5ff0d6e3f4d42a14df6830bbf19aa3a986ed4e5640240b507901d6e03d6bbd71a281ed356a145516c655fdd822fd02de0015b4ced0696e0c7b8636b816e8742944cfd652f3366d659694add4d186da20f06e1750ce25afb96aee7aedbc5a3981b7e62a22baf768f94fe0ffd455cb6ccb4da1a07fadc76aada50705e583aa77b664f1217212d4537f9d5398630716cd26e5fcdba1a300388860a9f5feed894ca9d5caf9daffaca23f53fd46071f69007b286050e798293f7524223f1882667d5e282be7b09faada3179496630053a060c1af1d2c80d212dc871bf56a846a6b70cfca17b47d2fcb86e57cef165215f2a526cc40215c3c6002fbeb5f0a9d545379004fd108a8a5ee96ac0bd33d1495c609724e6554fe1bf90fe92e679df8883df6df9173e8c476b5e83493f55bf2e20e9c85acd21f7f710a9a380233fc28254077fb751c4ffbd5124639421cc05ae2e3886bbc29177c02ad5ab569b5a89c4dd5da2e131ab41ac4ce2347f5425230b8822198cd805047b1a35fa00cd3877fdc902857293f94fcad3f0e418448b0756e99ce6cc46d1a4cf8673823a89819a9bd9d4c3506975d37835a5310a1bee056887124b6d0fc0ae8974371e1e12e13d68f844878bd9fa51bfdb2455f6bb6c93e49998b37e4fa2b01ff31c665b16313015311007d624fe77df48ac69d8475ca06500d618fbff38ab6f50575d4b0fd3efe4fd6e561797070ec365ecda8a62e6dcb993b8eff16a2e5af7ad7b93cb6a028cdab351251e368c4f188d620ad86fa43886ee57f91be033feab89cd381c486b9cb9c102ae2d3d3cc15068ecb5e0822e8f5ff5a2faef2598308ec40acc4f122023722e8e6758034f98bb45136117154cb7690a2c04b9504a747ce3f69be7d29299462181fcf721d795233aacf010309af5b1709309cb5c2ceae7926ea0868b1c8a2573554284f86310d1df7ed82e6be49d417ec494da9f15f9fac757bdee7cb49c3e7fdcfabc28801bde8f90b90cf3eb37784bb91d9c35662b5f00fdd80a0e00020004626974730000000000152561746f6d69632d656e67696e652d6d6f6e74686c792d323646454232342d32364150523234',
525
+ 'hex',
526
+ ),
527
+ );
528
+
529
+ const roundingIntervals = buildRoundingIntervalsFromIntervals(
530
+ contractSize,
531
+ [
532
+ { beginInterval: 0n, rounding: lowPrecisionRounding },
533
+ { beginInterval: 750000n, rounding: mediumPrecisionRounding },
534
+ { beginInterval: 850000n, rounding: highPrecisionRounding },
535
+ { beginInterval: 950000n, rounding: highestPrecisionRounding },
536
+ ],
537
+ );
538
+
539
+ it('should get cso info from offer with contract size greater than collateral', () => {
540
+ const contractSize = Value.fromBitcoin(0.03);
541
+ const collateral = Value.fromBitcoin(0.01);
542
+ const numOfferInputs = 3;
543
+ const numContracts = 1;
544
+
545
+ const normalizedMaxGain = Value.fromBitcoin(0.005);
546
+ const normalizedMaxLoss = Value.fromBitcoin(0.04);
547
+
548
+ const feePerByte = BigInt(100);
549
+
550
+ const shiftForFees: DlcParty = 'offeror'; // 'offeror pays network fees
551
+ const fees = Value.fromSats(
552
+ getFinalizerByCount(feePerByte, numOfferInputs, 1, numContracts)
553
+ .offerFees,
554
+ );
555
+
556
+ const skipValidation = false;
557
+
558
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
559
+ oracleAnnouncement,
560
+ contractSize,
561
+ normalizedMaxLoss,
562
+ normalizedMaxGain,
563
+ feePerByte,
564
+ roundingIntervals,
565
+ network,
566
+ shiftForFees,
567
+ fees,
568
+ collateral,
569
+ numOfferInputs,
570
+ numContracts,
571
+ skipValidation,
572
+ );
573
+
574
+ getCsoInfoFromOffer(csoOrderOffer, 'v1');
575
+ });
576
+
577
+ it('should get cso info from offer with contract size equal to collateral with both v0 and v1', () => {
578
+ const contractSize = Value.fromBitcoin(0.01);
579
+ const collateral = Value.fromBitcoin(0.01);
580
+ const numOfferInputs = 3;
581
+ const numContracts = 1;
582
+
583
+ const normalizedMaxGain = Value.fromBitcoin(0.005);
584
+ const normalizedMaxLoss = Value.fromBitcoin(0.04);
585
+
586
+ const feePerByte = BigInt(100);
587
+
588
+ const shiftForFees: DlcParty = 'offeror'; // 'offeror pays network fees
589
+ const fees = Value.fromSats(
590
+ getFinalizerByCount(feePerByte, numOfferInputs, 1, numContracts)
591
+ .offerFees,
592
+ );
593
+
594
+ const skipValidation = false;
595
+
596
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
597
+ oracleAnnouncement,
598
+ contractSize,
599
+ normalizedMaxLoss,
600
+ normalizedMaxGain,
601
+ feePerByte,
602
+ roundingIntervals,
603
+ network,
604
+ shiftForFees,
605
+ fees,
606
+ collateral,
607
+ numOfferInputs,
608
+ numContracts,
609
+ skipValidation,
610
+ );
611
+
612
+ getCsoInfoFromOffer(csoOrderOffer, 'v0');
613
+ getCsoInfoFromOffer(csoOrderOffer, 'v1');
614
+ });
615
+
616
+ describe('high leverage with high fees', () => {
617
+ const contractSize = Value.fromBitcoin(0.36);
618
+ const collateral = Value.fromBitcoin(0.02);
619
+ const numOfferInputs = 5;
620
+ const numContracts = 5;
621
+
622
+ const normalizedMaxGain = Value.fromBitcoin(0.005);
623
+ const normalizedMaxLoss = Value.fromBitcoin(0.04);
624
+
625
+ const feePerByte = BigInt(450);
626
+
627
+ const skipValidation = false;
628
+
629
+ it('should build and decode shift for fees offeror', () => {
630
+ const shiftForFees: DlcParty = 'offeror'; // 'offeror' pays network fees
631
+ const fees = Value.fromSats(
632
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
633
+ .acceptFees,
634
+ );
635
+
636
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
637
+ oracleAnnouncement,
638
+ contractSize,
639
+ normalizedMaxLoss,
640
+ normalizedMaxGain,
641
+ feePerByte,
642
+ roundingIntervals,
643
+ network,
644
+ shiftForFees,
645
+ fees,
646
+ collateral,
647
+ numOfferInputs,
648
+ numContracts,
649
+ skipValidation,
650
+ );
651
+
652
+ const {
653
+ normalizedMaxGain: actualNormalizedMaxGain,
654
+ normalizedMaxLoss: actualNormalizedMaxLoss,
655
+ maxGainForContractSize: actualMaxGainForContractSize,
656
+ maxLossForContractSize: actualMaxLossForContractSize,
657
+ minPayout,
658
+ maxPayout,
659
+ contractSize: actualContractSize,
660
+ offerCollateral: actualOfferCollateral,
661
+ totalCollateral: actualTotalCollateral,
662
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
663
+
664
+ // Fees are very high, so use dust threshold for max gain
665
+ const offerFees = Value.fromSats(
666
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
667
+ .offerFees,
668
+ );
669
+ const expectedMaxGainForContractSize_ = offerFees.addn(
670
+ Value.fromSats(dustThreshold(BigInt(feePerByte))),
671
+ );
672
+ const expectedMaxGainForContractSize = Value.fromSats(
673
+ roundUpToNearestMultiplier(
674
+ expectedMaxGainForContractSize_.sats,
675
+ BigInt(100),
676
+ ),
677
+ );
678
+
679
+ const expectedMaxLossForContractSize = Value.fromSats(
680
+ roundUpToNearestMultiplier(
681
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
682
+ BigInt(100),
683
+ ),
684
+ );
685
+
686
+ const expectedNormalizedMaxGain = Value.fromSats(
687
+ roundDownToNearestMultiplier(
688
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
689
+ contractSize.sats,
690
+ BigInt(100),
691
+ ),
692
+ );
693
+
694
+ expect(actualMaxGainForContractSize.sats).to.equal(
695
+ expectedMaxGainForContractSize.sats,
696
+ );
697
+ expect(actualMaxLossForContractSize.sats).to.equal(
698
+ expectedMaxLossForContractSize.sats,
699
+ );
700
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
701
+ expect(actualNormalizedMaxGain.sats).to.equal(
702
+ expectedNormalizedMaxGain.sats,
703
+ ); // TODO: Fix issue with this line
704
+ expect(minPayout).to.equal(BigInt(121200));
705
+ expect(maxPayout).to.equal(collateral.sats);
706
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
707
+ expect(actualOfferCollateral.sats).to.equal(
708
+ collateral.subn(expectedMaxGainForContractSize).sats,
709
+ );
710
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
711
+ });
712
+
713
+ it('should build and decode shift for fees acceptor', () => {
714
+ const shiftForFees: DlcParty = 'acceptor'; // 'acceptor' pays network fees
715
+ const fees = Value.fromSats(
716
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
717
+ .offerFees,
718
+ );
719
+
720
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
721
+ oracleAnnouncement,
722
+ contractSize,
723
+ normalizedMaxLoss,
724
+ normalizedMaxGain,
725
+ feePerByte,
726
+ roundingIntervals,
727
+ network,
728
+ shiftForFees,
729
+ fees,
730
+ collateral,
731
+ numOfferInputs,
732
+ numContracts,
733
+ skipValidation,
734
+ );
735
+
736
+ const {
737
+ normalizedMaxGain: actualNormalizedMaxGain,
738
+ normalizedMaxLoss: actualNormalizedMaxLoss,
739
+ maxGainForContractSize: actualMaxGainForContractSize,
740
+ maxLossForContractSize: actualMaxLossForContractSize,
741
+ minPayout,
742
+ maxPayout,
743
+ contractSize: actualContractSize,
744
+ offerCollateral: actualOfferCollateral,
745
+ totalCollateral: actualTotalCollateral,
746
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
747
+
748
+ // Fees are very high, so use dust threshold for max gain
749
+ const offerFees = Value.fromSats(
750
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
751
+ .offerFees,
752
+ );
753
+ const expectedMaxGainForContractSize_ = offerFees.addn(
754
+ Value.fromSats(dustThreshold(BigInt(feePerByte))),
755
+ );
756
+ const expectedMaxGainForContractSize = Value.fromSats(
757
+ roundUpToNearestMultiplier(
758
+ expectedMaxGainForContractSize_.sats,
759
+ BigInt(100),
760
+ ),
761
+ );
762
+
763
+ const expectedMaxLossForContractSize = Value.fromSats(
764
+ roundUpToNearestMultiplier(
765
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
766
+ BigInt(100),
767
+ ),
768
+ );
769
+
770
+ const expectedNormalizedMaxGain = Value.fromSats(
771
+ roundDownToNearestMultiplier(
772
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
773
+ contractSize.sats,
774
+ BigInt(100),
775
+ ),
776
+ );
777
+
778
+ expect(actualNormalizedMaxGain.sats).to.equal(
779
+ expectedNormalizedMaxGain.sats,
780
+ );
781
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
782
+ expect(actualMaxGainForContractSize.sats).to.equal(
783
+ expectedMaxGainForContractSize.sats,
784
+ );
785
+ expect(actualMaxLossForContractSize.sats).to.equal(
786
+ expectedMaxLossForContractSize.sats,
787
+ );
788
+ expect(minPayout).to.equal(BigInt(121200));
789
+ expect(maxPayout).to.equal(collateral.sats);
790
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
791
+ expect(actualOfferCollateral.sats).to.equal(
792
+ collateral.subn(expectedMaxGainForContractSize).sats,
793
+ );
794
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
795
+ });
796
+
797
+ it('should build and decode shift for fees neither', () => {
798
+ const shiftForFees: DlcParty = 'neither'; // both parties pay their fair share for network fees
799
+ const fees = Value.fromSats(
800
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
801
+ .offerFees,
802
+ );
803
+
804
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
805
+ oracleAnnouncement,
806
+ contractSize,
807
+ normalizedMaxLoss,
808
+ normalizedMaxGain,
809
+ feePerByte,
810
+ roundingIntervals,
811
+ network,
812
+ shiftForFees,
813
+ fees,
814
+ collateral,
815
+ numOfferInputs,
816
+ numContracts,
817
+ skipValidation,
818
+ );
819
+
820
+ const {
821
+ normalizedMaxGain: actualNormalizedMaxGain,
822
+ normalizedMaxLoss: actualNormalizedMaxLoss,
823
+ maxGainForContractSize: actualMaxGainForContractSize,
824
+ maxLossForContractSize: actualMaxLossForContractSize,
825
+ minPayout,
826
+ maxPayout,
827
+ contractSize: actualContractSize,
828
+ offerCollateral: actualOfferCollateral,
829
+ totalCollateral: actualTotalCollateral,
830
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
831
+
832
+ // Fees are very high, so use dust threshold for max gain
833
+ const offerFees = Value.fromSats(
834
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
835
+ .offerFees,
836
+ );
837
+ const expectedMaxGainForContractSize_ = offerFees.addn(
838
+ Value.fromSats(dustThreshold(BigInt(feePerByte))),
839
+ );
840
+ const expectedMaxGainForContractSize = Value.fromSats(
841
+ roundUpToNearestMultiplier(
842
+ expectedMaxGainForContractSize_.sats,
843
+ BigInt(100),
844
+ ),
845
+ );
846
+
847
+ const expectedMaxLossForContractSize = Value.fromSats(
848
+ roundUpToNearestMultiplier(
849
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
850
+ BigInt(100),
851
+ ),
852
+ );
853
+
854
+ const expectedNormalizedMaxGain = Value.fromSats(
855
+ roundDownToNearestMultiplier(
856
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
857
+ contractSize.sats,
858
+ BigInt(100),
859
+ ),
860
+ );
861
+
862
+ expect(actualNormalizedMaxGain.sats).to.equal(
863
+ expectedNormalizedMaxGain.sats,
864
+ );
865
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
866
+ expect(actualMaxGainForContractSize.sats).to.equal(
867
+ expectedMaxGainForContractSize.sats,
868
+ );
869
+ expect(actualMaxLossForContractSize.sats).to.equal(
870
+ expectedMaxLossForContractSize.sats,
871
+ );
872
+ expect(minPayout).to.equal(BigInt(121200));
873
+ expect(maxPayout).to.equal(collateral.sats);
874
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
875
+ expect(actualOfferCollateral.sats).to.equal(
876
+ collateral.subn(expectedMaxGainForContractSize).sats,
877
+ );
878
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
879
+ });
880
+ });
881
+
882
+ describe('high leverage with low fees', () => {
883
+ const contractSize = Value.fromBitcoin(0.36);
884
+ const collateral = Value.fromBitcoin(0.02);
885
+ const numOfferInputs = 5;
886
+ const numContracts = 5;
887
+
888
+ const normalizedMaxGain = Value.fromBitcoin(0.005);
889
+ const normalizedMaxLoss = Value.fromBitcoin(0.04);
890
+
891
+ const feePerByte = BigInt(50);
892
+
893
+ const skipValidation = false;
894
+
895
+ it('should build and decode shift for fees offeror', () => {
896
+ const shiftForFees: DlcParty = 'offeror'; // 'offeror' pays network fees
897
+ const fees = Value.fromSats(
898
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
899
+ .acceptFees,
900
+ );
901
+
902
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
903
+ oracleAnnouncement,
904
+ contractSize,
905
+ normalizedMaxLoss,
906
+ normalizedMaxGain,
907
+ feePerByte,
908
+ roundingIntervals,
909
+ network,
910
+ shiftForFees,
911
+ fees,
912
+ collateral,
913
+ numOfferInputs,
914
+ numContracts,
915
+ skipValidation,
916
+ );
917
+
918
+ const {
919
+ normalizedMaxGain: actualNormalizedMaxGain,
920
+ normalizedMaxLoss: actualNormalizedMaxLoss,
921
+ maxGainForContractSize: actualMaxGainForContractSize,
922
+ maxLossForContractSize: actualMaxLossForContractSize,
923
+ minPayout,
924
+ maxPayout,
925
+ contractSize: actualContractSize,
926
+ offerCollateral: actualOfferCollateral,
927
+ totalCollateral: actualTotalCollateral,
928
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
929
+
930
+ const expectedMaxGainForContractSize = Value.fromSats(
931
+ roundUpToNearestMultiplier(
932
+ (normalizedMaxGain.sats * contractSize.sats) / BigInt(1e8),
933
+ BigInt(100),
934
+ ),
935
+ );
936
+
937
+ const expectedMaxLossForContractSize = Value.fromSats(
938
+ roundUpToNearestMultiplier(
939
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
940
+ BigInt(100),
941
+ ),
942
+ );
943
+
944
+ const expectedNormalizedMaxGain = Value.fromSats(
945
+ roundUpToNearestMultiplier(
946
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
947
+ contractSize.sats,
948
+ BigInt(100),
949
+ ),
950
+ );
951
+
952
+ expect(actualNormalizedMaxGain.sats).to.equal(
953
+ expectedNormalizedMaxGain.sats,
954
+ );
955
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
956
+ expect(actualMaxGainForContractSize.sats).to.equal(
957
+ expectedMaxGainForContractSize.sats,
958
+ );
959
+ expect(actualMaxLossForContractSize.sats).to.equal(
960
+ expectedMaxLossForContractSize.sats,
961
+ );
962
+ expect(minPayout).to.equal(BigInt(380000));
963
+ expect(maxPayout).to.equal(collateral.sats);
964
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
965
+ expect(actualOfferCollateral.sats).to.equal(
966
+ collateral.subn(expectedMaxGainForContractSize).sats,
967
+ );
968
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
969
+ });
970
+
971
+ it('should build and decode shift for fees acceptor', () => {
972
+ const shiftForFees: DlcParty = 'acceptor'; // 'acceptor' pays network fees
973
+ const fees = Value.fromSats(
974
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
975
+ .offerFees,
976
+ );
977
+
978
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
979
+ oracleAnnouncement,
980
+ contractSize,
981
+ normalizedMaxLoss,
982
+ normalizedMaxGain,
983
+ feePerByte,
984
+ roundingIntervals,
985
+ network,
986
+ shiftForFees,
987
+ fees,
988
+ collateral,
989
+ numOfferInputs,
990
+ numContracts,
991
+ skipValidation,
992
+ );
993
+
994
+ const {
995
+ normalizedMaxGain: actualNormalizedMaxGain,
996
+ normalizedMaxLoss: actualNormalizedMaxLoss,
997
+ maxGainForContractSize: actualMaxGainForContractSize,
998
+ maxLossForContractSize: actualMaxLossForContractSize,
999
+ minPayout,
1000
+ maxPayout,
1001
+ contractSize: actualContractSize,
1002
+ offerCollateral: actualOfferCollateral,
1003
+ totalCollateral: actualTotalCollateral,
1004
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
1005
+
1006
+ const expectedMaxGainForContractSize = Value.fromSats(
1007
+ roundUpToNearestMultiplier(
1008
+ (normalizedMaxGain.sats * contractSize.sats) / BigInt(1e8),
1009
+ BigInt(100),
1010
+ ),
1011
+ );
1012
+
1013
+ const expectedMaxLossForContractSize = Value.fromSats(
1014
+ roundUpToNearestMultiplier(
1015
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
1016
+ BigInt(100),
1017
+ ),
1018
+ );
1019
+
1020
+ const expectedNormalizedMaxGain = Value.fromSats(
1021
+ roundUpToNearestMultiplier(
1022
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
1023
+ contractSize.sats,
1024
+ BigInt(100),
1025
+ ),
1026
+ );
1027
+
1028
+ expect(actualNormalizedMaxGain.sats).to.equal(
1029
+ expectedNormalizedMaxGain.sats,
1030
+ );
1031
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
1032
+ expect(actualMaxGainForContractSize.sats).to.equal(
1033
+ expectedMaxGainForContractSize.sats,
1034
+ );
1035
+ expect(actualMaxLossForContractSize.sats).to.equal(
1036
+ expectedMaxLossForContractSize.sats,
1037
+ );
1038
+ expect(minPayout).to.equal(BigInt(380000));
1039
+ expect(maxPayout).to.equal(collateral.sats);
1040
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
1041
+ expect(actualOfferCollateral.sats).to.equal(
1042
+ collateral.subn(expectedMaxGainForContractSize).sats,
1043
+ );
1044
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
1045
+ });
1046
+
1047
+ it('should build and decode shift for fees neither', () => {
1048
+ const shiftForFees: DlcParty = 'neither'; // both parties pay their fair share for network fees
1049
+ const fees = Value.fromSats(
1050
+ getFinalizerByCount(feePerByte, numOfferInputs, 3, numContracts)
1051
+ .offerFees,
1052
+ );
1053
+
1054
+ const csoOrderOffer = buildCustomStrategyOrderOffer(
1055
+ oracleAnnouncement,
1056
+ contractSize,
1057
+ normalizedMaxLoss,
1058
+ normalizedMaxGain,
1059
+ feePerByte,
1060
+ roundingIntervals,
1061
+ network,
1062
+ shiftForFees,
1063
+ fees,
1064
+ collateral,
1065
+ numOfferInputs,
1066
+ numContracts,
1067
+ skipValidation,
1068
+ );
1069
+
1070
+ const {
1071
+ normalizedMaxGain: actualNormalizedMaxGain,
1072
+ normalizedMaxLoss: actualNormalizedMaxLoss,
1073
+ maxGainForContractSize: actualMaxGainForContractSize,
1074
+ maxLossForContractSize: actualMaxLossForContractSize,
1075
+ minPayout,
1076
+ maxPayout,
1077
+ contractSize: actualContractSize,
1078
+ offerCollateral: actualOfferCollateral,
1079
+ totalCollateral: actualTotalCollateral,
1080
+ } = getCsoInfoFromOffer(csoOrderOffer, 'v1');
1081
+
1082
+ const expectedMaxGainForContractSize = Value.fromSats(
1083
+ roundUpToNearestMultiplier(
1084
+ (normalizedMaxGain.sats * contractSize.sats) / BigInt(1e8),
1085
+ BigInt(100),
1086
+ ),
1087
+ );
1088
+
1089
+ const expectedMaxLossForContractSize = Value.fromSats(
1090
+ roundUpToNearestMultiplier(
1091
+ (normalizedMaxLoss.sats * contractSize.sats) / BigInt(1e8),
1092
+ BigInt(100),
1093
+ ),
1094
+ );
1095
+
1096
+ const expectedNormalizedMaxGain = Value.fromSats(
1097
+ roundUpToNearestMultiplier(
1098
+ (expectedMaxGainForContractSize.sats * BigInt(1e8)) /
1099
+ contractSize.sats,
1100
+ BigInt(100),
1101
+ ),
1102
+ );
1103
+
1104
+ expect(actualNormalizedMaxGain.sats).to.equal(
1105
+ expectedNormalizedMaxGain.sats,
1106
+ );
1107
+ expect(actualNormalizedMaxLoss.sats).to.equal(normalizedMaxLoss.sats);
1108
+ expect(actualMaxGainForContractSize.sats).to.equal(
1109
+ expectedMaxGainForContractSize.sats,
1110
+ );
1111
+ expect(actualMaxLossForContractSize.sats).to.equal(
1112
+ expectedMaxLossForContractSize.sats,
1113
+ );
1114
+ expect(minPayout).to.equal(BigInt(380000));
1115
+ expect(maxPayout).to.equal(collateral.sats);
1116
+ expect(actualContractSize.sats).to.equal(contractSize.sats);
1117
+ expect(actualOfferCollateral.sats).to.equal(
1118
+ collateral.subn(expectedMaxGainForContractSize).sats,
1119
+ );
1120
+ expect(actualTotalCollateral.sats).to.equal(collateral.sats);
1121
+ });
1122
+ });
1123
+ });
1124
+ });