@atomicfinance/bitcoin-dlc-provider 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/.nvmrc +1 -1
  2. package/.turbo/turbo-build.log +1 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  5. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  6. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/messaging/README.md +24 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  45. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  46. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  47. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  119. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  120. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  121. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  122. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  123. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  124. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  134. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  135. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  136. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  137. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  138. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  139. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  140. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  141. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  142. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  143. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  144. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  145. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  263. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  264. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  265. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  275. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  276. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  277. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  278. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  279. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  280. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  281. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  282. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  283. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  284. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  286. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  287. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  288. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  289. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  290. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  291. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  327. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  328. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  329. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  331. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  332. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  333. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  334. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  335. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  336. package/.yalc/@node-dlc/messaging/package.json +42 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  360. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  361. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  362. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  363. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  364. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  365. package/CHANGELOG.md +83 -0
  366. package/dist/BitcoinDlcProvider.d.ts +17 -16
  367. package/dist/BitcoinDlcProvider.js +375 -317
  368. package/dist/BitcoinDlcProvider.js.map +1 -1
  369. package/dist/utils/Utils.d.ts +6 -6
  370. package/dist/utils/Utils.js +4 -4
  371. package/dist/utils/Utils.js.map +1 -1
  372. package/lib/BitcoinDlcProvider.ts +637 -621
  373. package/lib/utils/Utils.ts +19 -24
  374. package/package.json +13 -11
  375. package/yalc.lock +10 -0
