@atomicfinance/bitcoin-dlc-provider 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/.nvmrc +1 -1
  2. package/.turbo/turbo-build.log +1 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  5. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  6. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/messaging/README.md +24 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  45. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  46. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  47. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  119. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  120. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  121. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  122. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  123. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  124. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  134. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  135. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  136. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  137. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  138. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  139. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  140. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  141. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  142. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  143. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  144. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  145. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  263. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  264. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  265. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  275. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  276. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  277. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  278. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  279. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  280. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  281. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  282. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  283. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  284. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  286. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  287. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  288. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  289. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  290. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  291. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  327. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  328. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  329. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  331. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  332. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  333. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  334. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  335. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  336. package/.yalc/@node-dlc/messaging/package.json +42 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  360. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  361. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  362. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  363. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  364. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  365. package/CHANGELOG.md +83 -0
  366. package/dist/BitcoinDlcProvider.d.ts +17 -16
  367. package/dist/BitcoinDlcProvider.js +375 -317
  368. package/dist/BitcoinDlcProvider.js.map +1 -1
  369. package/dist/utils/Utils.d.ts +6 -6
  370. package/dist/utils/Utils.js +4 -4
  371. package/dist/utils/Utils.js.map +1 -1
  372. package/lib/BitcoinDlcProvider.ts +637 -621
  373. package/lib/utils/Utils.ts +19 -24
  374. package/package.json +13 -11
  375. package/yalc.lock +10 -0
