@atomicfinance/types 4.0.0 → 4.0.1

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 (509) hide show
  1. package/.turbo/turbo-lint.log +1 -0
  2. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  3. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  6. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  7. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  9. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  10. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  25. package/.yalc/@node-dlc/{messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html → bitcoin/coverage/lcov-report/Tx.ts.html} +617 -491
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  35. package/.yalc/@node-dlc/{messaging/coverage/lcov-report/lib/serde → bitcoin/coverage/lcov-report}/index.html +45 -30
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  42. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  43. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  129. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  130. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  158. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  159. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  160. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  161. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  162. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  163. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -1
  164. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +1 -0
  165. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +13 -47
  166. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +166 -253
  167. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +214 -483
  168. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +3 -1
  169. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +1 -1
  170. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +72 -0
  171. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  172. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +99 -37
  173. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +148 -63
  174. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +2 -4
  175. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +7 -9
  176. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +135 -52
  177. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +6 -6
  178. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +1 -1
  179. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +1 -1
  180. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +1 -0
  181. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +31 -31
  182. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +11 -5
  183. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +6 -3
  184. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +1 -1
  185. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +1 -1
  186. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +1 -1
  187. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +1 -1
  188. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +9 -9
  189. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +11 -8
  190. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +1 -1
  191. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +1 -1
  192. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +1 -1
  193. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +1 -1
  194. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +22 -22
  195. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +46 -37
  196. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  197. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +61 -70
  198. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +59 -44
  199. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +251 -119
  200. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +1 -1
  201. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +12 -3
  202. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +2 -11
  203. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +1 -1
  204. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +1 -1
  205. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  206. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +1 -1
  207. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +307 -127
  208. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +61 -46
  209. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +1 -1
  210. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +67 -52
  211. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +202 -70
  212. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +15 -15
  213. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +47 -77
  214. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +16 -4
  215. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +3 -3
  216. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +22 -22
  217. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +48 -270
  218. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +1 -1
  219. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +113 -404
  220. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +49 -49
  221. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +1 -1
  222. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +22 -22
  223. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +61 -385
  224. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +1 -1
  225. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +1 -1
  226. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +46 -25
  227. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +55 -1378
  228. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +68 -23
  229. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +1 -1
  230. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +1 -1
  231. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +266 -107
  232. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +31 -34
  233. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +19 -88
  234. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +36 -21
  235. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +34 -28
  236. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +18 -15
  237. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +75 -129
  238. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +6 -6
  239. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +84 -69
  240. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +8 -53
  241. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +1 -1
  242. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +9 -9
  243. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +15 -15
  244. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +22 -10
  245. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +1 -1
  246. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +1 -1
  247. package/.yalc/@node-dlc/messaging/coverage/lcov.info +3049 -2826
  248. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +2 -1
  249. package/.yalc/@node-dlc/messaging/dist/MessageType.js +2 -1
  250. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -1
  251. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +1 -0
  252. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -1
  253. package/.yalc/@node-dlc/messaging/dist/index.d.ts +5 -4
  254. package/.yalc/@node-dlc/messaging/dist/index.js +5 -4
  255. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -1
  256. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +11 -12
  263. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +0 -1
  264. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -1
  265. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +10 -10
  266. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +5 -1
  267. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -1
  268. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +15 -0
  269. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +46 -5
  270. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -1
  271. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +6 -2
  272. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -1
  273. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -1
  274. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  275. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  276. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  277. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +16 -1
  278. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +50 -5
  279. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -1
  280. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +11 -3
  281. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -1
  282. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +7 -6
  283. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +3 -0
  284. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -1
  285. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +7 -0
  286. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +31 -1
  287. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -1
  288. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  289. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  290. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  291. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +2 -2
  292. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +4 -0
  293. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -1
  294. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  295. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  296. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  297. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  298. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  299. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  300. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  301. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  302. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  303. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  304. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  305. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  306. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +8 -6
  307. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +3 -0
  308. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -1
  309. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +15 -141
  310. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +21 -350
  311. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -1
  312. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +3 -2
  313. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +22 -7
  314. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -1
  315. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +48 -36
  316. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +97 -50
  317. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -1
  318. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +1 -1
  319. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +1 -1
  320. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -1
  321. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +7 -13
  322. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +11 -25
  323. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -1
  324. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +5 -0
  325. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -1
  326. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +4 -1
  327. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -1
  328. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +1 -0
  329. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -1
  330. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  331. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  332. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  333. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +0 -8
  334. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +0 -13
  335. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -1
  336. package/.yalc/@node-dlc/messaging/dist/util.d.ts +1 -1
  337. package/.yalc/@node-dlc/messaging/dist/util.js +2 -0
  338. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -1
  339. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +3 -1
  340. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +1 -0
  341. package/.yalc/@node-dlc/messaging/lib/index.ts +5 -4
  342. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +15 -16
  343. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +17 -12
  344. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +50 -6
  345. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +4 -1
  346. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +0 -3
  347. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  348. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +67 -7
  349. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +5 -0
  350. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +12 -7
  351. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +45 -1
  352. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +6 -2
  353. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +2 -2
  354. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +15 -8
  355. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +28 -13
  356. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +127 -74
  357. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +2 -3
  358. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +10 -33
  359. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +5 -0
  360. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +2 -0
  361. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +1 -0
  362. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +0 -15
  363. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +1 -1
  364. package/.yalc/@node-dlc/messaging/lib/util.ts +5 -1
  365. package/.yalc/@node-dlc/messaging/package.json +8 -8
  366. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +76 -74
  367. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +90 -88
  368. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +162 -160
  369. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +162 -160
  370. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +164 -162
  371. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +164 -162
  372. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +60 -58
  373. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +71 -69
  374. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +71 -69
  375. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +119 -117
  376. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +95 -93
  377. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +97 -95
  378. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +117 -115
  379. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +119 -117
  380. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  381. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  382. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  383. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  384. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  385. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  386. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  387. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  388. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  389. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  390. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  391. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  392. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  393. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  394. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  395. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  396. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  397. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  398. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  399. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  400. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  401. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  402. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  403. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  404. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  405. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  406. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  407. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  408. package/.yalc/@node-dlc/messaging/yalc.sig +1 -1
  409. package/.yalc/@node-dlc/noise/.eslintrc +6 -0
  410. package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  411. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  412. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
  413. package/.yalc/@node-dlc/noise/README.md +165 -0
  414. package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
  415. package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
  416. package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
  417. package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
  418. package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
  419. package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
  420. package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
  421. package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
  422. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
  423. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
  424. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
  425. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
  426. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
  427. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
  428. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
  429. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
  430. package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
  431. package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  432. package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
  433. package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
  434. package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
  435. package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
  436. package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
  437. package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
  438. package/.yalc/@node-dlc/noise/dist/index.js +69 -0
  439. package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
  440. package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
  441. package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
  442. package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
  443. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
  444. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
  445. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
  446. package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
  447. package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
  448. package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
  449. package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
  450. package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
  451. package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
  452. package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
  453. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
  454. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
  455. package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
  456. package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
  457. package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
  458. package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
  459. package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
  460. package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
  461. package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
  462. package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
  463. package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
  464. package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
  465. package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
  466. package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
  467. package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
  468. package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
  469. package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
  470. package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
  471. package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
  472. package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
  473. package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
  474. package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
  475. package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
  476. package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
  477. package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
  478. package/.yalc/@node-dlc/noise/package.json +35 -0
  479. package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
  480. package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
  481. package/.yalc/@node-dlc/noise/yalc.sig +1 -0
  482. package/CHANGELOG.md +39 -5
  483. package/dist/dlc.d.ts +99 -2
  484. package/dist/index.d.ts +1 -1
  485. package/dist/index.js +2 -1
  486. package/dist/index.js.map +1 -1
  487. package/dist/models/Amount.js +1 -0
  488. package/dist/models/Amount.js.map +1 -1
  489. package/dist/models/Input.d.ts +30 -1
  490. package/dist/models/Input.js +42 -9
  491. package/dist/models/Input.js.map +1 -1
  492. package/dist/models/Outcome.js +1 -0
  493. package/dist/models/Outcome.js.map +1 -1
  494. package/dist/models/Utxo.js +9 -11
  495. package/dist/models/Utxo.js.map +1 -1
  496. package/dist/transaction.js.map +1 -1
  497. package/lib/block.ts +1 -0
  498. package/lib/dlc.ts +125 -1
  499. package/lib/index.ts +7 -1
  500. package/lib/models/Amount.ts +1 -0
  501. package/lib/models/Input.ts +73 -8
  502. package/lib/models/Outcome.ts +1 -0
  503. package/lib/models/Utxo.ts +19 -11
  504. package/lib/transaction.ts +1 -0
  505. package/lib/wallet.ts +1 -0
  506. package/package.json +4 -4
  507. package/yalc.lock +12 -2
  508. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +0 -1
  509. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +0 -1