@@ -0,0 +1,304 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractInfoV1 = exports.ContractInfoV0 = exports.DisjointContractInfo = exports.SingleContractInfo = exports.ContractInfo = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const ContractDescriptor_1 = require("./ContractDescriptor");
7
+ const DlcMessage_1 = require("./DlcMessage");
8
+ const OracleInfo_1 = require("./OracleInfo");
9
+ class ContractInfo extends DlcMessage_1.DlcMessage {
10
+ static deserialize(buf) {
11
+ const reader = new bufio_1.BufferReader(buf);
12
+ const typeId = Number(reader.readBigSize());
13
+ switch (typeId) {
14
+ case MessageType_1.ContractInfoType.Single:
15
+ return SingleContractInfo.deserialize(buf);
16
+ case MessageType_1.ContractInfoType.Disjoint:
17
+ return DisjointContractInfo.deserialize(buf);
18
+ default:
19
+ throw new Error(`Contract info type must be Single (0) or Disjoint (1), got ${typeId}`);
20
+ }
21
+ }
22
+ /**
23
+ * Creates a ContractInfo from JSON data (e.g., from test vectors)
24
+ * @param json JSON object representing contract info
25
+ */
26
+ static fromJSON(json) {
27
+ if (!json) {
28
+ throw new Error('contractInfo is required');
29
+ }
30
+ // Check if it's a single contract info or disjoint contract info
31
+ if (json.singleContractInfo || json.single_contract_info) {
32
+ return SingleContractInfo.fromJSON(json.singleContractInfo || json.single_contract_info);
33
+ }
34
+ else if (json.disjointContractInfo || json.disjoint_contract_info) {
35
+ return DisjointContractInfo.fromJSON(json.disjointContractInfo || json.disjoint_contract_info);
36
+ }
37
+ else {
38
+ throw new Error('contractInfo must have either singleContractInfo or disjointContractInfo');
39
+ }
40
+ }
41
+ // Method to get total collateral (for compatibility)
42
+ getTotalCollateral() {
43
+ return this.totalCollateral;
44
+ }
45
+ }
46
+ exports.ContractInfo = ContractInfo;
47
+ /**
48
+ * SingleContractInfo contains information about a contract's outcomes,
49
+ * their corresponding payouts, and the oracles to be used.
50
+ * This corresponds to the previous ContractInfoV0.
51
+ */
52
+ class SingleContractInfo extends ContractInfo {
53
+ constructor() {
54
+ super(...arguments);
55
+ /**
56
+ * The type for single_contract_info message - using MessageType for IDlcMessage compatibility
57
+ */
58
+ this.type = MessageType_1.MessageType.SingleContractInfo;
59
+ /**
60
+ * The contract info type for new format
61
+ */
62
+ this.contractInfoType = MessageType_1.ContractInfoType.Single;
63
+ }
64
+ /**
65
+ * Creates a SingleContractInfo from JSON data
66
+ * @param json JSON object representing single contract info
67
+ */
68
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
69
+ static fromJSON(json) {
70
+ const instance = new SingleContractInfo();
71
+ instance.totalCollateral = BigInt(json.totalCollateral || json.total_collateral || 0);
72
+ // Handle nested contractInfo structure (test vectors have double nesting)
73
+ const contractInfoData = json.contractInfo || json.contract_info || json;
74
+ // Parse contract descriptor using proper fromJSON method
75
+ instance.contractDescriptor = ContractDescriptor_1.ContractDescriptor.fromJSON(contractInfoData.contractDescriptor ||
76
+ contractInfoData.contract_descriptor);
77
+ // Parse oracle info using proper fromJSON method
78
+ instance.oracleInfo = OracleInfo_1.OracleInfo.fromJSON(contractInfoData.oracleInfo || contractInfoData.oracle_info);
79
+ return instance;
80
+ }
81
+ /**
82
+ * Deserializes a single_contract_info message
83
+ * @param buf
84
+ */
85
+ static deserialize(buf) {
86
+ const instance = new SingleContractInfo();
87
+ const reader = new bufio_1.BufferReader(buf);
88
+ reader.readBigSize(); // read type (0)
89
+ instance.totalCollateral = reader.readUInt64BE();
90
+ // Read contract descriptor as sibling type (starts with its own type prefix)
91
+ instance.contractDescriptor = ContractDescriptor_1.ContractDescriptor.deserialize(reader.buffer.subarray(reader.position));
92
+ // Skip past the contract descriptor we just read
93
+ const descLength = instance.contractDescriptor.serialize().length;
94
+ reader.position += descLength;
95
+ // Read oracle info with rust-dlc format - discriminator + body
96
+ const oracleType = Number(reader.readBigSize());
97
+ if (oracleType === 0) {
98
+ // Single oracle
99
+ instance.oracleInfo = OracleInfo_1.SingleOracleInfo.deserializeBody(reader.buffer.subarray(reader.position));
100
+ }
101
+ else if (oracleType === 1) {
102
+ // Multi oracle
103
+ instance.oracleInfo = OracleInfo_1.MultiOracleInfo.deserializeBody(reader.buffer.subarray(reader.position));
104
+ }
105
+ else {
106
+ throw new Error(`Unknown oracle info type: ${oracleType}`);
107
+ }
108
+ return instance;
109
+ }
110
+ // Compatibility property
111
+ get length() {
112
+ return BigInt(this.serialize().length);
113
+ }
114
+ /**
115
+ * Validates correctness of all fields in the message
116
+ * @throws Will throw an error if validation fails
117
+ */
118
+ validate() {
119
+ if (this.totalCollateral <= 0) {
120
+ throw new Error('totalCollateral must be greater than 0');
121
+ }
122
+ this.oracleInfo.validate();
123
+ // TODO: Add contract descriptor validation once available
124
+ // this.contractDescriptor.validate();
125
+ }
126
+ /**
127
+ * Converts single_contract_info to JSON
128
+ */
129
+ toJSON() {
130
+ // Return enum variant format for Rust compatibility
131
+ return {
132
+ singleContractInfo: {
133
+ totalCollateral: Number(this.totalCollateral),
134
+ contractInfo: {
135
+ contractDescriptor: this.contractDescriptor.toJSON(),
136
+ oracleInfo: this.oracleInfo.toJSON(),
137
+ },
138
+ },
139
+ };
140
+ }
141
+ /**
142
+ * Serializes the single_contract_info message into a Buffer
143
+ */
144
+ serialize() {
145
+ const writer = new bufio_1.BufferWriter();
146
+ writer.writeBigSize(this.contractInfoType);
147
+ writer.writeUInt64BE(this.totalCollateral);
148
+ writer.writeBytes(this.contractDescriptor.serialize());
149
+ // Use serializeBody() to match rust-dlc behavior - don't add extra TLV wrapper
150
+ if (this.oracleInfo instanceof OracleInfo_1.SingleOracleInfo) {
151
+ writer.writeBigSize(0); // Single oracle discriminator
152
+ writer.writeBytes(this.oracleInfo.serializeBody());
153
+ }
154
+ else {
155
+ writer.writeBigSize(1); // Multi oracle discriminator
156
+ writer.writeBytes(this.oracleInfo.serializeBody());
157
+ }
158
+ return writer.toBuffer();
159
+ }
160
+ }
161
+ exports.SingleContractInfo = SingleContractInfo;
162
+ SingleContractInfo.contractInfoType = MessageType_1.ContractInfoType.Single;
163
+ SingleContractInfo.type = MessageType_1.MessageType.SingleContractInfo;
164
+ /**
165
+ * DisjointContractInfo contains information about multiple disjoint contract events.
166
+ * This corresponds to the previous ContractInfoV1.
167
+ */
168
+ class DisjointContractInfo extends ContractInfo {
169
+ constructor() {
170
+ super(...arguments);
171
+ /**
172
+ * The type for disjoint_contract_info message - using MessageType for IDlcMessage compatibility
173
+ */
174
+ this.type = MessageType_1.MessageType.DisjointContractInfo;
175
+ /**
176
+ * The contract info type for new format
177
+ */
178
+ this.contractInfoType = MessageType_1.ContractInfoType.Disjoint;
179
+ this.contractOraclePairs = [];
180
+ }
181
+ /**
182
+ * Creates a DisjointContractInfo from JSON data
183
+ * @param json JSON object representing disjoint contract info
184
+ */
185
+ static fromJSON(json) {
186
+ const instance = new DisjointContractInfo();
187
+ instance.totalCollateral = BigInt(json.totalCollateral || json.total_collateral || 0);
188
+ // Parse contract infos array
189
+ const contractInfosData = json.contractInfos || json.contract_infos || [];
190
+ instance.contractOraclePairs = contractInfosData.map((contractInfoData) => ({
191
+ contractDescriptor: ContractDescriptor_1.ContractDescriptor.fromJSON(contractInfoData.contractDescriptor ||
192
+ contractInfoData.contract_descriptor),
193
+ oracleInfo: OracleInfo_1.OracleInfo.fromJSON(contractInfoData.oracleInfo || contractInfoData.oracle_info),
194
+ }));
195
+ return instance;
196
+ }
197
+ /**
198
+ * Deserializes a disjoint_contract_info message
199
+ * @param buf
200
+ */
201
+ static deserialize(buf) {
202
+ const instance = new DisjointContractInfo();
203
+ const reader = new bufio_1.BufferReader(buf);
204
+ reader.readBigSize(); // read type (1)
205
+ instance.totalCollateral = reader.readUInt64BE();
206
+ const numDisjointEvents = Number(reader.readBigSize());
207
+ for (let i = 0; i < numDisjointEvents; i++) {
208
+ // Read contract descriptor as sibling type (starts with its own type prefix)
209
+ const contractDescriptor = ContractDescriptor_1.ContractDescriptor.deserialize(reader.buffer.subarray(reader.position));
210
+ // Skip past the contract descriptor we just read
211
+ const descLength = contractDescriptor.serialize().length;
212
+ reader.position += descLength;
213
+ // Read oracle info with rust-dlc format - discriminator + body (same as SingleContractInfo)
214
+ const oracleType = Number(reader.readBigSize());
215
+ let oracleInfo;
216
+ if (oracleType === 0) {
217
+ // Single oracle
218
+ oracleInfo = OracleInfo_1.SingleOracleInfo.deserializeBody(reader.buffer.subarray(reader.position));
219
+ }
220
+ else if (oracleType === 1) {
221
+ // Multi oracle
222
+ oracleInfo = OracleInfo_1.MultiOracleInfo.deserializeBody(reader.buffer.subarray(reader.position));
223
+ }
224
+ else {
225
+ throw new Error(`Unknown oracle info type: ${oracleType}`);
226
+ }
227
+ // Skip past the oracle info we just read
228
+ const oracleInfoLength = oracleInfo.serializeBody().length;
229
+ reader.position += oracleInfoLength;
230
+ instance.contractOraclePairs.push({ contractDescriptor, oracleInfo });
231
+ }
232
+ return instance;
233
+ }
234
+ // Compatibility property
235
+ get length() {
236
+ return BigInt(this.serialize().length);
237
+ }
238
+ /**
239
+ * Validates correctness of all fields in the message
240
+ * @throws Will throw an error if validation fails
241
+ */
242
+ validate() {
243
+ if (this.totalCollateral <= 0) {
244
+ throw new Error('totalCollateral must be greater than 0');
245
+ }
246
+ if (this.contractOraclePairs.length === 0) {
247
+ throw new Error('contractOraclePairs cannot be empty');
248
+ }
249
+ this.contractOraclePairs.forEach((pair, index) => {
250
+ try {
251
+ pair.oracleInfo.validate();
252
+ // TODO: Add contract descriptor validation once available
253
+ // pair.contractDescriptor.validate();
254
+ }
255
+ catch (error) {
256
+ throw new Error(`Validation failed for contract oracle pair ${index}: ${error.message}`);
257
+ }
258
+ });
259
+ }
260
+ /**
261
+ * Converts disjoint_contract_info to JSON
262
+ */
263
+ toJSON() {
264
+ // Return enum variant format for Rust compatibility
265
+ return {
266
+ disjointContractInfo: {
267
+ totalCollateral: Number(this.totalCollateral),
268
+ contractInfos: this.contractOraclePairs.map((pair) => ({
269
+ contractDescriptor: pair.contractDescriptor.toJSON(),
270
+ oracleInfo: pair.oracleInfo.toJSON(),
271
+ })),
272
+ },
273
+ };
274
+ }
275
+ /**
276
+ * Serializes the disjoint_contract_info message into a Buffer
277
+ */
278
+ serialize() {
279
+ const writer = new bufio_1.BufferWriter();
280
+ writer.writeBigSize(this.contractInfoType);
281
+ writer.writeUInt64BE(this.totalCollateral);
282
+ writer.writeBigSize(this.contractOraclePairs.length);
283
+ for (const pair of this.contractOraclePairs) {
284
+ writer.writeBytes(pair.contractDescriptor.serialize());
285
+ // Write oracle info with discriminator like SingleContractInfo does
286
+ if (pair.oracleInfo instanceof OracleInfo_1.SingleOracleInfo) {
287
+ writer.writeBigSize(0); // Single oracle discriminator
288
+ writer.writeBytes(pair.oracleInfo.serializeBody());
289
+ }
290
+ else {
291
+ writer.writeBigSize(1); // Multi oracle discriminator
292
+ writer.writeBytes(pair.oracleInfo.serializeBody());
293
+ }
294
+ }
295
+ return writer.toBuffer();
296
+ }
297
+ }
298
+ exports.DisjointContractInfo = DisjointContractInfo;
299
+ DisjointContractInfo.contractInfoType = MessageType_1.ContractInfoType.Disjoint;
300
+ DisjointContractInfo.type = MessageType_1.MessageType.DisjointContractInfo;
301
+ // Legacy support - keeping old class names as aliases (both value and type exports)
302
+ exports.ContractInfoV0 = SingleContractInfo;
303
+ exports.ContractInfoV1 = DisjointContractInfo;
304
+ //# sourceMappingURL=ContractInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractInfo.js","sourceRoot":"","sources":["../../lib/messages/ContractInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /// <reference types="node" />
2
+ import { BitcoinNetwork } from 'bitcoin-networks';
3
+ import { MessageType } from '../MessageType';
4
+ import { BatchFundingGroup } from './BatchFundingGroup';
5
+ import { CetAdaptorSignatures, ICetAdaptorSignaturesJSON } from './CetAdaptorSignatures';
6
+ import { IDlcMessage } from './DlcMessage';
7
+ import { FundingInput, IFundingInputJSON } from './FundingInput';
8
+ import { INegotiationFieldsV0JSON, INegotiationFieldsV1JSON, INegotiationFieldsV2JSON, NegotiationFields } from './NegotiationFields';
9
+ /**
10
+ * DlcAccept contains information about a node and indicates its
11
+ * acceptance of the new DLC, as well as its CET and refund
12
+ * transaction signatures. This is the second step toward creating
13
+ * the funding transaction and closing transactions.
14
+ * Updated to support dlcspecs PR #163 format.
15
+ */
16
+ export declare class DlcAccept implements IDlcMessage {
17
+ static type: MessageType;
18
+ /**
19
+ * Creates a DlcAccept from JSON data (e.g., from test vectors)
20
+ * Handles both our internal format and external test vector formats
21
+ * @param json JSON object representing a DLC accept
22
+ */
23
+ static fromJSON(json: any): DlcAccept;
24
+ /**
25
+ * Parses FundingInputs from JSON
26
+ * @param fundingInputsJson Array of JSON objects representing funding inputs
27
+ */
28
+ private static parseFundingInputsFromJSON;
29
+ /**
30
+ * Parses CetAdaptorSignatures from JSON
31
+ * @param cetSigsJson JSON object representing CET adaptor signatures
32
+ */
33
+ private static parseCetAdaptorSignaturesFromJSON;
34
+ /**
35
+ * Parses NegotiationFields from JSON
36
+ * @param negotiationJson JSON object representing negotiation fields
37
+ */
38
+ private static parseNegotiationFieldsFromJSON;
39
+ /**
40
+ * Deserializes an accept_dlc message
41
+ * @param buf
42
+ */
43
+ static deserialize(buf: Buffer, parseCets?: boolean): DlcAccept;
44
+ /**
45
+ * The type for accept_dlc message. accept_dlc = 42780
46
+ */
47
+ type: MessageType;
48
+ protocolVersion: number;
49
+ temporaryContractId: Buffer;
50
+ acceptCollateral: bigint;
51
+ fundingPubkey: Buffer;
52
+ payoutSpk: Buffer;
53
+ payoutSerialId: bigint;
54
+ fundingInputs: FundingInput[];
55
+ changeSpk: Buffer;
56
+ changeSerialId: bigint;
57
+ cetAdaptorSignatures: CetAdaptorSignatures;
58
+ refundSignature: Buffer;
59
+ negotiationFields?: NegotiationFields;
60
+ batchFundingGroups?: BatchFundingGroup[];
61
+ unknownTlvs?: Array<{
62
+ type: number;
63
+ data: Buffer;
64
+ }>;
65
+ /**
66
+ * Get funding, change and payout address from DlcAccept
67
+ * @param network Bitcoin Network
68
+ * @returns {IDlcAcceptAddresses}
69
+ */
70
+ getAddresses(network: BitcoinNetwork): IDlcAcceptAddresses;
71
+ /**
72
+ * Validates correctness of all fields
73
+ * Updated validation rules as per dlcspecs PR #163
74
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#the-accept_dlc-message
75
+ * @throws Will throw an error if validation fails
76
+ */
77
+ validate(): void;
78
+ /**
79
+ * Converts accept_dlc to JSON (canonical rust-dlc format)
80
+ */
81
+ toJSON(): IDlcAcceptJSON;
82
+ /**
83
+ * Serializes the accept_dlc message into a Buffer
84
+ * Updated serialization format as per dlcspecs PR #163
85
+ */
86
+ serialize(): Buffer;
87
+ withoutSigs(): DlcAcceptWithoutSigs;
88
+ }
89
+ export declare class DlcAcceptWithoutSigs {
90
+ readonly protocolVersion: number;
91
+ readonly temporaryContractId: Buffer;
92
+ readonly acceptCollateral: bigint;
93
+ readonly fundingPubkey: Buffer;
94
+ readonly payoutSpk: Buffer;
95
+ readonly payoutSerialId: bigint;
96
+ readonly fundingInputs: FundingInput[];
97
+ readonly changeSpk: Buffer;
98
+ readonly changeSerialId: bigint;
99
+ readonly negotiationFields?: NegotiationFields;
100
+ readonly batchFundingGroups?: BatchFundingGroup[];
101
+ constructor(protocolVersion: number, temporaryContractId: Buffer, acceptCollateral: bigint, fundingPubkey: Buffer, payoutSpk: Buffer, payoutSerialId: bigint, fundingInputs: FundingInput[], changeSpk: Buffer, changeSerialId: bigint, negotiationFields?: NegotiationFields, batchFundingGroups?: BatchFundingGroup[]);
102
+ }
103
+ export interface IDlcAcceptJSON {
104
+ protocolVersion: number;
105
+ temporaryContractId: string;
106
+ acceptCollateral: number;
107
+ fundingPubkey: string;
108
+ payoutSpk: string;
109
+ payoutSerialId: number;
110
+ fundingInputs: IFundingInputJSON[];
111
+ changeSpk: string;
112
+ changeSerialId: number;
113
+ cetAdaptorSignatures: ICetAdaptorSignaturesJSON;
114
+ refundSignature: string;
115
+ negotiationFields?: INegotiationFieldsV0JSON | INegotiationFieldsV1JSON | INegotiationFieldsV2JSON;
116
+ }
117
+ export interface IDlcAcceptAddresses {
118
+ fundingAddress: string;
119
+ changeAddress: string;
120
+ payoutAddress: string;
121
+ }
122
+ export declare class DlcAcceptContainer {
123
+ private accepts;
124
+ /**
125
+ * Adds a DlcAccept to the container.
126
+ * @param accept The DlcAccept to add.
127
+ */
128
+ addAccept(accept: DlcAccept): void;
129
+ /**
130
+ * Returns all DlcAccepts in the container.
131
+ * @returns An array of DlcAccept instances.
132
+ */
133
+ getAccepts(): DlcAccept[];
134
+ /**
135
+ * Serializes all DlcAccepts in the container to a Buffer.
136
+ * @returns A Buffer containing the serialized DlcAccepts.
137
+ */
138
+ serialize(): Buffer;
139
+ /**
140
+ * Deserializes a Buffer into a DlcAcceptContainer with DlcAccepts.
141
+ * @param buf The Buffer to deserialize.
142
+ * @returns A DlcAcceptContainer instance.
143
+ */
144
+ static deserialize(buf: Buffer, parseCets?: boolean): DlcAcceptContainer;
145
+ }