@atomicfinance/types 4.1.3 → 4.1.4

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 (656) hide show
  1. package/.turbo/turbo-build.log +5 -4
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  6. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  9. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  10. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  129. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  130. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  158. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  159. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  160. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  161. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  162. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  163. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  164. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  165. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  166. package/.yalc/@node-dlc/messaging/README.md +24 -0
  167. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  168. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  169. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  170. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  171. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  172. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  173. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  174. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  175. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  176. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  177. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  178. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  179. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  180. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  181. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  182. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  183. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  184. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  185. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  186. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  187. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  188. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  189. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  190. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  191. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  192. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  193. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  194. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  195. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  196. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  197. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  198. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  199. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  200. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  201. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  202. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  203. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  204. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  205. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  206. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  207. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  208. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  209. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  210. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  211. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  212. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  213. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  214. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  215. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  216. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  217. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  218. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  219. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  220. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  221. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  222. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  223. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  224. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  225. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  226. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  227. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  228. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  229. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  230. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  231. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  232. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  233. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  234. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  235. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  236. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  237. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  238. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  239. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  240. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  241. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  242. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  243. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  244. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  245. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  246. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  247. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  248. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  249. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  250. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  251. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  252. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  253. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  254. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  255. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  256. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  257. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  258. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  259. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  260. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  261. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  262. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  263. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  264. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  265. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  266. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  267. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  268. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  269. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  270. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  271. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  272. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  273. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  274. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  275. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  276. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  277. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  278. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  279. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  280. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  281. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  282. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  283. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  284. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  285. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  286. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  287. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  288. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  289. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  290. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  291. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  292. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  293. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  294. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  295. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  296. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  297. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  298. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  299. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  300. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  301. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  302. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  303. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  304. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  305. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  306. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  307. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  308. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  309. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  310. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  311. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  312. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  313. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  314. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  315. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  316. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  317. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  318. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  319. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  320. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  321. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  322. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  323. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  324. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  325. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  326. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  327. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  328. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  329. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  330. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  331. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  332. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  333. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  334. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  335. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  336. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  337. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  338. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  339. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  340. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  341. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  342. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  343. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  344. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  345. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  346. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  347. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  348. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  349. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  350. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  351. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  352. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  353. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  354. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  355. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  356. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  357. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  358. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  359. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  360. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  361. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  362. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  363. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  364. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  365. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  366. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  367. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  368. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  369. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  370. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  371. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  372. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  373. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  374. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  375. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  376. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  377. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  378. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  379. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  380. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  381. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  382. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  383. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  384. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  385. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  386. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  387. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  388. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  389. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  390. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  391. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  392. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  393. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  394. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  395. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  396. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  397. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  398. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  399. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  400. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  401. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  402. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  403. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  404. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  405. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  406. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  407. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  408. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  409. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  410. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  411. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  412. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  413. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  414. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  415. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  416. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  417. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  418. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  419. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  420. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  421. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  422. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  423. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  424. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  425. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  426. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  427. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  428. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  429. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  430. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  431. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  432. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  433. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  434. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  435. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  436. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  437. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  438. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  439. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  440. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  441. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  442. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  443. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  444. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  445. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  446. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  447. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  448. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  449. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  450. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  451. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  452. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  453. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  454. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  455. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  456. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  457. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  458. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  459. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  460. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  461. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  462. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  463. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  464. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  465. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  466. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  467. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  468. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  469. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  470. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  471. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  472. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  473. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  474. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  475. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  476. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  477. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  478. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  479. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  480. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  481. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  482. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  483. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  484. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  485. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  486. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  487. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  488. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  489. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  490. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  491. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  492. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  493. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  494. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  495. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  496. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  497. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  498. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  499. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  500. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  501. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  502. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  503. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  504. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  505. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  506. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  507. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  508. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  509. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  510. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  511. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  512. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  513. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  514. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  515. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  516. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  517. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  518. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  519. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  520. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  521. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  522. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  523. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  524. package/.yalc/@node-dlc/messaging/package.json +42 -0
  525. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  526. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  527. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  528. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  529. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  530. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  531. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  532. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  533. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  534. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  535. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  536. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  537. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  538. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  539. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  540. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  541. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  542. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  543. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  544. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  545. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  546. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  547. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  548. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  549. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  550. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  551. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  552. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  553. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  554. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  555. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  556. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  557. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  558. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  559. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  560. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  561. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  562. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  563. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  564. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  565. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  566. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  567. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  568. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  569. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  570. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  571. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  572. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  573. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  574. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  575. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  576. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  577. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  578. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  579. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  580. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  581. package/.yalc/@node-dlc/noise/.eslintrc +6 -0
  582. package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  583. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  584. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
  585. package/.yalc/@node-dlc/noise/README.md +165 -0
  586. package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
  587. package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
  588. package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
  589. package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
  590. package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
  591. package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
  592. package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
  593. package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
  594. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
  595. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
  596. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
  597. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
  598. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
  599. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
  600. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
  601. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
  602. package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
  603. package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  604. package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
  605. package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
  606. package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
  607. package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
  608. package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
  609. package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
  610. package/.yalc/@node-dlc/noise/dist/index.js +69 -0
  611. package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
  612. package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
  613. package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
  614. package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
  615. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
  616. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
  617. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
  618. package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
  619. package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
  620. package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
  621. package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
  622. package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
  623. package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
  624. package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
  625. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
  626. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
  627. package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
  628. package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
  629. package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
  630. package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
  631. package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
  632. package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
  633. package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
  634. package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
  635. package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
  636. package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
  637. package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
  638. package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
  639. package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
  640. package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
  641. package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
  642. package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
  643. package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
  644. package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
  645. package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
  646. package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
  647. package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
  648. package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
  649. package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
  650. package/.yalc/@node-dlc/noise/package.json +35 -0
  651. package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
  652. package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
  653. package/.yalc/@node-dlc/noise/yalc.sig +1 -0
  654. package/CHANGELOG.md +6 -0
  655. package/package.json +1 -1
  656. package/yalc.lock +20 -0
