@atomicfinance/types 3.6.1 → 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 (368) hide show
  1. package/.yalc/@node-dlc/messaging/.nyc_output/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  2. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/2cf48009-1094-4275-bb91-c164c932feb6.json +1 -0
  3. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  4. package/.yalc/@node-dlc/messaging/README.md +24 -0
  5. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +12 -0
  6. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  7. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +473 -0
  8. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +342 -0
  9. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +611 -0
  10. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  11. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  12. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  13. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  14. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  15. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +264 -0
  16. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  17. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  18. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +242 -0
  19. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  20. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  21. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +527 -0
  22. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  23. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  24. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  25. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  26. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +84 -0
  27. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  28. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  29. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  30. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  31. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +326 -0
  32. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  33. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  34. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  35. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  36. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +77 -0
  37. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +216 -0
  38. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  39. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  40. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  41. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  42. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  43. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +260 -0
  44. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  45. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  46. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  47. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  48. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  49. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +494 -0
  50. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1058 -0
  51. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  52. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  53. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  54. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  55. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  56. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +212 -0
  57. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  58. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  59. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  60. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  61. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  62. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +347 -0
  63. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1040 -0
  64. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1382 -0
  65. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1865 -0
  66. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  67. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +986 -0
  68. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +443 -0
  69. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  70. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  71. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  72. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +1895 -0
  73. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1142 -0
  74. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  75. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +947 -0
  76. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +728 -0
  77. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  78. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +374 -0
  79. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +836 -0
  80. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  81. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  82. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +605 -0
  83. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  84. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +770 -0
  85. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  86. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  87. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  88. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +827 -0
  89. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  90. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  91. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1637 -0
  92. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +1631 -0
  93. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +557 -0
  94. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  95. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  96. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +551 -0
  97. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1337 -0
  98. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +590 -0
  99. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1427 -0
  100. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +800 -0
  101. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +461 -0
  102. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +482 -0
  103. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  104. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +636 -0
  105. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/SerdeUtils.ts.html +1394 -0
  106. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serde/index.html +111 -0
  107. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1136 -0
  108. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  109. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  110. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  111. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +179 -0
  112. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  113. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  114. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  115. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  116. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  117. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  118. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5394 -0
  119. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +100 -0
  120. package/.yalc/@node-dlc/messaging/dist/MessageType.js +117 -0
  121. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  122. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  123. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +211 -0
  124. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  125. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  126. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  127. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  128. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  129. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  130. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  131. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  132. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  133. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  134. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  135. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  136. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  137. package/.yalc/@node-dlc/messaging/dist/index.d.ts +44 -0
  138. package/.yalc/@node-dlc/messaging/dist/index.js +63 -0
  139. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  140. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  141. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  142. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  143. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  144. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  145. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  146. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  147. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  148. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  149. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  150. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  151. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  152. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +122 -0
  153. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +222 -0
  154. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  155. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  156. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +304 -0
  157. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  158. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +145 -0
  159. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +428 -0
  160. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  161. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  162. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  163. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  164. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  165. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +210 -0
  166. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  167. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  168. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  169. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  170. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  171. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  172. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  173. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  174. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  175. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  176. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  177. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  178. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  179. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +131 -0
  180. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +418 -0
  181. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  182. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  183. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +267 -0
  184. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  185. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  186. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  187. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  188. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +106 -0
  189. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +209 -0
  190. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  191. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +62 -0
  192. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +163 -0
  193. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  194. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  195. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  196. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  197. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  198. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  199. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  200. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  201. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +185 -0
  202. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  203. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  204. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  205. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  206. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  207. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  208. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  209. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  210. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  211. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  212. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  213. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  214. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  215. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  216. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  217. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  218. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  219. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  220. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  221. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  222. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  223. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  224. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +161 -0
  225. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +390 -0
  226. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  227. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +161 -0
  228. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +387 -0
  229. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  230. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +65 -0
  231. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +125 -0
  232. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  233. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  234. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  235. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  236. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  237. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  238. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  239. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +69 -0
  240. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +114 -0
  241. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  242. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  243. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  244. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  245. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +50 -0
  246. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +125 -0
  247. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  248. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  249. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +327 -0
  250. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  251. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  252. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +170 -0
  253. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  254. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  255. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +95 -0
  256. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  257. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  258. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  259. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  260. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  261. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  262. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  263. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +154 -0
  264. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +307 -0
  265. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  266. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  267. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  268. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  269. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  270. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  271. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  272. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  273. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  274. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  275. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  276. package/.yalc/@node-dlc/messaging/dist/util.js +40 -0
  277. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  278. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  279. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  280. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  281. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +138 -0
  282. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +326 -0
  283. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  284. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  285. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  286. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  287. package/.yalc/@node-dlc/messaging/lib/index.ts +44 -0
  288. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  289. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  290. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  291. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  292. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +318 -0
  293. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +434 -0
  294. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +595 -0
  295. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  296. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +302 -0
  297. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +121 -0
  298. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  299. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  300. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  301. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +605 -0
  302. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +354 -0
  303. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  304. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +289 -0
  305. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +216 -0
  306. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  307. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  308. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +252 -0
  309. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  310. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  311. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  312. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  313. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  314. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  315. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +519 -0
  316. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +159 -0
  317. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  318. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  319. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +157 -0
  320. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +419 -0
  321. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +170 -0
  322. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +449 -0
  323. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +240 -0
  324. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +127 -0
  325. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  326. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  327. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +352 -0
  328. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  329. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  330. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  331. package/.yalc/@node-dlc/messaging/lib/util.ts +33 -0
  332. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  333. package/.yalc/@node-dlc/messaging/package.json +42 -0
  334. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +210 -0
  335. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +468 -0
  336. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1517 -0
  337. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +545 -0
  338. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  339. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  340. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +164 -0
  341. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +502 -0
  342. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +262 -0
  343. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  344. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +324 -0
  345. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  346. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1138 -0
  347. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  348. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  349. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  350. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  351. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  352. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  353. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  354. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  355. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  356. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  357. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  358. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  359. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  360. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  361. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  362. package/CHANGELOG.md +64 -0
  363. package/dist/dlc.d.ts +3 -3
  364. package/dist/models/Output.js.map +1 -1
  365. package/lib/dlc.ts +4 -14
  366. package/lib/models/Output.ts +4 -1
  367. package/package.json +4 -4
  368. package/yalc.lock +10 -0
