@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,415 @@
1
+ import { expect } from 'chai';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+
5
+ import {
6
+ DigitDecompositionEventDescriptor,
7
+ EnumEventDescriptor,
8
+ } from '../../lib/messages/EventDescriptor';
9
+ import { OracleAnnouncement } from '../../lib/messages/OracleAnnouncement';
10
+ import { OracleEvent } from '../../lib/messages/OracleEvent';
11
+
12
+ // Load test vectors
13
+ const testVectorsPath = path.join(
14
+ __dirname,
15
+ '../../test_vectors/oracle/oracle_message_test_vectors.json',
16
+ );
17
+ const testVectors = JSON.parse(fs.readFileSync(testVectorsPath, 'utf8'));
18
+
19
+ describe('OracleAnnouncement', () => {
20
+ const announcementSig = Buffer.from(
21
+ 'fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9' +
22
+ '494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4',
23
+ 'hex',
24
+ );
25
+
26
+ const oraclePubkey = Buffer.from(
27
+ 'da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b',
28
+ 'hex',
29
+ );
30
+
31
+ const invalidOraclePubkey = Buffer.from(
32
+ '5d1bcfab252c6dd9edd7aea4c5eeeef138f7ff7346061ea40143a9f5ae80baa9',
33
+ 'hex',
34
+ );
35
+
36
+ describe('serialize', () => {
37
+ it('serializes', () => {
38
+ const instance = new OracleAnnouncement();
39
+
40
+ instance.length = BigInt(164);
41
+ instance.announcementSig = announcementSig;
42
+ instance.oraclePubkey = oraclePubkey;
43
+ instance.oracleEvent = OracleEvent.deserialize(
44
+ Buffer.from(
45
+ 'fdd822' + // type oracle_event
46
+ '40' + // length
47
+ '0001' + // nb_nonces
48
+ '3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b' + // oracle_nonces
49
+ '00000000' + // event_maturity_epoch
50
+ 'fdd806' + // type enum_event_descriptor
51
+ '10' + // length
52
+ '0002' + // num_outcomes
53
+ '06' + // outcome_1_len
54
+ '64756d6d7931' + // outcome_1
55
+ '06' + // outcome_2_len
56
+ '64756d6d7932' + // outcome_2
57
+ '05' + // event_id_length
58
+ '64756d6d79', // event_id
59
+ 'hex',
60
+ ),
61
+ );
62
+
63
+ expect(instance.serialize().toString("hex")).to.equal(
64
+ "fdd824" + // type oracle_announcement
65
+ "a4" + // length
66
+ "fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9" + // announcement_signature_r
67
+ "494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4" + // announcement_signature_s
68
+ "da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b" + // oracle_public_key
69
+ "fdd822" + // type oracle_event
70
+ "40" + // length
71
+ "0001" + // nb_nonces
72
+ "3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b" + // oracle_nonces
73
+ "00000000" + // event_maturity_epoch
74
+ "fdd806" + // type enum_event_descriptor
75
+ "10" + // length
76
+ "0002" + // num_outcomes
77
+ "06" + // outcome_1_len
78
+ "64756d6d7931" + // outcome_1
79
+ "06" + // outcome_2_len
80
+ "64756d6d7932" + // outcome_2
81
+ "05" + // event_id_length
82
+ "64756d6d79" // event_id
83
+ ); // prettier-ignore
84
+ });
85
+ });
86
+
87
+ describe('deserialize', () => {
88
+ it('deserializes', () => {
89
+ const buf = Buffer.from(
90
+ "fdd824" + // type oracle_announcement
91
+ "a4" + // length
92
+ "fab22628f6e2602e1671c286a2f63a9246794008627a1749639217f4214cb4a9" + // announcement_signature_r
93
+ "494c93d1a852221080f44f697adb4355df59eb339f6ba0f9b01ba661a8b108d4" + // announcement_signature_s
94
+ "da078bbb1d34e7729e38e2ae34236e776da121af442626fa31e31ae55a279a0b" + // oracle_public_key
95
+ "fdd822" + // type oracle_event
96
+ "40" + // length
97
+ "0001" + // nb_nonces
98
+ "3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b" + // oracle_nonces
99
+ "00000000" + // event_maturity_epoch
100
+ "fdd806" + // type enum_event_descriptor
101
+ "10" + // length
102
+ "0002" + // num_outcomes
103
+ "06" + // outcome_1_len
104
+ "64756d6d7931" + // outcome_1
105
+ "06" + // outcome_2_len
106
+ "64756d6d7932" + // outcome_2
107
+ "05" + // event_id_length
108
+ "64756d6d79" // event_id
109
+ , "hex"
110
+ ); // prettier-ignore
111
+
112
+ const instance = OracleAnnouncement.deserialize(buf);
113
+
114
+ expect(instance.length).to.deep.equal(BigInt(164));
115
+ expect(instance.announcementSig).to.deep.equal(announcementSig);
116
+ expect(instance.oraclePubkey).to.deep.equal(oraclePubkey);
117
+ expect(instance.oracleEvent.serialize().toString('hex')).to.equal(
118
+ 'fdd822' + // type oracle_event
119
+ '40' + // length
120
+ '0001' + // nb_nonces
121
+ '3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b' + // oracle_nonces
122
+ '00000000' + // event_maturity_epoch
123
+ 'fdd806' + // type enum_event_descriptor
124
+ '10' + // length
125
+ '0002' + // num_outcomes
126
+ '06' + // outcome_1_len
127
+ '64756d6d7931' + // outcome_1
128
+ '06' + // outcome_2_len
129
+ '64756d6d7932' + // outcome_2
130
+ '05' + // event_id_length
131
+ '64756d6d79', // event_id
132
+ );
133
+ });
134
+ });
135
+
136
+ describe('validation', () => {
137
+ it('should validate when correct signature', () => {
138
+ const instance = new OracleAnnouncement();
139
+
140
+ instance.length = BigInt(164);
141
+ instance.announcementSig = announcementSig;
142
+ instance.oraclePubkey = oraclePubkey;
143
+ instance.oracleEvent = OracleEvent.deserialize(
144
+ Buffer.from(
145
+ 'fdd822' + // type oracle_event
146
+ '40' + // length
147
+ '0001' + // nb_nonces
148
+ '3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b' + // oracle_nonces
149
+ '00000000' + // event_maturity_epoch
150
+ 'fdd806' + // type enum_event_descriptor
151
+ '10' + // length
152
+ '0002' + // num_outcomes
153
+ '06' + // outcome_1_len
154
+ '64756d6d7931' + // outcome_1
155
+ '06' + // outcome_2_len
156
+ '64756d6d7932' + // outcome_2
157
+ '05' + // event_id_length
158
+ '64756d6d79', // event_id
159
+ 'hex',
160
+ ),
161
+ );
162
+
163
+ expect(function () {
164
+ instance.validate();
165
+ }).to.not.throw(Error);
166
+ });
167
+
168
+ it('should invalidate when incorrect signature', () => {
169
+ const instance = new OracleAnnouncement();
170
+
171
+ instance.length = BigInt(164);
172
+ instance.announcementSig = announcementSig;
173
+ instance.oraclePubkey = invalidOraclePubkey;
174
+ instance.oracleEvent = OracleEvent.deserialize(
175
+ Buffer.from(
176
+ 'fdd822' + // type oracle_event
177
+ '40' + // length
178
+ '0001' + // nb_nonces
179
+ '3cfba011378411b20a5ab773cb95daab93e9bcd1e4cce44986a7dda84e01841b' + // oracle_nonces
180
+ '00000000' + // event_maturity_epoch
181
+ 'fdd806' + // type enum_event_descriptor
182
+ '10' + // length
183
+ '0002' + // num_outcomes
184
+ '06' + // outcome_1_len
185
+ '64756d6d7931' + // outcome_1
186
+ '06' + // outcome_2_len
187
+ '64756d6d7932' + // outcome_2
188
+ '05' + // event_id_length
189
+ '64756d6d79', // event_id
190
+ 'hex',
191
+ ),
192
+ );
193
+
194
+ expect(function () {
195
+ instance.validate();
196
+ }).to.throw(Error);
197
+ });
198
+ });
199
+
200
+ /**
201
+ * External Test Vectors
202
+ * i.e. Suredbits Oracle: https://oracle.suredbits.com/event/1985a5e99a8c28a402b58c0c58cbf86bd66a0db850aafc7674f7226d5ce82fde
203
+ * oracle_announcement_v0
204
+ */
205
+ describe('external test vectors', () => {
206
+ const buf = Buffer.from(
207
+ 'fdd824fd02ab1efe41fa42ea1dcd103a0251929dd2b192d2daece8a4ce4d81f68a183b750d92d6f02d796965dc79adf4e7786e08f861a1ecc897afbba2dab9cff6eb0a81937eb8b005b07acf849ad2cec22107331dedbf5a607654fad4eafe39c278e27dde68fdd822fd02450011f9313f1edd903fab297d5350006b669506eb0ffda0bb58319b4df89ac24e14fd15f9791dc78d1596b06f4969bdb37d9e394dc9fedaa18d694027fa32b5ea2a5e60080c58e13727367c3a4ce1ad65dfb3c7e3ca1ea912b0299f6e383bab2875058aa96a1c74633130af6fbd008788de6ac9db76da4ecc7303383cc1a49f525316413850f7e3ac385019d560e84c5b3a3e9ae6c83f59fe4286ddfd23ea46d7ae04610a175cd28a9bf5f574e245c3dfe230dc4b0adf4daaea96780e594f6464f676505f4b74cfe3ffc33415a23de795bf939ce64c0c02033bbfc6c9ff26fb478943a1ece775f38f5db067ca4b2a9168b40792398def9164bfe5c46838472dc3c162af16c811b7a116e9417d5bccb9e5b8a5d7d26095aba993696188c3f85a02f7ab8d12ada171c352785eb63417228c7e248909fc2d673e1bb453140bf8bf429375819afb5e9556663b76ff09c2a7ba9779855ffddc6d360cb459cf8c42a2b949d0de19fe96163d336fd66a4ce2f1791110e679572a20036ffae50204ef520c01058ff4bef28218d1c0e362ee3694ad8b2ae83a51c86c4bc1630ed6202a158810096726f809fc828fafdcf053496affdf887ae8c54b6ca4323ccecf6a51121c4f0c60e790536dab41b221db1c6b35065dc19a9d31cf75901aa35eefecbb6fefd07296cda13cb34ce3b58eba20a0eb8f9614994ec7fee3cc290e30e6b1e3211ae1f3a85b6de6abdbb77d6d9ed33a1cee3bd5cd93a71f12c9c45e385d744ad0e7286660305100fdd80a11000200076274632f75736400000000001109425443205072696365',
208
+ 'hex',
209
+ );
210
+
211
+ const instance = OracleAnnouncement.deserialize(buf);
212
+
213
+ it('deserializes', async () => {
214
+ expect(Number(instance.length)).to.equal(683);
215
+ expect(instance.announcementSig).to.deep.equal(
216
+ Buffer.from(
217
+ '1efe41fa42ea1dcd103a0251929dd2b192d2daece8a4ce4d81f68a183b750d92d6f02d796965dc79adf4e7786e08f861a1ecc897afbba2dab9cff6eb0a81937e',
218
+ 'hex',
219
+ ),
220
+ );
221
+ expect(instance.oraclePubkey).to.deep.equal(
222
+ Buffer.from(
223
+ 'b8b005b07acf849ad2cec22107331dedbf5a607654fad4eafe39c278e27dde68',
224
+ 'hex',
225
+ ),
226
+ );
227
+ expect(instance.oracleEvent.oracleNonces[0]).to.deep.equal(
228
+ Buffer.from(
229
+ 'f9313f1edd903fab297d5350006b669506eb0ffda0bb58319b4df89ac24e14fd',
230
+ 'hex',
231
+ ),
232
+ );
233
+ expect(instance.oracleEvent.eventMaturityEpoch).to.equal(1613779200);
234
+ expect(
235
+ (instance.oracleEvent
236
+ .eventDescriptor as DigitDecompositionEventDescriptor).unit,
237
+ ).to.equal('btc/usd');
238
+ });
239
+
240
+ it('should succeed validation', () => {
241
+ expect(function () {
242
+ instance.validate();
243
+ }).to.not.throw(Error);
244
+ });
245
+ });
246
+
247
+ /**
248
+ * Comprehensive Test Vectors
249
+ * Tests oracle announcements from various implementations and oracle providers
250
+ */
251
+ describe('comprehensive announcement test vectors', () => {
252
+ describe('Atomic Finance announcements', () => {
253
+ let instance: OracleAnnouncement;
254
+
255
+ before(() => {
256
+ const buf = Buffer.from(testVectors.atomic.announcement, 'hex');
257
+ instance = OracleAnnouncement.deserialize(buf);
258
+ });
259
+
260
+ it('deserializes Atomic oracle announcement', () => {
261
+ expect(Number(instance.length)).to.be.greaterThan(0);
262
+ expect(instance.announcementSig).to.be.instanceOf(Buffer);
263
+ expect(instance.announcementSig.length).to.equal(64);
264
+ expect(instance.oraclePubkey).to.be.instanceOf(Buffer);
265
+ expect(instance.oraclePubkey.length).to.equal(32);
266
+ expect(instance.oracleEvent).to.be.instanceOf(OracleEvent);
267
+ expect(instance.getEventId()).to.equal(
268
+ testVectors.atomic.metadata.eventId,
269
+ );
270
+ });
271
+
272
+ it('validates Atomic oracle announcement', () => {
273
+ expect(() => instance.validate()).to.not.throw();
274
+ });
275
+
276
+ it('has correct digit decomposition event descriptor', () => {
277
+ const eventDescriptor = instance.oracleEvent
278
+ .eventDescriptor as DigitDecompositionEventDescriptor;
279
+ expect(eventDescriptor).to.be.instanceOf(
280
+ DigitDecompositionEventDescriptor,
281
+ );
282
+ expect(eventDescriptor.base).to.equal(2);
283
+ expect(eventDescriptor.unit).to.equal('BTCUSD');
284
+ expect(eventDescriptor.nbDigits).to.equal(18);
285
+ });
286
+
287
+ it('round-trip serialization works', () => {
288
+ const serialized = instance.serialize();
289
+ const deserialized = OracleAnnouncement.deserialize(serialized);
290
+ expect(deserialized.getEventId()).to.equal(instance.getEventId());
291
+ expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey);
292
+ });
293
+ });
294
+
295
+ // Note: Lava oracle announcement does not contain event id so we don't validate it
296
+ describe('Lava oracle', () => {
297
+ let instance: OracleAnnouncement;
298
+
299
+ before(() => {
300
+ const buf = Buffer.from(testVectors.lava.announcement, 'hex');
301
+ instance = OracleAnnouncement.deserialize(buf);
302
+ });
303
+
304
+ it('deserializes Lava oracle announcement', () => {
305
+ expect(Number(instance.length)).to.be.greaterThan(0);
306
+ expect(instance.announcementSig).to.be.instanceOf(Buffer);
307
+ expect(instance.announcementSig.length).to.equal(64);
308
+ expect(instance.oraclePubkey).to.be.instanceOf(Buffer);
309
+ expect(instance.oraclePubkey.length).to.equal(32);
310
+ expect(instance.oracleEvent).to.be.instanceOf(OracleEvent);
311
+ });
312
+
313
+ it('has correct digit decomposition event descriptor', () => {
314
+ const eventDescriptor = instance.oracleEvent
315
+ .eventDescriptor as DigitDecompositionEventDescriptor;
316
+ expect(eventDescriptor).to.be.instanceOf(
317
+ DigitDecompositionEventDescriptor,
318
+ );
319
+ expect(eventDescriptor.base).to.equal(2);
320
+ expect(eventDescriptor.unit).to.equal('BTCUSD');
321
+ expect(eventDescriptor.nbDigits).to.equal(18);
322
+ });
323
+
324
+ it('round-trip serialization works', () => {
325
+ const serialized = instance.serialize();
326
+
327
+ const deserialized = OracleAnnouncement.deserialize(serialized);
328
+ expect(deserialized.getEventId()).to.equal(instance.getEventId());
329
+ expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey);
330
+ });
331
+ });
332
+
333
+ describe('rust-dlc enum oracle', () => {
334
+ let instance: OracleAnnouncement;
335
+
336
+ before(() => {
337
+ const buf = Buffer.from(testVectors.rust_dlc_enum.announcement, 'hex');
338
+ instance = OracleAnnouncement.deserialize(buf);
339
+ });
340
+
341
+ it('deserializes rust-dlc enum oracle announcement', () => {
342
+ expect(Number(instance.length)).to.be.greaterThan(0);
343
+ expect(instance.announcementSig).to.be.instanceOf(Buffer);
344
+ expect(instance.announcementSig.length).to.equal(64);
345
+ expect(instance.oraclePubkey).to.be.instanceOf(Buffer);
346
+ expect(instance.oraclePubkey.length).to.equal(32);
347
+ expect(instance.oracleEvent).to.be.instanceOf(OracleEvent);
348
+ expect(instance.getEventId()).to.equal('sports-match-001');
349
+ });
350
+
351
+ it('has correct enum event descriptor', () => {
352
+ const eventDescriptor = instance.oracleEvent
353
+ .eventDescriptor as EnumEventDescriptor;
354
+ expect(eventDescriptor).to.be.instanceOf(EnumEventDescriptor);
355
+ expect(eventDescriptor.outcomes).to.deep.equal(['win', 'lose', 'draw']);
356
+ });
357
+
358
+ it('has single nonce for enum event', () => {
359
+ expect(instance.getNonces()).to.have.length(1);
360
+ });
361
+
362
+ it('round-trip serialization works', () => {
363
+ const serialized = instance.serialize();
364
+ const deserialized = OracleAnnouncement.deserialize(serialized);
365
+ expect(deserialized.getEventId()).to.equal(instance.getEventId());
366
+ expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey);
367
+ });
368
+ });
369
+
370
+ describe('rust-dlc numeric oracle', () => {
371
+ let instance: OracleAnnouncement;
372
+
373
+ before(() => {
374
+ const buf = Buffer.from(
375
+ testVectors.rust_dlc_numeric.announcement,
376
+ 'hex',
377
+ );
378
+ instance = OracleAnnouncement.deserialize(buf);
379
+ });
380
+
381
+ it('deserializes rust-dlc numeric oracle announcement', () => {
382
+ expect(Number(instance.length)).to.be.greaterThan(0);
383
+ expect(instance.announcementSig).to.be.instanceOf(Buffer);
384
+ expect(instance.announcementSig.length).to.equal(64);
385
+ expect(instance.oraclePubkey).to.be.instanceOf(Buffer);
386
+ expect(instance.oraclePubkey.length).to.equal(32);
387
+ expect(instance.oracleEvent).to.be.instanceOf(OracleEvent);
388
+ expect(instance.getEventId()).to.equal('btc-price-test');
389
+ });
390
+
391
+ it('has correct digit decomposition event descriptor', () => {
392
+ const eventDescriptor = instance.oracleEvent
393
+ .eventDescriptor as DigitDecompositionEventDescriptor;
394
+ expect(eventDescriptor).to.be.instanceOf(
395
+ DigitDecompositionEventDescriptor,
396
+ );
397
+ expect(eventDescriptor.base).to.equal(2);
398
+ expect(eventDescriptor.unit).to.equal('BTCUSD');
399
+ expect(eventDescriptor.nbDigits).to.equal(8);
400
+ expect(eventDescriptor.isSigned).to.equal(false);
401
+ });
402
+
403
+ it('has correct number of nonces for 8-digit decomposition', () => {
404
+ expect(instance.getNonces()).to.have.length(8);
405
+ });
406
+
407
+ it('round-trip serialization works', () => {
408
+ const serialized = instance.serialize();
409
+ const deserialized = OracleAnnouncement.deserialize(serialized);
410
+ expect(deserialized.getEventId()).to.equal(instance.getEventId());
411
+ expect(deserialized.oraclePubkey).to.deep.equal(instance.oraclePubkey);
412
+ });
413
+ });
414
+ });
415
+ });