@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,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoundingIntervals = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ const MessageType_1 = require("../MessageType");
6
+ const util_1 = require("../util");
7
+ /**
8
+ * RoundingIntervals defines rounding intervals for numeric outcome contracts.
9
+ * Updated to match dlcspecs format (no longer uses TLV).
10
+ */
11
+ class RoundingIntervals {
12
+ constructor() {
13
+ /**
14
+ * The type for rounding_intervals message. rounding_intervals = 42788
15
+ */
16
+ this.type = RoundingIntervals.type;
17
+ this.intervals = [];
18
+ }
19
+ /**
20
+ * Creates a RoundingIntervals from JSON data
21
+ * @param json JSON object representing rounding intervals
22
+ */
23
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
24
+ static fromJSON(json) {
25
+ const instance = new RoundingIntervals();
26
+ const intervals = json.intervals || [];
27
+ instance.intervals = intervals.map((interval) => ({
28
+ beginInterval: (0, util_1.toBigInt)(interval.beginInterval || interval.begin_interval),
29
+ roundingMod: (0, util_1.toBigInt)(interval.roundingMod || interval.rounding_mod),
30
+ }));
31
+ return instance;
32
+ }
33
+ /**
34
+ * Deserializes a rounding_intervals message
35
+ * @param buf
36
+ */
37
+ static deserialize(buf) {
38
+ const instance = new RoundingIntervals();
39
+ const reader = new bufio_1.BufferReader(buf);
40
+ const numRoundingIntervals = Number(reader.readBigSize());
41
+ for (let i = 0; i < numRoundingIntervals; i++) {
42
+ const beginInterval = reader.readUInt64BE();
43
+ const roundingMod = reader.readUInt64BE();
44
+ instance.intervals.push({ beginInterval, roundingMod });
45
+ }
46
+ return instance;
47
+ }
48
+ /**
49
+ * Validates correctness of all fields in the message
50
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/NumericOutcome.md#requirements
51
+ * @throws Will throw an error if validation fails
52
+ */
53
+ validate() {
54
+ // 1. Intervals must be non-negative
55
+ for (const interval of this.intervals) {
56
+ if (interval.beginInterval < 0) {
57
+ throw new Error('beginInterval must be non-negative');
58
+ }
59
+ }
60
+ // 2. Intervals must be strictly increasing
61
+ for (let i = 1; i < this.intervals.length; ++i) {
62
+ if (this.intervals[i - 1].beginInterval >= this.intervals[i].beginInterval) {
63
+ throw new Error(`Intervals must be strictly increasing`);
64
+ }
65
+ }
66
+ }
67
+ /**
68
+ * Converts rounding_intervals to JSON
69
+ */
70
+ toJSON() {
71
+ return {
72
+ intervals: this.intervals.map((interval) => {
73
+ return {
74
+ beginInterval: Number(interval.beginInterval),
75
+ roundingMod: Number(interval.roundingMod),
76
+ };
77
+ }),
78
+ };
79
+ }
80
+ /**
81
+ * Serializes the rounding_intervals message into a Buffer
82
+ */
83
+ serialize() {
84
+ const writer = new bufio_1.BufferWriter();
85
+ writer.writeBigSize(this.intervals.length);
86
+ for (const interval of this.intervals) {
87
+ writer.writeUInt64BE(interval.beginInterval);
88
+ writer.writeUInt64BE(interval.roundingMod);
89
+ }
90
+ return writer.toBuffer();
91
+ }
92
+ }
93
+ exports.RoundingIntervals = RoundingIntervals;
94
+ RoundingIntervals.type = MessageType_1.MessageType.RoundingIntervals;
95
+ //# sourceMappingURL=RoundingIntervals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoundingIntervals.js","sourceRoot":"","sources":["../../lib/messages/RoundingIntervals.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAC7C,kCAAmC;AAGnC;;;GAGG;AACH,MAAa,iBAAiB;IAA9B;QA0CE;;WAEG;QACI,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAE9B,cAAS,GAAgB,EAAE,CAAC;IAsDrC,CAAC;IAlGC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,CAAC;YACrD,aAAa,EAAE,IAAA,eAAQ,EACrB,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,CAClD;YACD,WAAW,EAAE,IAAA,eAAQ,EAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,YAAY,CAAC;SACrE,CAAC,CAAC,CAAC;QAEJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAE1C,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;SACzD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IASD;;;;OAIG;IACI,QAAQ;QACb,oCAAoC;QACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACvD;SACF;QAED,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC9C,IACE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,EACtE;gBACA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACzC,OAAO;oBACL,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAC7C,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;iBAC1C,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC5C;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AApGH,8CAqGC;AApGe,sBAAI,GAAG,yBAAW,CAAC,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { BufferReader } from '@node-dlc/bufio';
3
+ /**
4
+ * ScriptWitness is the data for a witness element in a witness stack.
5
+ * An empty witness_stack is an error, as every input must be Segwit.
6
+ * Witness elements should not include their length as part of the witness
7
+ * data.
8
+ */
9
+ export declare class ScriptWitnessV0 {
10
+ /**
11
+ * Deserializes an script_witness_v0 message
12
+ * @param buf
13
+ */
14
+ static deserialize(buf: Buffer): ScriptWitnessV0;
15
+ static getWitness(reader: BufferReader): Buffer;
16
+ length: number;
17
+ witness: Buffer;
18
+ /**
19
+ * Converts script_witness_v0 to JSON
20
+ */
21
+ toJSON(): IScriptWitnessV0JSON;
22
+ /**
23
+ * Serializes the script_witness_v0 message into a Buffer
24
+ */
25
+ serialize(): Buffer;
26
+ }
27
+ export interface IScriptWitnessV0JSON {
28
+ witness: string;
29
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScriptWitnessV0 = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ /**
6
+ * ScriptWitness is the data for a witness element in a witness stack.
7
+ * An empty witness_stack is an error, as every input must be Segwit.
8
+ * Witness elements should not include their length as part of the witness
9
+ * data.
10
+ */
11
+ class ScriptWitnessV0 {
12
+ /**
13
+ * Deserializes an script_witness_v0 message
14
+ * @param buf
15
+ */
16
+ static deserialize(buf) {
17
+ const instance = new ScriptWitnessV0();
18
+ const reader = new bufio_1.BufferReader(buf);
19
+ instance.length = Number(reader.readBigSize());
20
+ instance.witness = reader.readBytes(instance.length);
21
+ return instance;
22
+ }
23
+ static getWitness(reader) {
24
+ const length = Number(reader.readBigSize());
25
+ const body = reader.readBytes(Number(length));
26
+ const writer = new bufio_1.BufferWriter();
27
+ writer.writeBigSize(length);
28
+ writer.writeBytes(body);
29
+ return writer.toBuffer();
30
+ }
31
+ /**
32
+ * Converts script_witness_v0 to JSON
33
+ */
34
+ toJSON() {
35
+ return {
36
+ witness: this.witness.toString('hex'),
37
+ };
38
+ }
39
+ /**
40
+ * Serializes the script_witness_v0 message into a Buffer
41
+ */
42
+ serialize() {
43
+ const writer = new bufio_1.BufferWriter();
44
+ writer.writeBigSize(this.witness.length);
45
+ writer.writeBytes(this.witness);
46
+ return writer.toBuffer();
47
+ }
48
+ }
49
+ exports.ScriptWitnessV0 = ScriptWitnessV0;
50
+ //# sourceMappingURL=ScriptWitnessV0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScriptWitnessV0.js","sourceRoot":"","sources":["../../lib/messages/ScriptWitnessV0.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D;;;;;GAKG;AACH,MAAa,eAAe;IAC1B;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,MAAoB;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAMD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAlDD,0CAkDC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ export declare class Tlv {
3
+ /**
4
+ * Deserializes an tlv message
5
+ * @param buf
6
+ */
7
+ static deserialize(buf: Buffer): Tlv;
8
+ type: number;
9
+ length: bigint;
10
+ body: Buffer;
11
+ /**
12
+ * Serializes the tlv message into a Buffer
13
+ */
14
+ serialize(): Buffer;
15
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tlv = void 0;
4
+ const bufio_1 = require("@node-dlc/bufio");
5
+ class Tlv {
6
+ /**
7
+ * Deserializes an tlv message
8
+ * @param buf
9
+ */
10
+ static deserialize(buf) {
11
+ const instance = new Tlv();
12
+ const reader = new bufio_1.BufferReader(buf);
13
+ instance.type = Number(reader.readBigSize()); // read type
14
+ instance.length = reader.readBigSize();
15
+ instance.body = reader.readBytes(Number(instance.length));
16
+ return instance;
17
+ }
18
+ /**
19
+ * Serializes the tlv message into a Buffer
20
+ */
21
+ serialize() {
22
+ const writer = new bufio_1.BufferWriter();
23
+ writer.writeBigSize(this.type);
24
+ const dataWriter = new bufio_1.BufferWriter();
25
+ dataWriter.writeBytes(this.body);
26
+ writer.writeBigSize(dataWriter.size);
27
+ writer.writeBytes(dataWriter.toBuffer());
28
+ return writer.toBuffer();
29
+ }
30
+ }
31
+ exports.Tlv = Tlv;
32
+ //# sourceMappingURL=Tlv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tlv.js","sourceRoot":"","sources":["../../lib/messages/Tlv.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,MAAa,GAAG;IACd;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY;QAC1D,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAQD;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QAEtC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AArCD,kBAqCC"}
@@ -0,0 +1,154 @@
1
+ /// <reference types="node" />
2
+ import Decimal from 'decimal.js';
3
+ /**
4
+ * IEEE 754 double-precision floating-point number implementation
5
+ *
6
+ * Format: 1 bit sign + 11 bits exponent + 52 bits mantissa
7
+ *
8
+ * This class works directly with the binary representation to avoid
9
+ * precision loss when serializing/deserializing f64 values to/from buffers.
10
+ */
11
+ export declare class F64 {
12
+ private _buffer;
13
+ /**
14
+ * Create an F64 from raw bytes (IEEE 754 format)
15
+ */
16
+ constructor(buffer?: Buffer);
17
+ /**
18
+ * Create F64 from JavaScript number
19
+ */
20
+ static fromNumber(num: number): F64;
21
+ /**
22
+ * Create F64 from Decimal.js value
23
+ * Uses the most precise conversion possible
24
+ */
25
+ static fromDecimal(decimal: Decimal): F64;
26
+ /**
27
+ * Create F64 from string representation
28
+ * Uses Decimal.js to parse the string without precision loss from JavaScript Number
29
+ */
30
+ static fromString(str: string): F64;
31
+ /**
32
+ * Create F64 from bigint (treating as integer value)
33
+ */
34
+ static fromBigInt(bigint: bigint): F64;
35
+ /**
36
+ * Create F64 representing zero (static method for API compatibility)
37
+ */
38
+ static zero(): F64;
39
+ /**
40
+ * Create F64 with specific IEEE 754 components
41
+ */
42
+ static fromComponents(sign: boolean, exponent: number, mantissa: bigint): F64;
43
+ /**
44
+ * Get the raw buffer containing IEEE 754 representation
45
+ */
46
+ getBuffer(): Buffer;
47
+ /**
48
+ * Serialize to buffer (big-endian)
49
+ */
50
+ serialize(): Buffer;
51
+ /**
52
+ * Deserialize from buffer (big-endian)
53
+ */
54
+ static deserialize(buffer: Buffer): F64;
55
+ /**
56
+ * Write to BufferWriter
57
+ */
58
+ writeTo(writer: any): void;
59
+ /**
60
+ * Read from BufferReader
61
+ */
62
+ static readFrom(reader: any): F64;
63
+ /**
64
+ * Convert to JavaScript number
65
+ * This may lose precision for very large or very precise values
66
+ */
67
+ toNumber(): number;
68
+ /**
69
+ * Convert to Decimal.js for arbitrary precision
70
+ */
71
+ toDecimal(): Decimal;
72
+ /**
73
+ * Extract IEEE 754 components
74
+ */
75
+ getComponents(): {
76
+ sign: boolean;
77
+ exponent: number;
78
+ mantissa: bigint;
79
+ };
80
+ /**
81
+ * Check if the value is finite
82
+ */
83
+ isFinite(): boolean;
84
+ /**
85
+ * Check if the value is NaN
86
+ */
87
+ isNaN(): boolean;
88
+ /**
89
+ * Check if the value is infinite
90
+ */
91
+ isInfinite(): boolean;
92
+ /**
93
+ * Check if the value is zero
94
+ */
95
+ isZero(): boolean;
96
+ /**
97
+ * Get string representation
98
+ */
99
+ toString(): string;
100
+ /**
101
+ * Convert to JSON-safe value: number if within safe range, string if too large
102
+ * This preserves precision for very large numbers that exceed JavaScript's MAX_SAFE_INTEGER
103
+ */
104
+ toJSONValue(): number | string;
105
+ /**
106
+ * Create F64 from JSON value (handles both number and string inputs)
107
+ */
108
+ static fromJSONValue(value: number | string): F64;
109
+ /**
110
+ * Get hex representation of the raw bytes
111
+ */
112
+ toHex(): string;
113
+ /**
114
+ * Create F64 from hex string
115
+ */
116
+ static fromHex(hex: string): F64;
117
+ /**
118
+ * Compare with another F64
119
+ */
120
+ equals(other: F64): boolean;
121
+ /**
122
+ * Equality comparison (alias for equals, for API compatibility)
123
+ */
124
+ eq(other: F64 | number): boolean;
125
+ /**
126
+ * Greater than comparison
127
+ */
128
+ gt(other: F64 | number): boolean;
129
+ /**
130
+ * Less than comparison
131
+ */
132
+ lt(other: F64 | number): boolean;
133
+ /**
134
+ * Greater than or equal comparison
135
+ */
136
+ gte(other: F64 | number): boolean;
137
+ /**
138
+ * Less than or equal comparison
139
+ */
140
+ lte(other: F64 | number): boolean;
141
+ /**
142
+ * Create a copy
143
+ */
144
+ clone(): F64;
145
+ /**
146
+ * Constants
147
+ */
148
+ static get ZERO(): F64;
149
+ static get ONE(): F64;
150
+ static get NEGATIVE_ONE(): F64;
151
+ static get INFINITY(): F64;
152
+ static get NEGATIVE_INFINITY(): F64;
153
+ static get NaN(): F64;
154
+ }
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.F64 = void 0;
7
+ const decimal_js_1 = __importDefault(require("decimal.js"));
8
+ /**
9
+ * IEEE 754 double-precision floating-point number implementation
10
+ *
11
+ * Format: 1 bit sign + 11 bits exponent + 52 bits mantissa
12
+ *
13
+ * This class works directly with the binary representation to avoid
14
+ * precision loss when serializing/deserializing f64 values to/from buffers.
15
+ */
16
+ class F64 {
17
+ /**
18
+ * Create an F64 from raw bytes (IEEE 754 format)
19
+ */
20
+ constructor(buffer) {
21
+ if (buffer) {
22
+ if (buffer.length !== 8) {
23
+ throw new Error('F64 buffer must be exactly 8 bytes');
24
+ }
25
+ this._buffer = Buffer.from(buffer);
26
+ }
27
+ else {
28
+ this._buffer = Buffer.alloc(8);
29
+ }
30
+ }
31
+ /**
32
+ * Create F64 from JavaScript number
33
+ */
34
+ static fromNumber(num) {
35
+ const buffer = Buffer.alloc(8);
36
+ buffer.writeDoubleBE(num, 0);
37
+ return new F64(buffer);
38
+ }
39
+ /**
40
+ * Create F64 from Decimal.js value
41
+ * Uses the most precise conversion possible
42
+ */
43
+ static fromDecimal(decimal) {
44
+ // Convert to number and let IEEE 754 handle the precision
45
+ const num = decimal.toNumber();
46
+ return F64.fromNumber(num);
47
+ }
48
+ /**
49
+ * Create F64 from string representation
50
+ * Uses Decimal.js to parse the string without precision loss from JavaScript Number
51
+ */
52
+ static fromString(str) {
53
+ // Parse string using Decimal.js to avoid JavaScript Number precision loss
54
+ const decimal = new decimal_js_1.default(str);
55
+ return F64.fromDecimal(decimal);
56
+ }
57
+ /**
58
+ * Create F64 from bigint (treating as integer value)
59
+ */
60
+ static fromBigInt(bigint) {
61
+ const num = Number(bigint);
62
+ return F64.fromNumber(num);
63
+ }
64
+ /**
65
+ * Create F64 representing zero (static method for API compatibility)
66
+ */
67
+ static zero() {
68
+ return F64.fromNumber(0);
69
+ }
70
+ /**
71
+ * Create F64 with specific IEEE 754 components
72
+ */
73
+ static fromComponents(sign, exponent, mantissa) {
74
+ if (exponent < 0 || exponent > 2047) {
75
+ throw new Error('Exponent must be between 0 and 2047');
76
+ }
77
+ if (mantissa < BigInt(0) || mantissa >= BigInt(1) << BigInt(52)) {
78
+ throw new Error('Mantissa must be between 0 and 2^52-1');
79
+ }
80
+ const buffer = Buffer.alloc(8);
81
+ // Pack into 64-bit big-endian format
82
+ // Bit layout: SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
83
+ const signBit = sign ? BigInt(1) : BigInt(0);
84
+ const expBits = BigInt(exponent);
85
+ const mantissaBits = mantissa;
86
+ const ieee754Bits = (signBit << BigInt(63)) | (expBits << BigInt(52)) | mantissaBits;
87
+ // Write as big-endian bytes
88
+ for (let i = 0; i < 8; i++) {
89
+ const byteValue = Number((ieee754Bits >> BigInt(56 - i * 8)) & BigInt(0xff));
90
+ buffer.writeUInt8(byteValue, i);
91
+ }
92
+ return new F64(buffer);
93
+ }
94
+ /**
95
+ * Get the raw buffer containing IEEE 754 representation
96
+ */
97
+ getBuffer() {
98
+ return Buffer.from(this._buffer);
99
+ }
100
+ /**
101
+ * Serialize to buffer (big-endian)
102
+ */
103
+ serialize() {
104
+ return this.getBuffer();
105
+ }
106
+ /**
107
+ * Deserialize from buffer (big-endian)
108
+ */
109
+ static deserialize(buffer) {
110
+ return new F64(buffer);
111
+ }
112
+ /**
113
+ * Write to BufferWriter
114
+ */
115
+ writeTo(writer) {
116
+ writer.writeBytes(this._buffer);
117
+ }
118
+ /**
119
+ * Read from BufferReader
120
+ */
121
+ static readFrom(reader) {
122
+ const buffer = reader.readBytes(8);
123
+ return new F64(buffer);
124
+ }
125
+ /**
126
+ * Convert to JavaScript number
127
+ * This may lose precision for very large or very precise values
128
+ */
129
+ toNumber() {
130
+ return this._buffer.readDoubleBE(0);
131
+ }
132
+ /**
133
+ * Convert to Decimal.js for arbitrary precision
134
+ */
135
+ toDecimal() {
136
+ return new decimal_js_1.default(this.toNumber());
137
+ }
138
+ /**
139
+ * Extract IEEE 754 components
140
+ */
141
+ getComponents() {
142
+ // Read as big-endian 64-bit integer
143
+ let ieee754Bits = BigInt(0);
144
+ for (let i = 0; i < 8; i++) {
145
+ ieee754Bits =
146
+ (ieee754Bits << BigInt(8)) | BigInt(this._buffer.readUInt8(i));
147
+ }
148
+ const sign = (ieee754Bits & (BigInt(1) << BigInt(63))) !== BigInt(0);
149
+ const exponent = Number((ieee754Bits >> BigInt(52)) & BigInt(0x7ff));
150
+ const mantissa = ieee754Bits & ((BigInt(1) << BigInt(52)) - BigInt(1));
151
+ return { sign, exponent, mantissa };
152
+ }
153
+ /**
154
+ * Check if the value is finite
155
+ */
156
+ isFinite() {
157
+ const { exponent } = this.getComponents();
158
+ return exponent !== 2047; // NaN and Infinity have exponent = 2047
159
+ }
160
+ /**
161
+ * Check if the value is NaN
162
+ */
163
+ isNaN() {
164
+ const { exponent, mantissa } = this.getComponents();
165
+ return exponent === 2047 && mantissa !== BigInt(0);
166
+ }
167
+ /**
168
+ * Check if the value is infinite
169
+ */
170
+ isInfinite() {
171
+ const { exponent, mantissa } = this.getComponents();
172
+ return exponent === 2047 && mantissa === BigInt(0);
173
+ }
174
+ /**
175
+ * Check if the value is zero
176
+ */
177
+ isZero() {
178
+ const { exponent, mantissa } = this.getComponents();
179
+ return exponent === 0 && mantissa === BigInt(0);
180
+ }
181
+ /**
182
+ * Get string representation
183
+ */
184
+ toString() {
185
+ return this.toNumber().toString();
186
+ }
187
+ /**
188
+ * Convert to JSON-safe value: number if within safe range, string if too large
189
+ * This preserves precision for very large numbers that exceed JavaScript's MAX_SAFE_INTEGER
190
+ */
191
+ toJSONValue() {
192
+ const num = this.toNumber();
193
+ // Check if the number is within JavaScript's safe integer range
194
+ if (num <= Number.MAX_SAFE_INTEGER && num >= Number.MIN_SAFE_INTEGER) {
195
+ return num;
196
+ }
197
+ // For very large numbers, return as string to preserve precision
198
+ return num.toString();
199
+ }
200
+ /**
201
+ * Create F64 from JSON value (handles both number and string inputs)
202
+ */
203
+ static fromJSONValue(value) {
204
+ if (typeof value === 'string') {
205
+ return F64.fromString(value);
206
+ }
207
+ else {
208
+ return F64.fromNumber(value);
209
+ }
210
+ }
211
+ /**
212
+ * Get hex representation of the raw bytes
213
+ */
214
+ toHex() {
215
+ return this._buffer.toString('hex');
216
+ }
217
+ /**
218
+ * Create F64 from hex string
219
+ */
220
+ static fromHex(hex) {
221
+ const buffer = Buffer.from(hex, 'hex');
222
+ if (buffer.length !== 8) {
223
+ throw new Error('Hex string must represent exactly 8 bytes');
224
+ }
225
+ return new F64(buffer);
226
+ }
227
+ /**
228
+ * Compare with another F64
229
+ */
230
+ equals(other) {
231
+ return this._buffer.equals(other._buffer);
232
+ }
233
+ /**
234
+ * Equality comparison (alias for equals, for API compatibility)
235
+ */
236
+ eq(other) {
237
+ if (typeof other === 'number') {
238
+ return this.toNumber() === other;
239
+ }
240
+ return this.equals(other);
241
+ }
242
+ /**
243
+ * Greater than comparison
244
+ */
245
+ gt(other) {
246
+ if (typeof other === 'number') {
247
+ return this.toNumber() > other;
248
+ }
249
+ return this.toNumber() > other.toNumber();
250
+ }
251
+ /**
252
+ * Less than comparison
253
+ */
254
+ lt(other) {
255
+ if (typeof other === 'number') {
256
+ return this.toNumber() < other;
257
+ }
258
+ return this.toNumber() < other.toNumber();
259
+ }
260
+ /**
261
+ * Greater than or equal comparison
262
+ */
263
+ gte(other) {
264
+ if (typeof other === 'number') {
265
+ return this.toNumber() >= other;
266
+ }
267
+ return this.toNumber() >= other.toNumber();
268
+ }
269
+ /**
270
+ * Less than or equal comparison
271
+ */
272
+ lte(other) {
273
+ if (typeof other === 'number') {
274
+ return this.toNumber() <= other;
275
+ }
276
+ return this.toNumber() <= other.toNumber();
277
+ }
278
+ /**
279
+ * Create a copy
280
+ */
281
+ clone() {
282
+ return new F64(this._buffer);
283
+ }
284
+ /**
285
+ * Constants
286
+ */
287
+ static get ZERO() {
288
+ return F64.fromNumber(0);
289
+ }
290
+ static get ONE() {
291
+ return F64.fromNumber(1);
292
+ }
293
+ static get NEGATIVE_ONE() {
294
+ return F64.fromNumber(-1);
295
+ }
296
+ static get INFINITY() {
297
+ return F64.fromNumber(Number.POSITIVE_INFINITY);
298
+ }
299
+ static get NEGATIVE_INFINITY() {
300
+ return F64.fromNumber(Number.NEGATIVE_INFINITY);
301
+ }
302
+ static get NaN() {
303
+ return F64.fromNumber(Number.NaN);
304
+ }
305
+ }
306
+ exports.F64 = F64;
307
+ //# sourceMappingURL=F64.js.map