@atomicfinance/types 3.6.1 → 4.0.1

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 (679) hide show
  1. package/.turbo/turbo-lint.log +1 -0
  2. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  3. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  6. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  7. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  9. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  10. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  42. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  43. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  129. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  130. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  158. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  159. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  160. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  161. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  162. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  163. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  164. package/.yalc/@node-dlc/messaging/README.md +24 -0
  165. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  166. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  167. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  168. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  169. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  170. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  171. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  172. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  173. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  174. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  175. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  176. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  177. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  178. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  179. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  180. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  181. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  182. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  183. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  184. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  185. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  186. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  187. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  188. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  189. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  190. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  191. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  192. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  193. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  194. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  195. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  196. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  197. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  198. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  199. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  200. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  201. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  202. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  203. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  204. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  205. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  206. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  207. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  208. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  209. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  210. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  211. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  212. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  213. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  214. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  215. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  216. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  217. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  218. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  219. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  220. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  221. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  222. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  223. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  224. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  225. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  226. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  227. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  228. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  229. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  230. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  231. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  232. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  233. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  234. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  235. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  236. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  237. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  238. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  239. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  240. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  241. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  242. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  243. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  244. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  245. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  246. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  247. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  248. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  249. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  250. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  251. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  252. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  253. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  254. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  255. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  256. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  257. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  258. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  259. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  260. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  261. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  262. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  263. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  264. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  265. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  266. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  267. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  268. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  269. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  270. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  271. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  272. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  273. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  274. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  275. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  276. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  277. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  278. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  279. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  280. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  281. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  282. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  283. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  284. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  285. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  286. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  287. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  288. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  289. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  290. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  291. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  292. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  293. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  294. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  295. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  296. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  297. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  298. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  299. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  300. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  301. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  302. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  303. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  304. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  305. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  306. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  307. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  308. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  309. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  310. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  311. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  312. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  313. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  314. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  315. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  316. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  317. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  318. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  319. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  320. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  321. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  322. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  323. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  324. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  325. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  326. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  327. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  328. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  329. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  330. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  331. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  332. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  333. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  334. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  335. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  336. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  337. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  338. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  339. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  340. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  341. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  342. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  343. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  344. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  345. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  346. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  347. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  348. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  349. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  350. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  351. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  352. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  353. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  354. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  355. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  356. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  357. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  358. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  359. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  360. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  361. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  362. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  363. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  364. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  365. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  366. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  367. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  368. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  369. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  370. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  371. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  372. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  373. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  374. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  375. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  376. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  377. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  378. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  379. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  380. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  381. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  382. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  383. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  384. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  385. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  386. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  387. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  388. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  389. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  390. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  391. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  392. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  393. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  394. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  395. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  396. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  397. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  398. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  399. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  400. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  401. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  402. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  403. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  404. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  405. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  406. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  407. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  408. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  409. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  410. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  411. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  412. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  413. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  414. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  415. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  416. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  417. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  418. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  419. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  420. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  421. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  422. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  423. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  424. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  425. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  426. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  427. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  428. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  429. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  430. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  431. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  432. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  433. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  434. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  435. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  436. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  437. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  438. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  439. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  440. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  441. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  442. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  443. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  444. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  445. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  446. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  447. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  448. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  449. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  450. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  451. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  452. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  453. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  454. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  455. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  456. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  457. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  458. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  459. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  460. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  461. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  462. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  463. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  464. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  465. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  466. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  467. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  468. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  469. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  470. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  471. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  472. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  473. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  474. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  475. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  476. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  477. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  478. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  479. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  480. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  481. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  482. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  483. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  484. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  485. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  486. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  487. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  488. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  489. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  490. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  491. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  492. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  493. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  494. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  495. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  496. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  497. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  498. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  499. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  500. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  501. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  502. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  503. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  504. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  505. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  506. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  507. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  508. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  509. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  510. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  511. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  512. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  513. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  514. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  515. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  516. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  517. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  518. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  519. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  520. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  521. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  522. package/.yalc/@node-dlc/messaging/package.json +42 -0
  523. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  524. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  525. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  526. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  527. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  528. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  529. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  530. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  531. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  532. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  533. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  534. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  535. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  536. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  537. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  538. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  539. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  540. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  541. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  542. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  543. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  544. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  545. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  546. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  547. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  548. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  549. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  550. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  551. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  552. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  553. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  554. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  555. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  556. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  557. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  558. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  559. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  560. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  561. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  562. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  563. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  564. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  565. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  566. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  567. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  568. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  569. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  570. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  571. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  572. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  573. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  574. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  575. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  576. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  577. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  578. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  579. package/.yalc/@node-dlc/noise/.eslintrc +6 -0
  580. package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  581. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  582. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
  583. package/.yalc/@node-dlc/noise/README.md +165 -0
  584. package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
  585. package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
  586. package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
  587. package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
  588. package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
  589. package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
  590. package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
  591. package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
  592. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
  593. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
  594. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
  595. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
  596. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
  597. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
  598. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
  599. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
  600. package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
  601. package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  602. package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
  603. package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
  604. package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
  605. package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
  606. package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
  607. package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
  608. package/.yalc/@node-dlc/noise/dist/index.js +69 -0
  609. package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
  610. package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
  611. package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
  612. package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
  613. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
  614. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
  615. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
  616. package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
  617. package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
  618. package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
  619. package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
  620. package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
  621. package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
  622. package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
  623. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
  624. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
  625. package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
  626. package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
  627. package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
  628. package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
  629. package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
  630. package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
  631. package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
  632. package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
  633. package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
  634. package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
  635. package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
  636. package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
  637. package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
  638. package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
  639. package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
  640. package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
  641. package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
  642. package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
  643. package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
  644. package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
  645. package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
  646. package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
  647. package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
  648. package/.yalc/@node-dlc/noise/package.json +35 -0
  649. package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
  650. package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
  651. package/.yalc/@node-dlc/noise/yalc.sig +1 -0
  652. package/CHANGELOG.md +98 -0
  653. package/dist/dlc.d.ts +102 -5
  654. package/dist/index.d.ts +1 -1
  655. package/dist/index.js +2 -1
  656. package/dist/index.js.map +1 -1
  657. package/dist/models/Amount.js +1 -0
  658. package/dist/models/Amount.js.map +1 -1
  659. package/dist/models/Input.d.ts +30 -1
  660. package/dist/models/Input.js +42 -9
  661. package/dist/models/Input.js.map +1 -1
  662. package/dist/models/Outcome.js +1 -0
  663. package/dist/models/Outcome.js.map +1 -1
  664. package/dist/models/Output.js.map +1 -1
  665. package/dist/models/Utxo.js +9 -11
  666. package/dist/models/Utxo.js.map +1 -1
  667. package/dist/transaction.js.map +1 -1
  668. package/lib/block.ts +1 -0
  669. package/lib/dlc.ts +129 -15
  670. package/lib/index.ts +7 -1
  671. package/lib/models/Amount.ts +1 -0
  672. package/lib/models/Input.ts +73 -8
  673. package/lib/models/Outcome.ts +1 -0
  674. package/lib/models/Output.ts +4 -1
  675. package/lib/models/Utxo.ts +19 -11
  676. package/lib/transaction.ts +1 -0
  677. package/lib/wallet.ts +1 -0
  678. package/package.json +4 -4
  679. package/yalc.lock +20 -0