@@ -0,0 +1,800 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for lib/messages/PayoutFunction.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">lib/messages</a> PayoutFunction.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">94.64% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>53/56</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">58.33% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>14/24</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>7/7</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">94.55% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>52/55</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a>
182
+ <a name='L123'></a><a href='#L123'>123</a>
183
+ <a name='L124'></a><a href='#L124'>124</a>
184
+ <a name='L125'></a><a href='#L125'>125</a>
185
+ <a name='L126'></a><a href='#L126'>126</a>
186
+ <a name='L127'></a><a href='#L127'>127</a>
187
+ <a name='L128'></a><a href='#L128'>128</a>
188
+ <a name='L129'></a><a href='#L129'>129</a>
189
+ <a name='L130'></a><a href='#L130'>130</a>
190
+ <a name='L131'></a><a href='#L131'>131</a>
191
+ <a name='L132'></a><a href='#L132'>132</a>
192
+ <a name='L133'></a><a href='#L133'>133</a>
193
+ <a name='L134'></a><a href='#L134'>134</a>
194
+ <a name='L135'></a><a href='#L135'>135</a>
195
+ <a name='L136'></a><a href='#L136'>136</a>
196
+ <a name='L137'></a><a href='#L137'>137</a>
197
+ <a name='L138'></a><a href='#L138'>138</a>
198
+ <a name='L139'></a><a href='#L139'>139</a>
199
+ <a name='L140'></a><a href='#L140'>140</a>
200
+ <a name='L141'></a><a href='#L141'>141</a>
201
+ <a name='L142'></a><a href='#L142'>142</a>
202
+ <a name='L143'></a><a href='#L143'>143</a>
203
+ <a name='L144'></a><a href='#L144'>144</a>
204
+ <a name='L145'></a><a href='#L145'>145</a>
205
+ <a name='L146'></a><a href='#L146'>146</a>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a>
209
+ <a name='L150'></a><a href='#L150'>150</a>
210
+ <a name='L151'></a><a href='#L151'>151</a>
211
+ <a name='L152'></a><a href='#L152'>152</a>
212
+ <a name='L153'></a><a href='#L153'>153</a>
213
+ <a name='L154'></a><a href='#L154'>154</a>
214
+ <a name='L155'></a><a href='#L155'>155</a>
215
+ <a name='L156'></a><a href='#L156'>156</a>
216
+ <a name='L157'></a><a href='#L157'>157</a>
217
+ <a name='L158'></a><a href='#L158'>158</a>
218
+ <a name='L159'></a><a href='#L159'>159</a>
219
+ <a name='L160'></a><a href='#L160'>160</a>
220
+ <a name='L161'></a><a href='#L161'>161</a>
221
+ <a name='L162'></a><a href='#L162'>162</a>
222
+ <a name='L163'></a><a href='#L163'>163</a>
223
+ <a name='L164'></a><a href='#L164'>164</a>
224
+ <a name='L165'></a><a href='#L165'>165</a>
225
+ <a name='L166'></a><a href='#L166'>166</a>
226
+ <a name='L167'></a><a href='#L167'>167</a>
227
+ <a name='L168'></a><a href='#L168'>168</a>
228
+ <a name='L169'></a><a href='#L169'>169</a>
229
+ <a name='L170'></a><a href='#L170'>170</a>
230
+ <a name='L171'></a><a href='#L171'>171</a>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a>
239
+ <a name='L180'></a><a href='#L180'>180</a>
240
+ <a name='L181'></a><a href='#L181'>181</a>
241
+ <a name='L182'></a><a href='#L182'>182</a>
242
+ <a name='L183'></a><a href='#L183'>183</a>
243
+ <a name='L184'></a><a href='#L184'>184</a>
244
+ <a name='L185'></a><a href='#L185'>185</a>
245
+ <a name='L186'></a><a href='#L186'>186</a>
246
+ <a name='L187'></a><a href='#L187'>187</a>
247
+ <a name='L188'></a><a href='#L188'>188</a>
248
+ <a name='L189'></a><a href='#L189'>189</a>
249
+ <a name='L190'></a><a href='#L190'>190</a>
250
+ <a name='L191'></a><a href='#L191'>191</a>
251
+ <a name='L192'></a><a href='#L192'>192</a>
252
+ <a name='L193'></a><a href='#L193'>193</a>
253
+ <a name='L194'></a><a href='#L194'>194</a>
254
+ <a name='L195'></a><a href='#L195'>195</a>
255
+ <a name='L196'></a><a href='#L196'>196</a>
256
+ <a name='L197'></a><a href='#L197'>197</a>
257
+ <a name='L198'></a><a href='#L198'>198</a>
258
+ <a name='L199'></a><a href='#L199'>199</a>
259
+ <a name='L200'></a><a href='#L200'>200</a>
260
+ <a name='L201'></a><a href='#L201'>201</a>
261
+ <a name='L202'></a><a href='#L202'>202</a>
262
+ <a name='L203'></a><a href='#L203'>203</a>
263
+ <a name='L204'></a><a href='#L204'>204</a>
264
+ <a name='L205'></a><a href='#L205'>205</a>
265
+ <a name='L206'></a><a href='#L206'>206</a>
266
+ <a name='L207'></a><a href='#L207'>207</a>
267
+ <a name='L208'></a><a href='#L208'>208</a>
268
+ <a name='L209'></a><a href='#L209'>209</a>
269
+ <a name='L210'></a><a href='#L210'>210</a>
270
+ <a name='L211'></a><a href='#L211'>211</a>
271
+ <a name='L212'></a><a href='#L212'>212</a>
272
+ <a name='L213'></a><a href='#L213'>213</a>
273
+ <a name='L214'></a><a href='#L214'>214</a>
274
+ <a name='L215'></a><a href='#L215'>215</a>
275
+ <a name='L216'></a><a href='#L216'>216</a>
276
+ <a name='L217'></a><a href='#L217'>217</a>
277
+ <a name='L218'></a><a href='#L218'>218</a>
278
+ <a name='L219'></a><a href='#L219'>219</a>
279
+ <a name='L220'></a><a href='#L220'>220</a>
280
+ <a name='L221'></a><a href='#L221'>221</a>
281
+ <a name='L222'></a><a href='#L222'>222</a>
282
+ <a name='L223'></a><a href='#L223'>223</a>
283
+ <a name='L224'></a><a href='#L224'>224</a>
284
+ <a name='L225'></a><a href='#L225'>225</a>
285
+ <a name='L226'></a><a href='#L226'>226</a>
286
+ <a name='L227'></a><a href='#L227'>227</a>
287
+ <a name='L228'></a><a href='#L228'>228</a>
288
+ <a name='L229'></a><a href='#L229'>229</a>
289
+ <a name='L230'></a><a href='#L230'>230</a>
290
+ <a name='L231'></a><a href='#L231'>231</a>
291
+ <a name='L232'></a><a href='#L232'>232</a>
292
+ <a name='L233'></a><a href='#L233'>233</a>
293
+ <a name='L234'></a><a href='#L234'>234</a>
294
+ <a name='L235'></a><a href='#L235'>235</a>
295
+ <a name='L236'></a><a href='#L236'>236</a>
296
+ <a name='L237'></a><a href='#L237'>237</a>
297
+ <a name='L238'></a><a href='#L238'>238</a>
298
+ <a name='L239'></a><a href='#L239'>239</a>
299
+ <a name='L240'></a><a href='#L240'>240</a>
300
+ <a name='L241'></a><a href='#L241'>241</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-yes">1x</span>
303
+ <span class="cline-any cline-yes">1x</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-yes">1x</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">1x</span>
317
+ <span class="cline-any cline-yes">1x</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-yes">22x</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-yes">22x</span>
329
+ <span class="cline-any cline-yes">22x</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-yes">42x</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-yes">42x</span>
344
+ <span class="cline-any cline-yes">2x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-yes">2x</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-yes">2x</span>
351
+ <span class="cline-any cline-no">&nbsp;</span>
352
+ <span class="cline-any cline-no">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-yes">2x</span>
360
+ <span class="cline-any cline-yes">2x</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-yes">42x</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-yes">22x</span>
374
+ <span class="cline-any cline-yes">22x</span>
375
+ <span class="cline-any cline-yes">22x</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-yes">22x</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-yes">36x</span>
398
+ <span class="cline-any cline-yes">36x</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-yes">36x</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-yes">36x</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-yes">66x</span>
406
+ <span class="cline-any cline-yes">66x</span>
407
+ <span class="cline-any cline-yes">66x</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-yes">66x</span>
411
+ <span class="cline-any cline-yes">66x</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-yes">66x</span>
417
+ <span class="cline-any cline-yes">66x</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-yes">66x</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-yes">36x</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-yes">36x</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-yes">66x</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-yes">66x</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-yes">66x</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-yes">12x</span>
460
+ <span class="cline-any cline-yes">22x</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-yes">149x</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-yes">149x</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-yes">149x</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-yes">279x</span>
488
+ <span class="cline-any cline-yes">279x</span>
489
+ <span class="cline-any cline-yes">279x</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-yes">279x</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-yes">149x</span>
497
+ <span class="cline-any cline-yes">149x</span>
498
+ <span class="cline-any cline-yes">149x</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-yes">149x</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-yes">1x</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BufferReader, BufferWriter } from '@node-dlc/bufio';
541
+ &nbsp;
542
+ import { MessageType } from '../MessageType';
543
+ import { bigIntToNumber, toBigInt } from '../util';
544
+ import { IDlcMessage } from './DlcMessage';
545
+ import {
546
+ HyperbolaPayoutCurvePiece,
547
+ HyperbolaPayoutCurvePieceJSON,
548
+ PayoutCurvePiece,
549
+ PolynomialPayoutCurvePieceJSON,
550
+ } from './PayoutCurvePiece';
551
+ &nbsp;
552
+ /**
553
+ * PayoutFunction contains the payout curve definition for numeric outcome contracts.
554
+ * Updated to match rust-dlc format exactly.
555
+ */
556
+ export class PayoutFunction implements IDlcMessage {
557
+ public static type = MessageType.PayoutFunction;
558
+ &nbsp;
559
+ /**
560
+ * Creates a PayoutFunction from JSON data
561
+ * @param json JSON object representing a payout function
562
+ */
563
+ public static fromJSON(json: any): PayoutFunction {
564
+ const instance = new PayoutFunction();
565
+ &nbsp;
566
+ // Parse payout function pieces
567
+ const pieces =
568
+ json.payoutFunctionPieces || <span class="branch-1 cbranch-no" title="branch not covered" >json.payout_function_pieces </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >[];</span>
569
+ instance.payoutFunctionPieces = pieces.map(
570
+ (pieceJson: any, index: number) =&gt; {
571
+ const piece = {
572
+ endPoint: {
573
+ eventOutcome: toBigInt(pieceJson.endPoint?.eventOutcome),
574
+ outcomePayout: toBigInt(pieceJson.endPoint?.outcomePayout),
575
+ extraPrecision: pieceJson.endPoint?.extraPrecision || 0,
576
+ },
577
+ payoutCurvePiece: PayoutCurvePiece.fromJSON(
578
+ pieceJson.payoutCurvePiece || <span class="branch-1 cbranch-no" title="branch not covered" >pieceJson.payout_curve_piece,</span>
579
+ ),
580
+ };
581
+ &nbsp;
582
+ // For HyperbolaPayoutCurvePiece, set the left and right end points
583
+ if (piece.payoutCurvePiece instanceof HyperbolaPayoutCurvePiece) {
584
+ const hyperbola = piece.payoutCurvePiece as HyperbolaPayoutCurvePiece;
585
+ &nbsp;
586
+ // Left end point is this piece's endPoint
587
+ hyperbola.leftEndPoint = piece.endPoint;
588
+ &nbsp;
589
+ // Right end point is the next piece's endPoint, or lastEndpoint if this is the last piece
590
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (index &lt; pieces.length - 1) {
591
+ const nextPiece = <span class="cstat-no" title="statement not covered" >pieces[index + 1];</span>
592
+ <span class="cstat-no" title="statement not covered" > hyperbola.rightEndPoint = {</span>
593
+ eventOutcome: toBigInt(nextPiece.endPoint?.eventOutcome),
594
+ outcomePayout: toBigInt(nextPiece.endPoint?.outcomePayout),
595
+ extraPrecision: nextPiece.endPoint?.extraPrecision || 0,
596
+ };
597
+ } else {
598
+ // Use lastEndpoint for the final piece
599
+ const lastEndpoint = json.lastEndpoint || <span class="branch-1 cbranch-no" title="branch not covered" >json.last_endpoint </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >{};</span>
600
+ hyperbola.rightEndPoint = {
601
+ eventOutcome: toBigInt(lastEndpoint.eventOutcome),
602
+ outcomePayout: toBigInt(lastEndpoint.outcomePayout),
603
+ extraPrecision: lastEndpoint.extraPrecision || 0,
604
+ };
605
+ }
606
+ }
607
+ &nbsp;
608
+ return piece;
609
+ },
610
+ );
611
+ &nbsp;
612
+ // Parse last endpoint
613
+ const lastEndpoint = json.lastEndpoint || <span class="branch-1 cbranch-no" title="branch not covered" >json.last_endpoint;</span>
614
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (lastEndpoint) {
615
+ instance.lastEndpoint = {
616
+ eventOutcome: toBigInt(lastEndpoint.eventOutcome),
617
+ outcomePayout: toBigInt(lastEndpoint.outcomePayout),
618
+ extraPrecision: lastEndpoint.extraPrecision || 0,
619
+ };
620
+ } else {
621
+ // Default last endpoint if not provided
622
+ <span class="cstat-no" title="statement not covered" > instance.lastEndpoint = {</span>
623
+ eventOutcome: BigInt(0),
624
+ outcomePayout: BigInt(0),
625
+ extraPrecision: 0,
626
+ };
627
+ }
628
+ &nbsp;
629
+ return instance;
630
+ }
631
+ &nbsp;
632
+ /**
633
+ * Deserializes a payout_function message
634
+ * @param buf
635
+ */
636
+ public static deserialize(buf: Buffer): PayoutFunction {
637
+ const instance = new PayoutFunction();
638
+ const reader = new BufferReader(buf);
639
+ &nbsp;
640
+ // Read payout function pieces (as vec)
641
+ const numPieces = Number(reader.readBigSize());
642
+ &nbsp;
643
+ for (let i = 0; i &lt; numPieces; i++) {
644
+ // Read end_point first
645
+ const eventOutcome = reader.readUInt64BE();
646
+ const outcomePayout = reader.readUInt64BE();
647
+ const extraPrecision = reader.readUInt16BE();
648
+ &nbsp;
649
+ // Read payout curve piece
650
+ const payoutCurvePieceStartPos = reader.position;
651
+ const payoutCurvePiece = PayoutCurvePiece.deserialize(
652
+ reader.buffer.subarray(reader.position),
653
+ );
654
+ &nbsp;
655
+ // Skip past the payout curve piece bytes
656
+ const payoutCurvePieceSize = payoutCurvePiece.serialize().length;
657
+ reader.position = payoutCurvePieceStartPos + payoutCurvePieceSize;
658
+ &nbsp;
659
+ instance.payoutFunctionPieces.push({
660
+ endPoint: {
661
+ eventOutcome,
662
+ outcomePayout,
663
+ extraPrecision,
664
+ },
665
+ payoutCurvePiece,
666
+ });
667
+ }
668
+ &nbsp;
669
+ // Read last_endpoint
670
+ instance.lastEndpoint = {
671
+ eventOutcome: reader.readUInt64BE(),
672
+ outcomePayout: reader.readUInt64BE(),
673
+ extraPrecision: reader.readUInt16BE(),
674
+ };
675
+ &nbsp;
676
+ return instance;
677
+ }
678
+ &nbsp;
679
+ /**
680
+ * The type for payout_function message. payout_function = 42790
681
+ */
682
+ public type = PayoutFunction.type;
683
+ &nbsp;
684
+ public payoutFunctionPieces: IPayoutFunctionPiece[] = [];
685
+ public lastEndpoint: IPayoutPoint;
686
+ &nbsp;
687
+ /**
688
+ * Constructor that ensures proper initialization
689
+ */
690
+ constructor() {
691
+ // Explicitly initialize arrays to handle file-linking issues
692
+ this.payoutFunctionPieces = [];
693
+ }
694
+ &nbsp;
695
+ /**
696
+ * Converts payout_function to JSON
697
+ */
698
+ public toJSON(): PayoutFunctionJSON {
699
+ return {
700
+ payoutFunctionPieces: this.payoutFunctionPieces.map((piece) =&gt; ({
701
+ endPoint: {
702
+ eventOutcome: bigIntToNumber(piece.endPoint.eventOutcome),
703
+ outcomePayout: bigIntToNumber(piece.endPoint.outcomePayout),
704
+ extraPrecision: piece.endPoint.extraPrecision,
705
+ },
706
+ payoutCurvePiece: piece.payoutCurvePiece.toJSON(),
707
+ })),
708
+ lastEndpoint: {
709
+ eventOutcome: bigIntToNumber(this.lastEndpoint.eventOutcome),
710
+ outcomePayout: bigIntToNumber(this.lastEndpoint.outcomePayout),
711
+ extraPrecision: this.lastEndpoint.extraPrecision,
712
+ },
713
+ };
714
+ }
715
+ &nbsp;
716
+ /**
717
+ * Serializes the payout_function message into a Buffer
718
+ */
719
+ public serialize(): Buffer {
720
+ const writer = new BufferWriter();
721
+ &nbsp;
722
+ // Write payout_function_pieces as vec (length + elements)
723
+ writer.writeBigSize(this.payoutFunctionPieces.length);
724
+ &nbsp;
725
+ for (const piece of this.payoutFunctionPieces) {
726
+ // Write end_point first (matches rust order)
727
+ writer.writeUInt64BE(piece.endPoint.eventOutcome);
728
+ writer.writeUInt64BE(piece.endPoint.outcomePayout);
729
+ writer.writeUInt16BE(piece.endPoint.extraPrecision);
730
+ &nbsp;
731
+ // Write payout_curve_piece second
732
+ writer.writeBytes(piece.payoutCurvePiece.serialize());
733
+ }
734
+ &nbsp;
735
+ // Write last_endpoint
736
+ writer.writeUInt64BE(this.lastEndpoint.eventOutcome);
737
+ writer.writeUInt64BE(this.lastEndpoint.outcomePayout);
738
+ writer.writeUInt16BE(this.lastEndpoint.extraPrecision);
739
+ &nbsp;
740
+ return writer.toBuffer();
741
+ }
742
+ }
743
+ &nbsp;
744
+ // Legacy support
745
+ export const PayoutFunctionV0 = PayoutFunction;
746
+ export type PayoutFunctionV0 = PayoutFunction;
747
+ &nbsp;
748
+ interface IPayoutPoint {
749
+ eventOutcome: bigint;
750
+ outcomePayout: bigint;
751
+ extraPrecision: number;
752
+ }
753
+ &nbsp;
754
+ interface IPayoutPointJSON {
755
+ eventOutcome: number;
756
+ outcomePayout: number;
757
+ extraPrecision: number;
758
+ }
759
+ &nbsp;
760
+ interface IPayoutFunctionPiece {
761
+ endPoint: IPayoutPoint;
762
+ payoutCurvePiece: PayoutCurvePiece;
763
+ }
764
+ &nbsp;
765
+ interface IPayoutFunctionPieceJSON {
766
+ endPoint: IPayoutPointJSON;
767
+ payoutCurvePiece:
768
+ | PolynomialPayoutCurvePieceJSON
769
+ | HyperbolaPayoutCurvePieceJSON;
770
+ }
771
+ &nbsp;
772
+ export interface PayoutFunctionJSON {
773
+ type?: number; // Optional for rust-dlc compatibility
774
+ payoutFunctionPieces: IPayoutFunctionPieceJSON[];
775
+ lastEndpoint: IPayoutPointJSON;
776
+ }
777
+ &nbsp;
778
+ // Legacy interface
779
+ export type PayoutFunctionV0JSON = PayoutFunctionJSON;
780
+ &nbsp;</pre></td></tr></table></pre>
781
+
782
+ <div class='push'></div><!-- for sticky footer -->
783
+ </div><!-- /wrapper -->
784
+ <div class='footer quiet pad2 space-top1 center small'>
785
+ Code coverage generated by
786
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
787
+ at Thu Jun 26 2025 23:34:07 GMT-0700 (Pacific Daylight Saving Time)
788
+ </div>
789
+ </div>
790
+ <script src="../../prettify.js"></script>
791
+ <script>
792
+ window.onload = function () {
793
+ prettyPrint();
794
+ };
795
+ </script>
796
+ <script src="../../sorter.js"></script>
797
+ <script src="../../block-navigation.js"></script>
798
+ </body>
799
+ </html>
800
+