@atomicfinance/types 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 (368) hide show
  1. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  2. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  3. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  4. package/.yalc/@node-dlc/messaging/README.md +24 -0
  5. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  6. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  7. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  45. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  46. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  47. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  119. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  120. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  121. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  122. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  123. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  124. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  134. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  135. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  136. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  137. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  138. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  139. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  140. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  141. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  142. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  143. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  144. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  145. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  263. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  264. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  265. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  275. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  276. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  277. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  278. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  279. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  280. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  281. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  282. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  283. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  284. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  286. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  287. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  288. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  289. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  290. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  291. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  327. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  328. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  329. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  331. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  332. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  333. package/.yalc/@node-dlc/messaging/package.json +42 -0
  334. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  335. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  336. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  360. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  361. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  362. package/CHANGELOG.md +64 -0
  363. package/dist/dlc.d.ts +3 -3
  364. package/dist/models/Output.js.map +1 -1
  365. package/lib/dlc.ts +4 -14
  366. package/lib/models/Output.ts +4 -1
  367. package/package.json +4 -4
  368. package/yalc.lock +10 -0
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HyperbolaPayoutCurvePiece = exports.PolynomialPayoutCurvePiece = exports.PayoutCurvePiece = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const F64_1 = require("../serialize/F64");
7
+ const util_1 = require("../util");
8
+ class PayoutCurvePiece {
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.PayoutCurvePieceType.Polynomial:
14
+ return PolynomialPayoutCurvePiece.deserialize(buf);
15
+ case MessageType_1.PayoutCurvePieceType.Hyperbola:
16
+ return HyperbolaPayoutCurvePiece.deserialize(buf);
17
+ default:
18
+ throw new Error(`Payout curve piece type must be Polynomial (0) or Hyperbola (1), got ${typeId}`);
19
+ }
20
+ }
21
+ /**
22
+ * Creates a PayoutCurvePiece from JSON data
23
+ * @param json JSON object representing a payout curve piece
24
+ */
25
+ static fromJSON(json) {
26
+ if (!json) {
27
+ throw new Error('payoutCurvePiece is required');
28
+ }
29
+ // Handle test vector format with nested types
30
+ if (json.polynomialPayoutCurvePiece) {
31
+ return PolynomialPayoutCurvePiece.fromJSON(json.polynomialPayoutCurvePiece);
32
+ }
33
+ else if (json.hyperbolaPayoutCurvePiece) {
34
+ return HyperbolaPayoutCurvePiece.fromJSON(json.hyperbolaPayoutCurvePiece);
35
+ }
36
+ // Handle direct format
37
+ else if (json.points !== undefined || json.payoutPoints !== undefined) {
38
+ return PolynomialPayoutCurvePiece.fromJSON(json);
39
+ }
40
+ else if (json.usePositivePiece !== undefined) {
41
+ return HyperbolaPayoutCurvePiece.fromJSON(json);
42
+ }
43
+ else {
44
+ throw new Error('payoutCurvePiece must be either polynomial (with points) or hyperbola (with usePositivePiece)');
45
+ }
46
+ }
47
+ }
48
+ exports.PayoutCurvePiece = PayoutCurvePiece;
49
+ /**
50
+ * PolynomialPayoutCurvePiece defines a polynomial curve piece for payout functions.
51
+ * This corresponds to type 0 in the sibling sub-type format.
52
+ */
53
+ class PolynomialPayoutCurvePiece extends PayoutCurvePiece {
54
+ constructor() {
55
+ super(...arguments);
56
+ /**
57
+ * The type for polynomial_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message
58
+ */
59
+ this.type = MessageType_1.MessageType.PolynomialPayoutCurvePiece;
60
+ /**
61
+ * The payout curve piece type for new format
62
+ */
63
+ this.payoutCurvePieceType = MessageType_1.PayoutCurvePieceType.Polynomial;
64
+ this.points = [];
65
+ }
66
+ /**
67
+ * Creates a PolynomialPayoutCurvePiece from JSON data
68
+ * @param json JSON object representing a polynomial payout curve piece
69
+ */
70
+ static fromJSON(json) {
71
+ const instance = new PolynomialPayoutCurvePiece();
72
+ const points = json.payoutPoints || json.points || [];
73
+ instance.points = points.map((point) => ({
74
+ eventOutcome: (0, util_1.toBigInt)(point.eventOutcome || point.event_outcome),
75
+ outcomePayout: (0, util_1.toBigInt)(point.outcomePayout || point.outcome_payout),
76
+ extraPrecision: point.extraPrecision || point.extra_precision || 0,
77
+ }));
78
+ return instance;
79
+ }
80
+ /**
81
+ * Deserializes a polynomial_payout_curve_piece message
82
+ * @param buf
83
+ */
84
+ static deserialize(buf) {
85
+ const instance = new PolynomialPayoutCurvePiece();
86
+ const reader = new bufio_1.BufferReader(buf);
87
+ reader.readBigSize(); // read type (0)
88
+ const numPts = Number(reader.readBigSize());
89
+ for (let i = 0; i < numPts; i++) {
90
+ const eventOutcome = reader.readUInt64BE();
91
+ const outcomePayout = reader.readUInt64BE();
92
+ const extraPrecision = reader.readUInt16BE();
93
+ instance.points.push({
94
+ eventOutcome,
95
+ outcomePayout,
96
+ extraPrecision,
97
+ });
98
+ }
99
+ return instance;
100
+ }
101
+ /**
102
+ * Converts polynomial_payout_curve_piece to JSON
103
+ */
104
+ toJSON() {
105
+ return {
106
+ polynomialPayoutCurvePiece: {
107
+ payoutPoints: this.points.map((point) => {
108
+ return {
109
+ eventOutcome: (0, util_1.bigIntToNumber)(point.eventOutcome),
110
+ outcomePayout: (0, util_1.bigIntToNumber)(point.outcomePayout),
111
+ extraPrecision: Number(point.extraPrecision),
112
+ };
113
+ }),
114
+ },
115
+ };
116
+ }
117
+ /**
118
+ * Serializes the polynomial_payout_curve_piece message into a Buffer
119
+ */
120
+ serialize() {
121
+ const writer = new bufio_1.BufferWriter();
122
+ writer.writeBigSize(this.payoutCurvePieceType);
123
+ writer.writeBigSize(this.points.length);
124
+ for (const point of this.points) {
125
+ writer.writeUInt64BE(point.eventOutcome);
126
+ writer.writeUInt64BE(point.outcomePayout);
127
+ writer.writeUInt16BE(point.extraPrecision);
128
+ }
129
+ return writer.toBuffer();
130
+ }
131
+ }
132
+ exports.PolynomialPayoutCurvePiece = PolynomialPayoutCurvePiece;
133
+ PolynomialPayoutCurvePiece.payoutCurvePieceType = MessageType_1.PayoutCurvePieceType.Polynomial;
134
+ /**
135
+ * HyperbolaPayoutCurvePiece defines a hyperbola curve piece for payout functions.
136
+ * This corresponds to type 1 in the sibling sub-type format.
137
+ * Updated to use F64 for precise f64 parameter handling.
138
+ */
139
+ class HyperbolaPayoutCurvePiece extends PayoutCurvePiece {
140
+ /**
141
+ * Helper function to safely parse F64 values from JSON
142
+ * Handles both number and string inputs for maximum precision
143
+ */
144
+ static parseF64Value(value) {
145
+ // Check for basic null/undefined
146
+ if (value === null || value === undefined) {
147
+ return null;
148
+ }
149
+ try {
150
+ if (typeof value === 'string') {
151
+ // Parse string directly to preserve precision
152
+ try {
153
+ return F64_1.F64.fromString(value);
154
+ }
155
+ catch (error) {
156
+ // If fromString fails, try parsing as number
157
+ const numValue = parseFloat(value);
158
+ if (!isNaN(numValue) && isFinite(numValue)) {
159
+ return F64_1.F64.fromNumber(numValue);
160
+ }
161
+ }
162
+ }
163
+ else if (typeof value === 'number') {
164
+ // Parse number - handle special cases
165
+ if (!isFinite(value)) {
166
+ return null; // Reject NaN, Infinity, -Infinity
167
+ }
168
+ return F64_1.F64.fromNumber(value);
169
+ }
170
+ // Try to convert other types to number as fallback
171
+ const numValue = Number(value);
172
+ if (!isNaN(numValue) && isFinite(numValue)) {
173
+ return F64_1.F64.fromNumber(numValue);
174
+ }
175
+ return null;
176
+ }
177
+ catch (error) {
178
+ return null;
179
+ }
180
+ }
181
+ /**
182
+ * Creates a HyperbolaPayoutCurvePiece from JSON data
183
+ * @param json JSON object representing a hyperbola payout curve piece
184
+ */
185
+ static fromJSON(json) {
186
+ if (!json || typeof json !== 'object')
187
+ return null;
188
+ // Handle both wrapped format and direct format
189
+ let data = json.hyperbolaPayoutCurvePiece || json.hyperbola_payout_curve_piece;
190
+ // If no wrapper found, assume direct format if it has the expected properties
191
+ if (!data &&
192
+ (json.usePositivePiece !== undefined ||
193
+ json.use_positive_piece !== undefined)) {
194
+ data = json;
195
+ }
196
+ if (!data)
197
+ return null;
198
+ try {
199
+ const usePositivePiece = data.usePositivePiece || data.use_positive_piece || false;
200
+ // Parse each F64 value with null check
201
+ const translateOutcome = this.parseF64Value(data.translateOutcome !== undefined
202
+ ? data.translateOutcome
203
+ : data.translate_outcome);
204
+ const translatePayout = this.parseF64Value(data.translatePayout !== undefined
205
+ ? data.translatePayout
206
+ : data.translate_payout);
207
+ const a = this.parseF64Value(data.a);
208
+ const b = this.parseF64Value(data.b);
209
+ const c = this.parseF64Value(data.c);
210
+ const d = this.parseF64Value(data.d);
211
+ // Check that all required values were parsed successfully
212
+ if (!translateOutcome || !translatePayout || !a || !b || !c || !d) {
213
+ throw new Error('Failed to parse one or more F64 values');
214
+ }
215
+ return new HyperbolaPayoutCurvePiece(usePositivePiece, translateOutcome, translatePayout, a, b, c, d);
216
+ }
217
+ catch (error) {
218
+ return null;
219
+ }
220
+ }
221
+ /**
222
+ * Deserializes a hyperbola_payout_curve_piece message
223
+ * @param buf
224
+ */
225
+ static deserialize(buf) {
226
+ const instance = new HyperbolaPayoutCurvePiece();
227
+ const reader = new bufio_1.BufferReader(buf);
228
+ reader.readBigSize(); // read type (1)
229
+ instance.usePositivePiece = reader.readUInt8() === 1;
230
+ // Read f64 values using F64 for precise handling - read raw 8-byte buffers
231
+ instance.translateOutcome = F64_1.F64.deserialize(reader.readBytes(8));
232
+ instance.translatePayout = F64_1.F64.deserialize(reader.readBytes(8));
233
+ instance.a = F64_1.F64.deserialize(reader.readBytes(8));
234
+ instance.b = F64_1.F64.deserialize(reader.readBytes(8));
235
+ instance.c = F64_1.F64.deserialize(reader.readBytes(8));
236
+ instance.d = F64_1.F64.deserialize(reader.readBytes(8));
237
+ // Note: leftEndPoint and rightEndPoint are not part of the serialization
238
+ // They will be set by PayoutFunction when creating from JSON
239
+ instance.leftEndPoint = {
240
+ eventOutcome: BigInt(0),
241
+ outcomePayout: BigInt(0),
242
+ extraPrecision: 0,
243
+ };
244
+ instance.rightEndPoint = {
245
+ eventOutcome: BigInt(0),
246
+ outcomePayout: BigInt(0),
247
+ extraPrecision: 0,
248
+ };
249
+ return instance;
250
+ }
251
+ constructor(usePositivePiece = false, translateOutcome, translatePayout, a, b, c, d) {
252
+ super();
253
+ /**
254
+ * The type for hyperbola_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message
255
+ */
256
+ this.type = MessageType_1.MessageType.HyperbolaPayoutCurvePiece;
257
+ this.payoutCurvePieceType = HyperbolaPayoutCurvePiece.payoutCurvePieceType;
258
+ this.usePositivePiece = usePositivePiece;
259
+ // Convert string inputs to F64 objects, or use existing F64 objects
260
+ this.translateOutcome = translateOutcome
261
+ ? typeof translateOutcome === 'string'
262
+ ? F64_1.F64.fromString(translateOutcome)
263
+ : translateOutcome
264
+ : F64_1.F64.fromNumber(0);
265
+ this.translatePayout = translatePayout
266
+ ? typeof translatePayout === 'string'
267
+ ? F64_1.F64.fromString(translatePayout)
268
+ : translatePayout
269
+ : F64_1.F64.fromNumber(0);
270
+ this.a = a
271
+ ? typeof a === 'string'
272
+ ? F64_1.F64.fromString(a)
273
+ : a
274
+ : F64_1.F64.fromNumber(0);
275
+ this.b = b
276
+ ? typeof b === 'string'
277
+ ? F64_1.F64.fromString(b)
278
+ : b
279
+ : F64_1.F64.fromNumber(0);
280
+ this.c = c
281
+ ? typeof c === 'string'
282
+ ? F64_1.F64.fromString(c)
283
+ : c
284
+ : F64_1.F64.fromNumber(0);
285
+ this.d = d
286
+ ? typeof d === 'string'
287
+ ? F64_1.F64.fromString(d)
288
+ : d
289
+ : F64_1.F64.fromNumber(0);
290
+ }
291
+ /**
292
+ * Converts hyperbola_payout_curve_piece to JSON
293
+ * Uses F64.toJSONValue() which preserves precision by using strings for very large numbers
294
+ */
295
+ toJSON() {
296
+ return {
297
+ hyperbolaPayoutCurvePiece: {
298
+ usePositivePiece: this.usePositivePiece,
299
+ translateOutcome: this.translateOutcome.toJSONValue(),
300
+ translatePayout: this.translatePayout.toJSONValue(),
301
+ a: this.a.toJSONValue(),
302
+ b: this.b.toJSONValue(),
303
+ c: this.c.toJSONValue(),
304
+ d: this.d.toJSONValue(),
305
+ },
306
+ };
307
+ }
308
+ /**
309
+ * Serializes the hyperbola_payout_curve_piece message into a Buffer
310
+ */
311
+ serialize() {
312
+ const writer = new bufio_1.BufferWriter();
313
+ writer.writeBigSize(this.payoutCurvePieceType);
314
+ writer.writeUInt8(this.usePositivePiece ? 1 : 0);
315
+ // Write f64 values using F64 for precise handling - write raw 8-byte buffers
316
+ writer.writeBytes(this.translateOutcome.serialize());
317
+ writer.writeBytes(this.translatePayout.serialize());
318
+ writer.writeBytes(this.a.serialize());
319
+ writer.writeBytes(this.b.serialize());
320
+ writer.writeBytes(this.c.serialize());
321
+ writer.writeBytes(this.d.serialize());
322
+ return writer.toBuffer();
323
+ }
324
+ }
325
+ exports.HyperbolaPayoutCurvePiece = HyperbolaPayoutCurvePiece;
326
+ HyperbolaPayoutCurvePiece.payoutCurvePieceType = MessageType_1.PayoutCurvePieceType.Hyperbola;
327
+ //# sourceMappingURL=PayoutCurvePiece.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayoutCurvePiece.js","sourceRoot":"","sources":["../../lib/messages/PayoutCurvePiece.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /// <reference types="node" />
2
+ import { MessageType } from '../MessageType';
3
+ import { IDlcMessage } from './DlcMessage';
4
+ import { HyperbolaPayoutCurvePieceJSON, PayoutCurvePiece, PolynomialPayoutCurvePieceJSON } from './PayoutCurvePiece';
5
+ /**
6
+ * PayoutFunction contains the payout curve definition for numeric outcome contracts.
7
+ * Updated to match rust-dlc format exactly.
8
+ */
9
+ export declare class PayoutFunction implements IDlcMessage {
10
+ static type: MessageType;
11
+ /**
12
+ * Creates a PayoutFunction from JSON data
13
+ * @param json JSON object representing a payout function
14
+ */
15
+ static fromJSON(json: any): PayoutFunction;
16
+ /**
17
+ * Deserializes a payout_function message
18
+ * @param buf
19
+ */
20
+ static deserialize(buf: Buffer): PayoutFunction;
21
+ /**
22
+ * The type for payout_function message. payout_function = 42790
23
+ */
24
+ type: MessageType;
25
+ payoutFunctionPieces: IPayoutFunctionPiece[];
26
+ lastEndpoint: IPayoutPoint;
27
+ /**
28
+ * Constructor that ensures proper initialization
29
+ */
30
+ constructor();
31
+ /**
32
+ * Converts payout_function to JSON
33
+ */
34
+ toJSON(): PayoutFunctionJSON;
35
+ /**
36
+ * Serializes the payout_function message into a Buffer
37
+ */
38
+ serialize(): Buffer;
39
+ }
40
+ export declare const PayoutFunctionV0: typeof PayoutFunction;
41
+ export type PayoutFunctionV0 = PayoutFunction;
42
+ interface IPayoutPoint {
43
+ eventOutcome: bigint;
44
+ outcomePayout: bigint;
45
+ extraPrecision: number;
46
+ }
47
+ interface IPayoutPointJSON {
48
+ eventOutcome: number;
49
+ outcomePayout: number;
50
+ extraPrecision: number;
51
+ }
52
+ interface IPayoutFunctionPiece {
53
+ endPoint: IPayoutPoint;
54
+ payoutCurvePiece: PayoutCurvePiece;
55
+ }
56
+ interface IPayoutFunctionPieceJSON {
57
+ endPoint: IPayoutPointJSON;
58
+ payoutCurvePiece: PolynomialPayoutCurvePieceJSON | HyperbolaPayoutCurvePieceJSON;
59
+ }
60
+ export interface PayoutFunctionJSON {
61
+ type?: number;
62
+ payoutFunctionPieces: IPayoutFunctionPieceJSON[];
63
+ lastEndpoint: IPayoutPointJSON;
64
+ }
65
+ export type PayoutFunctionV0JSON = PayoutFunctionJSON;
66
+ export {};
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayoutFunctionV0 = exports.PayoutFunction = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const util_1 = require("../util");
7
+ const PayoutCurvePiece_1 = require("./PayoutCurvePiece");
8
+ /**
9
+ * PayoutFunction contains the payout curve definition for numeric outcome contracts.
10
+ * Updated to match rust-dlc format exactly.
11
+ */
12
+ class PayoutFunction {
13
+ /**
14
+ * Creates a PayoutFunction from JSON data
15
+ * @param json JSON object representing a payout function
16
+ */
17
+ static fromJSON(json) {
18
+ const instance = new PayoutFunction();
19
+ // Parse payout function pieces
20
+ const pieces = json.payoutFunctionPieces || json.payout_function_pieces || [];
21
+ instance.payoutFunctionPieces = pieces.map((pieceJson, index) => {
22
+ const piece = {
23
+ endPoint: {
24
+ eventOutcome: (0, util_1.toBigInt)(pieceJson.endPoint?.eventOutcome),
25
+ outcomePayout: (0, util_1.toBigInt)(pieceJson.endPoint?.outcomePayout),
26
+ extraPrecision: pieceJson.endPoint?.extraPrecision || 0,
27
+ },
28
+ payoutCurvePiece: PayoutCurvePiece_1.PayoutCurvePiece.fromJSON(pieceJson.payoutCurvePiece || pieceJson.payout_curve_piece),
29
+ };
30
+ // For HyperbolaPayoutCurvePiece, set the left and right end points
31
+ if (piece.payoutCurvePiece instanceof PayoutCurvePiece_1.HyperbolaPayoutCurvePiece) {
32
+ const hyperbola = piece.payoutCurvePiece;
33
+ // Left end point is this piece's endPoint
34
+ hyperbola.leftEndPoint = piece.endPoint;
35
+ // Right end point is the next piece's endPoint, or lastEndpoint if this is the last piece
36
+ if (index < pieces.length - 1) {
37
+ const nextPiece = pieces[index + 1];
38
+ hyperbola.rightEndPoint = {
39
+ eventOutcome: (0, util_1.toBigInt)(nextPiece.endPoint?.eventOutcome),
40
+ outcomePayout: (0, util_1.toBigInt)(nextPiece.endPoint?.outcomePayout),
41
+ extraPrecision: nextPiece.endPoint?.extraPrecision || 0,
42
+ };
43
+ }
44
+ else {
45
+ // Use lastEndpoint for the final piece
46
+ const lastEndpoint = json.lastEndpoint || json.last_endpoint || {};
47
+ hyperbola.rightEndPoint = {
48
+ eventOutcome: (0, util_1.toBigInt)(lastEndpoint.eventOutcome),
49
+ outcomePayout: (0, util_1.toBigInt)(lastEndpoint.outcomePayout),
50
+ extraPrecision: lastEndpoint.extraPrecision || 0,
51
+ };
52
+ }
53
+ }
54
+ return piece;
55
+ });
56
+ // Parse last endpoint
57
+ const lastEndpoint = json.lastEndpoint || json.last_endpoint;
58
+ if (lastEndpoint) {
59
+ instance.lastEndpoint = {
60
+ eventOutcome: (0, util_1.toBigInt)(lastEndpoint.eventOutcome),
61
+ outcomePayout: (0, util_1.toBigInt)(lastEndpoint.outcomePayout),
62
+ extraPrecision: lastEndpoint.extraPrecision || 0,
63
+ };
64
+ }
65
+ else {
66
+ // Default last endpoint if not provided
67
+ instance.lastEndpoint = {
68
+ eventOutcome: BigInt(0),
69
+ outcomePayout: BigInt(0),
70
+ extraPrecision: 0,
71
+ };
72
+ }
73
+ return instance;
74
+ }
75
+ /**
76
+ * Deserializes a payout_function message
77
+ * @param buf
78
+ */
79
+ static deserialize(buf) {
80
+ const instance = new PayoutFunction();
81
+ const reader = new bufio_1.BufferReader(buf);
82
+ // Read payout function pieces (as vec)
83
+ const numPieces = Number(reader.readBigSize());
84
+ for (let i = 0; i < numPieces; i++) {
85
+ // Read end_point first
86
+ const eventOutcome = reader.readUInt64BE();
87
+ const outcomePayout = reader.readUInt64BE();
88
+ const extraPrecision = reader.readUInt16BE();
89
+ // Read payout curve piece
90
+ const payoutCurvePieceStartPos = reader.position;
91
+ const payoutCurvePiece = PayoutCurvePiece_1.PayoutCurvePiece.deserialize(reader.buffer.subarray(reader.position));
92
+ // Skip past the payout curve piece bytes
93
+ const payoutCurvePieceSize = payoutCurvePiece.serialize().length;
94
+ reader.position = payoutCurvePieceStartPos + payoutCurvePieceSize;
95
+ instance.payoutFunctionPieces.push({
96
+ endPoint: {
97
+ eventOutcome,
98
+ outcomePayout,
99
+ extraPrecision,
100
+ },
101
+ payoutCurvePiece,
102
+ });
103
+ }
104
+ // Read last_endpoint
105
+ instance.lastEndpoint = {
106
+ eventOutcome: reader.readUInt64BE(),
107
+ outcomePayout: reader.readUInt64BE(),
108
+ extraPrecision: reader.readUInt16BE(),
109
+ };
110
+ return instance;
111
+ }
112
+ /**
113
+ * Constructor that ensures proper initialization
114
+ */
115
+ constructor() {
116
+ /**
117
+ * The type for payout_function message. payout_function = 42790
118
+ */
119
+ this.type = PayoutFunction.type;
120
+ this.payoutFunctionPieces = [];
121
+ // Explicitly initialize arrays to handle file-linking issues
122
+ this.payoutFunctionPieces = [];
123
+ }
124
+ /**
125
+ * Converts payout_function to JSON
126
+ */
127
+ toJSON() {
128
+ return {
129
+ payoutFunctionPieces: this.payoutFunctionPieces.map((piece) => ({
130
+ endPoint: {
131
+ eventOutcome: (0, util_1.bigIntToNumber)(piece.endPoint.eventOutcome),
132
+ outcomePayout: (0, util_1.bigIntToNumber)(piece.endPoint.outcomePayout),
133
+ extraPrecision: piece.endPoint.extraPrecision,
134
+ },
135
+ payoutCurvePiece: piece.payoutCurvePiece.toJSON(),
136
+ })),
137
+ lastEndpoint: {
138
+ eventOutcome: (0, util_1.bigIntToNumber)(this.lastEndpoint.eventOutcome),
139
+ outcomePayout: (0, util_1.bigIntToNumber)(this.lastEndpoint.outcomePayout),
140
+ extraPrecision: this.lastEndpoint.extraPrecision,
141
+ },
142
+ };
143
+ }
144
+ /**
145
+ * Serializes the payout_function message into a Buffer
146
+ */
147
+ serialize() {
148
+ const writer = new bufio_1.BufferWriter();
149
+ // Write payout_function_pieces as vec (length + elements)
150
+ writer.writeBigSize(this.payoutFunctionPieces.length);
151
+ for (const piece of this.payoutFunctionPieces) {
152
+ // Write end_point first (matches rust order)
153
+ writer.writeUInt64BE(piece.endPoint.eventOutcome);
154
+ writer.writeUInt64BE(piece.endPoint.outcomePayout);
155
+ writer.writeUInt16BE(piece.endPoint.extraPrecision);
156
+ // Write payout_curve_piece second
157
+ writer.writeBytes(piece.payoutCurvePiece.serialize());
158
+ }
159
+ // Write last_endpoint
160
+ writer.writeUInt64BE(this.lastEndpoint.eventOutcome);
161
+ writer.writeUInt64BE(this.lastEndpoint.outcomePayout);
162
+ writer.writeUInt16BE(this.lastEndpoint.extraPrecision);
163
+ return writer.toBuffer();
164
+ }
165
+ }
166
+ exports.PayoutFunction = PayoutFunction;
167
+ PayoutFunction.type = MessageType_1.MessageType.PayoutFunction;
168
+ // Legacy support
169
+ exports.PayoutFunctionV0 = PayoutFunction;
170
+ //# sourceMappingURL=PayoutFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayoutFunction.js","sourceRoot":"","sources":["../../lib/messages/PayoutFunction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /// <reference types="node" />
2
+ import { MessageType } from '../MessageType';
3
+ import { IDlcMessage } from './DlcMessage';
4
+ /**
5
+ * RoundingIntervals defines rounding intervals for numeric outcome contracts.
6
+ * Updated to match dlcspecs format (no longer uses TLV).
7
+ */
8
+ export declare class RoundingIntervals implements IDlcMessage {
9
+ static type: MessageType;
10
+ /**
11
+ * Creates a RoundingIntervals from JSON data
12
+ * @param json JSON object representing rounding intervals
13
+ */
14
+ static fromJSON(json: any): RoundingIntervals;
15
+ /**
16
+ * Deserializes a rounding_intervals message
17
+ * @param buf
18
+ */
19
+ static deserialize(buf: Buffer): RoundingIntervals;
20
+ /**
21
+ * The type for rounding_intervals message. rounding_intervals = 42788
22
+ */
23
+ type: MessageType;
24
+ intervals: IInterval[];
25
+ /**
26
+ * Validates correctness of all fields in the message
27
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/NumericOutcome.md#requirements
28
+ * @throws Will throw an error if validation fails
29
+ */
30
+ validate(): void;
31
+ /**
32
+ * Converts rounding_intervals to JSON
33
+ */
34
+ toJSON(): IRoundingIntervalsJSON;
35
+ /**
36
+ * Serializes the rounding_intervals message into a Buffer
37
+ */
38
+ serialize(): Buffer;
39
+ }
40
+ interface IInterval {
41
+ beginInterval: bigint;
42
+ roundingMod: bigint;
43
+ }
44
+ interface IIntervalJSON {
45
+ beginInterval: number;
46
+ roundingMod: number;
47
+ }
48
+ export interface IRoundingIntervalsJSON {
49
+ type?: number;
50
+ intervals: IIntervalJSON[];
51
+ }
52
+ export {};