@@ -0,0 +1,1397 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for lib/messages/ContractInfo.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> ContractInfo.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">83.76% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>98/117</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50.91% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>28/55</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">80% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>16/20</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">83.62% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>97/116</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>
301
+ <a name='L242'></a><a href='#L242'>242</a>
302
+ <a name='L243'></a><a href='#L243'>243</a>
303
+ <a name='L244'></a><a href='#L244'>244</a>
304
+ <a name='L245'></a><a href='#L245'>245</a>
305
+ <a name='L246'></a><a href='#L246'>246</a>
306
+ <a name='L247'></a><a href='#L247'>247</a>
307
+ <a name='L248'></a><a href='#L248'>248</a>
308
+ <a name='L249'></a><a href='#L249'>249</a>
309
+ <a name='L250'></a><a href='#L250'>250</a>
310
+ <a name='L251'></a><a href='#L251'>251</a>
311
+ <a name='L252'></a><a href='#L252'>252</a>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a>
322
+ <a name='L263'></a><a href='#L263'>263</a>
323
+ <a name='L264'></a><a href='#L264'>264</a>
324
+ <a name='L265'></a><a href='#L265'>265</a>
325
+ <a name='L266'></a><a href='#L266'>266</a>
326
+ <a name='L267'></a><a href='#L267'>267</a>
327
+ <a name='L268'></a><a href='#L268'>268</a>
328
+ <a name='L269'></a><a href='#L269'>269</a>
329
+ <a name='L270'></a><a href='#L270'>270</a>
330
+ <a name='L271'></a><a href='#L271'>271</a>
331
+ <a name='L272'></a><a href='#L272'>272</a>
332
+ <a name='L273'></a><a href='#L273'>273</a>
333
+ <a name='L274'></a><a href='#L274'>274</a>
334
+ <a name='L275'></a><a href='#L275'>275</a>
335
+ <a name='L276'></a><a href='#L276'>276</a>
336
+ <a name='L277'></a><a href='#L277'>277</a>
337
+ <a name='L278'></a><a href='#L278'>278</a>
338
+ <a name='L279'></a><a href='#L279'>279</a>
339
+ <a name='L280'></a><a href='#L280'>280</a>
340
+ <a name='L281'></a><a href='#L281'>281</a>
341
+ <a name='L282'></a><a href='#L282'>282</a>
342
+ <a name='L283'></a><a href='#L283'>283</a>
343
+ <a name='L284'></a><a href='#L284'>284</a>
344
+ <a name='L285'></a><a href='#L285'>285</a>
345
+ <a name='L286'></a><a href='#L286'>286</a>
346
+ <a name='L287'></a><a href='#L287'>287</a>
347
+ <a name='L288'></a><a href='#L288'>288</a>
348
+ <a name='L289'></a><a href='#L289'>289</a>
349
+ <a name='L290'></a><a href='#L290'>290</a>
350
+ <a name='L291'></a><a href='#L291'>291</a>
351
+ <a name='L292'></a><a href='#L292'>292</a>
352
+ <a name='L293'></a><a href='#L293'>293</a>
353
+ <a name='L294'></a><a href='#L294'>294</a>
354
+ <a name='L295'></a><a href='#L295'>295</a>
355
+ <a name='L296'></a><a href='#L296'>296</a>
356
+ <a name='L297'></a><a href='#L297'>297</a>
357
+ <a name='L298'></a><a href='#L298'>298</a>
358
+ <a name='L299'></a><a href='#L299'>299</a>
359
+ <a name='L300'></a><a href='#L300'>300</a>
360
+ <a name='L301'></a><a href='#L301'>301</a>
361
+ <a name='L302'></a><a href='#L302'>302</a>
362
+ <a name='L303'></a><a href='#L303'>303</a>
363
+ <a name='L304'></a><a href='#L304'>304</a>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a>
368
+ <a name='L309'></a><a href='#L309'>309</a>
369
+ <a name='L310'></a><a href='#L310'>310</a>
370
+ <a name='L311'></a><a href='#L311'>311</a>
371
+ <a name='L312'></a><a href='#L312'>312</a>
372
+ <a name='L313'></a><a href='#L313'>313</a>
373
+ <a name='L314'></a><a href='#L314'>314</a>
374
+ <a name='L315'></a><a href='#L315'>315</a>
375
+ <a name='L316'></a><a href='#L316'>316</a>
376
+ <a name='L317'></a><a href='#L317'>317</a>
377
+ <a name='L318'></a><a href='#L318'>318</a>
378
+ <a name='L319'></a><a href='#L319'>319</a>
379
+ <a name='L320'></a><a href='#L320'>320</a>
380
+ <a name='L321'></a><a href='#L321'>321</a>
381
+ <a name='L322'></a><a href='#L322'>322</a>
382
+ <a name='L323'></a><a href='#L323'>323</a>
383
+ <a name='L324'></a><a href='#L324'>324</a>
384
+ <a name='L325'></a><a href='#L325'>325</a>
385
+ <a name='L326'></a><a href='#L326'>326</a>
386
+ <a name='L327'></a><a href='#L327'>327</a>
387
+ <a name='L328'></a><a href='#L328'>328</a>
388
+ <a name='L329'></a><a href='#L329'>329</a>
389
+ <a name='L330'></a><a href='#L330'>330</a>
390
+ <a name='L331'></a><a href='#L331'>331</a>
391
+ <a name='L332'></a><a href='#L332'>332</a>
392
+ <a name='L333'></a><a href='#L333'>333</a>
393
+ <a name='L334'></a><a href='#L334'>334</a>
394
+ <a name='L335'></a><a href='#L335'>335</a>
395
+ <a name='L336'></a><a href='#L336'>336</a>
396
+ <a name='L337'></a><a href='#L337'>337</a>
397
+ <a name='L338'></a><a href='#L338'>338</a>
398
+ <a name='L339'></a><a href='#L339'>339</a>
399
+ <a name='L340'></a><a href='#L340'>340</a>
400
+ <a name='L341'></a><a href='#L341'>341</a>
401
+ <a name='L342'></a><a href='#L342'>342</a>
402
+ <a name='L343'></a><a href='#L343'>343</a>
403
+ <a name='L344'></a><a href='#L344'>344</a>
404
+ <a name='L345'></a><a href='#L345'>345</a>
405
+ <a name='L346'></a><a href='#L346'>346</a>
406
+ <a name='L347'></a><a href='#L347'>347</a>
407
+ <a name='L348'></a><a href='#L348'>348</a>
408
+ <a name='L349'></a><a href='#L349'>349</a>
409
+ <a name='L350'></a><a href='#L350'>350</a>
410
+ <a name='L351'></a><a href='#L351'>351</a>
411
+ <a name='L352'></a><a href='#L352'>352</a>
412
+ <a name='L353'></a><a href='#L353'>353</a>
413
+ <a name='L354'></a><a href='#L354'>354</a>
414
+ <a name='L355'></a><a href='#L355'>355</a>
415
+ <a name='L356'></a><a href='#L356'>356</a>
416
+ <a name='L357'></a><a href='#L357'>357</a>
417
+ <a name='L358'></a><a href='#L358'>358</a>
418
+ <a name='L359'></a><a href='#L359'>359</a>
419
+ <a name='L360'></a><a href='#L360'>360</a>
420
+ <a name='L361'></a><a href='#L361'>361</a>
421
+ <a name='L362'></a><a href='#L362'>362</a>
422
+ <a name='L363'></a><a href='#L363'>363</a>
423
+ <a name='L364'></a><a href='#L364'>364</a>
424
+ <a name='L365'></a><a href='#L365'>365</a>
425
+ <a name='L366'></a><a href='#L366'>366</a>
426
+ <a name='L367'></a><a href='#L367'>367</a>
427
+ <a name='L368'></a><a href='#L368'>368</a>
428
+ <a name='L369'></a><a href='#L369'>369</a>
429
+ <a name='L370'></a><a href='#L370'>370</a>
430
+ <a name='L371'></a><a href='#L371'>371</a>
431
+ <a name='L372'></a><a href='#L372'>372</a>
432
+ <a name='L373'></a><a href='#L373'>373</a>
433
+ <a name='L374'></a><a href='#L374'>374</a>
434
+ <a name='L375'></a><a href='#L375'>375</a>
435
+ <a name='L376'></a><a href='#L376'>376</a>
436
+ <a name='L377'></a><a href='#L377'>377</a>
437
+ <a name='L378'></a><a href='#L378'>378</a>
438
+ <a name='L379'></a><a href='#L379'>379</a>
439
+ <a name='L380'></a><a href='#L380'>380</a>
440
+ <a name='L381'></a><a href='#L381'>381</a>
441
+ <a name='L382'></a><a href='#L382'>382</a>
442
+ <a name='L383'></a><a href='#L383'>383</a>
443
+ <a name='L384'></a><a href='#L384'>384</a>
444
+ <a name='L385'></a><a href='#L385'>385</a>
445
+ <a name='L386'></a><a href='#L386'>386</a>
446
+ <a name='L387'></a><a href='#L387'>387</a>
447
+ <a name='L388'></a><a href='#L388'>388</a>
448
+ <a name='L389'></a><a href='#L389'>389</a>
449
+ <a name='L390'></a><a href='#L390'>390</a>
450
+ <a name='L391'></a><a href='#L391'>391</a>
451
+ <a name='L392'></a><a href='#L392'>392</a>
452
+ <a name='L393'></a><a href='#L393'>393</a>
453
+ <a name='L394'></a><a href='#L394'>394</a>
454
+ <a name='L395'></a><a href='#L395'>395</a>
455
+ <a name='L396'></a><a href='#L396'>396</a>
456
+ <a name='L397'></a><a href='#L397'>397</a>
457
+ <a name='L398'></a><a href='#L398'>398</a>
458
+ <a name='L399'></a><a href='#L399'>399</a>
459
+ <a name='L400'></a><a href='#L400'>400</a>
460
+ <a name='L401'></a><a href='#L401'>401</a>
461
+ <a name='L402'></a><a href='#L402'>402</a>
462
+ <a name='L403'></a><a href='#L403'>403</a>
463
+ <a name='L404'></a><a href='#L404'>404</a>
464
+ <a name='L405'></a><a href='#L405'>405</a>
465
+ <a name='L406'></a><a href='#L406'>406</a>
466
+ <a name='L407'></a><a href='#L407'>407</a>
467
+ <a name='L408'></a><a href='#L408'>408</a>
468
+ <a name='L409'></a><a href='#L409'>409</a>
469
+ <a name='L410'></a><a href='#L410'>410</a>
470
+ <a name='L411'></a><a href='#L411'>411</a>
471
+ <a name='L412'></a><a href='#L412'>412</a>
472
+ <a name='L413'></a><a href='#L413'>413</a>
473
+ <a name='L414'></a><a href='#L414'>414</a>
474
+ <a name='L415'></a><a href='#L415'>415</a>
475
+ <a name='L416'></a><a href='#L416'>416</a>
476
+ <a name='L417'></a><a href='#L417'>417</a>
477
+ <a name='L418'></a><a href='#L418'>418</a>
478
+ <a name='L419'></a><a href='#L419'>419</a>
479
+ <a name='L420'></a><a href='#L420'>420</a>
480
+ <a name='L421'></a><a href='#L421'>421</a>
481
+ <a name='L422'></a><a href='#L422'>422</a>
482
+ <a name='L423'></a><a href='#L423'>423</a>
483
+ <a name='L424'></a><a href='#L424'>424</a>
484
+ <a name='L425'></a><a href='#L425'>425</a>
485
+ <a name='L426'></a><a href='#L426'>426</a>
486
+ <a name='L427'></a><a href='#L427'>427</a>
487
+ <a name='L428'></a><a href='#L428'>428</a>
488
+ <a name='L429'></a><a href='#L429'>429</a>
489
+ <a name='L430'></a><a href='#L430'>430</a>
490
+ <a name='L431'></a><a href='#L431'>431</a>
491
+ <a name='L432'></a><a href='#L432'>432</a>
492
+ <a name='L433'></a><a href='#L433'>433</a>
493
+ <a name='L434'></a><a href='#L434'>434</a>
494
+ <a name='L435'></a><a href='#L435'>435</a>
495
+ <a name='L436'></a><a href='#L436'>436</a>
496
+ <a name='L437'></a><a href='#L437'>437</a>
497
+ <a name='L438'></a><a href='#L438'>438</a>
498
+ <a name='L439'></a><a href='#L439'>439</a>
499
+ <a name='L440'></a><a href='#L440'>440</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-yes">1x</span>
502
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-yes">1x</span>
508
+ <span class="cline-any cline-yes">1x</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-yes">1x</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-yes">54x</span>
521
+ <span class="cline-any cline-yes">54x</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-yes">54x</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-yes">42x</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-yes">12x</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-no">&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>
541
+ <span class="cline-any cline-yes">30x</span>
542
+ <span class="cline-any cline-no">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-yes">30x</span>
547
+ <span class="cline-any cline-yes">22x</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-yes">8x</span>
551
+ <span class="cline-any cline-yes">8x</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-no">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-yes">77x</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-yes">1x</span>
579
+ <span class="cline-any cline-yes">1x</span>
580
+ <span class="cline-any cline-yes">1x</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-yes">22x</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-yes">22x</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-yes">22x</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-yes">22x</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-yes">22x</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-yes">22x</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-yes">42x</span>
617
+ <span class="cline-any cline-yes">42x</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-yes">42x</span>
620
+ <span class="cline-any cline-yes">42x</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-yes">42x</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-yes">42x</span>
628
+ <span class="cline-any cline-yes">42x</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-yes">42x</span>
632
+ <span class="cline-any cline-yes">42x</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-yes">21x</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-yes">21x</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-yes">21x</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-no">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-yes">42x</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-yes">113x</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-yes">113x</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-no">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-yes">9x</span>
676
+ <span class="cline-any cline-no">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-yes">9x</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-yes">17x</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-yes">105x</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-yes">105x</span>
708
+ <span class="cline-any cline-yes">105x</span>
709
+ <span class="cline-any cline-yes">105x</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-yes">105x</span>
713
+ <span class="cline-any cline-yes">55x</span>
714
+ <span class="cline-any cline-yes">55x</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-yes">50x</span>
717
+ <span class="cline-any cline-yes">50x</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-yes">105x</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-yes">1x</span>
729
+ <span class="cline-any cline-yes">1x</span>
730
+ <span class="cline-any cline-yes">1x</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-yes">8x</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-yes">8x</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-yes">8x</span>
746
+ <span class="cline-any cline-yes">8x</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-yes">16x</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-yes">8x</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-yes">12x</span>
768
+ <span class="cline-any cline-yes">12x</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-yes">12x</span>
771
+ <span class="cline-any cline-yes">12x</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-yes">12x</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-yes">12x</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-yes">24x</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-yes">24x</span>
782
+ <span class="cline-any cline-yes">24x</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-yes">24x</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-yes">24x</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-no">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-yes">24x</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-yes">24x</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-yes">24x</span>
804
+ <span class="cline-any cline-yes">24x</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-yes">24x</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-yes">12x</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-yes">20x</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-yes">20x</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-yes">20x</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-no">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-no">&nbsp;</span>
837
+ <span class="cline-any cline-no">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-no">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-no">&nbsp;</span>
845
+ <span class="cline-any cline-no">&nbsp;</span>
846
+ <span class="cline-any cline-no">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-no">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-yes">4x</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-yes">8x</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-yes">28x</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-yes">28x</span>
880
+ <span class="cline-any cline-yes">28x</span>
881
+ <span class="cline-any cline-yes">28x</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-yes">28x</span>
884
+ <span class="cline-any cline-yes">56x</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-yes">56x</span>
888
+ <span class="cline-any cline-no">&nbsp;</span>
889
+ <span class="cline-any cline-no">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-yes">56x</span>
892
+ <span class="cline-any cline-yes">56x</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-yes">28x</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-yes">1x</span>
902
+ <span class="cline-any cline-yes">1x</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BufferReader, BufferWriter } from '@node-dlc/bufio';
939
+ &nbsp;
940
+ import { ContractInfoType, MessageType } from '../MessageType';
941
+ import {
942
+ ContractDescriptor,
943
+ ContractDescriptorV0JSON,
944
+ ContractDescriptorV1JSON,
945
+ } from './ContractDescriptor';
946
+ import { DlcMessage, IDlcMessage } from './DlcMessage';
947
+ import {
948
+ MultiOracleInfo,
949
+ MultiOracleInfoJSON,
950
+ OracleInfo,
951
+ SingleOracleInfo,
952
+ SingleOracleInfoJSON,
953
+ } from './OracleInfo';
954
+ &nbsp;
955
+ export abstract class ContractInfo extends DlcMessage {
956
+ public static deserialize(
957
+ buf: Buffer,
958
+ ): SingleContractInfo | DisjointContractInfo {
959
+ const reader = new BufferReader(buf);
960
+ const typeId = Number(reader.readBigSize());
961
+ &nbsp;
962
+ switch (typeId) {
963
+ case ContractInfoType.Single:
964
+ return SingleContractInfo.deserialize(buf);
965
+ case ContractInfoType.Disjoint:
966
+ return DisjointContractInfo.deserialize(buf);
967
+ <span class="branch-2 cbranch-no" title="branch not covered" > default:</span>
968
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
969
+ `Contract info type must be Single (0) or Disjoint (1), got ${typeId}`,
970
+ );
971
+ }
972
+ }
973
+ &nbsp;
974
+ /**
975
+ * Creates a ContractInfo from JSON data (e.g., from test vectors)
976
+ * @param json JSON object representing contract info
977
+ */
978
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
979
+ public static fromJSON(json: any): ContractInfo {
980
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!json) {
981
+ <span class="cstat-no" title="statement not covered" > throw new Error('contractInfo is required');</span>
982
+ }
983
+ &nbsp;
984
+ // Check if it's a single contract info or disjoint contract info
985
+ if (json.singleContractInfo || json.single_contract_info) {
986
+ return SingleContractInfo.fromJSON(
987
+ json.singleContractInfo || <span class="branch-1 cbranch-no" title="branch not covered" >json.single_contract_info,</span>
988
+ );
989
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (json.disjointContractInfo || <span class="branch-1 cbranch-no" title="branch not covered" >json.disjoint_contract_info)</span> {
990
+ return DisjointContractInfo.fromJSON(
991
+ json.disjointContractInfo || <span class="branch-1 cbranch-no" title="branch not covered" >json.disjoint_contract_info,</span>
992
+ );
993
+ } else {
994
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
995
+ 'contractInfo must have either singleContractInfo or disjointContractInfo',
996
+ );
997
+ }
998
+ }
999
+ &nbsp;
1000
+ public abstract contractInfoType: ContractInfoType;
1001
+ public abstract totalCollateral: bigint;
1002
+ public abstract validate(): void;
1003
+ public abstract toJSON(): ISingleContractInfoJSON | IDisjointContractInfoJSON;
1004
+ public abstract serialize(): Buffer;
1005
+ &nbsp;
1006
+ // Method to get total collateral (for compatibility)
1007
+ public getTotalCollateral(): bigint {
1008
+ return this.totalCollateral;
1009
+ }
1010
+ }
1011
+ &nbsp;
1012
+ /**
1013
+ * SingleContractInfo contains information about a contract's outcomes,
1014
+ * their corresponding payouts, and the oracles to be used.
1015
+ * This corresponds to the previous ContractInfoV0.
1016
+ */
1017
+ export class SingleContractInfo extends ContractInfo implements IDlcMessage {
1018
+ public static contractInfoType = ContractInfoType.Single;
1019
+ public static type = MessageType.SingleContractInfo;
1020
+ &nbsp;
1021
+ /**
1022
+ * Creates a SingleContractInfo from JSON data
1023
+ * @param json JSON object representing single contract info
1024
+ */
1025
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
1026
+ public static fromJSON(json: any): SingleContractInfo {
1027
+ const instance = new SingleContractInfo();
1028
+ &nbsp;
1029
+ instance.totalCollateral = BigInt(
1030
+ json.totalCollateral || <span class="branch-1 cbranch-no" title="branch not covered" >json.total_collateral </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >0,</span>
1031
+ );
1032
+ &nbsp;
1033
+ // Handle nested contractInfo structure (test vectors have double nesting)
1034
+ const contractInfoData = json.contractInfo || <span class="branch-1 cbranch-no" title="branch not covered" >json.contract_info </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >json;</span>
1035
+ &nbsp;
1036
+ // Parse contract descriptor using proper fromJSON method
1037
+ instance.contractDescriptor = ContractDescriptor.fromJSON(
1038
+ contractInfoData.contractDescriptor ||
1039
+ <span class="branch-1 cbranch-no" title="branch not covered" > contractInfoData.contract_descriptor,</span>
1040
+ );
1041
+ &nbsp;
1042
+ // Parse oracle info using proper fromJSON method
1043
+ instance.oracleInfo = OracleInfo.fromJSON(
1044
+ contractInfoData.oracleInfo || <span class="branch-1 cbranch-no" title="branch not covered" >contractInfoData.oracle_info,</span>
1045
+ );
1046
+ &nbsp;
1047
+ return instance;
1048
+ }
1049
+ &nbsp;
1050
+ /**
1051
+ * Deserializes a single_contract_info message
1052
+ * @param buf
1053
+ */
1054
+ public static deserialize(buf: Buffer): SingleContractInfo {
1055
+ const instance = new SingleContractInfo();
1056
+ const reader = new BufferReader(buf);
1057
+ &nbsp;
1058
+ reader.readBigSize(); // read type (0)
1059
+ instance.totalCollateral = reader.readUInt64BE();
1060
+ &nbsp;
1061
+ // Read contract descriptor as sibling type (starts with its own type prefix)
1062
+ instance.contractDescriptor = ContractDescriptor.deserialize(
1063
+ reader.buffer.subarray(reader.position),
1064
+ );
1065
+ // Skip past the contract descriptor we just read
1066
+ const descLength = instance.contractDescriptor.serialize().length;
1067
+ reader.position += descLength;
1068
+ &nbsp;
1069
+ // Read oracle info with rust-dlc format - discriminator + body
1070
+ const oracleType = Number(reader.readBigSize());
1071
+ if (oracleType === 0) {
1072
+ // Single oracle
1073
+ instance.oracleInfo = SingleOracleInfo.deserializeBody(
1074
+ reader.buffer.subarray(reader.position),
1075
+ );
1076
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (oracleType === 1) {
1077
+ // Multi oracle
1078
+ instance.oracleInfo = MultiOracleInfo.deserializeBody(
1079
+ reader.buffer.subarray(reader.position),
1080
+ );
1081
+ } else {
1082
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Unknown oracle info type: ${oracleType}`);</span>
1083
+ }
1084
+ &nbsp;
1085
+ return instance;
1086
+ }
1087
+ &nbsp;
1088
+ /**
1089
+ * The type for single_contract_info message - using MessageType for IDlcMessage compatibility
1090
+ */
1091
+ public type = MessageType.SingleContractInfo;
1092
+ &nbsp;
1093
+ /**
1094
+ * The contract info type for new format
1095
+ */
1096
+ public contractInfoType = ContractInfoType.Single;
1097
+ &nbsp;
1098
+ public totalCollateral: bigint;
1099
+ &nbsp;
1100
+ public contractDescriptor: ContractDescriptor;
1101
+ &nbsp;
1102
+ public oracleInfo: OracleInfo;
1103
+ &nbsp;
1104
+ // Compatibility property
1105
+ <span class="fstat-no" title="function not covered" > public get l</span>ength(): bigint {
1106
+ <span class="cstat-no" title="statement not covered" > return BigInt(this.serialize().length);</span>
1107
+ }
1108
+ &nbsp;
1109
+ /**
1110
+ * Validates correctness of all fields in the message
1111
+ * @throws Will throw an error if validation fails
1112
+ */
1113
+ public validate(): void {
1114
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.totalCollateral &lt;= 0) {
1115
+ <span class="cstat-no" title="statement not covered" > throw new Error('totalCollateral must be greater than 0');</span>
1116
+ }
1117
+ &nbsp;
1118
+ this.oracleInfo.validate();
1119
+ &nbsp;
1120
+ // TODO: Add contract descriptor validation once available
1121
+ // this.contractDescriptor.validate();
1122
+ }
1123
+ &nbsp;
1124
+ /**
1125
+ * Converts single_contract_info to JSON
1126
+ */
1127
+ public toJSON(): ISingleContractInfoJSON {
1128
+ // Return enum variant format for Rust compatibility
1129
+ return {
1130
+ singleContractInfo: {
1131
+ totalCollateral: Number(this.totalCollateral),
1132
+ contractInfo: {
1133
+ contractDescriptor: this.contractDescriptor.toJSON(),
1134
+ oracleInfo: this.oracleInfo.toJSON(),
1135
+ },
1136
+ },
1137
+ };
1138
+ }
1139
+ &nbsp;
1140
+ /**
1141
+ * Serializes the single_contract_info message into a Buffer
1142
+ */
1143
+ public serialize(): Buffer {
1144
+ const writer = new BufferWriter();
1145
+ &nbsp;
1146
+ writer.writeBigSize(this.contractInfoType);
1147
+ writer.writeUInt64BE(this.totalCollateral);
1148
+ writer.writeBytes(this.contractDescriptor.serialize());
1149
+ &nbsp;
1150
+ // Use serializeBody() to match rust-dlc behavior - don't add extra TLV wrapper
1151
+ if (this.oracleInfo instanceof SingleOracleInfo) {
1152
+ writer.writeBigSize(0); // Single oracle discriminator
1153
+ writer.writeBytes(this.oracleInfo.serializeBody());
1154
+ } else {
1155
+ writer.writeBigSize(1); // Multi oracle discriminator
1156
+ writer.writeBytes(this.oracleInfo.serializeBody());
1157
+ }
1158
+ &nbsp;
1159
+ return writer.toBuffer();
1160
+ }
1161
+ }
1162
+ &nbsp;
1163
+ /**
1164
+ * DisjointContractInfo contains information about multiple disjoint contract events.
1165
+ * This corresponds to the previous ContractInfoV1.
1166
+ */
1167
+ export class DisjointContractInfo extends ContractInfo implements IDlcMessage {
1168
+ public static contractInfoType = ContractInfoType.Disjoint;
1169
+ public static type = MessageType.DisjointContractInfo;
1170
+ &nbsp;
1171
+ /**
1172
+ * Creates a DisjointContractInfo from JSON data
1173
+ * @param json JSON object representing disjoint contract info
1174
+ */
1175
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
1176
+ public static fromJSON(json: any): DisjointContractInfo {
1177
+ const instance = new DisjointContractInfo();
1178
+ &nbsp;
1179
+ instance.totalCollateral = BigInt(
1180
+ json.totalCollateral || <span class="branch-1 cbranch-no" title="branch not covered" >json.total_collateral </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >0,</span>
1181
+ );
1182
+ &nbsp;
1183
+ // Parse contract infos array
1184
+ const contractInfosData = json.contractInfos || <span class="branch-1 cbranch-no" title="branch not covered" >json.contract_infos </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >[];</span>
1185
+ instance.contractOraclePairs = contractInfosData.map(
1186
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1187
+ (contractInfoData: any) =&gt; ({
1188
+ contractDescriptor: ContractDescriptor.fromJSON(
1189
+ contractInfoData.contractDescriptor ||
1190
+ <span class="branch-1 cbranch-no" title="branch not covered" > contractInfoData.contract_descriptor,</span>
1191
+ ),
1192
+ oracleInfo: OracleInfo.fromJSON(
1193
+ contractInfoData.oracleInfo || <span class="branch-1 cbranch-no" title="branch not covered" >contractInfoData.oracle_info,</span>
1194
+ ),
1195
+ }),
1196
+ );
1197
+ &nbsp;
1198
+ return instance;
1199
+ }
1200
+ &nbsp;
1201
+ /**
1202
+ * Deserializes a disjoint_contract_info message
1203
+ * @param buf
1204
+ */
1205
+ public static deserialize(buf: Buffer): DisjointContractInfo {
1206
+ const instance = new DisjointContractInfo();
1207
+ const reader = new BufferReader(buf);
1208
+ &nbsp;
1209
+ reader.readBigSize(); // read type (1)
1210
+ instance.totalCollateral = reader.readUInt64BE();
1211
+ &nbsp;
1212
+ const numDisjointEvents = Number(reader.readBigSize());
1213
+ &nbsp;
1214
+ for (let i = 0; i &lt; numDisjointEvents; i++) {
1215
+ // Read contract descriptor as sibling type (starts with its own type prefix)
1216
+ const contractDescriptor = ContractDescriptor.deserialize(
1217
+ reader.buffer.subarray(reader.position),
1218
+ );
1219
+ // Skip past the contract descriptor we just read
1220
+ const descLength = contractDescriptor.serialize().length;
1221
+ reader.position += descLength;
1222
+ &nbsp;
1223
+ // Read oracle info with rust-dlc format - discriminator + body (same as SingleContractInfo)
1224
+ const oracleType = Number(reader.readBigSize());
1225
+ let oracleInfo: OracleInfo;
1226
+ &nbsp;
1227
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (oracleType === 0) {
1228
+ // Single oracle
1229
+ <span class="cstat-no" title="statement not covered" > oracleInfo = SingleOracleInfo.deserializeBody(</span>
1230
+ reader.buffer.subarray(reader.position),
1231
+ );
1232
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (oracleType === 1) {
1233
+ // Multi oracle
1234
+ oracleInfo = MultiOracleInfo.deserializeBody(
1235
+ reader.buffer.subarray(reader.position),
1236
+ );
1237
+ } else {
1238
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Unknown oracle info type: ${oracleType}`);</span>
1239
+ }
1240
+ &nbsp;
1241
+ // Skip past the oracle info we just read
1242
+ const oracleInfoLength = oracleInfo.serializeBody().length;
1243
+ reader.position += oracleInfoLength;
1244
+ &nbsp;
1245
+ instance.contractOraclePairs.push({ contractDescriptor, oracleInfo });
1246
+ }
1247
+ &nbsp;
1248
+ return instance;
1249
+ }
1250
+ &nbsp;
1251
+ /**
1252
+ * The type for disjoint_contract_info message - using MessageType for IDlcMessage compatibility
1253
+ */
1254
+ public type = MessageType.DisjointContractInfo;
1255
+ &nbsp;
1256
+ /**
1257
+ * The contract info type for new format
1258
+ */
1259
+ public contractInfoType = ContractInfoType.Disjoint;
1260
+ &nbsp;
1261
+ public totalCollateral: bigint;
1262
+ &nbsp;
1263
+ public contractOraclePairs: IContractOraclePair[] = [];
1264
+ &nbsp;
1265
+ // Compatibility property
1266
+ <span class="fstat-no" title="function not covered" > public get l</span>ength(): bigint {
1267
+ <span class="cstat-no" title="statement not covered" > return BigInt(this.serialize().length);</span>
1268
+ }
1269
+ &nbsp;
1270
+ /**
1271
+ * Validates correctness of all fields in the message
1272
+ * @throws Will throw an error if validation fails
1273
+ */
1274
+ public <span class="fstat-no" title="function not covered" >validate(</span>): void {
1275
+ <span class="cstat-no" title="statement not covered" > if (this.totalCollateral &lt;= 0) {</span>
1276
+ <span class="cstat-no" title="statement not covered" > throw new Error('totalCollateral must be greater than 0');</span>
1277
+ }
1278
+ &nbsp;
1279
+ <span class="cstat-no" title="statement not covered" > if (this.contractOraclePairs.length === 0) {</span>
1280
+ <span class="cstat-no" title="statement not covered" > throw new Error('contractOraclePairs cannot be empty');</span>
1281
+ }
1282
+ &nbsp;
1283
+ <span class="cstat-no" title="statement not covered" > this.contractOraclePairs.forEach(<span class="fstat-no" title="function not covered" >(p</span>air, index) =&gt; {</span>
1284
+ <span class="cstat-no" title="statement not covered" > try {</span>
1285
+ <span class="cstat-no" title="statement not covered" > pair.oracleInfo.validate();</span>
1286
+ // TODO: Add contract descriptor validation once available
1287
+ // pair.contractDescriptor.validate();
1288
+ } catch (error) {
1289
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
1290
+ `Validation failed for contract oracle pair ${index}: ${error.message}`,
1291
+ );
1292
+ }
1293
+ });
1294
+ }
1295
+ &nbsp;
1296
+ /**
1297
+ * Converts disjoint_contract_info to JSON
1298
+ */
1299
+ public toJSON(): IDisjointContractInfoJSON {
1300
+ // Return enum variant format for Rust compatibility
1301
+ return {
1302
+ disjointContractInfo: {
1303
+ totalCollateral: Number(this.totalCollateral),
1304
+ contractInfos: this.contractOraclePairs.map((pair) =&gt; ({
1305
+ contractDescriptor: pair.contractDescriptor.toJSON(),
1306
+ oracleInfo: pair.oracleInfo.toJSON(),
1307
+ })),
1308
+ },
1309
+ };
1310
+ }
1311
+ &nbsp;
1312
+ /**
1313
+ * Serializes the disjoint_contract_info message into a Buffer
1314
+ */
1315
+ public serialize(): Buffer {
1316
+ const writer = new BufferWriter();
1317
+ &nbsp;
1318
+ writer.writeBigSize(this.contractInfoType);
1319
+ writer.writeUInt64BE(this.totalCollateral);
1320
+ writer.writeBigSize(this.contractOraclePairs.length);
1321
+ &nbsp;
1322
+ for (const pair of this.contractOraclePairs) {
1323
+ writer.writeBytes(pair.contractDescriptor.serialize());
1324
+ &nbsp;
1325
+ // Write oracle info with discriminator like SingleContractInfo does
1326
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (pair.oracleInfo instanceof SingleOracleInfo) {
1327
+ <span class="cstat-no" title="statement not covered" > writer.writeBigSize(0); </span>// Single oracle discriminator
1328
+ <span class="cstat-no" title="statement not covered" > writer.writeBytes(pair.oracleInfo.serializeBody());</span>
1329
+ } else {
1330
+ writer.writeBigSize(1); // Multi oracle discriminator
1331
+ writer.writeBytes(pair.oracleInfo.serializeBody());
1332
+ }
1333
+ }
1334
+ &nbsp;
1335
+ return writer.toBuffer();
1336
+ }
1337
+ }
1338
+ &nbsp;
1339
+ // Legacy support - keeping old class names as aliases (both value and type exports)
1340
+ export const ContractInfoV0 = SingleContractInfo;
1341
+ export const ContractInfoV1 = DisjointContractInfo;
1342
+ export type ContractInfoV0 = SingleContractInfo;
1343
+ export type ContractInfoV1 = DisjointContractInfo;
1344
+ &nbsp;
1345
+ interface IContractOraclePair {
1346
+ contractDescriptor: ContractDescriptor;
1347
+ oracleInfo: OracleInfo;
1348
+ }
1349
+ &nbsp;
1350
+ interface IContractOraclePairJSON {
1351
+ contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
1352
+ oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
1353
+ }
1354
+ &nbsp;
1355
+ // Rust-dlc enum variant format for SingleContractInfo
1356
+ export interface ISingleContractInfoJSON {
1357
+ singleContractInfo: {
1358
+ totalCollateral: number;
1359
+ contractInfo: {
1360
+ contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;
1361
+ oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;
1362
+ };
1363
+ };
1364
+ }
1365
+ &nbsp;
1366
+ // Rust-dlc enum variant format for DisjointContractInfo
1367
+ export interface IDisjointContractInfoJSON {
1368
+ disjointContractInfo: {
1369
+ totalCollateral: number;
1370
+ contractInfos: IContractOraclePairJSON[];
1371
+ };
1372
+ }
1373
+ &nbsp;
1374
+ // Legacy type aliases for backward compatibility (same as the new interfaces)
1375
+ export type IContractInfoV0JSON = ISingleContractInfoJSON;
1376
+ export type IContractInfoV1JSON = IDisjointContractInfoJSON;
1377
+ &nbsp;</pre></td></tr></table></pre>
1378
+
1379
+ <div class='push'></div><!-- for sticky footer -->
1380
+ </div><!-- /wrapper -->
1381
+ <div class='footer quiet pad2 space-top1 center small'>
1382
+ Code coverage generated by
1383
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1384
+ at Sat Jul 19 2025 20:06:33 GMT-0700 (Pacific Daylight Saving Time)
1385
+ </div>
1386
+ </div>
1387
+ <script src="../../prettify.js"></script>
1388
+ <script>
1389
+ window.onload = function () {
1390
+ prettyPrint();
1391
+ };
1392
+ </script>
1393
+ <script src="../../sorter.js"></script>
1394
+ <script src="../../block-navigation.js"></script>
1395
+ </body>
1396
+ </html>
1397
+