@atomicfinance/types 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/.turbo/turbo-build.log +1 -0
  2. package/.turbo/turbo-test.log +0 -0
  3. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  4. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  5. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  6. package/.yalc/@node-dlc/messaging/README.md +24 -0
  7. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  45. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  46. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  47. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  119. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  120. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  121. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  122. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  123. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  124. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  134. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  135. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  136. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  137. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  138. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  139. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  140. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  141. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  142. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  143. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  144. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  145. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  263. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  264. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  265. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  275. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  276. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  277. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  278. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  279. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  280. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  281. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  282. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  283. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  284. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  286. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  287. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  288. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  289. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  290. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  291. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  327. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  328. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  329. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  331. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  332. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  333. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  334. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  335. package/.yalc/@node-dlc/messaging/package.json +42 -0
  336. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  360. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  361. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  362. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  363. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  364. package/CHANGELOG.md +70 -0
  365. package/dist/dlc.d.ts +3 -3
  366. package/dist/models/Output.js.map +1 -1
  367. package/lib/dlc.ts +4 -14
  368. package/lib/models/Output.ts +4 -1
  369. package/package.json +4 -4
  370. package/yalc.lock +10 -0
@@ -0,0 +1,387 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OracleInfoV0 = exports.OracleInfo = exports.MultiOracleInfo = exports.SingleOracleInfo = exports.OracleParams = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const getTlv_1 = require("../serialize/getTlv");
7
+ const OracleAnnouncement_1 = require("./OracleAnnouncement");
8
+ /**
9
+ * OracleParams describe allowed differences between oracles in
10
+ * numerical outcome contracts, as per rust-dlc specification.
11
+ */
12
+ class OracleParams {
13
+ constructor() {
14
+ this.type = OracleParams.type;
15
+ }
16
+ /**
17
+ * Creates an OracleParams from JSON data
18
+ * @param json JSON object representing oracle params
19
+ */
20
+ static fromJSON(json) {
21
+ const instance = new OracleParams();
22
+ instance.maxErrorExp = json.maxErrorExp || json.max_error_exp || 0;
23
+ instance.minFailExp = json.minFailExp || json.min_fail_exp || 0;
24
+ instance.maximizeCoverage =
25
+ json.maximizeCoverage || json.maximize_coverage || false;
26
+ return instance;
27
+ }
28
+ /**
29
+ * Deserializes oracle_params_v0 message
30
+ */
31
+ static deserialize(buf) {
32
+ const instance = new OracleParams();
33
+ const reader = new bufio_1.BufferReader(buf);
34
+ reader.readBigSize(); // read type
35
+ instance.length = reader.readBigSize();
36
+ instance.maxErrorExp = reader.readUInt16BE();
37
+ instance.minFailExp = reader.readUInt16BE();
38
+ instance.maximizeCoverage = reader.readUInt8() === 1;
39
+ return instance;
40
+ }
41
+ /**
42
+ * Deserializes oracle params body without TLV wrapper (for optional deserialization)
43
+ */
44
+ static deserializeBody(buf) {
45
+ const instance = new OracleParams();
46
+ const reader = new bufio_1.BufferReader(buf);
47
+ // No type/length to read - just the body content
48
+ instance.maxErrorExp = reader.readUInt16BE();
49
+ instance.minFailExp = reader.readUInt16BE();
50
+ instance.maximizeCoverage = reader.readUInt8() === 1;
51
+ return instance;
52
+ }
53
+ validate() {
54
+ if (this.maxErrorExp < 0) {
55
+ throw new Error('maxErrorExp must be greater than or equal to 0');
56
+ }
57
+ if (this.minFailExp < 0) {
58
+ throw new Error('minFailExp must be greater than or equal to 0');
59
+ }
60
+ if (this.maxErrorExp >= this.minFailExp) {
61
+ throw new Error('maxErrorExp must be less than minFailExp');
62
+ }
63
+ }
64
+ toJSON() {
65
+ return {
66
+ maxErrorExp: this.maxErrorExp,
67
+ minFailExp: this.minFailExp,
68
+ maximizeCoverage: this.maximizeCoverage,
69
+ };
70
+ }
71
+ serialize() {
72
+ const writer = new bufio_1.BufferWriter();
73
+ writer.writeBigSize(this.type);
74
+ const dataWriter = new bufio_1.BufferWriter();
75
+ dataWriter.writeUInt16BE(this.maxErrorExp);
76
+ dataWriter.writeUInt16BE(this.minFailExp);
77
+ dataWriter.writeUInt8(this.maximizeCoverage ? 1 : 0);
78
+ writer.writeBigSize(dataWriter.size);
79
+ writer.writeBytes(dataWriter.toBuffer());
80
+ return writer.toBuffer();
81
+ }
82
+ /**
83
+ * Serializes the oracle params body without TLV wrapper (for optional serialization)
84
+ */
85
+ serializeBody() {
86
+ const writer = new bufio_1.BufferWriter();
87
+ writer.writeUInt16BE(this.maxErrorExp);
88
+ writer.writeUInt16BE(this.minFailExp);
89
+ writer.writeUInt8(this.maximizeCoverage ? 1 : 0);
90
+ return writer.toBuffer();
91
+ }
92
+ }
93
+ exports.OracleParams = OracleParams;
94
+ OracleParams.type = MessageType_1.MessageType.OracleParamsV0;
95
+ /**
96
+ * SingleOracleInfo contains information about a single oracle.
97
+ */
98
+ class SingleOracleInfo {
99
+ constructor() {
100
+ this.type = SingleOracleInfo.type;
101
+ }
102
+ /**
103
+ * Creates a SingleOracleInfo from JSON data
104
+ * @param json JSON object representing single oracle info
105
+ */
106
+ static fromJSON(json) {
107
+ const instance = new SingleOracleInfo();
108
+ const announcementData = json.announcement || json.oracleAnnouncement;
109
+ if (!announcementData) {
110
+ throw new Error('announcement or oracleAnnouncement is required for single oracle info');
111
+ }
112
+ // Parse announcement using proper fromJSON method
113
+ instance.announcement = OracleAnnouncement_1.OracleAnnouncement.fromJSON(announcementData);
114
+ return instance;
115
+ }
116
+ /**
117
+ * Deserializes single oracle info
118
+ */
119
+ static deserialize(buf) {
120
+ const instance = new SingleOracleInfo();
121
+ const reader = new bufio_1.BufferReader(buf);
122
+ // Read the type and length that serialize() writes
123
+ reader.readBigSize(); // read type
124
+ instance.length = reader.readBigSize(); // read length
125
+ // Read the announcement data
126
+ instance.announcement = OracleAnnouncement_1.OracleAnnouncement.deserialize(reader.readBytes(Number(instance.length)));
127
+ return instance;
128
+ }
129
+ /**
130
+ * Returns the closest maturity date amongst all events
131
+ */
132
+ getClosestMaturityDate() {
133
+ return this.announcement.oracleEvent.eventMaturityEpoch;
134
+ }
135
+ validate() {
136
+ this.announcement.validate();
137
+ }
138
+ toJSON() {
139
+ // Return enum variant format for Rust compatibility
140
+ return {
141
+ single: {
142
+ oracleAnnouncement: this.announcement.toJSON(),
143
+ },
144
+ };
145
+ }
146
+ serialize() {
147
+ const writer = new bufio_1.BufferWriter();
148
+ writer.writeBigSize(this.type);
149
+ const dataWriter = new bufio_1.BufferWriter();
150
+ dataWriter.writeBytes(this.announcement.serialize());
151
+ writer.writeBigSize(dataWriter.size);
152
+ writer.writeBytes(dataWriter.toBuffer());
153
+ return writer.toBuffer();
154
+ }
155
+ /**
156
+ * Serializes the body without TLV wrapper (for embedding in ContractInfo)
157
+ * This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id
158
+ */
159
+ serializeBody() {
160
+ return this.announcement.serialize();
161
+ }
162
+ /**
163
+ * Deserializes the body without TLV wrapper (for embedding in ContractInfo)
164
+ * This matches rust-dlc behavior where OracleInfo is read without type_id
165
+ */
166
+ static deserializeBody(buf) {
167
+ const instance = new SingleOracleInfo();
168
+ // No type/length to read - just the announcement data directly
169
+ instance.announcement = OracleAnnouncement_1.OracleAnnouncement.deserialize(buf);
170
+ return instance;
171
+ }
172
+ }
173
+ exports.SingleOracleInfo = SingleOracleInfo;
174
+ SingleOracleInfo.type = MessageType_1.MessageType.OracleInfoV0; // Using existing type for single oracle
175
+ /**
176
+ * MultiOracleInfo contains information about multiple oracles used in multi-oracle based contracts.
177
+ */
178
+ class MultiOracleInfo {
179
+ constructor() {
180
+ this.type = MultiOracleInfo.type;
181
+ /** The set of oracle announcements. */
182
+ this.announcements = [];
183
+ }
184
+ /**
185
+ * Creates a MultiOracleInfo from JSON data
186
+ * @param json JSON object representing multi oracle info
187
+ */
188
+ static fromJSON(json) {
189
+ const instance = new MultiOracleInfo();
190
+ instance.threshold = json.threshold || 1;
191
+ // Parse oracle announcements using proper fromJSON method
192
+ const announcements = json.oracleAnnouncements || json.oracle_announcements || [];
193
+ instance.announcements = announcements.map((announcementJson) => OracleAnnouncement_1.OracleAnnouncement.fromJSON(announcementJson));
194
+ // Parse oracle params if present (null means explicitly absent)
195
+ const oracleParamsData = json.oracleParams || json.oracle_params;
196
+ if (oracleParamsData !== null && oracleParamsData !== undefined) {
197
+ // Create OracleParams from JSON data using the fromJSON method
198
+ instance.oracleParams = OracleParams.fromJSON(oracleParamsData);
199
+ }
200
+ else {
201
+ // Explicitly null/undefined - will serialize as 00 (not present)
202
+ instance.oracleParams = undefined;
203
+ }
204
+ return instance;
205
+ }
206
+ /**
207
+ * Deserializes multi oracle info
208
+ */
209
+ static deserialize(buf) {
210
+ const instance = new MultiOracleInfo();
211
+ const reader = new bufio_1.BufferReader(buf);
212
+ // Read the type and length that serialize() writes
213
+ reader.readBigSize(); // read type
214
+ instance.length = reader.readBigSize(); // read length
215
+ // In rust-dlc format, MultiOracleInfo body is: threshold + announcements + optional oracle params
216
+ instance.threshold = reader.readUInt16BE();
217
+ const numAnnouncements = Number(reader.readBigSize()); // Changed from readUInt16BE to readBigSize to match rust-dlc vec_cb
218
+ for (let i = 0; i < numAnnouncements; i++) {
219
+ instance.announcements.push(OracleAnnouncement_1.OracleAnnouncement.deserialize((0, getTlv_1.getTlv)(reader)));
220
+ }
221
+ // Optional oracle params using Optional sub-type format
222
+ const oracleParamsData = reader.readOptional();
223
+ if (oracleParamsData) {
224
+ instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);
225
+ }
226
+ return instance;
227
+ }
228
+ validate() {
229
+ if (this.threshold <= 0) {
230
+ throw new Error('threshold must be greater than 0');
231
+ }
232
+ if (this.threshold > this.announcements.length) {
233
+ throw new Error('threshold cannot be greater than number of announcements');
234
+ }
235
+ if (this.announcements.length === 0) {
236
+ throw new Error('must have at least one announcement');
237
+ }
238
+ // Validate all announcements
239
+ this.announcements.forEach((announcement) => announcement.validate());
240
+ // Validate oracle params if present
241
+ if (this.oracleParams) {
242
+ this.oracleParams.validate();
243
+ }
244
+ }
245
+ /**
246
+ * Returns the closest maturity date amongst all events
247
+ */
248
+ getClosestMaturityDate() {
249
+ return Math.min(...this.announcements.map((a) => a.oracleEvent.eventMaturityEpoch));
250
+ }
251
+ toJSON() {
252
+ // Return enum variant format for Rust compatibility
253
+ return {
254
+ multi: {
255
+ threshold: this.threshold,
256
+ oracleAnnouncements: this.announcements.map((a) => a.toJSON()),
257
+ oracleParams: this.oracleParams?.toJSON(),
258
+ },
259
+ };
260
+ }
261
+ serialize() {
262
+ const writer = new bufio_1.BufferWriter();
263
+ // writer.writeBigSize(this.type);
264
+ const dataWriter = new bufio_1.BufferWriter();
265
+ dataWriter.writeUInt16BE(this.threshold);
266
+ dataWriter.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb
267
+ for (const announcement of this.announcements) {
268
+ dataWriter.writeBytes(announcement.serialize());
269
+ }
270
+ // Use Optional serialization for oracle params (body content only, not TLV wrapped)
271
+ const oracleParamsData = this.oracleParams
272
+ ? this.oracleParams.serializeBody()
273
+ : null;
274
+ dataWriter.writeOptional(oracleParamsData);
275
+ // writer.writeBigSize(dataWriter.size);
276
+ writer.writeBytes(dataWriter.toBuffer());
277
+ return writer.toBuffer();
278
+ }
279
+ /**
280
+ * Serializes the body without TLV wrapper (for embedding in ContractInfo)
281
+ * This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id
282
+ */
283
+ serializeBody() {
284
+ const writer = new bufio_1.BufferWriter();
285
+ writer.writeUInt16BE(this.threshold);
286
+ writer.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb
287
+ for (const announcement of this.announcements) {
288
+ writer.writeBytes(announcement.serialize());
289
+ }
290
+ // Use Optional serialization for oracle params (body content only, not TLV wrapped)
291
+ const oracleParamsData = this.oracleParams
292
+ ? this.oracleParams.serializeBody()
293
+ : null;
294
+ writer.writeOptional(oracleParamsData);
295
+ return writer.toBuffer();
296
+ }
297
+ /**
298
+ * Deserializes the body without TLV wrapper (for embedding in ContractInfo)
299
+ * This matches rust-dlc behavior where OracleInfo is read without type_id
300
+ */
301
+ static deserializeBody(buf) {
302
+ const instance = new MultiOracleInfo();
303
+ const reader = new bufio_1.BufferReader(buf);
304
+ // No type/length to read - directly read the multi-oracle body
305
+ instance.threshold = reader.readUInt16BE();
306
+ const numAnnouncements = Number(reader.readBigSize()); // BigSize for announcements count
307
+ for (let i = 0; i < numAnnouncements; i++) {
308
+ instance.announcements.push(OracleAnnouncement_1.OracleAnnouncement.deserialize((0, getTlv_1.getTlv)(reader)));
309
+ }
310
+ // Optional oracle params using Optional sub-type format
311
+ const oracleParamsData = reader.readOptional();
312
+ if (oracleParamsData) {
313
+ instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);
314
+ }
315
+ return instance;
316
+ }
317
+ }
318
+ exports.MultiOracleInfo = MultiOracleInfo;
319
+ MultiOracleInfo.type = MessageType_1.MessageType.OracleInfoV1; // Using V1 for multi-oracle
320
+ /**
321
+ * OracleInfo contains information about the oracles to be used in
322
+ * executing a DLC. Updated to support both single and multi-oracle
323
+ * patterns as per rust-dlc specification.
324
+ */
325
+ class OracleInfo {
326
+ static deserialize(buf) {
327
+ const reader = new bufio_1.BufferReader(buf);
328
+ const type = Number(reader.readBigSize());
329
+ switch (type) {
330
+ case MessageType_1.MessageType.OracleInfoV0:
331
+ return SingleOracleInfo.deserialize(buf);
332
+ case MessageType_1.MessageType.OracleInfoV1:
333
+ return MultiOracleInfo.deserialize(buf);
334
+ default:
335
+ throw new Error(`Unknown oracle info type: ${type}`);
336
+ }
337
+ }
338
+ /**
339
+ * Creates an OracleInfo from JSON data (e.g., from test vectors)
340
+ * @param json JSON object representing oracle info
341
+ */
342
+ static fromJSON(json) {
343
+ if (!json) {
344
+ throw new Error('oracleInfo is required');
345
+ }
346
+ // Handle direct single oracle (legacy format)
347
+ if (json.announcement) {
348
+ return SingleOracleInfo.fromJSON(json);
349
+ }
350
+ // Handle wrapped single oracle
351
+ else if (json.single) {
352
+ return SingleOracleInfo.fromJSON(json.single);
353
+ }
354
+ // Handle multi oracle
355
+ else if (json.multi) {
356
+ return MultiOracleInfo.fromJSON(json.multi);
357
+ }
358
+ else {
359
+ throw new Error('oracleInfo must have either announcement, single, or multi');
360
+ }
361
+ }
362
+ /**
363
+ * Returns the closest maturity date amongst all events
364
+ */
365
+ getClosestMaturityDate() {
366
+ if (this instanceof SingleOracleInfo) {
367
+ return this.announcement.oracleEvent.eventMaturityEpoch;
368
+ }
369
+ else if (this instanceof MultiOracleInfo) {
370
+ return this.getClosestMaturityDate();
371
+ }
372
+ throw new Error('Unknown oracle info type');
373
+ }
374
+ }
375
+ exports.OracleInfo = OracleInfo;
376
+ // For backward compatibility, keep the V0 class as alias to SingleOracleInfo
377
+ class OracleInfoV0 extends SingleOracleInfo {
378
+ /**
379
+ * Creates an OracleInfoV0 from JSON data (alias for SingleOracleInfo.fromJSON)
380
+ * @param json JSON object representing oracle info
381
+ */
382
+ static fromJSON(json) {
383
+ return SingleOracleInfo.fromJSON(json);
384
+ }
385
+ }
386
+ exports.OracleInfoV0 = OracleInfoV0;
387
+ //# sourceMappingURL=OracleInfoV0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OracleInfoV0.js","sourceRoot":"","sources":["../../lib/messages/OracleInfoV0.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ import { MessageType } from '../MessageType';
3
+ import { IDlcMessage } from './DlcMessage';
4
+ import { IOrderNegotiationFieldsV0JSON, IOrderNegotiationFieldsV1JSON, OrderNegotiationFields } from './OrderNegotiationFields';
5
+ /**
6
+ * OrderAccept contains information about a node and indicates its
7
+ * acceptance of the new order offer. This is the second step towards
8
+ * order negotiation.
9
+ */
10
+ export declare class OrderAccept implements IDlcMessage {
11
+ static type: MessageType;
12
+ /**
13
+ * Creates an OrderAccept from JSON data
14
+ * @param json JSON object representing an order accept
15
+ */
16
+ static fromJSON(json: any): OrderAccept;
17
+ /**
18
+ * Deserializes an order_accept message
19
+ * @param buf
20
+ */
21
+ static deserialize(buf: Buffer): OrderAccept;
22
+ /**
23
+ * The type for order_accept message. order_accept = 62772
24
+ */
25
+ type: MessageType;
26
+ tempOrderId: Buffer;
27
+ negotiationFields: OrderNegotiationFields;
28
+ /**
29
+ * Converts order_accept to JSON
30
+ */
31
+ toJSON(): IOrderAcceptJSON;
32
+ /**
33
+ * Serializes the order_accept message into a Buffer
34
+ */
35
+ serialize(): Buffer;
36
+ }
37
+ export interface IOrderAcceptJSON {
38
+ type: number;
39
+ tempOrderId: string;
40
+ negotiationFields: IOrderNegotiationFieldsV0JSON | IOrderNegotiationFieldsV1JSON;
41
+ }
42
+ export declare class OrderAcceptContainer {
43
+ private accepts;
44
+ /**
45
+ * Adds an OrderAccept to the container.
46
+ * @param accept The OrderAccept to add.
47
+ */
48
+ addAccept(accept: OrderAccept): void;
49
+ /**
50
+ * Returns all OrderAccepts in the container.
51
+ * @returns An array of OrderAccept instances.
52
+ */
53
+ getAccepts(): OrderAccept[];
54
+ /**
55
+ * Serializes all OrderAccepts in the container to a Buffer.
56
+ * @returns A Buffer containing the serialized OrderAccepts.
57
+ */
58
+ serialize(): Buffer;
59
+ /**
60
+ * Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
61
+ * @param buf The Buffer to deserialize.
62
+ * @returns An OrderAcceptContainer instance.
63
+ */
64
+ static deserialize(buf: Buffer): OrderAcceptContainer;
65
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderAcceptContainer = exports.OrderAccept = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const getTlv_1 = require("../serialize/getTlv");
7
+ const OrderNegotiationFields_1 = require("./OrderNegotiationFields");
8
+ /**
9
+ * OrderAccept contains information about a node and indicates its
10
+ * acceptance of the new order offer. This is the second step towards
11
+ * order negotiation.
12
+ */
13
+ class OrderAccept {
14
+ constructor() {
15
+ /**
16
+ * The type for order_accept message. order_accept = 62772
17
+ */
18
+ this.type = OrderAccept.type;
19
+ }
20
+ /**
21
+ * Creates an OrderAccept from JSON data
22
+ * @param json JSON object representing an order accept
23
+ */
24
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
25
+ static fromJSON(json) {
26
+ const instance = new OrderAccept();
27
+ instance.tempOrderId = Buffer.from(json.tempOrderId || json.temp_order_id, 'hex');
28
+ // Handle OrderNegotiationFields - will be parsed during deserialization if needed
29
+ instance.negotiationFields =
30
+ json.negotiationFields || json.negotiation_fields;
31
+ return instance;
32
+ }
33
+ /**
34
+ * Deserializes an order_accept message
35
+ * @param buf
36
+ */
37
+ static deserialize(buf) {
38
+ const instance = new OrderAccept();
39
+ const reader = new bufio_1.BufferReader(buf);
40
+ const type = reader.readUInt16BE(); // read type
41
+ // Validate type matches expected OrderAccept type
42
+ if (type !== MessageType_1.MessageType.OrderAccept) {
43
+ throw new Error(`Invalid message type. Expected ${MessageType_1.MessageType.OrderAccept}, got ${type}`);
44
+ }
45
+ instance.tempOrderId = reader.readBytes(32);
46
+ instance.negotiationFields = OrderNegotiationFields_1.OrderNegotiationFields.deserialize((0, getTlv_1.getTlv)(reader));
47
+ return instance;
48
+ }
49
+ /**
50
+ * Converts order_accept to JSON
51
+ */
52
+ toJSON() {
53
+ return {
54
+ type: this.type,
55
+ tempOrderId: this.tempOrderId.toString('hex'),
56
+ negotiationFields: this.negotiationFields.toJSON(),
57
+ };
58
+ }
59
+ /**
60
+ * Serializes the order_accept message into a Buffer
61
+ */
62
+ serialize() {
63
+ const writer = new bufio_1.BufferWriter();
64
+ writer.writeUInt16BE(this.type);
65
+ writer.writeBytes(this.tempOrderId);
66
+ writer.writeBytes(this.negotiationFields.serialize());
67
+ return writer.toBuffer();
68
+ }
69
+ }
70
+ exports.OrderAccept = OrderAccept;
71
+ OrderAccept.type = MessageType_1.MessageType.OrderAccept;
72
+ class OrderAcceptContainer {
73
+ constructor() {
74
+ this.accepts = [];
75
+ }
76
+ /**
77
+ * Adds an OrderAccept to the container.
78
+ * @param accept The OrderAccept to add.
79
+ */
80
+ addAccept(accept) {
81
+ this.accepts.push(accept);
82
+ }
83
+ /**
84
+ * Returns all OrderAccepts in the container.
85
+ * @returns An array of OrderAccept instances.
86
+ */
87
+ getAccepts() {
88
+ return this.accepts;
89
+ }
90
+ /**
91
+ * Serializes all OrderAccepts in the container to a Buffer.
92
+ * @returns A Buffer containing the serialized OrderAccepts.
93
+ */
94
+ serialize() {
95
+ const writer = new bufio_1.BufferWriter();
96
+ // Write the number of accepts in the container first.
97
+ writer.writeBigSize(this.accepts.length);
98
+ // Serialize each accept and write it.
99
+ this.accepts.forEach((accept) => {
100
+ const serializedAccept = accept.serialize();
101
+ writer.writeBigSize(serializedAccept.length);
102
+ writer.writeBytes(serializedAccept);
103
+ });
104
+ return writer.toBuffer();
105
+ }
106
+ /**
107
+ * Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.
108
+ * @param buf The Buffer to deserialize.
109
+ * @returns An OrderAcceptContainer instance.
110
+ */
111
+ static deserialize(buf) {
112
+ const reader = new bufio_1.BufferReader(buf);
113
+ const container = new OrderAcceptContainer();
114
+ const acceptsCount = reader.readBigSize();
115
+ for (let i = 0; i < acceptsCount; i++) {
116
+ const acceptLength = reader.readBigSize();
117
+ const acceptBuf = reader.readBytes(Number(acceptLength));
118
+ const accept = OrderAccept.deserialize(acceptBuf);
119
+ container.addAccept(accept);
120
+ }
121
+ return container;
122
+ }
123
+ }
124
+ exports.OrderAcceptContainer = OrderAcceptContainer;
125
+ //# sourceMappingURL=OrderAccept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderAccept.js","sourceRoot":"","sources":["../../lib/messages/OrderAccept.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAC7C,gDAA6C;AAE7C,qEAIkC;AAElC;;;;GAIG;AACH,MAAa,WAAW;IAAxB;QAgDE;;WAEG;QACI,SAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IA4BjC,CAAC;IA5EC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QAEnC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAChC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EACtC,KAAK,CACN,CAAC;QAEF,kFAAkF;QAClF,QAAQ,CAAC,iBAAiB;YACxB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAAC;QAEpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QAEhD,kDAAkD;QAClD,IAAI,IAAI,KAAK,yBAAW,CAAC,WAAW,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,kCAAkC,yBAAW,CAAC,WAAW,SAAS,IAAI,EAAE,CACzE,CAAC;SACH;QAED,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5C,QAAQ,CAAC,iBAAiB,GAAG,+CAAsB,CAAC,WAAW,CAC7D,IAAA,eAAM,EAAC,MAAM,CAAC,CACf,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA9EH,kCA+EC;AA9Ee,gBAAI,GAAG,yBAAW,CAAC,WAAW,CAAC;AAwF/C,MAAa,oBAAoB;IAAjC;QACU,YAAO,GAAkB,EAAE,CAAC;IAoDtC,CAAC;IAlDC;;;OAGG;IACI,SAAS,CAAC,MAAmB;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAClD,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArDD,oDAqDC"}
@@ -0,0 +1,42 @@
1
+ /// <reference types="node" />
2
+ import { MessageType } from '../MessageType';
3
+ import { IDlcMessage } from './DlcMessage';
4
+ export declare abstract class OrderIrcInfo {
5
+ static deserialize(buf: Buffer): OrderIrcInfo;
6
+ abstract type: number;
7
+ abstract toJSON(): IOrderIrcInfoJSON;
8
+ abstract serialize(): Buffer;
9
+ }
10
+ /**
11
+ * OrderMetadata message contains information about a node and indicates its
12
+ * desire to enter into a new contract. This is the first step toward
13
+ * order negotiation.
14
+ */
15
+ export declare class OrderIrcInfoV0 extends OrderIrcInfo implements IDlcMessage {
16
+ static type: MessageType;
17
+ /**
18
+ * Deserializes an offer_dlc_v0 message
19
+ * @param buf
20
+ */
21
+ static deserialize(buf: Buffer): OrderIrcInfoV0;
22
+ /**
23
+ * The type for order_metadata_v0 message. order_metadata_v0 = 62774
24
+ */
25
+ type: MessageType;
26
+ length: bigint;
27
+ nick: string;
28
+ pubKey: Buffer;
29
+ /**
30
+ * Converts order_metadata_v0 to JSON
31
+ */
32
+ toJSON(): IOrderIrcInfoJSON;
33
+ /**
34
+ * Serializes the oracle_event message into a Buffer
35
+ */
36
+ serialize(): Buffer;
37
+ }
38
+ export interface IOrderIrcInfoJSON {
39
+ type: number;
40
+ nick: string;
41
+ pubKey: string;
42
+ }