@atomicfinance/bitcoin-dlc-provider 3.6.1 → 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 (373) hide show
  1. package/.nvmrc +1 -1
  2. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  3. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  4. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  5. package/.yalc/@node-dlc/messaging/README.md +24 -0
  6. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  7. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  45. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  46. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  47. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  119. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  120. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  121. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  122. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  123. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  124. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  134. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  135. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  136. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  137. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  138. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  139. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  140. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  141. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  142. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  143. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  144. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  145. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  263. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  264. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  265. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  275. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  276. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  277. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  278. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  279. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  280. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  281. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  282. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  283. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  284. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  286. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  287. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  288. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  289. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  290. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  291. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  327. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  328. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  329. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  331. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  332. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  333. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  334. package/.yalc/@node-dlc/messaging/package.json +42 -0
  335. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  336. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  360. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  361. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  362. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  363. package/CHANGELOG.md +72 -0
  364. package/dist/BitcoinDlcProvider.d.ts +17 -16
  365. package/dist/BitcoinDlcProvider.js +345 -315
  366. package/dist/BitcoinDlcProvider.js.map +1 -1
  367. package/dist/utils/Utils.d.ts +6 -6
  368. package/dist/utils/Utils.js +4 -4
  369. package/dist/utils/Utils.js.map +1 -1
  370. package/lib/BitcoinDlcProvider.ts +624 -612
  371. package/lib/utils/Utils.ts +19 -24
  372. package/package.json +10 -10
  373. package/yalc.lock +10 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CetAdaptorSignatures = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ /**
7
+ * CetAdaptorSignatures contains CET signatures and any necessary
8
+ * information linking the signatures to their corresponding outcome
9
+ */
10
+ class CetAdaptorSignatures {
11
+ constructor() {
12
+ /**
13
+ * The type for cet_adaptor_signature message. cet_adaptor_signature = 42774
14
+ */
15
+ this.type = CetAdaptorSignatures.type;
16
+ this.sigs = [];
17
+ }
18
+ /**
19
+ * Deserializes a cet_adaptor_signature message
20
+ * @param buf
21
+ */
22
+ static deserialize(buf) {
23
+ const instance = new CetAdaptorSignatures();
24
+ const reader = new bufio_1.BufferReader(buf);
25
+ const nbSignatures = Number(reader.readBigSize()); // nb_signatures
26
+ // Read exactly nbSignatures * (65 + 97) bytes to match serialize format
27
+ for (let i = 0; i < nbSignatures; i++) {
28
+ const encryptedSig = reader.readBytes(65);
29
+ const dleqProof = reader.readBytes(97);
30
+ instance.sigs.push({ encryptedSig, dleqProof });
31
+ }
32
+ return instance;
33
+ }
34
+ /**
35
+ * Converts cet_adaptor_signature to JSON (canonical rust-dlc format)
36
+ */
37
+ toJSON() {
38
+ return {
39
+ ecdsaAdaptorSignatures: this.sigs.map((sig) => {
40
+ // Combine encryptedSig and dleqProof into single signature field as expected by rust-dlc
41
+ const signature = Buffer.concat([sig.encryptedSig, sig.dleqProof]);
42
+ return {
43
+ signature: signature.toString('hex'),
44
+ };
45
+ }),
46
+ };
47
+ }
48
+ /**
49
+ * Serializes the cet_adaptor_signature message into a Buffer
50
+ */
51
+ serialize() {
52
+ const writer = new bufio_1.BufferWriter();
53
+ // writer.writeBigSize(this.type);
54
+ const dataWriter = new bufio_1.BufferWriter();
55
+ dataWriter.writeBigSize(this.sigs.length);
56
+ for (const sig of this.sigs) {
57
+ dataWriter.writeBytes(sig.encryptedSig);
58
+ dataWriter.writeBytes(sig.dleqProof);
59
+ }
60
+ // writer.writeBigSize(dataWriter.size);
61
+ writer.writeBytes(dataWriter.toBuffer());
62
+ return writer.toBuffer();
63
+ }
64
+ }
65
+ exports.CetAdaptorSignatures = CetAdaptorSignatures;
66
+ CetAdaptorSignatures.type = MessageType_1.MessageType.CetAdaptorSignatures;
67
+ //# sourceMappingURL=CetAdaptorSignatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CetAdaptorSignatures.js","sourceRoot":"","sources":["../../lib/messages/CetAdaptorSignatures.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;;GAGG;AACH,MAAa,oBAAoB;IAAjC;QAuBE;;WAEG;QACI,SAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAIjC,SAAI,GAAW,EAAE,CAAC;IAoC3B,CAAC;IA/DC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB;QAEnE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;SACjD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5C,yFAAyF;gBACzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACrC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,kCAAkC;QAElC,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACtC;QAED,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAjEH,oDAkEC;AAjEe,yBAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC"}
@@ -0,0 +1,122 @@
1
+ /// <reference types="node" />
2
+ import { ContractDescriptorType, MessageType } from '../MessageType';
3
+ import { IDlcMessage } from './DlcMessage';
4
+ import { PayoutFunction, PayoutFunctionV0JSON } from './PayoutFunction';
5
+ import { IRoundingIntervalsJSON, RoundingIntervals } from './RoundingIntervals';
6
+ export declare abstract class ContractDescriptor {
7
+ static deserialize(buf: Buffer): EnumeratedDescriptor | NumericalDescriptor;
8
+ /**
9
+ * Creates a ContractDescriptor from JSON data (e.g., from test vectors)
10
+ * @param json JSON object representing a contract descriptor
11
+ */
12
+ static fromJSON(json: any): ContractDescriptor;
13
+ abstract contractDescriptorType: ContractDescriptorType;
14
+ abstract type: number;
15
+ abstract toJSON(): EnumeratedDescriptorJSON | NumericalDescriptorJSON;
16
+ abstract serialize(): Buffer;
17
+ }
18
+ /**
19
+ * EnumeratedContractDescriptor contains information about a contract's outcomes
20
+ * and their corresponding payouts (for enumerated outcomes).
21
+ * This corresponds to the previous ContractDescriptorV0.
22
+ */
23
+ export declare class EnumeratedDescriptor extends ContractDescriptor implements IDlcMessage {
24
+ static contractDescriptorType: ContractDescriptorType;
25
+ /**
26
+ * Creates an EnumeratedContractDescriptor from JSON data
27
+ * @param json JSON object representing an enumerated contract descriptor
28
+ */
29
+ static fromJSON(json: any): EnumeratedDescriptor;
30
+ /**
31
+ * Deserializes an enumerated_contract_descriptor message
32
+ * @param buf
33
+ */
34
+ static deserialize(buf: Buffer): EnumeratedDescriptor;
35
+ /**
36
+ * The type for enumerated_contract_descriptor message - using MessageType for IDlcMessage compatibility
37
+ */
38
+ type: MessageType;
39
+ /**
40
+ * The contract descriptor type for new format
41
+ */
42
+ contractDescriptorType: ContractDescriptorType;
43
+ outcomes: IOutcome[];
44
+ /**
45
+ * Converts enumerated_contract_descriptor to JSON
46
+ */
47
+ toJSON(): EnumeratedDescriptorJSON;
48
+ /**
49
+ * Serializes the enumerated_contract_descriptor message into a Buffer
50
+ */
51
+ serialize(): Buffer;
52
+ }
53
+ /**
54
+ * NumericOutcomeContractDescriptor contains information about a contract's outcomes
55
+ * and their corresponding payouts (for numeric outcomes).
56
+ * This corresponds to the previous ContractDescriptorV1.
57
+ */
58
+ export declare class NumericalDescriptor extends ContractDescriptor implements IDlcMessage {
59
+ static contractDescriptorType: ContractDescriptorType;
60
+ /**
61
+ * Creates a NumericOutcomeContractDescriptor from JSON data
62
+ * @param json JSON object representing a numeric outcome contract descriptor
63
+ */
64
+ static fromJSON(json: any): NumericalDescriptor;
65
+ /**
66
+ * Deserializes a numeric_outcome_contract_descriptor message
67
+ * @param buf
68
+ */
69
+ static deserialize(buf: Buffer): NumericalDescriptor;
70
+ /**
71
+ * The type for numeric_outcome_contract_descriptor message - using MessageType for IDlcMessage compatibility
72
+ */
73
+ type: MessageType;
74
+ /**
75
+ * The contract descriptor type for new format
76
+ */
77
+ contractDescriptorType: ContractDescriptorType;
78
+ numDigits: number;
79
+ payoutFunction: PayoutFunction;
80
+ roundingIntervals: RoundingIntervals;
81
+ /**
82
+ * Validates correctness of all fields in the message
83
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type
84
+ * @throws Will throw an error if validation fails
85
+ */
86
+ validate(): void;
87
+ /**
88
+ * Converts numeric_outcome_contract_descriptor to JSON
89
+ */
90
+ toJSON(): NumericalDescriptorJSON;
91
+ /**
92
+ * Serializes the numeric_outcome_contract_descriptor message into a Buffer
93
+ */
94
+ serialize(): Buffer;
95
+ }
96
+ export declare const ContractDescriptorV0: typeof EnumeratedDescriptor;
97
+ export declare const ContractDescriptorV1: typeof NumericalDescriptor;
98
+ export type ContractDescriptorV0 = EnumeratedDescriptor;
99
+ export type ContractDescriptorV1 = NumericalDescriptor;
100
+ interface IOutcome {
101
+ outcome: string;
102
+ localPayout: bigint;
103
+ }
104
+ interface IOutcomeJSON {
105
+ outcome: string;
106
+ localPayout: number;
107
+ }
108
+ export interface EnumeratedDescriptorJSON {
109
+ type?: number;
110
+ contractDescriptorType?: ContractDescriptorType;
111
+ outcomes: IOutcomeJSON[];
112
+ }
113
+ export interface NumericalDescriptorJSON {
114
+ type?: number;
115
+ contractDescriptorType?: ContractDescriptorType;
116
+ numDigits: number;
117
+ payoutFunction: PayoutFunctionV0JSON;
118
+ roundingIntervals: IRoundingIntervalsJSON;
119
+ }
120
+ export type ContractDescriptorV0JSON = EnumeratedDescriptorJSON;
121
+ export type ContractDescriptorV1JSON = NumericalDescriptorJSON;
122
+ export {};
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractDescriptorV1 = exports.ContractDescriptorV0 = exports.NumericalDescriptor = exports.EnumeratedDescriptor = exports.ContractDescriptor = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const PayoutFunction_1 = require("./PayoutFunction");
7
+ const RoundingIntervals_1 = require("./RoundingIntervals");
8
+ class ContractDescriptor {
9
+ static deserialize(buf) {
10
+ const reader = new bufio_1.BufferReader(buf);
11
+ const typeId = Number(reader.readBigSize());
12
+ switch (typeId) {
13
+ case MessageType_1.ContractDescriptorType.Enumerated:
14
+ return EnumeratedDescriptor.deserialize(buf);
15
+ case MessageType_1.ContractDescriptorType.NumericOutcome:
16
+ return NumericalDescriptor.deserialize(buf);
17
+ default:
18
+ throw new Error(`Contract descriptor type must be Enumerated (0) or NumericOutcome (1), got ${typeId}`);
19
+ }
20
+ }
21
+ /**
22
+ * Creates a ContractDescriptor from JSON data (e.g., from test vectors)
23
+ * @param json JSON object representing a contract descriptor
24
+ */
25
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
26
+ static fromJSON(json) {
27
+ if (!json) {
28
+ throw new Error('contractDescriptor is required');
29
+ }
30
+ // Handle enumerated contract descriptor
31
+ if (json.enumeratedContractDescriptor ||
32
+ json.enumerated_contract_descriptor) {
33
+ return EnumeratedDescriptor.fromJSON(json.enumeratedContractDescriptor ||
34
+ json.enumerated_contract_descriptor);
35
+ }
36
+ // Handle numeric outcome contract descriptor
37
+ else if (json.numericOutcomeContractDescriptor ||
38
+ json.numeric_outcome_contract_descriptor) {
39
+ return NumericalDescriptor.fromJSON(json.numericOutcomeContractDescriptor ||
40
+ json.numeric_outcome_contract_descriptor);
41
+ }
42
+ else {
43
+ throw new Error('contractDescriptor must have either enumeratedContractDescriptor or numericOutcomeContractDescriptor');
44
+ }
45
+ }
46
+ }
47
+ exports.ContractDescriptor = ContractDescriptor;
48
+ /**
49
+ * EnumeratedContractDescriptor contains information about a contract's outcomes
50
+ * and their corresponding payouts (for enumerated outcomes).
51
+ * This corresponds to the previous ContractDescriptorV0.
52
+ */
53
+ class EnumeratedDescriptor extends ContractDescriptor {
54
+ constructor() {
55
+ super(...arguments);
56
+ /**
57
+ * The type for enumerated_contract_descriptor message - using MessageType for IDlcMessage compatibility
58
+ */
59
+ this.type = MessageType_1.MessageType.ContractDescriptorV0; // For IDlcMessage compatibility
60
+ /**
61
+ * The contract descriptor type for new format
62
+ */
63
+ this.contractDescriptorType = MessageType_1.ContractDescriptorType.Enumerated;
64
+ this.outcomes = [];
65
+ }
66
+ /**
67
+ * Creates an EnumeratedContractDescriptor from JSON data
68
+ * @param json JSON object representing an enumerated contract descriptor
69
+ */
70
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
71
+ static fromJSON(json) {
72
+ const instance = new EnumeratedDescriptor();
73
+ const payouts = json.payouts || [];
74
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
75
+ instance.outcomes = payouts.map((payout) => ({
76
+ outcome: payout.outcome,
77
+ localPayout: BigInt(payout.offerPayout || 0), // Use canonical offerPayout field
78
+ }));
79
+ return instance;
80
+ }
81
+ /**
82
+ * Deserializes an enumerated_contract_descriptor message
83
+ * @param buf
84
+ */
85
+ static deserialize(buf) {
86
+ const instance = new EnumeratedDescriptor();
87
+ const reader = new bufio_1.BufferReader(buf);
88
+ reader.readBigSize(); // read type (0)
89
+ const numOutcomes = Number(reader.readBigSize());
90
+ for (let i = 0; i < numOutcomes; i++) {
91
+ const outcomeLen = Number(reader.readBigSize());
92
+ const outcome = reader.readBytes(outcomeLen).toString();
93
+ const localPayout = reader.readUInt64BE();
94
+ instance.outcomes.push({
95
+ outcome,
96
+ localPayout,
97
+ });
98
+ }
99
+ return instance;
100
+ }
101
+ /**
102
+ * Converts enumerated_contract_descriptor to JSON
103
+ */
104
+ toJSON() {
105
+ // Return enum variant format for Rust compatibility
106
+ return {
107
+ enumeratedContractDescriptor: {
108
+ payouts: this.outcomes.map((outcome) => ({
109
+ outcome: outcome.outcome,
110
+ offerPayout: Number(outcome.localPayout), // Use offerPayout to match Rust
111
+ })),
112
+ },
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ };
115
+ }
116
+ /**
117
+ * Serializes the enumerated_contract_descriptor message into a Buffer
118
+ */
119
+ serialize() {
120
+ const writer = new bufio_1.BufferWriter();
121
+ writer.writeBigSize(this.contractDescriptorType);
122
+ writer.writeBigSize(this.outcomes.length);
123
+ for (const outcome of this.outcomes) {
124
+ writer.writeBigSize(outcome.outcome.length);
125
+ writer.writeBytes(Buffer.from(outcome.outcome));
126
+ writer.writeUInt64BE(outcome.localPayout);
127
+ }
128
+ return writer.toBuffer();
129
+ }
130
+ }
131
+ exports.EnumeratedDescriptor = EnumeratedDescriptor;
132
+ EnumeratedDescriptor.contractDescriptorType = MessageType_1.ContractDescriptorType.Enumerated;
133
+ /**
134
+ * NumericOutcomeContractDescriptor contains information about a contract's outcomes
135
+ * and their corresponding payouts (for numeric outcomes).
136
+ * This corresponds to the previous ContractDescriptorV1.
137
+ */
138
+ class NumericalDescriptor extends ContractDescriptor {
139
+ constructor() {
140
+ super(...arguments);
141
+ /**
142
+ * The type for numeric_outcome_contract_descriptor message - using MessageType for IDlcMessage compatibility
143
+ */
144
+ this.type = MessageType_1.MessageType.ContractDescriptorV1; // For IDlcMessage compatibility
145
+ /**
146
+ * The contract descriptor type for new format
147
+ */
148
+ this.contractDescriptorType = MessageType_1.ContractDescriptorType.NumericOutcome;
149
+ }
150
+ /**
151
+ * Creates a NumericOutcomeContractDescriptor from JSON data
152
+ * @param json JSON object representing a numeric outcome contract descriptor
153
+ */
154
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
155
+ static fromJSON(json) {
156
+ const instance = new NumericalDescriptor();
157
+ instance.numDigits = json.numDigits || json.num_digits || 0;
158
+ // Parse payout function using proper fromJSON method
159
+ instance.payoutFunction = PayoutFunction_1.PayoutFunction.fromJSON(json.payoutFunction || json.payout_function);
160
+ // Parse rounding intervals using proper fromJSON method
161
+ instance.roundingIntervals = RoundingIntervals_1.RoundingIntervals.fromJSON(json.roundingIntervals || json.rounding_intervals);
162
+ return instance;
163
+ }
164
+ /**
165
+ * Deserializes a numeric_outcome_contract_descriptor message
166
+ * @param buf
167
+ */
168
+ static deserialize(buf) {
169
+ const instance = new NumericalDescriptor();
170
+ const reader = new bufio_1.BufferReader(buf);
171
+ reader.readBigSize(); // read type (1)
172
+ instance.numDigits = reader.readUInt16BE();
173
+ // Parse payout function - need to calculate its size to avoid consuming all bytes
174
+ const payoutFunctionStartPos = reader.position;
175
+ const tempPayoutFunction = PayoutFunction_1.PayoutFunction.deserialize(reader.buffer.subarray(reader.position));
176
+ instance.payoutFunction = tempPayoutFunction;
177
+ // Skip past the payout function bytes
178
+ const payoutFunctionSize = tempPayoutFunction.serialize().length;
179
+ reader.position = payoutFunctionStartPos + payoutFunctionSize;
180
+ // Parse remaining bytes as rounding intervals
181
+ instance.roundingIntervals = RoundingIntervals_1.RoundingIntervals.deserialize(reader.buffer.subarray(reader.position));
182
+ return instance;
183
+ }
184
+ /**
185
+ * Validates correctness of all fields in the message
186
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type
187
+ * @throws Will throw an error if validation fails
188
+ */
189
+ validate() {
190
+ this.roundingIntervals.validate();
191
+ }
192
+ /**
193
+ * Converts numeric_outcome_contract_descriptor to JSON
194
+ */
195
+ toJSON() {
196
+ // Return enum variant format for Rust compatibility
197
+ return {
198
+ numericOutcomeContractDescriptor: {
199
+ numDigits: this.numDigits,
200
+ payoutFunction: this.payoutFunction.toJSON(),
201
+ roundingIntervals: this.roundingIntervals.toJSON(),
202
+ },
203
+ };
204
+ }
205
+ /**
206
+ * Serializes the numeric_outcome_contract_descriptor message into a Buffer
207
+ */
208
+ serialize() {
209
+ const writer = new bufio_1.BufferWriter();
210
+ writer.writeBigSize(this.contractDescriptorType);
211
+ writer.writeUInt16BE(this.numDigits);
212
+ writer.writeBytes(this.payoutFunction.serialize());
213
+ writer.writeBytes(this.roundingIntervals.serialize());
214
+ return writer.toBuffer();
215
+ }
216
+ }
217
+ exports.NumericalDescriptor = NumericalDescriptor;
218
+ NumericalDescriptor.contractDescriptorType = MessageType_1.ContractDescriptorType.NumericOutcome;
219
+ // Legacy support - keeping old class names as aliases
220
+ exports.ContractDescriptorV0 = EnumeratedDescriptor;
221
+ exports.ContractDescriptorV1 = NumericalDescriptor;
222
+ //# sourceMappingURL=ContractDescriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContractDescriptor.js","sourceRoot":"","sources":["../../lib/messages/ContractDescriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /// <reference types="node" />
2
+ import { ContractInfoType, MessageType } from '../MessageType';
3
+ import { ContractDescriptor, ContractDescriptorV0JSON, ContractDescriptorV1JSON } from './ContractDescriptor';
4
+ import { DlcMessage, IDlcMessage } from './DlcMessage';
5
+ import { MultiOracleInfoJSON, OracleInfo, SingleOracleInfoJSON } from './OracleInfo';
6
+ export declare abstract class ContractInfo extends DlcMessage {
7
+ static deserialize(buf: Buffer): SingleContractInfo | DisjointContractInfo;
8
+ /**
9
+ * Creates a ContractInfo from JSON data (e.g., from test vectors)
10
+ * @param json JSON object representing contract info
11
+ */
12
+ static fromJSON(json: any): ContractInfo;
13
+ abstract contractInfoType: ContractInfoType;
14
+ abstract totalCollateral: bigint;
15
+ abstract validate(): void;
16
+ abstract toJSON(): ISingleContractInfoJSON | IDisjointContractInfoJSON;
17
+ abstract serialize(): Buffer;
18
+ getTotalCollateral(): bigint;
19
+ }
20
+ /**
21
+ * SingleContractInfo contains information about a contract's outcomes,
22
+ * their corresponding payouts, and the oracles to be used.
23
+ * This corresponds to the previous ContractInfoV0.
24
+ */
25
+ export declare class SingleContractInfo extends ContractInfo implements IDlcMessage {
26
+ static contractInfoType: ContractInfoType;
27
+ static type: MessageType;
28
+ /**
29
+ * Creates a SingleContractInfo from JSON data
30
+ * @param json JSON object representing single contract info
31
+ */
32
+ static fromJSON(json: any): SingleContractInfo;
33
+ /**
34
+ * Deserializes a single_contract_info message
35
+ * @param buf
36
+ */
37
+ static deserialize(buf: Buffer): SingleContractInfo;
38
+ /**
39
+ * The type for single_contract_info message - using MessageType for IDlcMessage compatibility
40
+ */
41
+ type: MessageType;
42
+ /**
43
+ * The contract info type for new format
44
+ */
45
+ contractInfoType: ContractInfoType;
46
+ totalCollateral: bigint;
47
+ contractDescriptor: ContractDescriptor;
48
+ oracleInfo: OracleInfo;
49
+ get length(): bigint;
50
+ /**
51
+ * Validates correctness of all fields in the message
52
+ * @throws Will throw an error if validation fails
53
+ */
54
+ validate(): void;
55
+ /**
56
+ * Converts single_contract_info to JSON
57
+ */
58
+ toJSON(): ISingleContractInfoJSON;
59
+ /**
60
+ * Serializes the single_contract_info message into a Buffer
61
+ */
62
+ serialize(): Buffer;
63
+ }
64
+ /**
65
+ * DisjointContractInfo contains information about multiple disjoint contract events.
66
+ * This corresponds to the previous ContractInfoV1.
67
+ */
68
+ export declare class DisjointContractInfo extends ContractInfo implements IDlcMessage {
69
+ static contractInfoType: ContractInfoType;
70
+ static type: MessageType;
71
+ /**
72
+ * Creates a DisjointContractInfo from JSON data
73
+ * @param json JSON object representing disjoint contract info
74
+ */
75
+ static fromJSON(json: any): DisjointContractInfo;
76
+ /**
77
+ * Deserializes a disjoint_contract_info message
78
+ * @param buf
79
+ */
80
+ static deserialize(buf: Buffer): DisjointContractInfo;
81
+ /**
82
+ * The type for disjoint_contract_info message - using MessageType for IDlcMessage compatibility
83
+ */
84
+ type: MessageType;
85
+ /**
86
+ * The contract info type for new format
87
+ */
88
+ contractInfoType: ContractInfoType;
89
+ totalCollateral: bigint;
90
+ contractOraclePairs: IContractOraclePair[];
91
+ get length(): bigint;
92
+ /**
93
+ * Validates correctness of all fields in the message
94
+ * @throws Will throw an error if validation fails
95
+ */
96
+ validate(): void;
97
+ /**
98
+ * Converts disjoint_contract_info to JSON
99
+ */
100
+ toJSON(): IDisjointContractInfoJSON;
101
+ /**
102
+ * Serializes the disjoint_contract_info message into a Buffer
103
+ */
104
+ serialize(): Buffer;
105
+ }
106
+ export declare const ContractInfoV0: typeof SingleContractInfo;
107
+ export declare const ContractInfoV1: typeof DisjointContractInfo;
108
+ export type ContractInfoV0 = SingleContractInfo;
109
+ export type ContractInfoV1 = DisjointContractInfo;
110
+ interface IContractOraclePair {
111
+ contractDescriptor: ContractDescriptor;
112
+ oracleInfo: OracleInfo;
113
+ }
114
+ interface IContractOraclePairJSON {
115
+ contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
116
+ oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
117
+ }
118
+ export interface ISingleContractInfoJSON {
119
+ type?: number;
120
+ contractInfoType?: ContractInfoType;
121
+ totalCollateral: number;
122
+ contractInfo: {
123
+ contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
124
+ oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
125
+ };
126
+ }
127
+ export interface IDisjointContractInfoJSON {
128
+ type?: number;
129
+ contractInfoType?: ContractInfoType;
130
+ totalCollateral: number;
131
+ contractOraclePairs: IContractOraclePairJSON[];
132
+ }
133
+ export type IContractInfoV0JSON = ISingleContractInfoJSON;
134
+ export type IContractInfoV1JSON = IDisjointContractInfoJSON;
135
+ export {};