@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
@@ -30,11 +30,15 @@ function callRustCli(command: string, input?: string): RustDlcCliResult {
30
30
  const cliCmd = `cd ${rustCliPath} && cargo run --bin dlc-compat -- ${command}`;
31
31
 
32
32
  try {
33
+ // Use shorter timeout in CI environments to avoid test timeouts
34
+ const isCI = process.env.CI === 'true';
35
+ const cliTimeout = isCI ? 60000 : 300000; // 1 minute in CI, 5 minutes locally
36
+
33
37
  const result = execSync(cliCmd, {
34
38
  input: input || '',
35
39
  encoding: 'utf8',
36
40
  stdio: ['pipe', 'pipe', 'pipe'],
37
- timeout: 300000, // 5 minutes to handle Rust compilation and execution
41
+ timeout: cliTimeout,
38
42
  });
39
43
 
40
44
  return JSON.parse(result.trim());
@@ -61,36 +65,36 @@ function callRustCli(command: string, input?: string): RustDlcCliResult {
61
65
  }
62
66
  }
63
67
 
64
- describe('True DLC Serialization Compatibility Tests', () => {
65
- const testVectorsDir = path.join(__dirname, '../../test_vectors/dlcspecs');
66
- let testVectorFiles: string[] = [];
67
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
- const allTestData: { [filename: string]: any } = {};
69
-
70
- before(() => {
71
- if (fs.existsSync(testVectorsDir)) {
72
- testVectorFiles = fs
73
- .readdirSync(testVectorsDir)
74
- .filter((f) => f.endsWith('.json'))
75
- .sort(); // Sort for consistent test order
76
-
77
- // Load all test vector files using json-bigint to preserve large integers
78
- testVectorFiles.forEach((filename) => {
79
- // if (filename !== 'enum_3_of_3_test.json') return;
80
- const filePath = path.join(testVectorsDir, filename);
81
- try {
82
- const fileContent = fs.readFileSync(filePath, 'utf8');
83
- allTestData[filename] = JSONBigInt.parse(fileContent);
84
- } catch (error) {
85
- console.warn(
86
- `Failed to load test vector ${filename}:`,
87
- error.message,
88
- );
89
- }
90
- });
68
+ // Load test vectors at module level so they're available for test generation
69
+ const testVectorsDir = path.join(__dirname, '../../test_vectors/dlcspecs');
70
+ const testVectorFiles: string[] = [];
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const allTestData: { [filename: string]: any } = {};
73
+
74
+ // Load test data synchronously at module level
75
+ if (fs.existsSync(testVectorsDir)) {
76
+ const files = fs
77
+ .readdirSync(testVectorsDir)
78
+ .filter((f) => f.endsWith('.json'))
79
+ .sort(); // Sort for consistent test order
80
+
81
+ files.forEach((filename) => {
82
+ // if (filename !== 'enum_3_of_3_test.json') return;
83
+ const filePath = path.join(testVectorsDir, filename);
84
+ try {
85
+ const fileContent = fs.readFileSync(filePath, 'utf8');
86
+ allTestData[filename] = JSONBigInt.parse(fileContent);
87
+ testVectorFiles.push(filename);
88
+ } catch (error) {
89
+ console.warn(
90
+ `Failed to load test vector ${filename}:`,
91
+ (error as Error).message,
92
+ );
91
93
  }
92
94
  });
95
+ }
93
96
 
97
+ describe('True DLC Serialization Compatibility Tests', () => {
94
98
  describe('Comprehensive Test Vector Coverage', () => {
95
99
  it('should discover and load all available test vector files', () => {
96
100
  expect(testVectorFiles.length).to.be.greaterThan(
@@ -102,510 +106,237 @@ describe('True DLC Serialization Compatibility Tests', () => {
102
106
  'Should load test data',
103
107
  );
104
108
 
105
- console.log(`\n📋 Test Vector Discovery:`);
109
+ console.log(`\nTest Vector Discovery:`);
106
110
  console.log(` Found ${testVectorFiles.length} test vector files:`);
107
111
  testVectorFiles.forEach((file, index) => {
108
- const hasOfferMessage = allTestData[file]?.offer_message ? '✅' : '❌';
112
+ const hasOfferMessage = allTestData[file]?.offer_message
113
+ ? '[OFFER]'
114
+ : '[NO_OFFER]';
109
115
  const hasAcceptMessage = allTestData[file]?.accept_message
110
- ? ''
111
- : '';
112
- const hasSignMessage = allTestData[file]?.sign_message ? '✅' : '❌';
116
+ ? '[ACCEPT]'
117
+ : '[NO_ACCEPT]';
118
+ const hasSignMessage = allTestData[file]?.sign_message
119
+ ? '[SIGN]'
120
+ : '[NO_SIGN]';
113
121
  console.log(
114
122
  ` ${
115
123
  index + 1
116
- }. ${file} (O:${hasOfferMessage} A:${hasAcceptMessage} S:${hasSignMessage})`,
124
+ }. ${file} (${hasOfferMessage} ${hasAcceptMessage} ${hasSignMessage})`,
117
125
  );
118
126
  });
119
127
  });
120
128
  });
121
129
 
122
130
  describe('Round-trip Serialization Compatibility', () => {
123
- it('should test Node.js vs Current Rust-DLC Serialization Compatibility', () => {
124
- let nodeVsRustOfferPass = 0;
125
- let nodeVsRustAcceptPass = 0;
126
- let nodeVsRustSignPass = 0;
127
- let nodeVsRustOfferFail = 0;
128
- let nodeVsRustAcceptFail = 0;
129
- let nodeVsRustSignFail = 0;
130
-
131
- // Test only the first test vector for now to debug
132
- const filename = 'enum_3_of_3_test.json';
131
+ // Test representative samples against current Rust-DLC CLI for compatibility
132
+ const rustCompatTestVectors = [
133
+ 'enum_3_of_3_test.json',
134
+ 'single_oracle_numerical_test.json',
135
+ ];
136
+
137
+ rustCompatTestVectors.forEach((filename) => {
133
138
  const testData = allTestData[filename];
139
+ if (!testData) return;
134
140
 
135
- if (testData) {
136
- console.log(
137
- `\n🔬 Testing Node.js vs Current Rust-DLC for ${filename}:`,
138
- );
141
+ if (testData.offer_message) {
142
+ it(`should have Node.js DlcOffer compatible with Rust-DLC CLI for ${filename}`, function () {
143
+ // Use longer timeout in CI to account for slower build times
144
+ const isCI = process.env.CI === 'true';
145
+ this.timeout(isCI ? 90000 : 15000); // 90s in CI, 15s locally
139
146
 
140
- // Test DlcOffer
141
- if (testData.offer_message) {
142
- try {
143
- const nodeOffer = DlcOffer.fromJSON(testData.offer_message.message);
144
- const nodeJson = nodeOffer.toJSON();
145
- const nodeHex = nodeOffer.serialize().toString('hex');
146
-
147
- // Get current rust-dlc serialization
148
- const rustSerialization = callRustCli(
149
- 'serialize -t offer',
150
- JSONBigInt.stringify(nodeJson),
151
- );
152
-
153
- if (rustSerialization.status === 'success') {
154
- const rustHex = rustSerialization.data;
155
- if (nodeHex === rustHex) {
156
- nodeVsRustOfferPass++;
157
- console.log(
158
- ` ✅ DlcOffer: Node.js matches current rust-dlc serialization`,
159
- );
160
- } else {
161
- nodeVsRustOfferFail++;
162
- console.log(
163
- ` ❌ DlcOffer: Node.js vs rust-dlc hex mismatch`,
164
- );
165
- console.log(
166
- ` Node.js length: ${nodeHex.length}, Rust length: ${rustHex.length}`,
167
- );
168
- console.log(
169
- ` Node.js first 100: ${nodeHex.substring(0, 100)}`,
170
- );
171
- console.log(
172
- ` Rust first 100: ${rustHex.substring(0, 100)}`,
173
- );
174
- // Show where the difference starts
175
- for (
176
- let i = 0;
177
- i < Math.min(nodeHex.length, rustHex.length);
178
- i += 2
179
- ) {
180
- if (
181
- nodeHex.substring(i, i + 2) !== rustHex.substring(i, i + 2)
182
- ) {
183
- console.log(
184
- ` First difference at byte ${
185
- i / 2
186
- }: Node=${nodeHex.substring(
187
- i,
188
- i + 2,
189
- )} vs Rust=${rustHex.substring(i, i + 2)}`,
190
- );
191
- break;
192
- }
193
- }
194
- }
195
- } else {
196
- nodeVsRustOfferFail++;
197
- console.log(
198
- ` ❌ DlcOffer: rust-dlc serialization failed: ${rustSerialization.message}`,
199
- );
200
- }
201
- } catch (error) {
202
- nodeVsRustOfferFail++;
203
- console.log(` ❌ DlcOffer: Node.js error: ${error.message}`);
204
- }
205
- }
206
-
207
- // Test DlcAccept
208
- if (testData.accept_message) {
209
- try {
210
- const nodeAccept = DlcAccept.fromJSON(
211
- testData.accept_message.message,
212
- );
213
- const nodeJson = nodeAccept.toJSON();
214
- const nodeHex = nodeAccept.serialize().toString('hex');
215
-
216
- // Get current rust-dlc serialization
217
- const rustSerialization = callRustCli(
218
- 'serialize -t accept',
219
- JSONBigInt.stringify(nodeJson),
220
- );
221
-
222
- if (rustSerialization.status === 'success') {
223
- const rustHex = rustSerialization.data;
224
- if (nodeHex === rustHex) {
225
- nodeVsRustAcceptPass++;
226
- console.log(
227
- ` ✅ DlcAccept: Node.js matches current rust-dlc serialization`,
228
- );
229
- } else {
230
- nodeVsRustAcceptFail++;
231
- console.log(
232
- ` ❌ DlcAccept: Node.js vs rust-dlc hex mismatch`,
233
- );
234
- console.log(
235
- ` Node.js length: ${nodeHex.length}, Rust length: ${rustHex.length}`,
236
- );
237
- console.log(
238
- ` Node.js first 100: ${nodeHex.substring(0, 100)}`,
239
- );
240
- console.log(
241
- ` Rust first 100: ${rustHex.substring(0, 100)}`,
242
- );
243
- }
244
- } else {
245
- nodeVsRustAcceptFail++;
246
- console.log(
247
- ` ❌ DlcAccept: rust-dlc serialization failed: ${rustSerialization.message}`,
248
- );
249
- }
250
- } catch (error) {
251
- nodeVsRustAcceptFail++;
252
- console.log(` ❌ DlcAccept: Node.js error: ${error.message}`);
253
- }
254
- }
255
-
256
- // Test DlcSign
257
- if (testData.sign_message) {
258
- try {
259
- const nodeSign = DlcSign.fromJSON(testData.sign_message.message);
260
- const nodeJson = nodeSign.toJSON();
261
- const nodeHex = nodeSign.serialize().toString('hex');
262
-
263
- // Get current rust-dlc serialization
264
- const rustSerialization = callRustCli(
265
- 'serialize -t sign',
266
- JSONBigInt.stringify(nodeJson),
267
- );
268
-
269
- if (rustSerialization.status === 'success') {
270
- const rustHex = rustSerialization.data;
271
- if (nodeHex === rustHex) {
272
- nodeVsRustSignPass++;
273
- console.log(
274
- ` ✅ DlcSign: Node.js matches current rust-dlc serialization`,
275
- );
276
- } else {
277
- nodeVsRustSignFail++;
278
- console.log(` ❌ DlcSign: Node.js vs rust-dlc hex mismatch`);
279
- console.log(
280
- ` Node.js length: ${nodeHex.length}, Rust length: ${rustHex.length}`,
281
- );
282
- console.log(
283
- ` Node.js first 100: ${nodeHex.substring(0, 100)}`,
284
- );
285
- console.log(
286
- ` Rust first 100: ${rustHex.substring(0, 100)}`,
287
- );
288
- }
289
- } else {
290
- nodeVsRustSignFail++;
291
- console.log(
292
- ` ❌ DlcSign: rust-dlc serialization failed: ${rustSerialization.message}`,
293
- );
294
- }
295
- } catch (error) {
296
- nodeVsRustSignFail++;
297
- console.log(` ❌ DlcSign: Node.js error: ${error.message}`);
298
- }
299
- }
300
- }
147
+ const nodeOffer = DlcOffer.fromJSON(testData.offer_message.message);
148
+ const nodeJson = nodeOffer.toJSON();
149
+ const nodeHex = nodeOffer.serialize().toString('hex');
301
150
 
302
- console.log(`\n📊 Node.js vs Current Rust-DLC Compatibility Results:`);
303
- console.log(
304
- ` ✅ DlcOffer compatibility: ${nodeVsRustOfferPass} pass, ${nodeVsRustOfferFail} fail`,
305
- );
306
- console.log(
307
- ` ✅ DlcAccept compatibility: ${nodeVsRustAcceptPass} pass, ${nodeVsRustAcceptFail} fail`,
308
- );
309
- console.log(
310
- ` ✅ DlcSign compatibility: ${nodeVsRustSignPass} pass, ${nodeVsRustSignFail} fail`,
311
- );
151
+ const rustSerialization = callRustCli(
152
+ 'serialize -t offer',
153
+ JSONBigInt.stringify(nodeJson),
154
+ );
312
155
 
313
- // This is the real compatibility test - we want Node.js to match current rust-dlc
314
- expect(
315
- nodeVsRustOfferPass + nodeVsRustAcceptPass + nodeVsRustSignPass,
316
- ).to.be.greaterThan(
317
- -1,
318
- 'At least some compatibility with current rust-dlc',
319
- );
320
- });
156
+ expect(rustSerialization.status).to.equal(
157
+ 'success',
158
+ `Rust CLI serialization failed: ${rustSerialization.message}`,
159
+ );
321
160
 
322
- it('should test DlcOffer serialization against all test vectors', () => {
323
- let passCount = 0;
324
- let failCount = 0;
325
- const results: Array<{
326
- file: string;
327
- status: string;
328
- error?: string;
329
- }> = [];
330
-
331
- testVectorFiles.forEach((filename) => {
332
- const testData = allTestData[filename];
333
- if (!testData?.offer_message) {
334
- return; // Skip if no offer message in this test vector
335
- }
161
+ const rustHex = rustSerialization.data;
162
+ expect(nodeHex).to.equal(
163
+ rustHex,
164
+ `Node.js vs Rust-DLC CLI serialization mismatch for ${filename}`,
165
+ );
166
+ });
167
+ }
336
168
 
337
- const expectedHex = testData.offer_message.serialized;
338
- const messageJson = testData.offer_message.message;
169
+ if (testData.accept_message) {
170
+ it(`should have Node.js DlcAccept compatible with Rust-DLC CLI for ${filename}`, function () {
171
+ // Use longer timeout in CI to account for slower build times
172
+ const isCI = process.env.CI === 'true';
173
+ this.timeout(isCI ? 90000 : 15000); // 90s in CI, 15s locally
339
174
 
340
- try {
341
- const offer = DlcOffer.fromJSON(messageJson);
342
- const actualHex = offer.serialize().toString('hex');
343
-
344
- if (actualHex === expectedHex) {
345
- passCount++;
346
- results.push({ file: filename, status: 'PASS' });
347
- } else {
348
- failCount++;
349
- // // stringify json
350
- // console.log(
351
- // 'offer.toJSON',
352
- // JSON.stringify(offer.toJSON(), null, 2),
353
- // );
354
- results.push({
355
- file: filename,
356
- status: 'FAIL',
357
- error: `Hex mismatch. Expected:\n${expectedHex}\nGot:\n${actualHex}`,
358
- });
359
-
360
- console.log('messageJson', messageJson);
361
- }
362
- } catch (error) {
363
- failCount++;
364
- results.push({
365
- file: filename,
366
- status: 'ERROR',
367
- error: error.message.slice(0, 100) + '...',
368
- });
369
- }
370
- });
175
+ const nodeAccept = DlcAccept.fromJSON(
176
+ testData.accept_message.message,
177
+ );
178
+ const nodeJson = nodeAccept.toJSON();
179
+ const nodeHex = nodeAccept.serialize().toString('hex');
371
180
 
372
- console.log(`\n📊 DlcOffer Serialization Test Results:`);
373
- console.log(` ✅ Passed: ${passCount}/${testVectorFiles.length}`);
374
- console.log(` ❌ Failed: ${failCount}/${testVectorFiles.length}`);
181
+ const rustSerialization = callRustCli(
182
+ 'serialize -t accept',
183
+ JSONBigInt.stringify(nodeJson),
184
+ );
185
+
186
+ expect(rustSerialization.status).to.equal(
187
+ 'success',
188
+ `Rust CLI serialization failed: ${rustSerialization.message}`,
189
+ );
375
190
 
376
- if (failCount > 0) {
377
- console.log(`\n📋 Detailed Results:`);
378
- results.forEach((result, index) => {
379
- const icon = result.status === 'PASS' ? '✅' : '❌';
380
- console.log(
381
- ` ${index + 1}. ${icon} ${result.file} - ${result.status}`,
191
+ const rustHex = rustSerialization.data;
192
+ expect(nodeHex).to.equal(
193
+ rustHex,
194
+ `Node.js vs Rust-DLC CLI serialization mismatch for ${filename}`,
382
195
  );
383
- if (result.error) {
384
- console.log(` Error: ${result.error}`);
385
- }
386
196
  });
387
197
  }
388
198
 
389
- // For now, we expect some failures since fromJSON implementations are still incomplete
390
- expect(testVectorFiles.length).to.be.greaterThan(
391
- 0,
392
- 'Should have test vectors to test',
393
- );
394
- });
199
+ if (testData.sign_message) {
200
+ it(`should have Node.js DlcSign compatible with Rust-DLC CLI for ${filename}`, function () {
201
+ // Use longer timeout in CI to account for slower build times
202
+ const isCI = process.env.CI === 'true';
203
+ this.timeout(isCI ? 90000 : 15000); // 90s in CI, 15s locally
395
204
 
396
- it('should test DlcAccept serialization against all test vectors', () => {
397
- let passCount = 0;
398
- let failCount = 0;
399
- const results: Array<{
400
- file: string;
401
- status: string;
402
- error?: string;
403
- }> = [];
404
-
405
- testVectorFiles.forEach((filename) => {
406
- const testData = allTestData[filename];
407
- if (!testData?.accept_message) {
408
- return; // Skip if no accept message in this test vector
409
- }
205
+ const nodeSign = DlcSign.fromJSON(testData.sign_message.message);
206
+ const nodeJson = nodeSign.toJSON();
207
+ const nodeHex = nodeSign.serialize().toString('hex');
410
208
 
411
- const expectedHex = testData.accept_message.serialized;
412
- const messageJson = testData.accept_message.message;
413
-
414
- try {
415
- const accept = DlcAccept.fromJSON(messageJson);
416
- const actualHex = accept.serialize().toString('hex');
417
-
418
- if (actualHex === expectedHex) {
419
- passCount++;
420
- results.push({ file: filename, status: 'PASS' });
421
- } else {
422
- failCount++;
423
- results.push({
424
- file: filename,
425
- status: 'FAIL',
426
- error: `Hex mismatch. Expected:\n${expectedHex}\nGot:\n${actualHex}`,
427
- });
428
- }
429
- } catch (error) {
430
- failCount++;
431
- results.push({
432
- file: filename,
433
- status: 'ERROR',
434
- error: error.message.slice(0, 100) + '...',
435
- });
436
- }
437
- });
209
+ const rustSerialization = callRustCli(
210
+ 'serialize -t sign',
211
+ JSONBigInt.stringify(nodeJson),
212
+ );
438
213
 
439
- console.log(`\n📊 DlcAccept Serialization Test Results:`);
440
- console.log(` ✅ Passed: ${passCount}/${testVectorFiles.length}`);
441
- console.log(` Failed: ${failCount}/${testVectorFiles.length}`);
214
+ expect(rustSerialization.status).to.equal(
215
+ 'success',
216
+ `Rust CLI serialization failed: ${rustSerialization.message}`,
217
+ );
442
218
 
443
- if (failCount > 0) {
444
- console.log(`\n📋 Detailed Results:`);
445
- results.forEach((result, index) => {
446
- const icon = result.status === 'PASS' ? '✅' : '❌';
447
- console.log(
448
- ` ${index + 1}. ${icon} ${result.file} - ${result.status}`,
219
+ const rustHex = rustSerialization.data;
220
+ expect(nodeHex).to.equal(
221
+ rustHex,
222
+ `Node.js vs Rust-DLC CLI serialization mismatch for ${filename}`,
449
223
  );
450
- if (result.error) {
451
- console.log(` Error: ${result.error}`);
452
- }
453
224
  });
454
225
  }
226
+ });
455
227
 
456
- // For now, we expect some failures since fromJSON implementations are still incomplete
457
- expect(testVectorFiles.length).to.be.greaterThan(
458
- 0,
459
- 'Should have test vectors to test',
460
- );
228
+ // Generate individual test cases for DlcOffer serialization
229
+ testVectorFiles.forEach((filename) => {
230
+ const testData = allTestData[filename];
231
+ if (!testData?.offer_message) return;
232
+
233
+ it(`should correctly serialize DlcOffer for ${filename}`, () => {
234
+ const expectedHex = testData.offer_message.serialized;
235
+ const messageJson = testData.offer_message.message;
236
+
237
+ const offer = DlcOffer.fromJSON(messageJson);
238
+ const actualHex = offer.serialize().toString('hex');
239
+
240
+ expect(actualHex).to.equal(
241
+ expectedHex,
242
+ `DlcOffer serialization mismatch for ${filename}`,
243
+ );
244
+ });
461
245
  });
462
246
 
463
- it('should test DlcSign serialization against all test vectors', () => {
464
- let passCount = 0;
465
- let failCount = 0;
466
- const results: Array<{
467
- file: string;
468
- status: string;
469
- error?: string;
470
- }> = [];
471
-
472
- testVectorFiles.forEach((filename) => {
473
- const testData = allTestData[filename];
474
- if (!testData?.sign_message) {
475
- return; // Skip if no sign message in this test vector
476
- }
247
+ // Generate individual test cases for DlcAccept serialization
248
+ testVectorFiles.forEach((filename) => {
249
+ const testData = allTestData[filename];
250
+ if (!testData?.accept_message) return;
251
+
252
+ it(`should correctly serialize DlcAccept for ${filename}`, () => {
253
+ const expectedHex = testData.accept_message.serialized;
254
+ const messageJson = testData.accept_message.message;
255
+
256
+ const accept = DlcAccept.fromJSON(messageJson);
257
+ const actualHex = accept.serialize().toString('hex');
477
258
 
259
+ expect(actualHex).to.equal(
260
+ expectedHex,
261
+ `DlcAccept serialization mismatch for ${filename}`,
262
+ );
263
+ });
264
+ });
265
+
266
+ // Generate individual test cases for DlcSign serialization
267
+ testVectorFiles.forEach((filename) => {
268
+ const testData = allTestData[filename];
269
+ if (!testData?.sign_message) return;
270
+
271
+ it(`should correctly serialize DlcSign for ${filename}`, () => {
478
272
  const expectedHex = testData.sign_message.serialized;
479
273
  const messageJson = testData.sign_message.message;
480
274
 
481
- try {
482
- const sign = DlcSign.fromJSON(messageJson);
483
- const actualHex = sign.serialize().toString('hex');
484
-
485
- if (actualHex === expectedHex) {
486
- passCount++;
487
- results.push({ file: filename, status: 'PASS' });
488
- } else {
489
- failCount++;
490
- results.push({
491
- file: filename,
492
- status: 'FAIL',
493
- error: `Hex mismatch. Expected:\n${expectedHex}\nGot:\n${actualHex}`,
494
- });
495
- }
496
- } catch (error) {
497
- failCount++;
498
- results.push({
499
- file: filename,
500
- status: 'ERROR',
501
- error: error.message.slice(0, 100) + '...',
502
- });
503
- }
275
+ const sign = DlcSign.fromJSON(messageJson);
276
+ const actualHex = sign.serialize().toString('hex');
277
+
278
+ expect(actualHex).to.equal(
279
+ expectedHex,
280
+ `DlcSign serialization mismatch for ${filename}`,
281
+ );
504
282
  });
283
+ });
505
284
 
506
- console.log(`\n📊 DlcSign Serialization Test Results:`);
507
- console.log(` ✅ Passed: ${passCount}/${testVectorFiles.length}`);
508
- console.log(` ❌ Failed: ${failCount}/${testVectorFiles.length}`);
285
+ // Generate individual test cases for DlcOffer deserialization
286
+ testVectorFiles.forEach((filename) => {
287
+ const testData = allTestData[filename];
288
+ if (!testData?.offer_message) return;
509
289
 
510
- if (failCount > 0) {
511
- console.log(`\n📋 Detailed Results:`);
512
- results.forEach((result, index) => {
513
- const icon = result.status === 'PASS' ? '✅' : '❌';
514
- console.log(
515
- ` ${index + 1}. ${icon} ${result.file} - ${result.status}`,
516
- );
517
- if (result.error) {
518
- console.log(` Error: ${result.error}`);
519
- }
520
- });
521
- }
290
+ it(`should correctly deserialize DlcOffer for ${filename}`, () => {
291
+ const serializedHex = testData.offer_message.serialized;
292
+ const inputBuffer = Buffer.from(serializedHex, 'hex');
522
293
 
523
- // For now, we expect some failures since fromJSON implementations are still incomplete
524
- expect(testVectorFiles.length).to.be.greaterThan(
525
- 0,
526
- 'Should have test vectors to test',
527
- );
294
+ const offer = DlcOffer.deserialize(inputBuffer);
295
+ const reserializedHex = offer.serialize().toString('hex');
296
+
297
+ expect(reserializedHex).to.equal(
298
+ serializedHex,
299
+ `DlcOffer deserialization round-trip failed for ${filename}`,
300
+ );
301
+ });
528
302
  });
529
303
 
530
- it('should demonstrate current deserialization behavior across all test vectors', () => {
531
- let offerDeserializePass = 0;
532
- let acceptDeserializePass = 0;
533
- let signDeserializePass = 0;
534
- let offerDeserializeFail = 0;
535
- let acceptDeserializeFail = 0;
536
- let signDeserializeFail = 0;
537
-
538
- testVectorFiles.forEach((filename) => {
539
- const testData = allTestData[filename];
540
-
541
- // Test DlcOffer deserialization
542
- if (testData?.offer_message) {
543
- try {
544
- const serializedHex = testData.offer_message.serialized;
545
- const inputBuffer = Buffer.from(serializedHex, 'hex');
546
- const offer = DlcOffer.deserialize(inputBuffer);
547
- const reserializedHex = offer.serialize().toString('hex');
548
- if (reserializedHex === serializedHex) {
549
- offerDeserializePass++;
550
- } else {
551
- offerDeserializeFail++;
552
- }
553
- } catch (error) {
554
- offerDeserializeFail++;
555
- }
556
- }
557
-
558
- // Test DlcAccept deserialization
559
- if (testData?.accept_message) {
560
- try {
561
- const serializedHex = testData.accept_message.serialized;
562
- const inputBuffer = Buffer.from(serializedHex, 'hex');
563
- const accept = DlcAccept.deserialize(inputBuffer);
564
- const reserializedHex = accept.serialize().toString('hex');
565
- if (reserializedHex === serializedHex) {
566
- acceptDeserializePass++;
567
- } else {
568
- acceptDeserializeFail++;
569
- }
570
- } catch (error) {
571
- acceptDeserializeFail++;
572
- }
573
- }
574
-
575
- // Test DlcSign deserialization
576
- if (testData?.sign_message) {
577
- try {
578
- const serializedHex = testData.sign_message.serialized;
579
- const inputBuffer = Buffer.from(serializedHex, 'hex');
580
- const sign = DlcSign.deserialize(inputBuffer);
581
- const reserializedHex = sign.serialize().toString('hex');
582
- if (reserializedHex === serializedHex) {
583
- signDeserializePass++;
584
- } else {
585
- signDeserializeFail++;
586
- }
587
- } catch (error) {
588
- signDeserializeFail++;
589
- }
590
- }
304
+ // Generate individual test cases for DlcAccept deserialization
305
+ testVectorFiles.forEach((filename) => {
306
+ const testData = allTestData[filename];
307
+ if (!testData?.accept_message) return;
308
+
309
+ it(`should correctly deserialize DlcAccept for ${filename}`, () => {
310
+ const serializedHex = testData.accept_message.serialized;
311
+ const inputBuffer = Buffer.from(serializedHex, 'hex');
312
+
313
+ const accept = DlcAccept.deserialize(inputBuffer);
314
+ const reserializedHex = accept.serialize().toString('hex');
315
+
316
+ expect(reserializedHex).to.equal(
317
+ serializedHex,
318
+ `DlcAccept deserialization round-trip failed for ${filename}`,
319
+ );
591
320
  });
321
+ });
592
322
 
593
- console.log(`\n📊 Deserialization Test Results:`);
594
- console.log(
595
- ` DlcOffer: ${offerDeserializePass} pass, ${offerDeserializeFail} fail`,
596
- );
597
- console.log(
598
- ` DlcAccept: ${acceptDeserializePass} pass, ${acceptDeserializeFail} fail`,
599
- );
600
- console.log(
601
- ` DlcSign: ${signDeserializePass} pass, ${signDeserializeFail} fail`,
602
- );
323
+ // Generate individual test cases for DlcSign deserialization
324
+ testVectorFiles.forEach((filename) => {
325
+ const testData = allTestData[filename];
326
+ if (!testData?.sign_message) return;
603
327
 
604
- // This documents current deserialization status - we expect failures due to format differences
605
- expect(testVectorFiles.length).to.be.greaterThan(
606
- 0,
607
- 'Should have test vectors to test',
608
- );
328
+ it(`should correctly deserialize DlcSign for ${filename}`, () => {
329
+ const serializedHex = testData.sign_message.serialized;
330
+ const inputBuffer = Buffer.from(serializedHex, 'hex');
331
+
332
+ const sign = DlcSign.deserialize(inputBuffer);
333
+ const reserializedHex = sign.serialize().toString('hex');
334
+
335
+ expect(reserializedHex).to.equal(
336
+ serializedHex,
337
+ `DlcSign deserialization round-trip failed for ${filename}`,
338
+ );
339
+ });
609
340
  });
610
341
  });
611
342
  });