@@ -0,0 +1,157 @@
1
+ import { Tx } from '@node-dlc/bitcoin';
2
+ import { StreamReader } from '@node-dlc/bufio';
3
+ import { expect } from 'chai';
4
+
5
+ import { DlcTransactions } from '../../lib/messages/DlcTransactions';
6
+ import { MessageType } from '../../lib/MessageType';
7
+
8
+ describe('DlcTransactions', () => {
9
+ const contractId = Buffer.from(
10
+ '6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8',
11
+ 'hex',
12
+ );
13
+
14
+ const fundTx = Tx.decode(
15
+ StreamReader.fromBuffer(
16
+ Buffer.from(
17
+ '02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000',
18
+ 'hex',
19
+ ),
20
+ ),
21
+ );
22
+
23
+ const fundTxVout = 0;
24
+
25
+ const refundTx = Tx.decode(
26
+ StreamReader.fromBuffer(
27
+ Buffer.from(
28
+ '02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460',
29
+ 'hex',
30
+ ),
31
+ ),
32
+ );
33
+
34
+ const cet0 = Tx.decode(
35
+ StreamReader.fromBuffer(
36
+ Buffer.from(
37
+ '02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000',
38
+ 'hex',
39
+ ),
40
+ ),
41
+ );
42
+
43
+ const cet1 = Tx.decode(
44
+ StreamReader.fromBuffer(
45
+ Buffer.from(
46
+ '02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000',
47
+ 'hex',
48
+ ),
49
+ ),
50
+ );
51
+
52
+ describe('serialize', () => {
53
+ it('serializes', () => {
54
+ const instance = new DlcTransactions();
55
+
56
+ instance.contractId = contractId;
57
+ instance.fundTx = fundTx;
58
+ instance.fundTxVout = fundTxVout;
59
+ instance.refundTx = refundTx;
60
+ instance.cets.push(cet0);
61
+ instance.cets.push(cet1);
62
+
63
+ expect(instance.serialize().toString("hex")).to.equal(
64
+ "ef2e" + // type
65
+ "6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8" + // contract_id
66
+ "00c5" + // fund_tx_len
67
+ "02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000" +
68
+ "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +
69
+ "0071" + // refund_tx_len
70
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460" +
71
+ "02" + // num_cets
72
+ "0052" + // cet_0_len
73
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
74
+ "0052" + // cet_1_len
75
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
76
+ "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
77
+ ); // prettier-ignore
78
+ });
79
+ });
80
+
81
+ describe('deserialize', () => {
82
+ const buf = Buffer.from(
83
+ "ef2e" + // type
84
+ "6010a7e779c5079493ad06abbcaca06b8a04d501890cd724104d1df6e20968e8" + // contract_id
85
+ "00c5" + // fund_tx_len
86
+ "02000000022f76d0509ca3ad7559e0f45489aa2efea70f8657e3cdfce6b8194019012370a10100000000ffffffffd295f485f2d181eb06ae6d5e62007db4bfe52ad31e6e1a5c576e2f396bbda9470100000000ffffffff03aed10e000000000022002034e21059bdd0c5d1d3f2d03075b33ec89c9a018a855158a6c605d921e41db8fd88f6dc0b00000000160014ccd5d5d8249b94c4381c478907c2ad81f0c35227f2b1eb0b000000001600149212ec2ed940f3cd93bfbd16c5f817ee079243bb00000000" +
87
+ "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" +
88
+ "0071" + // refund_tx_len
89
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000feffffff023ac30e000000000016001442795b177d2bd1d538d379af766a979e4056d43cd007000000000000160014f9e38ab4d13bc36fd4df0381e355d9f7b50d69808c106460" +
90
+ "02" + // num_cets
91
+ "0052" + // cet_0_len
92
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
93
+ "0052" + // cet_1_len
94
+ "02000000017f19d63285e628c1b0702cd1a11df6fe4d2acc75595dc52fb8d2842b13aa56220000000000ffffffff010acb0e000000000016001442795b177d2bd1d538d379af766a979e4056d43c00000000" +
95
+ "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
96
+ , "hex"
97
+ ); // prettier-ignore
98
+
99
+ it('deserializes', () => {
100
+ const unknownInstance = DlcTransactions.deserialize(buf);
101
+
102
+ if (unknownInstance.type === MessageType.DlcTransactions) {
103
+ const instance = unknownInstance as DlcTransactions;
104
+
105
+ expect(instance.fundTx.serialize()).to.deep.equal(fundTx.serialize());
106
+ expect(Number(instance.fundTxVout)).to.deep.equal(Number(fundTxVout));
107
+ expect(instance.refundTx.serialize()).to.deep.equal(
108
+ refundTx.serialize(),
109
+ );
110
+ expect(instance.cets[0].serialize()).to.deep.equal(cet0.serialize());
111
+ expect(instance.cets[1].serialize()).to.deep.equal(cet1.serialize());
112
+ } else {
113
+ throw Error('DlcTransactions Incorrect type');
114
+ }
115
+ });
116
+
117
+ it('deserializes without cets', () => {
118
+ // Set parseCets to false
119
+ const unknownInstance = DlcTransactions.deserialize(buf, false);
120
+
121
+ if (unknownInstance.type === MessageType.DlcTransactions) {
122
+ const instance = unknownInstance as DlcTransactions;
123
+
124
+ expect(instance.fundTx.serialize()).to.deep.equal(fundTx.serialize());
125
+ expect(Number(instance.fundTxVout)).to.deep.equal(Number(fundTxVout));
126
+ expect(instance.refundTx.serialize()).to.deep.equal(
127
+ refundTx.serialize(),
128
+ );
129
+ expect(instance.cets.length).to.equal(1);
130
+ } else {
131
+ throw Error('DlcTransactions Incorrect type');
132
+ }
133
+ });
134
+ });
135
+
136
+ describe('toJSON', () => {
137
+ it('convert to JSON', async () => {
138
+ const instance = new DlcTransactions();
139
+
140
+ instance.contractId = contractId;
141
+ instance.fundTx = fundTx;
142
+ instance.fundTxVout = fundTxVout;
143
+ instance.refundTx = refundTx;
144
+ instance.cets.push(cet0);
145
+ instance.cets.push(cet1);
146
+
147
+ const jsonInstance = instance.toJSON();
148
+
149
+ expect(jsonInstance.contractId).to.equal(contractId.toString('hex'));
150
+ expect(jsonInstance.fundTx).to.equal(fundTx.serialize().toString('hex'));
151
+ expect(jsonInstance.refundTx).to.equal(
152
+ refundTx.serialize().toString('hex'),
153
+ );
154
+ expect(jsonInstance.cets[0]).to.equal(cet0.serialize().toString('hex'));
155
+ });
156
+ });
157
+ });
@@ -0,0 +1,50 @@
1
+ import { expect } from 'chai';
2
+
3
+ import { EnumEventDescriptor } from '../../lib/messages/EventDescriptor';
4
+
5
+ describe('EnumEventDescriptorV0', () => {
6
+ const outcomeOne = Buffer.from('64756d6d7931', 'hex').toString();
7
+
8
+ const outcomeTwo = Buffer.from('64756d6d7932', 'hex').toString();
9
+
10
+ describe('serialize', () => {
11
+ it('serializes', () => {
12
+ const instance = new EnumEventDescriptor();
13
+
14
+ instance.length = BigInt(16);
15
+ instance.outcomes = [outcomeOne, outcomeTwo];
16
+
17
+ expect(instance.serialize().toString("hex")).to.equal(
18
+ "fdd806" + // type
19
+ "10" + // length
20
+ "0002" + // num_outcomes
21
+ "06" + // outcome_1_len
22
+ "64756d6d7931" + // outcome_1
23
+ "06" + // outcome_2_len
24
+ "64756d6d7932" // outcome_2
25
+ ); // prettier-ignore
26
+ });
27
+ });
28
+
29
+ describe('deserialize', () => {
30
+ it('deserializes', () => {
31
+ const buf = Buffer.from(
32
+ "fdd806" + // type
33
+ "10" + // length
34
+ "0002" + // num_outcomes
35
+ "06" + // outcome_1_len
36
+ "64756d6d7931" + // outcome_1
37
+ "06" + // outcome_2_len
38
+ "64756d6d7932" // outcome_2
39
+ , "hex"
40
+ ); // prettier-ignore
41
+
42
+ const instance = EnumEventDescriptor.deserialize(buf);
43
+
44
+ expect(Number(instance.outcomes[0].length)).to.equal(outcomeOne.length);
45
+ expect(instance.outcomes[0]).to.deep.equal(outcomeOne);
46
+ expect(Number(instance.outcomes[1].length)).to.equal(outcomeTwo.length);
47
+ expect(instance.outcomes[1]).to.deep.equal(outcomeTwo);
48
+ });
49
+ });
50
+ });
@@ -0,0 +1,93 @@
1
+ import { expect } from 'chai';
2
+
3
+ import {
4
+ DigitDecompositionEventDescriptor,
5
+ EventDescriptor,
6
+ MessageType,
7
+ } from '../../lib';
8
+
9
+ describe('EventDescriptorV0', () => {
10
+ const instance = new DigitDecompositionEventDescriptor();
11
+ instance.base = 2;
12
+ instance.isSigned = false;
13
+ instance.unit = 'BTC-USD';
14
+ instance.precision = 0;
15
+ instance.nbDigits = 17;
16
+
17
+ describe('serialize', () => {
18
+ it('serializes', () => {
19
+ expect(instance.serialize().toString("hex")).to.equal(
20
+ "fdd80a" + // type event_descriptor
21
+ "11" + // length
22
+ "0002" + // base
23
+ "00" + // isSigned
24
+ "07" + // unitLen
25
+ "4254432d555344" + // unit
26
+ "00000000" + // precision
27
+ "0011" // nbDigits
28
+ ); // prettier-ignore
29
+ });
30
+ });
31
+
32
+ describe('deserialize', () => {
33
+ it('deserializes', () => {
34
+ const unknownInstance = EventDescriptor.deserialize(
35
+ Buffer.from(
36
+ 'fdd80a' + // type contract_descriptor
37
+ '11' + // length
38
+ '0002' + // base
39
+ '00' + // isSigned
40
+ '07' + // unitLen
41
+ '4254432d555344' + // unit
42
+ '00000000' + // precision
43
+ '0011', // nbDigits
44
+ 'hex',
45
+ ),
46
+ ); // prettier-ignore
47
+
48
+ if (
49
+ unknownInstance.type === MessageType.DigitDecompositionEventDescriptorV0
50
+ ) {
51
+ const instance = unknownInstance as DigitDecompositionEventDescriptor;
52
+
53
+ expect(instance.length).to.equal(17n);
54
+ expect(instance.base).to.equal(2);
55
+ expect(instance.isSigned).to.equal(false);
56
+ expect(instance.unit).to.equal('BTC-USD');
57
+ expect(instance.precision).to.equal(0);
58
+ expect(instance.nbDigits).to.equal(17);
59
+ }
60
+ });
61
+ });
62
+
63
+ describe('validate', () => {
64
+ const instance = new DigitDecompositionEventDescriptor();
65
+
66
+ beforeEach(() => {
67
+ instance.base = 2;
68
+ instance.isSigned = false;
69
+ instance.unit = 'BTC-USD';
70
+ instance.precision = 0;
71
+ instance.nbDigits = 17;
72
+ });
73
+
74
+ it('should not throw error', () => {
75
+ expect(() => instance.validate()).to.not.throw();
76
+ });
77
+
78
+ it('should throw if base <= 0', () => {
79
+ instance.base = 0;
80
+ expect(() => instance.validate()).to.throw('base must be greater than 0');
81
+
82
+ instance.base = -1;
83
+ expect(() => instance.validate()).to.throw('base must be greater than 0');
84
+ });
85
+
86
+ it('should throw if isSigned is true', () => {
87
+ instance.isSigned = true;
88
+ expect(() => instance.validate()).to.throw(
89
+ 'node-dlc does not support isSigned',
90
+ );
91
+ });
92
+ });
93
+ });
@@ -0,0 +1,84 @@
1
+ import { Sequence, Tx } from '@node-dlc/bitcoin';
2
+ import { StreamReader } from '@node-dlc/bufio';
3
+ import { expect } from 'chai';
4
+
5
+ import { FundingInput } from '../../lib/messages/FundingInput';
6
+
7
+ describe('FundingInput', () => {
8
+ let instance: FundingInput;
9
+
10
+ const type = Buffer.from('fda714', 'hex');
11
+ const length = Buffer.from('3f', 'hex');
12
+ const inputSerialID = Buffer.from('000000000000dae8', 'hex');
13
+ const prevTxLen = Buffer.from('0029', 'hex');
14
+ const prevTx = Buffer.from(
15
+ '02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000',
16
+ 'hex',
17
+ );
18
+ const prevTxVout = Buffer.from('00000000', 'hex');
19
+ const sequence = Buffer.from('ffffffff', 'hex');
20
+ const maxWitnessLen = Buffer.from('006b', 'hex');
21
+ const redeemScriptLen = Buffer.from('0000', 'hex');
22
+
23
+ const fundingInputHex = Buffer.concat([
24
+ type,
25
+ length,
26
+ inputSerialID,
27
+ prevTxLen,
28
+ prevTx,
29
+ prevTxVout,
30
+ sequence,
31
+ maxWitnessLen,
32
+ redeemScriptLen,
33
+ ]);
34
+
35
+ beforeEach(() => {
36
+ instance = new FundingInput();
37
+
38
+ instance.length = BigInt(63);
39
+ instance.inputSerialId = BigInt(56040);
40
+ instance.prevTx = Tx.decode(StreamReader.fromBuffer(prevTx));
41
+ instance.prevTxVout = 0;
42
+ instance.sequence = Sequence.default();
43
+ instance.maxWitnessLen = 107;
44
+ instance.redeemScript = Buffer.from('', 'hex');
45
+ });
46
+
47
+ describe('serialize', () => {
48
+ it('serializes', () => {
49
+ expect(instance.serialize().toString('hex')).to.equal(
50
+ fundingInputHex.toString('hex'),
51
+ );
52
+ });
53
+ });
54
+
55
+ describe('deserialize', () => {
56
+ it('deserializes', () => {
57
+ const instance = FundingInput.deserialize(fundingInputHex);
58
+
59
+ expect(Number(instance.length)).to.equal(63);
60
+ expect(Number(instance.inputSerialId)).to.equal(56040);
61
+ expect(instance.prevTx.serialize()).to.deep.equal(prevTx);
62
+ expect(instance.prevTxVout).to.equal(0);
63
+ expect(instance.sequence.value).to.equal(4294967295);
64
+ expect(instance.maxWitnessLen).to.equal(107);
65
+ expect(instance.redeemScript).to.deep.equal(Buffer.from('', 'hex'));
66
+ });
67
+ });
68
+
69
+ describe('validate', () => {
70
+ it('should ensure inputs are segwit', () => {
71
+ instance.prevTx = Tx.decode(
72
+ StreamReader.fromBuffer(
73
+ Buffer.from(
74
+ '02000000000100c2eb0b00000000160014e70dcc9ffa7ff84c889c9e79b218708bae3bc95800000000', // has no inputs
75
+ 'hex',
76
+ ),
77
+ ),
78
+ );
79
+ expect(function () {
80
+ instance.validate();
81
+ }).to.throw(Error);
82
+ });
83
+ });
84
+ });
@@ -0,0 +1,83 @@
1
+ import { expect } from 'chai';
2
+
3
+ import { FundingSignatures } from '../../lib/messages/FundingSignatures';
4
+ import { ScriptWitnessV0 } from '../../lib/messages/ScriptWitnessV0';
5
+
6
+ describe('FundingSignatures', () => {
7
+ let instance: FundingSignatures;
8
+
9
+ beforeEach(() => {
10
+ instance = new FundingSignatures();
11
+
12
+ // Create test witness elements
13
+ const witness1 = new ScriptWitnessV0();
14
+ witness1.length = 71;
15
+ witness1.witness = Buffer.alloc(71, 0x01);
16
+
17
+ const witness2 = new ScriptWitnessV0();
18
+ witness2.length = 33;
19
+ witness2.witness = Buffer.alloc(33, 0x02);
20
+
21
+ const witness3 = new ScriptWitnessV0();
22
+ witness3.length = 65;
23
+ witness3.witness = Buffer.alloc(65, 0x03);
24
+
25
+ // Set up witness elements for two funding inputs
26
+ instance.witnessElements = [
27
+ [witness1, witness2], // First funding input
28
+ [witness3], // Second funding input
29
+ ];
30
+ });
31
+
32
+ describe('serialize and deserialize', () => {
33
+ it('should round-trip correctly', () => {
34
+ const serialized = instance.serialize();
35
+ expect(serialized).to.be.instanceof(Buffer);
36
+ expect(serialized.length).to.be.greaterThan(0);
37
+
38
+ const deserialized = FundingSignatures.deserialize(serialized);
39
+ expect(deserialized.witnessElements).to.have.length(2);
40
+
41
+ // Check first funding input witnesses
42
+ expect(deserialized.witnessElements[0]).to.have.length(2);
43
+ expect(deserialized.witnessElements[0][0].length).to.equal(71);
44
+ expect(deserialized.witnessElements[0][0].witness).to.deep.equal(
45
+ Buffer.alloc(71, 0x01),
46
+ );
47
+ expect(deserialized.witnessElements[0][1].length).to.equal(33);
48
+ expect(deserialized.witnessElements[0][1].witness).to.deep.equal(
49
+ Buffer.alloc(33, 0x02),
50
+ );
51
+
52
+ // Check second funding input witnesses
53
+ expect(deserialized.witnessElements[1]).to.have.length(1);
54
+ expect(deserialized.witnessElements[1][0].length).to.equal(65);
55
+ expect(deserialized.witnessElements[1][0].witness).to.deep.equal(
56
+ Buffer.alloc(65, 0x03),
57
+ );
58
+ });
59
+ });
60
+
61
+ describe('toJSON', () => {
62
+ it('should convert to canonical rust-dlc JSON format', () => {
63
+ const json = instance.toJSON();
64
+ expect(json.fundingSignatures).to.be.an('array');
65
+ expect(json.fundingSignatures).to.have.length(2);
66
+
67
+ // Check first funding input
68
+ expect(json.fundingSignatures[0].witnessElements).to.have.length(2);
69
+ expect(json.fundingSignatures[0].witnessElements[0].witness).to.be.a(
70
+ 'string',
71
+ );
72
+ expect(json.fundingSignatures[0].witnessElements[1].witness).to.be.a(
73
+ 'string',
74
+ );
75
+
76
+ // Check second funding input
77
+ expect(json.fundingSignatures[1].witnessElements).to.have.length(1);
78
+ expect(json.fundingSignatures[1].witnessElements[0].witness).to.be.a(
79
+ 'string',
80
+ );
81
+ });
82
+ });
83
+ });