@@ -0,0 +1,454 @@
1
+ import { BufferReader, BufferWriter } from '@node-dlc/bufio';
2
+
3
+ import { MessageType, PayoutCurvePieceType } from '../MessageType';
4
+ import { F64 } from '../serialize/F64';
5
+ import { bigIntToNumber, toBigInt } from '../util';
6
+ import { IDlcMessage } from './DlcMessage';
7
+
8
+ export abstract class PayoutCurvePiece {
9
+ public static deserialize(
10
+ buf: Buffer,
11
+ ): PolynomialPayoutCurvePiece | HyperbolaPayoutCurvePiece {
12
+ const reader = new BufferReader(buf);
13
+ const typeId = Number(reader.readBigSize());
14
+
15
+ switch (typeId) {
16
+ case PayoutCurvePieceType.Polynomial:
17
+ return PolynomialPayoutCurvePiece.deserialize(buf);
18
+ case PayoutCurvePieceType.Hyperbola:
19
+ return HyperbolaPayoutCurvePiece.deserialize(buf);
20
+ default:
21
+ throw new Error(
22
+ `Payout curve piece type must be Polynomial (0) or Hyperbola (1), got ${typeId}`,
23
+ );
24
+ }
25
+ }
26
+
27
+ /**
28
+ * Creates a PayoutCurvePiece from JSON data
29
+ * @param json JSON object representing a payout curve piece
30
+ */
31
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
32
+ public static fromJSON(json: any): PayoutCurvePiece {
33
+ if (!json) {
34
+ throw new Error('payoutCurvePiece is required');
35
+ }
36
+
37
+ // Handle test vector format with nested types
38
+ if (json.polynomialPayoutCurvePiece) {
39
+ return PolynomialPayoutCurvePiece.fromJSON(
40
+ json.polynomialPayoutCurvePiece,
41
+ );
42
+ } else if (json.hyperbolaPayoutCurvePiece) {
43
+ return HyperbolaPayoutCurvePiece.fromJSON(json.hyperbolaPayoutCurvePiece);
44
+ }
45
+ // Handle direct format
46
+ else if (json.points !== undefined || json.payoutPoints !== undefined) {
47
+ return PolynomialPayoutCurvePiece.fromJSON(json);
48
+ } else if (json.usePositivePiece !== undefined) {
49
+ return HyperbolaPayoutCurvePiece.fromJSON(json);
50
+ } else {
51
+ throw new Error(
52
+ 'payoutCurvePiece must be either polynomial (with points) or hyperbola (with usePositivePiece)',
53
+ );
54
+ }
55
+ }
56
+
57
+ public abstract payoutCurvePieceType: PayoutCurvePieceType;
58
+ public abstract type: number; // For backward compatibility
59
+ public abstract toJSON():
60
+ | PolynomialPayoutCurvePieceJSON
61
+ | HyperbolaPayoutCurvePieceJSON;
62
+ public abstract serialize(): Buffer;
63
+ }
64
+
65
+ /**
66
+ * PolynomialPayoutCurvePiece defines a polynomial curve piece for payout functions.
67
+ * This corresponds to type 0 in the sibling sub-type format.
68
+ */
69
+ export class PolynomialPayoutCurvePiece
70
+ extends PayoutCurvePiece
71
+ implements IDlcMessage {
72
+ public static payoutCurvePieceType = PayoutCurvePieceType.Polynomial;
73
+
74
+ /**
75
+ * Creates a PolynomialPayoutCurvePiece from JSON data
76
+ * @param json JSON object representing a polynomial payout curve piece
77
+ */
78
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
79
+ public static fromJSON(json: any): PolynomialPayoutCurvePiece {
80
+ const instance = new PolynomialPayoutCurvePiece();
81
+
82
+ const points = json.payoutPoints || json.points || [];
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
+ instance.points = points.map((point: any) => ({
85
+ eventOutcome: toBigInt(point.eventOutcome || point.event_outcome),
86
+ outcomePayout: toBigInt(point.outcomePayout || point.outcome_payout),
87
+ extraPrecision: point.extraPrecision || point.extra_precision || 0,
88
+ }));
89
+
90
+ return instance;
91
+ }
92
+
93
+ /**
94
+ * Deserializes a polynomial_payout_curve_piece message
95
+ * @param buf
96
+ */
97
+ public static deserialize(buf: Buffer): PolynomialPayoutCurvePiece {
98
+ const instance = new PolynomialPayoutCurvePiece();
99
+ const reader = new BufferReader(buf);
100
+
101
+ reader.readBigSize(); // read type (0)
102
+ const numPts = Number(reader.readBigSize());
103
+
104
+ for (let i = 0; i < numPts; i++) {
105
+ const eventOutcome = reader.readUInt64BE();
106
+ const outcomePayout = reader.readUInt64BE();
107
+ const extraPrecision = reader.readUInt16BE();
108
+
109
+ instance.points.push({
110
+ eventOutcome,
111
+ outcomePayout,
112
+ extraPrecision,
113
+ });
114
+ }
115
+
116
+ return instance;
117
+ }
118
+
119
+ /**
120
+ * The type for polynomial_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message
121
+ */
122
+ public type = MessageType.PolynomialPayoutCurvePiece;
123
+
124
+ /**
125
+ * The payout curve piece type for new format
126
+ */
127
+ public payoutCurvePieceType = PayoutCurvePieceType.Polynomial;
128
+
129
+ public points: IPoint[] = [];
130
+
131
+ /**
132
+ * Converts polynomial_payout_curve_piece to JSON
133
+ */
134
+ public toJSON(): PolynomialPayoutCurvePieceJSON {
135
+ return {
136
+ polynomialPayoutCurvePiece: {
137
+ payoutPoints: this.points.map((point) => {
138
+ return {
139
+ eventOutcome: bigIntToNumber(point.eventOutcome),
140
+ outcomePayout: bigIntToNumber(point.outcomePayout),
141
+ extraPrecision: Number(point.extraPrecision),
142
+ };
143
+ }),
144
+ },
145
+ };
146
+ }
147
+
148
+ /**
149
+ * Serializes the polynomial_payout_curve_piece message into a Buffer
150
+ */
151
+ public serialize(): Buffer {
152
+ const writer = new BufferWriter();
153
+
154
+ writer.writeBigSize(this.payoutCurvePieceType);
155
+ writer.writeBigSize(this.points.length);
156
+
157
+ for (const point of this.points) {
158
+ writer.writeUInt64BE(point.eventOutcome);
159
+ writer.writeUInt64BE(point.outcomePayout);
160
+ writer.writeUInt16BE(point.extraPrecision);
161
+ }
162
+
163
+ return writer.toBuffer();
164
+ }
165
+ }
166
+
167
+ /**
168
+ * HyperbolaPayoutCurvePiece defines a hyperbola curve piece for payout functions.
169
+ * This corresponds to type 1 in the sibling sub-type format.
170
+ * Updated to use F64 for precise f64 parameter handling.
171
+ */
172
+ export class HyperbolaPayoutCurvePiece
173
+ extends PayoutCurvePiece
174
+ implements IDlcMessage {
175
+ public static payoutCurvePieceType = PayoutCurvePieceType.Hyperbola;
176
+
177
+ /**
178
+ * Helper function to safely parse F64 values from JSON
179
+ * Handles both number and string inputs for maximum precision
180
+ */
181
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
182
+ private static parseF64Value(value: any): F64 | null {
183
+ // Check for basic null/undefined
184
+ if (value === null || value === undefined) {
185
+ return null;
186
+ }
187
+
188
+ try {
189
+ if (typeof value === 'string') {
190
+ // Parse string directly to preserve precision
191
+ try {
192
+ return F64.fromString(value);
193
+ } catch (error) {
194
+ // If fromString fails, try parsing as number
195
+ const numValue = parseFloat(value);
196
+ if (!isNaN(numValue) && isFinite(numValue)) {
197
+ return F64.fromNumber(numValue);
198
+ }
199
+ }
200
+ } else if (typeof value === 'number') {
201
+ // Parse number - handle special cases
202
+ if (!isFinite(value)) {
203
+ return null; // Reject NaN, Infinity, -Infinity
204
+ }
205
+ return F64.fromNumber(value);
206
+ }
207
+
208
+ // Try to convert other types to number as fallback
209
+ const numValue = Number(value);
210
+ if (!isNaN(numValue) && isFinite(numValue)) {
211
+ return F64.fromNumber(numValue);
212
+ }
213
+
214
+ return null;
215
+ } catch (error) {
216
+ return null;
217
+ }
218
+ }
219
+
220
+ /**
221
+ * Creates a HyperbolaPayoutCurvePiece from JSON data
222
+ * @param json JSON object representing a hyperbola payout curve piece
223
+ */
224
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
225
+ public static fromJSON(json: any): HyperbolaPayoutCurvePiece | null {
226
+ if (!json || typeof json !== 'object') return null;
227
+
228
+ // Handle both wrapped format and direct format
229
+ let data =
230
+ json.hyperbolaPayoutCurvePiece || json.hyperbola_payout_curve_piece;
231
+
232
+ // If no wrapper found, assume direct format if it has the expected properties
233
+ if (
234
+ !data &&
235
+ (json.usePositivePiece !== undefined ||
236
+ json.use_positive_piece !== undefined)
237
+ ) {
238
+ data = json;
239
+ }
240
+
241
+ if (!data) return null;
242
+
243
+ try {
244
+ const usePositivePiece =
245
+ data.usePositivePiece || data.use_positive_piece || false;
246
+
247
+ // Parse each F64 value with null check
248
+ const translateOutcome = this.parseF64Value(
249
+ data.translateOutcome !== undefined
250
+ ? data.translateOutcome
251
+ : data.translate_outcome,
252
+ );
253
+ const translatePayout = this.parseF64Value(
254
+ data.translatePayout !== undefined
255
+ ? data.translatePayout
256
+ : data.translate_payout,
257
+ );
258
+ const a = this.parseF64Value(data.a);
259
+ const b = this.parseF64Value(data.b);
260
+ const c = this.parseF64Value(data.c);
261
+ const d = this.parseF64Value(data.d);
262
+
263
+ // Check that all required values were parsed successfully
264
+ if (!translateOutcome || !translatePayout || !a || !b || !c || !d) {
265
+ throw new Error('Failed to parse one or more F64 values');
266
+ }
267
+
268
+ return new HyperbolaPayoutCurvePiece(
269
+ usePositivePiece,
270
+ translateOutcome,
271
+ translatePayout,
272
+ a,
273
+ b,
274
+ c,
275
+ d,
276
+ );
277
+ } catch (error) {
278
+ return null;
279
+ }
280
+ }
281
+
282
+ /**
283
+ * Deserializes a hyperbola_payout_curve_piece message
284
+ * @param buf
285
+ */
286
+ public static deserialize(buf: Buffer): HyperbolaPayoutCurvePiece {
287
+ const instance = new HyperbolaPayoutCurvePiece();
288
+ const reader = new BufferReader(buf);
289
+
290
+ reader.readBigSize(); // read type (1)
291
+ instance.usePositivePiece = reader.readUInt8() === 1;
292
+
293
+ // Read f64 values using F64 for precise handling - read raw 8-byte buffers
294
+ instance.translateOutcome = F64.deserialize(reader.readBytes(8));
295
+ instance.translatePayout = F64.deserialize(reader.readBytes(8));
296
+ instance.a = F64.deserialize(reader.readBytes(8));
297
+ instance.b = F64.deserialize(reader.readBytes(8));
298
+ instance.c = F64.deserialize(reader.readBytes(8));
299
+ instance.d = F64.deserialize(reader.readBytes(8));
300
+
301
+ // Note: leftEndPoint and rightEndPoint are not part of the serialization
302
+ // They will be set by PayoutFunction when creating from JSON
303
+ instance.leftEndPoint = {
304
+ eventOutcome: BigInt(0),
305
+ outcomePayout: BigInt(0),
306
+ extraPrecision: 0,
307
+ };
308
+
309
+ instance.rightEndPoint = {
310
+ eventOutcome: BigInt(0),
311
+ outcomePayout: BigInt(0),
312
+ extraPrecision: 0,
313
+ };
314
+
315
+ return instance;
316
+ }
317
+
318
+ /**
319
+ * The type for hyperbola_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message
320
+ */
321
+ public type = MessageType.HyperbolaPayoutCurvePiece;
322
+
323
+ public payoutCurvePieceType = HyperbolaPayoutCurvePiece.payoutCurvePieceType;
324
+
325
+ // Use F64 for precise f64 parameter handling to avoid JavaScript precision issues
326
+ public leftEndPoint: IPayoutPoint;
327
+ public rightEndPoint: IPayoutPoint;
328
+ public usePositivePiece: boolean;
329
+ public translateOutcome: F64; // f64 - precise handling with F64
330
+ public translatePayout: F64; // f64 - precise handling with F64
331
+ public a: F64; // f64 - precise handling with F64
332
+ public b: F64; // f64 - precise handling with F64
333
+ public c: F64; // f64 - precise handling with F64
334
+ public d: F64; // f64 - precise handling with F64
335
+
336
+ constructor(
337
+ usePositivePiece = false,
338
+ translateOutcome?: string | F64,
339
+ translatePayout?: string | F64,
340
+ a?: string | F64,
341
+ b?: string | F64,
342
+ c?: string | F64,
343
+ d?: string | F64,
344
+ ) {
345
+ super();
346
+ this.usePositivePiece = usePositivePiece;
347
+
348
+ // Convert string inputs to F64 objects, or use existing F64 objects
349
+ this.translateOutcome = translateOutcome
350
+ ? typeof translateOutcome === 'string'
351
+ ? F64.fromString(translateOutcome)
352
+ : translateOutcome
353
+ : F64.fromNumber(0);
354
+ this.translatePayout = translatePayout
355
+ ? typeof translatePayout === 'string'
356
+ ? F64.fromString(translatePayout)
357
+ : translatePayout
358
+ : F64.fromNumber(0);
359
+ this.a = a
360
+ ? typeof a === 'string'
361
+ ? F64.fromString(a)
362
+ : a
363
+ : F64.fromNumber(0);
364
+ this.b = b
365
+ ? typeof b === 'string'
366
+ ? F64.fromString(b)
367
+ : b
368
+ : F64.fromNumber(0);
369
+ this.c = c
370
+ ? typeof c === 'string'
371
+ ? F64.fromString(c)
372
+ : c
373
+ : F64.fromNumber(0);
374
+ this.d = d
375
+ ? typeof d === 'string'
376
+ ? F64.fromString(d)
377
+ : d
378
+ : F64.fromNumber(0);
379
+ }
380
+
381
+ /**
382
+ * Converts hyperbola_payout_curve_piece to JSON
383
+ * Uses F64.toJSONValue() which preserves precision by using strings for very large numbers
384
+ */
385
+ public toJSON(): HyperbolaPayoutCurvePieceJSON {
386
+ return {
387
+ hyperbolaPayoutCurvePiece: {
388
+ usePositivePiece: this.usePositivePiece,
389
+ translateOutcome: this.translateOutcome.toJSONValue(), // Smart conversion: number if safe, string if large
390
+ translatePayout: this.translatePayout.toJSONValue(), // Preserves precision automatically
391
+ a: this.a.toJSONValue(),
392
+ b: this.b.toJSONValue(),
393
+ c: this.c.toJSONValue(),
394
+ d: this.d.toJSONValue(),
395
+ },
396
+ };
397
+ }
398
+
399
+ /**
400
+ * Serializes the hyperbola_payout_curve_piece message into a Buffer
401
+ */
402
+ public serialize(): Buffer {
403
+ const writer = new BufferWriter();
404
+
405
+ writer.writeBigSize(this.payoutCurvePieceType);
406
+ writer.writeUInt8(this.usePositivePiece ? 1 : 0);
407
+
408
+ // Write f64 values using F64 for precise handling - write raw 8-byte buffers
409
+ writer.writeBytes(this.translateOutcome.serialize());
410
+ writer.writeBytes(this.translatePayout.serialize());
411
+ writer.writeBytes(this.a.serialize());
412
+ writer.writeBytes(this.b.serialize());
413
+ writer.writeBytes(this.c.serialize());
414
+ writer.writeBytes(this.d.serialize());
415
+
416
+ return writer.toBuffer();
417
+ }
418
+ }
419
+
420
+ interface IPoint {
421
+ eventOutcome: bigint;
422
+ outcomePayout: bigint;
423
+ extraPrecision: number;
424
+ }
425
+
426
+ interface IPointJSON {
427
+ eventOutcome: number;
428
+ outcomePayout: number;
429
+ extraPrecision: number;
430
+ }
431
+
432
+ interface IPayoutPoint {
433
+ eventOutcome: bigint;
434
+ outcomePayout: bigint;
435
+ extraPrecision: number;
436
+ }
437
+
438
+ export interface PolynomialPayoutCurvePieceJSON {
439
+ polynomialPayoutCurvePiece: {
440
+ payoutPoints: IPointJSON[];
441
+ };
442
+ }
443
+
444
+ export interface HyperbolaPayoutCurvePieceJSON {
445
+ hyperbolaPayoutCurvePiece: {
446
+ usePositivePiece: boolean;
447
+ translateOutcome: number | string;
448
+ translatePayout: number | string;
449
+ a: number | string;
450
+ b: number | string;
451
+ c: number | string;
452
+ d: number | string;
453
+ };
454
+ }
@@ -0,0 +1,242 @@
1
+ import { BufferReader, BufferWriter } from '@node-dlc/bufio';
2
+
3
+ import { MessageType } from '../MessageType';
4
+ import { bigIntToNumber, toBigInt } from '../util';
5
+ import { IDlcMessage } from './DlcMessage';
6
+ import {
7
+ HyperbolaPayoutCurvePiece,
8
+ HyperbolaPayoutCurvePieceJSON,
9
+ PayoutCurvePiece,
10
+ PolynomialPayoutCurvePieceJSON,
11
+ } from './PayoutCurvePiece';
12
+
13
+ /**
14
+ * PayoutFunction contains the payout curve definition for numeric outcome contracts.
15
+ * Updated to match rust-dlc format exactly.
16
+ */
17
+ export class PayoutFunction implements IDlcMessage {
18
+ public static type = MessageType.PayoutFunction;
19
+
20
+ /**
21
+ * Creates a PayoutFunction from JSON data
22
+ * @param json JSON object representing a payout function
23
+ */
24
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
25
+ public static fromJSON(json: any): PayoutFunction {
26
+ const instance = new PayoutFunction();
27
+
28
+ // Parse payout function pieces
29
+ const pieces =
30
+ json.payoutFunctionPieces || json.payout_function_pieces || [];
31
+ instance.payoutFunctionPieces = pieces.map(
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ (pieceJson: any, index: number) => {
34
+ const piece = {
35
+ endPoint: {
36
+ eventOutcome: toBigInt(pieceJson.endPoint?.eventOutcome),
37
+ outcomePayout: toBigInt(pieceJson.endPoint?.outcomePayout),
38
+ extraPrecision: pieceJson.endPoint?.extraPrecision || 0,
39
+ },
40
+ payoutCurvePiece: PayoutCurvePiece.fromJSON(
41
+ pieceJson.payoutCurvePiece || pieceJson.payout_curve_piece,
42
+ ),
43
+ };
44
+
45
+ // For HyperbolaPayoutCurvePiece, set the left and right end points
46
+ if (piece.payoutCurvePiece instanceof HyperbolaPayoutCurvePiece) {
47
+ const hyperbola = piece.payoutCurvePiece as HyperbolaPayoutCurvePiece;
48
+
49
+ // Left end point is this piece's endPoint
50
+ hyperbola.leftEndPoint = piece.endPoint;
51
+
52
+ // Right end point is the next piece's endPoint, or lastEndpoint if this is the last piece
53
+ if (index < pieces.length - 1) {
54
+ const nextPiece = pieces[index + 1];
55
+ hyperbola.rightEndPoint = {
56
+ eventOutcome: toBigInt(nextPiece.endPoint?.eventOutcome),
57
+ outcomePayout: toBigInt(nextPiece.endPoint?.outcomePayout),
58
+ extraPrecision: nextPiece.endPoint?.extraPrecision || 0,
59
+ };
60
+ } else {
61
+ // Use lastEndpoint for the final piece
62
+ const lastEndpoint = json.lastEndpoint || json.last_endpoint || {};
63
+ hyperbola.rightEndPoint = {
64
+ eventOutcome: toBigInt(lastEndpoint.eventOutcome),
65
+ outcomePayout: toBigInt(lastEndpoint.outcomePayout),
66
+ extraPrecision: lastEndpoint.extraPrecision || 0,
67
+ };
68
+ }
69
+ }
70
+
71
+ return piece;
72
+ },
73
+ );
74
+
75
+ // Parse last endpoint
76
+ const lastEndpoint = json.lastEndpoint || json.last_endpoint;
77
+ if (lastEndpoint) {
78
+ instance.lastEndpoint = {
79
+ eventOutcome: toBigInt(lastEndpoint.eventOutcome),
80
+ outcomePayout: toBigInt(lastEndpoint.outcomePayout),
81
+ extraPrecision: lastEndpoint.extraPrecision || 0,
82
+ };
83
+ } else {
84
+ // Default last endpoint if not provided
85
+ instance.lastEndpoint = {
86
+ eventOutcome: BigInt(0),
87
+ outcomePayout: BigInt(0),
88
+ extraPrecision: 0,
89
+ };
90
+ }
91
+
92
+ return instance;
93
+ }
94
+
95
+ /**
96
+ * Deserializes a payout_function message
97
+ * @param buf
98
+ */
99
+ public static deserialize(buf: Buffer): PayoutFunction {
100
+ const instance = new PayoutFunction();
101
+ const reader = new BufferReader(buf);
102
+
103
+ // Read payout function pieces (as vec)
104
+ const numPieces = Number(reader.readBigSize());
105
+
106
+ for (let i = 0; i < numPieces; i++) {
107
+ // Read end_point first
108
+ const eventOutcome = reader.readUInt64BE();
109
+ const outcomePayout = reader.readUInt64BE();
110
+ const extraPrecision = reader.readUInt16BE();
111
+
112
+ // Read payout curve piece
113
+ const payoutCurvePieceStartPos = reader.position;
114
+ const payoutCurvePiece = PayoutCurvePiece.deserialize(
115
+ reader.buffer.subarray(reader.position),
116
+ );
117
+
118
+ // Skip past the payout curve piece bytes
119
+ const payoutCurvePieceSize = payoutCurvePiece.serialize().length;
120
+ reader.position = payoutCurvePieceStartPos + payoutCurvePieceSize;
121
+
122
+ instance.payoutFunctionPieces.push({
123
+ endPoint: {
124
+ eventOutcome,
125
+ outcomePayout,
126
+ extraPrecision,
127
+ },
128
+ payoutCurvePiece,
129
+ });
130
+ }
131
+
132
+ // Read last_endpoint
133
+ instance.lastEndpoint = {
134
+ eventOutcome: reader.readUInt64BE(),
135
+ outcomePayout: reader.readUInt64BE(),
136
+ extraPrecision: reader.readUInt16BE(),
137
+ };
138
+
139
+ return instance;
140
+ }
141
+
142
+ /**
143
+ * The type for payout_function message. payout_function = 42790
144
+ */
145
+ public type = PayoutFunction.type;
146
+
147
+ public payoutFunctionPieces: IPayoutFunctionPiece[] = [];
148
+ public lastEndpoint: IPayoutPoint;
149
+
150
+ /**
151
+ * Constructor that ensures proper initialization
152
+ */
153
+ constructor() {
154
+ // Explicitly initialize arrays to handle file-linking issues
155
+ this.payoutFunctionPieces = [];
156
+ }
157
+
158
+ /**
159
+ * Converts payout_function to JSON
160
+ */
161
+ public toJSON(): PayoutFunctionJSON {
162
+ return {
163
+ payoutFunctionPieces: this.payoutFunctionPieces.map((piece) => ({
164
+ endPoint: {
165
+ eventOutcome: bigIntToNumber(piece.endPoint.eventOutcome),
166
+ outcomePayout: bigIntToNumber(piece.endPoint.outcomePayout),
167
+ extraPrecision: piece.endPoint.extraPrecision,
168
+ },
169
+ payoutCurvePiece: piece.payoutCurvePiece.toJSON(),
170
+ })),
171
+ lastEndpoint: {
172
+ eventOutcome: bigIntToNumber(this.lastEndpoint.eventOutcome),
173
+ outcomePayout: bigIntToNumber(this.lastEndpoint.outcomePayout),
174
+ extraPrecision: this.lastEndpoint.extraPrecision,
175
+ },
176
+ };
177
+ }
178
+
179
+ /**
180
+ * Serializes the payout_function message into a Buffer
181
+ */
182
+ public serialize(): Buffer {
183
+ const writer = new BufferWriter();
184
+
185
+ // Write payout_function_pieces as vec (length + elements)
186
+ writer.writeBigSize(this.payoutFunctionPieces.length);
187
+
188
+ for (const piece of this.payoutFunctionPieces) {
189
+ // Write end_point first (matches rust order)
190
+ writer.writeUInt64BE(piece.endPoint.eventOutcome);
191
+ writer.writeUInt64BE(piece.endPoint.outcomePayout);
192
+ writer.writeUInt16BE(piece.endPoint.extraPrecision);
193
+
194
+ // Write payout_curve_piece second
195
+ writer.writeBytes(piece.payoutCurvePiece.serialize());
196
+ }
197
+
198
+ // Write last_endpoint
199
+ writer.writeUInt64BE(this.lastEndpoint.eventOutcome);
200
+ writer.writeUInt64BE(this.lastEndpoint.outcomePayout);
201
+ writer.writeUInt16BE(this.lastEndpoint.extraPrecision);
202
+
203
+ return writer.toBuffer();
204
+ }
205
+ }
206
+
207
+ // Legacy support
208
+ export const PayoutFunctionV0 = PayoutFunction;
209
+ export type PayoutFunctionV0 = PayoutFunction;
210
+
211
+ interface IPayoutPoint {
212
+ eventOutcome: bigint;
213
+ outcomePayout: bigint;
214
+ extraPrecision: number;
215
+ }
216
+
217
+ interface IPayoutPointJSON {
218
+ eventOutcome: number;
219
+ outcomePayout: number;
220
+ extraPrecision: number;
221
+ }
222
+
223
+ interface IPayoutFunctionPiece {
224
+ endPoint: IPayoutPoint;
225
+ payoutCurvePiece: PayoutCurvePiece;
226
+ }
227
+
228
+ interface IPayoutFunctionPieceJSON {
229
+ endPoint: IPayoutPointJSON;
230
+ payoutCurvePiece:
231
+ | PolynomialPayoutCurvePieceJSON
232
+ | HyperbolaPayoutCurvePieceJSON;
233
+ }
234
+
235
+ export interface PayoutFunctionJSON {
236
+ type?: number; // Optional for rust-dlc compatibility
237
+ payoutFunctionPieces: IPayoutFunctionPieceJSON[];
238
+ lastEndpoint: IPayoutPointJSON;
239
+ }
240
+
241
+ // Legacy interface
242
+ export type PayoutFunctionV0JSON = PayoutFunctionJSON;