@@ -1,4 +1,3 @@
1
- import { F64 } from '../../lib/serialize/F64';
2
1
  import { expect } from 'chai';
3
2
 
4
3
  import {
@@ -9,6 +8,7 @@ import {
9
8
  import { HyperbolaPayoutCurvePiece } from '../../lib/messages/PayoutCurvePiece';
10
9
  import { PayoutFunction } from '../../lib/messages/PayoutFunction';
11
10
  import { RoundingIntervals } from '../../lib/messages/RoundingIntervals';
11
+ import { F64 } from '../../lib/serialize/F64';
12
12
 
13
13
  describe('ContractDescriptor', () => {
14
14
  describe('EnumeratedDescriptor', () => {
@@ -93,6 +93,7 @@ describe('ContractDescriptor', () => {
93
93
  { outcome: outcomeThree, localPayout: payoutThree },
94
94
  ];
95
95
 
96
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
97
  const json = instance.toJSON() as any; // Cast to any to access the wrapped structure
97
98
 
98
99
  // Check that the JSON has the proper enum format structure
@@ -238,6 +239,7 @@ describe('ContractDescriptor', () => {
238
239
  ];
239
240
  instance.roundingIntervals = roundingIntervals;
240
241
 
242
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
243
  const json = instance.toJSON() as any; // Cast to any to access the wrapped structure
242
244
 
243
245
  // Check that the JSON has the proper structure
@@ -1,4 +1,3 @@
1
- import { F64 } from '../../lib/serialize/F64';
2
1
  import chai from 'chai';
3
2
  import chaiAsPromised from 'chai-as-promised';
4
3
 
@@ -20,6 +19,7 @@ import { SingleOracleInfo } from '../../lib/messages/OracleInfo';
20
19
  import { HyperbolaPayoutCurvePiece } from '../../lib/messages/PayoutCurvePiece';
21
20
  import { PayoutFunction } from '../../lib/messages/PayoutFunction';
22
21
  import { RoundingIntervals } from '../../lib/messages/RoundingIntervals';
22
+ import { F64 } from '../../lib/serialize/F64';
23
23
 
24
24
  chai.use(chaiAsPromised);
25
25
  const expect = chai.expect;
@@ -216,6 +216,78 @@ describe('DlcAccept', () => {
216
216
  instance.validate();
217
217
  }).to.throw(Error);
218
218
  });
219
+
220
+ it('should allow single funded DLCs with zero acceptCollateral', () => {
221
+ // Set up single funded DLC with zero collateral
222
+ instance.acceptCollateral = BigInt(0);
223
+ instance.fundingInputs = [];
224
+ instance.markAsSingleFunded();
225
+
226
+ expect(function () {
227
+ instance.validate();
228
+ }).to.not.throw(Error);
229
+ });
230
+
231
+ it('should throw if single funded DLC funding amount is insufficient', () => {
232
+ // Set up single funded DLC with insufficient funding
233
+ instance.acceptCollateral = BigInt(300000000);
234
+ instance.fundingInputs = [];
235
+ instance.markAsSingleFunded();
236
+
237
+ expect(function () {
238
+ instance.validate();
239
+ }).to.throw(
240
+ 'For single funded DLCs, fundingAmount must be at least acceptCollateral',
241
+ );
242
+ });
243
+ });
244
+
245
+ describe('Single Funded DLC Methods', () => {
246
+ it('should correctly identify single funded DLCs', () => {
247
+ // Initially not single funded
248
+ expect(instance.isSingleFunded()).to.be.false;
249
+
250
+ // Mark as single funded
251
+ instance.markAsSingleFunded();
252
+
253
+ expect(instance.isSingleFunded()).to.be.true;
254
+ });
255
+
256
+ it('should not identify regular DLCs as single funded', () => {
257
+ // Default test setup has non-zero acceptCollateral
258
+ expect(instance.isSingleFunded()).to.be.false;
259
+ });
260
+
261
+ it('should mark DLC as single funded', () => {
262
+ expect(function () {
263
+ instance.markAsSingleFunded();
264
+ }).to.not.throw(Error);
265
+
266
+ expect(instance.singleFunded).to.be.true;
267
+ });
268
+
269
+ it('should auto-detect single funded DLCs during deserialization', () => {
270
+ // Set up single funded DLC with zero collateral
271
+ instance.acceptCollateral = BigInt(0);
272
+
273
+ // Serialize and deserialize
274
+ const serialized = instance.serialize();
275
+ const deserialized = DlcAccept.deserialize(serialized);
276
+
277
+ // Should auto-detect as single funded
278
+ expect(deserialized.singleFunded).to.be.true;
279
+ expect(deserialized.isSingleFunded()).to.be.true;
280
+ });
281
+
282
+ it('should not auto-detect regular DLCs as single funded', () => {
283
+ // Default test setup has non-zero acceptCollateral
284
+ const serialized = instance.serialize();
285
+ const deserialized = DlcAccept.deserialize(serialized);
286
+
287
+ // Should not be detected as single funded
288
+ expect(deserialized.singleFunded).to.be.false;
289
+ expect(deserialized.isSingleFunded()).to.be.false;
290
+ });
219
291
  });
220
292
  });
221
293
 
@@ -0,0 +1,111 @@
1
+ import { expect } from 'chai';
2
+
3
+ import { DlcInput } from '../../lib/messages/DlcInput';
4
+
5
+ describe('DlcInput', () => {
6
+ let dlcInput: DlcInput;
7
+
8
+ const testData = {
9
+ localFundPubkey:
10
+ '023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb',
11
+ remoteFundPubkey:
12
+ '025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357',
13
+ contractId:
14
+ '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', // 32-byte contract ID
15
+ };
16
+
17
+ beforeEach(() => {
18
+ dlcInput = DlcInput.fromJSON(testData);
19
+ });
20
+
21
+ describe('fromJSON', () => {
22
+ it('should create DlcInput from JSON with camelCase', () => {
23
+ const input = DlcInput.fromJSON({
24
+ localFundPubkey: testData.localFundPubkey,
25
+ remoteFundPubkey: testData.remoteFundPubkey,
26
+ contractId: testData.contractId,
27
+ });
28
+
29
+ expect(input.localFundPubkey).to.be.instanceOf(Buffer);
30
+ expect(input.remoteFundPubkey).to.be.instanceOf(Buffer);
31
+ expect(input.contractId).to.be.instanceOf(Buffer);
32
+ expect(input.contractId.toString('hex')).to.equal(testData.contractId);
33
+ });
34
+
35
+ it('should create DlcInput from JSON with snake_case', () => {
36
+ const input = DlcInput.fromJSON({
37
+ local_fund_pubkey: testData.localFundPubkey,
38
+ remote_fund_pubkey: testData.remoteFundPubkey,
39
+ contract_id: testData.contractId,
40
+ });
41
+
42
+ expect(input.localFundPubkey).to.be.instanceOf(Buffer);
43
+ expect(input.remoteFundPubkey).to.be.instanceOf(Buffer);
44
+ expect(input.contractId).to.be.instanceOf(Buffer);
45
+ expect(input.contractId.toString('hex')).to.equal(testData.contractId);
46
+ });
47
+ });
48
+
49
+ describe('toJSON', () => {
50
+ it('should convert DlcInput to JSON', () => {
51
+ const json = dlcInput.toJSON();
52
+
53
+ expect(json.localFundPubkey).to.equal(testData.localFundPubkey);
54
+ expect(json.remoteFundPubkey).to.equal(testData.remoteFundPubkey);
55
+ expect(json.contractId).to.equal(testData.contractId);
56
+ });
57
+ });
58
+
59
+ describe('serialize/deserialize', () => {
60
+ it('should serialize and deserialize correctly', () => {
61
+ const serialized = dlcInput.serialize();
62
+ const deserialized = DlcInput.deserialize(serialized);
63
+
64
+ expect(deserialized.localFundPubkey).to.deep.equal(
65
+ dlcInput.localFundPubkey,
66
+ );
67
+ expect(deserialized.remoteFundPubkey).to.deep.equal(
68
+ dlcInput.remoteFundPubkey,
69
+ );
70
+ expect(deserialized.contractId).to.deep.equal(dlcInput.contractId);
71
+ });
72
+
73
+ it('should serialize and deserialize body correctly', () => {
74
+ const serialized = dlcInput.serializeBody();
75
+ const deserialized = DlcInput.deserializeBody(serialized);
76
+
77
+ expect(deserialized.localFundPubkey).to.deep.equal(
78
+ dlcInput.localFundPubkey,
79
+ );
80
+ expect(deserialized.remoteFundPubkey).to.deep.equal(
81
+ dlcInput.remoteFundPubkey,
82
+ );
83
+ expect(deserialized.contractId).to.deep.equal(dlcInput.contractId);
84
+ });
85
+ });
86
+
87
+ describe('validate', () => {
88
+ it('should validate correct DlcInput', () => {
89
+ expect(() => dlcInput.validate()).to.not.throw();
90
+ });
91
+
92
+ it('should throw error for missing localFundPubkey', () => {
93
+ dlcInput.localFundPubkey = null as any;
94
+ expect(() => dlcInput.validate()).to.throw('localFundPubkey is required');
95
+ });
96
+
97
+ it('should throw error for missing remoteFundPubkey', () => {
98
+ dlcInput.remoteFundPubkey = null as any;
99
+ expect(() => dlcInput.validate()).to.throw(
100
+ 'remoteFundPubkey is required',
101
+ );
102
+ });
103
+
104
+ it('should throw error for invalid contractId', () => {
105
+ dlcInput.contractId = Buffer.alloc(16); // Wrong size - should be 32 bytes
106
+ expect(() => dlcInput.validate()).to.throw(
107
+ 'contractId must be a 32-byte buffer',
108
+ );
109
+ });
110
+ });
111
+ });
@@ -6,7 +6,7 @@ import {
6
6
  BatchFundingGroup,
7
7
  OrderIrcInfoV0,
8
8
  OrderMetadataV0,
9
- OrderPositionInfoV0,
9
+ OrderPositionInfo,
10
10
  } from '../../lib';
11
11
  import { EnumeratedDescriptor } from '../../lib/messages/ContractDescriptor';
12
12
  import { SingleContractInfo } from '../../lib/messages/ContractInfo';
@@ -112,30 +112,6 @@ describe('DlcOffer', () => {
112
112
  'hex',
113
113
  );
114
114
 
115
- // Use round-trip testing approach for new dlcspecs PR #163 format
116
- function createTestDlcOfferHex(): Buffer {
117
- const testInstance = new DlcOffer();
118
- testInstance.protocolVersion = PROTOCOL_VERSION;
119
- testInstance.contractFlags = contractFlags;
120
- testInstance.chainHash = chainHash;
121
- testInstance.temporaryContractId = temporaryContractId;
122
- testInstance.contractInfo = createTestContractInfo();
123
- testInstance.fundingPubkey = fundingPubkey;
124
- testInstance.payoutSpk = payoutSpk;
125
- testInstance.payoutSerialId = BigInt(11555292);
126
- testInstance.offerCollateral = BigInt(99999999);
127
- testInstance.fundingInputs = [FundingInput.deserialize(fundingInput)];
128
- testInstance.changeSpk = changeSpk;
129
- testInstance.changeSerialId = BigInt(2008045);
130
- testInstance.fundOutputSerialId = BigInt(5411962);
131
- testInstance.feeRatePerVb = BigInt(1);
132
- testInstance.cetLocktime = 100;
133
- testInstance.refundLocktime = 200;
134
- return testInstance.serialize();
135
- }
136
-
137
- const dlcOfferHex = createTestDlcOfferHex();
138
-
139
115
  beforeEach(() => {
140
116
  instance = new DlcOffer();
141
117
  instance.protocolVersion = PROTOCOL_VERSION; // New field
@@ -185,7 +161,7 @@ describe('DlcOffer', () => {
185
161
  });
186
162
 
187
163
  it('serializes with positioninfo', () => {
188
- const positionInfo = new OrderPositionInfoV0();
164
+ const positionInfo = new OrderPositionInfo();
189
165
  positionInfo.shiftForFees = 'acceptor';
190
166
  positionInfo.fees = BigInt(1000);
191
167
 
@@ -230,7 +206,7 @@ describe('DlcOffer', () => {
230
206
  });
231
207
 
232
208
  it('deserializes with positioninfo', () => {
233
- const positionInfo = new OrderPositionInfoV0();
209
+ const positionInfo = new OrderPositionInfo();
234
210
  positionInfo.shiftForFees = 'acceptor';
235
211
  positionInfo.fees = BigInt(1000);
236
212
 
@@ -239,7 +215,7 @@ describe('DlcOffer', () => {
239
215
  const serialized = instance.serialize();
240
216
  const deserialized = DlcOffer.deserialize(serialized);
241
217
 
242
- expect(deserialized.positionInfo).to.be.instanceof(OrderPositionInfoV0);
218
+ expect(deserialized.positionInfo).to.be.instanceof(OrderPositionInfo);
243
219
  expect(deserialized.positionInfo?.serialize()).to.deep.equal(
244
220
  positionInfo.serialize(),
245
221
  );
@@ -409,25 +385,111 @@ describe('DlcOffer', () => {
409
385
  }).to.throw(Error);
410
386
  });
411
387
 
412
- it('should throw if totalCollateral <= offerCollateral', () => {
413
- instance.contractInfo.totalCollateral = BigInt(200000000);
414
- instance.offerCollateral = BigInt(200000000);
388
+ it('should throw if funding amount less than offer collateral', () => {
389
+ instance.offerCollateral = BigInt(3e8);
415
390
  expect(function () {
416
391
  instance.validate();
417
392
  }).to.throw(Error);
393
+ });
394
+
395
+ it('should allow single funded DLCs when totalCollateral equals offerCollateral', () => {
396
+ // Set up single funded DLC
397
+ instance.contractInfo.totalCollateral = BigInt(99999999);
398
+ instance.offerCollateral = BigInt(99999999);
399
+ instance.markAsSingleFunded();
400
+
401
+ expect(function () {
402
+ instance.validate();
403
+ }).to.not.throw(Error);
404
+ });
418
405
 
406
+ it('should throw if marked as single funded but collateral amounts do not match', () => {
419
407
  instance.contractInfo.totalCollateral = BigInt(200000000);
420
- instance.offerCollateral = BigInt(200000001);
408
+ instance.offerCollateral = BigInt(99999999);
409
+
410
+ expect(function () {
411
+ instance.markAsSingleFunded();
412
+ }).to.throw(
413
+ 'Cannot mark as single funded: totalCollateral (200000000) must equal offerCollateral (99999999)',
414
+ );
415
+ });
416
+
417
+ it('should validate single funded DLC funding amount correctly', () => {
418
+ // Set up single funded DLC
419
+ instance.contractInfo.totalCollateral = BigInt(99999999);
420
+ instance.offerCollateral = BigInt(99999999);
421
+ instance.markAsSingleFunded();
422
+
423
+ // Funding amount should be at least totalCollateral for single funded DLCs
421
424
  expect(function () {
422
425
  instance.validate();
423
- }).to.throw(Error);
426
+ }).to.not.throw(Error);
424
427
  });
425
428
 
426
- it('should throw if funding amount less than offer collateral', () => {
427
- instance.offerCollateral = BigInt(3e8);
429
+ it('should throw if single funded DLC funding amount is insufficient', () => {
430
+ // Set up single funded DLC with insufficient funding
431
+ instance.contractInfo.totalCollateral = BigInt(300000000);
432
+ instance.offerCollateral = BigInt(300000000);
433
+ instance.markAsSingleFunded();
434
+
428
435
  expect(function () {
429
436
  instance.validate();
430
- }).to.throw(Error);
437
+ }).to.throw(
438
+ 'For single funded DLCs, fundingAmount must be at least totalCollateral',
439
+ );
440
+ });
441
+ });
442
+
443
+ describe('Single Funded DLC Methods', () => {
444
+ it('should correctly identify single funded DLCs', () => {
445
+ // Initially not single funded
446
+ expect(instance.isSingleFunded()).to.be.false;
447
+
448
+ // Mark as single funded
449
+ instance.contractInfo.totalCollateral = BigInt(99999999);
450
+ instance.offerCollateral = BigInt(99999999);
451
+ instance.markAsSingleFunded();
452
+
453
+ expect(instance.isSingleFunded()).to.be.true;
454
+ });
455
+
456
+ it('should auto-detect single funded DLCs based on collateral amounts', () => {
457
+ // Set equal collateral amounts
458
+ instance.contractInfo.totalCollateral = BigInt(99999999);
459
+ instance.offerCollateral = BigInt(99999999);
460
+
461
+ // Should be detected as single funded even without explicit flag
462
+ expect(instance.isSingleFunded()).to.be.true;
463
+ });
464
+
465
+ it('should not identify regular DLCs as single funded', () => {
466
+ // Default test setup has different collateral amounts
467
+ expect(instance.isSingleFunded()).to.be.false;
468
+ });
469
+
470
+ it('should mark DLC as single funded when collateral amounts are equal', () => {
471
+ instance.contractInfo.totalCollateral = BigInt(99999999);
472
+ instance.offerCollateral = BigInt(99999999);
473
+
474
+ expect(function () {
475
+ instance.markAsSingleFunded();
476
+ }).to.not.throw(Error);
477
+
478
+ expect(instance.singleFunded).to.be.true;
479
+ });
480
+
481
+ it('should auto-detect single funded DLCs during deserialization', () => {
482
+ // Set up single funded DLC
483
+ instance.contractInfo.totalCollateral = BigInt(99999999);
484
+ instance.offerCollateral = BigInt(99999999);
485
+
486
+ // Serialize and deserialize
487
+ const serialized = instance.serialize();
488
+ const deserialized = DlcOffer.deserialize(serialized);
489
+
490
+ // Should auto-detect as single funded
491
+ expect(deserialized.singleFunded).to.be.true;
492
+ expect(deserialized.isSingleFunded()).to.be.true;
431
493
  });
432
494
  });
433
495
  });
@@ -504,7 +566,7 @@ describe('DlcOffer', () => {
504
566
  ircInfo.nick = 'test-nick'; // Required property
505
567
  ircInfo.pubKey = Buffer.alloc(33); // Required property
506
568
 
507
- const positionInfo = new OrderPositionInfoV0();
569
+ const positionInfo = new OrderPositionInfo();
508
570
  positionInfo.shiftForFees = 'acceptor';
509
571
  positionInfo.fees = BigInt(6930);
510
572
 
@@ -2,82 +2,167 @@ import { Sequence, Tx } from '@node-dlc/bitcoin';
2
2
  import { StreamReader } from '@node-dlc/bufio';
3
3
  import { expect } from 'chai';
4
4
 
5
+ import { DlcInput } from '../../lib/messages/DlcInput';
5
6
  import { FundingInput } from '../../lib/messages/FundingInput';
6
7
 
7
8
  describe('FundingInput', () => {
8
- let instance: FundingInput;
9
-
10
- const type = Buffer.from('fda714', 'hex');
11
- const length = Buffer.from('3f', 'hex');
12
- const inputSerialID = Buffer.from('000000000000dae8', 'hex');
13
- const prevTxLen = Buffer.from('0029', 'hex');
14
- const prevTx = Buffer.from(
15
- '02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000',
16
- 'hex',
17
- );
18
- const prevTxVout = Buffer.from('00000000', 'hex');
19
- const sequence = Buffer.from('ffffffff', 'hex');
20
- const maxWitnessLen = Buffer.from('006b', 'hex');
21
- const redeemScriptLen = Buffer.from('0000', 'hex');
22
-
23
- const fundingInputHex = Buffer.concat([
24
- type,
25
- length,
26
- inputSerialID,
27
- prevTxLen,
28
- prevTx,
29
- prevTxVout,
30
- sequence,
31
- maxWitnessLen,
32
- redeemScriptLen,
33
- ]);
34
-
35
- beforeEach(() => {
36
- instance = new FundingInput();
37
-
38
- instance.length = BigInt(63);
39
- instance.inputSerialId = BigInt(56040);
40
- instance.prevTx = Tx.decode(StreamReader.fromBuffer(prevTx));
41
- instance.prevTxVout = 0;
42
- instance.sequence = Sequence.default();
43
- instance.maxWitnessLen = 107;
44
- instance.redeemScript = Buffer.from('', 'hex');
45
- });
9
+ describe('serialization/deserialization', () => {
10
+ it('should deserialize and serialize FundingInput message', () => {
11
+ const fundingInput = FundingInput.fromJSON({
12
+ inputSerialId: 1,
13
+ prevTx:
14
+ '0200000001f58f85b356ad5bb5b6d0ef3eb863be8a6cb95e08e1e9e92885b4b22e7e51eb9d0000000000ffffffff01008c8647000000002200201234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef00000000',
15
+ prevTxVout: 0,
16
+ sequence: 4294967295,
17
+ maxWitnessLen: 108,
18
+ redeemScript: '',
19
+ });
20
+
21
+ const serialized = fundingInput.serialize();
22
+ const deserialized = FundingInput.deserialize(serialized);
46
23
 
47
- describe('serialize', () => {
48
- it('serializes', () => {
49
- expect(instance.serialize().toString('hex')).to.equal(
50
- fundingInputHex.toString('hex'),
24
+ expect(deserialized.inputSerialId).to.equal(fundingInput.inputSerialId);
25
+ expect(deserialized.prevTxVout).to.equal(fundingInput.prevTxVout);
26
+ expect(deserialized.sequence.value).to.equal(fundingInput.sequence.value);
27
+ expect(deserialized.maxWitnessLen).to.equal(fundingInput.maxWitnessLen);
28
+ expect(deserialized.redeemScript).to.deep.equal(
29
+ fundingInput.redeemScript,
51
30
  );
52
31
  });
53
- });
54
32
 
55
- describe('deserialize', () => {
56
- it('deserializes', () => {
57
- const instance = FundingInput.deserialize(fundingInputHex);
58
-
59
- expect(Number(instance.length)).to.equal(63);
60
- expect(Number(instance.inputSerialId)).to.equal(56040);
61
- expect(instance.prevTx.serialize()).to.deep.equal(prevTx);
62
- expect(instance.prevTxVout).to.equal(0);
63
- expect(instance.sequence.value).to.equal(4294967295);
64
- expect(instance.maxWitnessLen).to.equal(107);
65
- expect(instance.redeemScript).to.deep.equal(Buffer.from('', 'hex'));
33
+ it('should handle FundingInput with optional DlcInput', () => {
34
+ const fundingInputWithDlc = FundingInput.fromJSON({
35
+ inputSerialId: 1,
36
+ prevTx:
37
+ '0200000001f58f85b356ad5bb5b6d0ef3eb863be8a6cb95e08e1e9e92885b4b22e7e51eb9d0000000000ffffffff01008c8647000000002200201234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef00000000',
38
+ prevTxVout: 0,
39
+ sequence: 4294967295,
40
+ maxWitnessLen: 108,
41
+ redeemScript: '',
42
+ dlcInput: {
43
+ localFundPubkey:
44
+ '023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb',
45
+ remoteFundPubkey:
46
+ '025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357',
47
+ contractId:
48
+ '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef',
49
+ },
50
+ });
51
+
52
+ // Test full serialize/deserialize
53
+ const serialized = fundingInputWithDlc.serialize();
54
+ const deserialized = FundingInput.deserialize(serialized);
55
+
56
+ expect(deserialized.dlcInput).to.not.be.undefined;
57
+ expect(deserialized.dlcInput!.localFundPubkey).to.deep.equal(
58
+ fundingInputWithDlc.dlcInput!.localFundPubkey,
59
+ );
60
+ expect(deserialized.dlcInput!.remoteFundPubkey).to.deep.equal(
61
+ fundingInputWithDlc.dlcInput!.remoteFundPubkey,
62
+ );
63
+ expect(deserialized.dlcInput!.contractId).to.deep.equal(
64
+ fundingInputWithDlc.dlcInput!.contractId,
65
+ );
66
+
67
+ // Test body serialize/deserialize (used in DlcOffer)
68
+ const serializedBody = fundingInputWithDlc.serializeBody();
69
+ const deserializedBody = FundingInput.deserializeBody(serializedBody);
70
+
71
+ expect(deserializedBody.dlcInput).to.not.be.undefined;
72
+ expect(deserializedBody.dlcInput!.localFundPubkey).to.deep.equal(
73
+ fundingInputWithDlc.dlcInput!.localFundPubkey,
74
+ );
75
+ expect(deserializedBody.dlcInput!.remoteFundPubkey).to.deep.equal(
76
+ fundingInputWithDlc.dlcInput!.remoteFundPubkey,
77
+ );
78
+ expect(deserializedBody.dlcInput!.contractId).to.deep.equal(
79
+ fundingInputWithDlc.dlcInput!.contractId,
80
+ );
81
+ });
82
+
83
+ it('should handle FundingInput without DlcInput', () => {
84
+ const fundingInputWithoutDlc = FundingInput.fromJSON({
85
+ inputSerialId: 1,
86
+ prevTx:
87
+ '0200000001f58f85b356ad5bb5b6d0ef3eb863be8a6cb95e08e1e9e92885b4b22e7e51eb9d0000000000ffffffff01008c8647000000002200201234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef00000000',
88
+ prevTxVout: 0,
89
+ sequence: 4294967295,
90
+ maxWitnessLen: 108,
91
+ redeemScript: '',
92
+ });
93
+
94
+ // Test full serialize/deserialize
95
+ const serialized = fundingInputWithoutDlc.serialize();
96
+ const deserialized = FundingInput.deserialize(serialized);
97
+
98
+ expect(deserialized.dlcInput).to.be.undefined;
99
+
100
+ // Test body serialize/deserialize (used in DlcOffer)
101
+ const serializedBody = fundingInputWithoutDlc.serializeBody();
102
+ const deserializedBody = FundingInput.deserializeBody(serializedBody);
103
+
104
+ expect(deserializedBody.dlcInput).to.be.undefined;
105
+ });
106
+
107
+ it('should use rust-dlc optional format (0x00/0x01 prefix)', () => {
108
+ // Test without DlcInput - should have 0x00 byte at the end
109
+ const fundingInputWithoutDlc = FundingInput.fromJSON({
110
+ inputSerialId: 1,
111
+ prevTx:
112
+ '0200000001f58f85b356ad5bb5b6d0ef3eb863be8a6cb95e08e1e9e92885b4b22e7e51eb9d0000000000ffffffff01008c8647000000002200201234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef00000000',
113
+ prevTxVout: 0,
114
+ sequence: 4294967295,
115
+ maxWitnessLen: 108,
116
+ redeemScript: '',
117
+ });
118
+
119
+ const serializedBody = fundingInputWithoutDlc.serializeBody();
120
+ // Last byte should be 0x00 indicating no DLC input
121
+ expect(serializedBody[serializedBody.length - 1]).to.equal(0x00);
122
+
123
+ // Test with DlcInput - should have 0x01 byte followed by DLC input data
124
+ const fundingInputWithDlc = FundingInput.fromJSON({
125
+ inputSerialId: 1,
126
+ prevTx:
127
+ '0200000001f58f85b356ad5bb5b6d0ef3eb863be8a6cb95e08e1e9e92885b4b22e7e51eb9d0000000000ffffffff01008c8647000000002200201234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef00000000',
128
+ prevTxVout: 0,
129
+ sequence: 4294967295,
130
+ maxWitnessLen: 108,
131
+ redeemScript: '',
132
+ dlcInput: {
133
+ localFundPubkey:
134
+ '023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb',
135
+ remoteFundPubkey:
136
+ '025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357',
137
+ contractId:
138
+ '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef',
139
+ },
140
+ });
141
+
142
+ const serializedBodyWithDlc = fundingInputWithDlc.serializeBody();
143
+
144
+ // Find where the DLC input optional marker should be
145
+ // It should be at: 8 (inputSerialId) + 1-9 (prevTx length) + prevTx.length + 4 (prevTxVout) + 4 (sequence) + 2 (maxWitnessLen) + 2 (redeemScript.length) + redeemScript.length
146
+ const dlcInputMarkerIndex =
147
+ serializedBodyWithDlc.length - (33 + 33 + 32 + 1); // DLC input data + marker (contractId is 32 bytes)
148
+ expect(serializedBodyWithDlc[dlcInputMarkerIndex]).to.equal(0x01);
66
149
  });
67
150
  });
68
151
 
69
152
  describe('validate', () => {
70
153
  it('should ensure inputs are segwit', () => {
71
- instance.prevTx = Tx.decode(
72
- StreamReader.fromBuffer(
73
- Buffer.from(
74
- '02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000', // has no inputs
75
- 'hex',
76
- ),
77
- ),
78
- );
154
+ const fundingInput = FundingInput.fromJSON({
155
+ inputSerialId: 1,
156
+ prevTx:
157
+ '02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000', // has no inputs
158
+ prevTxVout: 0,
159
+ sequence: 4294967295,
160
+ maxWitnessLen: 108,
161
+ redeemScript: '',
162
+ });
163
+
79
164
  expect(function () {
80
- instance.validate();
165
+ fundingInput.validate();
81
166
  }).to.throw(Error);
82
167
  });
83
168
  });