@atomicfinance/bitcoin-dlc-provider 4.2.8 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. package/.turbo/turbo-build.log +5 -4
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  6. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  9. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  10. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  129. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  130. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  158. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  159. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  160. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  161. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  162. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  163. package/.yalc/@node-dlc/bufio/.eslintrc +6 -0
  164. package/.yalc/@node-dlc/bufio/.nyc_output/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +1 -0
  165. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +1 -0
  166. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/index.json +1 -0
  167. package/.yalc/@node-dlc/bufio/README.md +68 -0
  168. package/.yalc/@node-dlc/bufio/__tests__/BufferReader.spec.ts +548 -0
  169. package/.yalc/@node-dlc/bufio/__tests__/BufferWriter.spec.ts +530 -0
  170. package/.yalc/@node-dlc/bufio/__tests__/Hex.spec.ts +51 -0
  171. package/.yalc/@node-dlc/bufio/__tests__/StreamReader.spec.ts +133 -0
  172. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufBE.spec.ts +14 -0
  173. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufLE.spec.ts +14 -0
  174. package/.yalc/@node-dlc/bufio/__tests__/bigToBufBE.spec.ts +15 -0
  175. package/.yalc/@node-dlc/bufio/__tests__/bigToBufLE.spec.ts +14 -0
  176. package/.yalc/@node-dlc/bufio/__tests__/encodeVarInt.spec.ts +25 -0
  177. package/.yalc/@node-dlc/bufio/__tests__/tsconfig.json +7 -0
  178. package/.yalc/@node-dlc/bufio/__tests__/varIntBytes.spec.ts +34 -0
  179. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferReader.ts.html +1142 -0
  180. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferWriter.ts.html +953 -0
  181. package/.yalc/@node-dlc/bufio/coverage/lcov-report/Hex.ts.html +323 -0
  182. package/.yalc/@node-dlc/bufio/coverage/lcov-report/StreamReader.ts.html +620 -0
  183. package/.yalc/@node-dlc/bufio/coverage/lcov-report/base.css +224 -0
  184. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufBE.ts.html +89 -0
  185. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufLE.ts.html +95 -0
  186. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufBE.ts.html +98 -0
  187. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufLE.ts.html +95 -0
  188. package/.yalc/@node-dlc/bufio/coverage/lcov-report/block-navigation.js +79 -0
  189. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bufToStream.ts.html +113 -0
  190. package/.yalc/@node-dlc/bufio/coverage/lcov-report/encodeVarInt.ts.html +203 -0
  191. package/.yalc/@node-dlc/bufio/coverage/lcov-report/favicon.png +0 -0
  192. package/.yalc/@node-dlc/bufio/coverage/lcov-report/index.html +261 -0
  193. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.css +1 -0
  194. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.js +2 -0
  195. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  196. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sorter.js +170 -0
  197. package/.yalc/@node-dlc/bufio/coverage/lcov-report/varIntBytes.ts.html +116 -0
  198. package/.yalc/@node-dlc/bufio/coverage/lcov.info +747 -0
  199. package/.yalc/@node-dlc/bufio/dist/BufferReader.d.ts +155 -0
  200. package/.yalc/@node-dlc/bufio/dist/BufferReader.js +346 -0
  201. package/.yalc/@node-dlc/bufio/dist/BufferReader.js.map +1 -0
  202. package/.yalc/@node-dlc/bufio/dist/BufferWriter.d.ts +143 -0
  203. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js +279 -0
  204. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js.map +1 -0
  205. package/.yalc/@node-dlc/bufio/dist/Hex.d.ts +13 -0
  206. package/.yalc/@node-dlc/bufio/dist/Hex.js +78 -0
  207. package/.yalc/@node-dlc/bufio/dist/Hex.js.map +1 -0
  208. package/.yalc/@node-dlc/bufio/dist/StreamReader.d.ts +111 -0
  209. package/.yalc/@node-dlc/bufio/dist/StreamReader.js +180 -0
  210. package/.yalc/@node-dlc/bufio/dist/StreamReader.js.map +1 -0
  211. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.d.ts +2 -0
  212. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js +8 -0
  213. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js.map +1 -0
  214. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.d.ts +2 -0
  215. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js +9 -0
  216. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js.map +1 -0
  217. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.d.ts +2 -0
  218. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js +13 -0
  219. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js.map +1 -0
  220. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.d.ts +2 -0
  221. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js +9 -0
  222. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js.map +1 -0
  223. package/.yalc/@node-dlc/bufio/dist/bufToStream.d.ts +7 -0
  224. package/.yalc/@node-dlc/bufio/dist/bufToStream.js +15 -0
  225. package/.yalc/@node-dlc/bufio/dist/bufToStream.js.map +1 -0
  226. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.d.ts +12 -0
  227. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js +46 -0
  228. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js.map +1 -0
  229. package/.yalc/@node-dlc/bufio/dist/index.d.ts +11 -0
  230. package/.yalc/@node-dlc/bufio/dist/index.js +28 -0
  231. package/.yalc/@node-dlc/bufio/dist/index.js.map +1 -0
  232. package/.yalc/@node-dlc/bufio/dist/varIntBytes.d.ts +5 -0
  233. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js +22 -0
  234. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js.map +1 -0
  235. package/.yalc/@node-dlc/bufio/lib/BufferReader.ts +354 -0
  236. package/.yalc/@node-dlc/bufio/lib/BufferWriter.ts +291 -0
  237. package/.yalc/@node-dlc/bufio/lib/Hex.ts +81 -0
  238. package/.yalc/@node-dlc/bufio/lib/StreamReader.ts +180 -0
  239. package/.yalc/@node-dlc/bufio/lib/bigFromBufBE.ts +3 -0
  240. package/.yalc/@node-dlc/bufio/lib/bigFromBufLE.ts +5 -0
  241. package/.yalc/@node-dlc/bufio/lib/bigToBufBE.ts +6 -0
  242. package/.yalc/@node-dlc/bufio/lib/bigToBufLE.ts +5 -0
  243. package/.yalc/@node-dlc/bufio/lib/bufToStream.ts +11 -0
  244. package/.yalc/@node-dlc/bufio/lib/encodeVarInt.ts +41 -0
  245. package/.yalc/@node-dlc/bufio/lib/index.ts +11 -0
  246. package/.yalc/@node-dlc/bufio/lib/varIntBytes.ts +12 -0
  247. package/.yalc/@node-dlc/bufio/package.json +27 -0
  248. package/.yalc/@node-dlc/bufio/tsconfig-build.json +7 -0
  249. package/.yalc/@node-dlc/bufio/tsconfig.json +7 -0
  250. package/.yalc/@node-dlc/bufio/yalc.sig +1 -0
  251. package/.yalc/@node-dlc/core/.nyc_output/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  252. package/.yalc/@node-dlc/core/.nyc_output/processinfo/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  253. package/.yalc/@node-dlc/core/.nyc_output/processinfo/index.json +1 -0
  254. package/.yalc/@node-dlc/core/README.md +11 -0
  255. package/.yalc/@node-dlc/core/__tests__/core.spec.ts +7 -0
  256. package/.yalc/@node-dlc/core/__tests__/dlc/CETCalculator.spec.ts +1029 -0
  257. package/.yalc/@node-dlc/core/__tests__/dlc/CoinSelect.spec.ts +179 -0
  258. package/.yalc/@node-dlc/core/__tests__/dlc/PolynomialPayoutCurve.spec.ts +345 -0
  259. package/.yalc/@node-dlc/core/__tests__/dlc/TxBuilder.spec.ts +424 -0
  260. package/.yalc/@node-dlc/core/__tests__/dlc/finance/Builder.spec.ts +492 -0
  261. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CoveredCall.spec.ts +112 -0
  262. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CsoInfo.spec.ts +1124 -0
  263. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongCall.spec.ts +55 -0
  264. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongPut.spec.ts +55 -0
  265. package/.yalc/@node-dlc/core/__tests__/dlc/finance/OptionInfo.spec.ts +226 -0
  266. package/.yalc/@node-dlc/core/__tests__/dlc/finance/ShortPut.spec.ts +62 -0
  267. package/.yalc/@node-dlc/core/__tests__/tsconfig.json +8 -0
  268. package/.yalc/@node-dlc/core/__tests__/utils/precision.spec.ts +40 -0
  269. package/.yalc/@node-dlc/core/coverage/lcov-report/base.css +224 -0
  270. package/.yalc/@node-dlc/core/coverage/lcov-report/block-navigation.js +79 -0
  271. package/.yalc/@node-dlc/core/coverage/lcov-report/favicon.png +0 -0
  272. package/.yalc/@node-dlc/core/coverage/lcov-report/index.html +171 -0
  273. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/AsyncProcessingQueue.ts.html +269 -0
  274. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Base32.ts.html +86 -0
  275. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BigIntUtils.ts.html +86 -0
  276. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BitField.ts.html +86 -0
  277. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ChannelId.ts.html +86 -0
  278. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedList.ts.html +413 -0
  279. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedListNode.ts.html +122 -0
  280. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Queue.ts.html +188 -0
  281. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelId.ts.html +86 -0
  282. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelIdUtils.ts.html +107 -0
  283. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CETCalculator.ts.html +1430 -0
  284. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CoinSelect.ts.html +431 -0
  285. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/HyperbolaPayoutCurve.ts.html +644 -0
  286. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/PolynomialPayoutCurve.ts.html +878 -0
  287. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxBuilder.ts.html +1088 -0
  288. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxFinalizer.ts.html +731 -0
  289. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/Builder.ts.html +2270 -0
  290. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CoveredCall.ts.html +410 -0
  291. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CsoInfo.ts.html +1574 -0
  292. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LinearPayout.ts.html +362 -0
  293. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongCall.ts.html +302 -0
  294. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongPut.ts.html +302 -0
  295. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/OptionInfo.ts.html +626 -0
  296. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/ShortPut.ts.html +305 -0
  297. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/index.html +216 -0
  298. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/index.html +186 -0
  299. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.html +261 -0
  300. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.ts.html +278 -0
  301. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelId.ts.html +242 -0
  302. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelKeys.ts.html +407 -0
  303. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentNumber.ts.html +362 -0
  304. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecret.ts.html +203 -0
  305. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html +332 -0
  306. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/Htlc.ts.html +236 -0
  307. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/HtlcDirection.ts.html +131 -0
  308. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ScriptFactory.ts.html +530 -0
  309. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/TxFactory.ts.html +1094 -0
  310. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/index.html +231 -0
  311. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/BigIntUtils.ts.html +272 -0
  312. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/Precision.ts.html +149 -0
  313. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/index.html +126 -0
  314. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.css +1 -0
  315. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.js +2 -0
  316. package/.yalc/@node-dlc/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  317. package/.yalc/@node-dlc/core/coverage/lcov-report/sorter.js +170 -0
  318. package/.yalc/@node-dlc/core/coverage/lcov.info +2426 -0
  319. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.d.ts +22 -0
  320. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js +55 -0
  321. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js.map +1 -0
  322. package/.yalc/@node-dlc/core/dist/Base32.d.ts +1 -0
  323. package/.yalc/@node-dlc/core/dist/Base32.js +7 -0
  324. package/.yalc/@node-dlc/core/dist/Base32.js.map +1 -0
  325. package/.yalc/@node-dlc/core/dist/BigIntUtils.d.ts +1 -0
  326. package/.yalc/@node-dlc/core/dist/BigIntUtils.js +8 -0
  327. package/.yalc/@node-dlc/core/dist/BigIntUtils.js.map +1 -0
  328. package/.yalc/@node-dlc/core/dist/BitField.d.ts +1 -0
  329. package/.yalc/@node-dlc/core/dist/BitField.js +7 -0
  330. package/.yalc/@node-dlc/core/dist/BitField.js.map +1 -0
  331. package/.yalc/@node-dlc/core/dist/ChannelId.d.ts +1 -0
  332. package/.yalc/@node-dlc/core/dist/ChannelId.js +7 -0
  333. package/.yalc/@node-dlc/core/dist/ChannelId.js.map +1 -0
  334. package/.yalc/@node-dlc/core/dist/LinkedList.d.ts +30 -0
  335. package/.yalc/@node-dlc/core/dist/LinkedList.js +104 -0
  336. package/.yalc/@node-dlc/core/dist/LinkedList.js.map +1 -0
  337. package/.yalc/@node-dlc/core/dist/LinkedListNode.d.ts +9 -0
  338. package/.yalc/@node-dlc/core/dist/LinkedListNode.js +15 -0
  339. package/.yalc/@node-dlc/core/dist/LinkedListNode.js.map +1 -0
  340. package/.yalc/@node-dlc/core/dist/Queue.d.ts +22 -0
  341. package/.yalc/@node-dlc/core/dist/Queue.js +38 -0
  342. package/.yalc/@node-dlc/core/dist/Queue.js.map +1 -0
  343. package/.yalc/@node-dlc/core/dist/ShortChannelId.d.ts +1 -0
  344. package/.yalc/@node-dlc/core/dist/ShortChannelId.js +7 -0
  345. package/.yalc/@node-dlc/core/dist/ShortChannelId.js.map +1 -0
  346. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.d.ts +1 -0
  347. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js +12 -0
  348. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js.map +1 -0
  349. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.d.ts +50 -0
  350. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js +332 -0
  351. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js.map +1 -0
  352. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.d.ts +23 -0
  353. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js +77 -0
  354. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js.map +1 -0
  355. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.d.ts +20 -0
  356. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js +117 -0
  357. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js.map +1 -0
  358. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.d.ts +5 -0
  359. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js +3 -0
  360. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js.map +1 -0
  361. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.d.ts +52 -0
  362. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js +173 -0
  363. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js.map +1 -0
  364. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.d.ts +55 -0
  365. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js +217 -0
  366. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js.map +1 -0
  367. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.d.ts +40 -0
  368. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js +146 -0
  369. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js.map +1 -0
  370. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.d.ts +193 -0
  371. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js +422 -0
  372. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js.map +1 -0
  373. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.d.ts +13 -0
  374. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js +67 -0
  375. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js.map +1 -0
  376. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.d.ts +114 -0
  377. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js +290 -0
  378. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js.map +1 -0
  379. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.d.ts +6 -0
  380. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js +79 -0
  381. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js.map +1 -0
  382. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.d.ts +13 -0
  383. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js +47 -0
  384. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js.map +1 -0
  385. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.d.ts +13 -0
  386. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js +47 -0
  387. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js.map +1 -0
  388. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.d.ts +20 -0
  389. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js +101 -0
  390. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js.map +1 -0
  391. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.d.ts +12 -0
  392. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js +46 -0
  393. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js.map +1 -0
  394. package/.yalc/@node-dlc/core/dist/index.d.ts +39 -0
  395. package/.yalc/@node-dlc/core/dist/index.js +78 -0
  396. package/.yalc/@node-dlc/core/dist/index.js.map +1 -0
  397. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.d.ts +31 -0
  398. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js +52 -0
  399. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js.map +1 -0
  400. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.d.ts +55 -0
  401. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js +105 -0
  402. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js.map +1 -0
  403. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.d.ts +55 -0
  404. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js +76 -0
  405. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js.map +1 -0
  406. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.d.ts +26 -0
  407. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js +44 -0
  408. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js.map +1 -0
  409. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.d.ts +41 -0
  410. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js +79 -0
  411. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js.map +1 -0
  412. package/.yalc/@node-dlc/core/dist/lightning/Htlc.d.ts +46 -0
  413. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js +46 -0
  414. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js.map +1 -0
  415. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.d.ts +16 -0
  416. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js +21 -0
  417. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js.map +1 -0
  418. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.d.ts +76 -0
  419. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js +102 -0
  420. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js.map +1 -0
  421. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.d.ts +83 -0
  422. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js +222 -0
  423. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js.map +1 -0
  424. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.d.ts +9 -0
  425. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js +59 -0
  426. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js.map +1 -0
  427. package/.yalc/@node-dlc/core/dist/utils/Precision.d.ts +13 -0
  428. package/.yalc/@node-dlc/core/dist/utils/Precision.js +28 -0
  429. package/.yalc/@node-dlc/core/dist/utils/Precision.js.map +1 -0
  430. package/.yalc/@node-dlc/core/lib/AsyncProcessingQueue.ts +63 -0
  431. package/.yalc/@node-dlc/core/lib/Base32.ts +2 -0
  432. package/.yalc/@node-dlc/core/lib/BigIntUtils.ts +2 -0
  433. package/.yalc/@node-dlc/core/lib/BitField.ts +2 -0
  434. package/.yalc/@node-dlc/core/lib/ChannelId.ts +2 -0
  435. package/.yalc/@node-dlc/core/lib/LinkedList.ts +111 -0
  436. package/.yalc/@node-dlc/core/lib/LinkedListNode.ts +14 -0
  437. package/.yalc/@node-dlc/core/lib/Queue.ts +36 -0
  438. package/.yalc/@node-dlc/core/lib/ShortChannelId.ts +2 -0
  439. package/.yalc/@node-dlc/core/lib/ShortChannelIdUtils.ts +9 -0
  440. package/.yalc/@node-dlc/core/lib/dlc/CETCalculator.ts +450 -0
  441. package/.yalc/@node-dlc/core/lib/dlc/CoinSelect.ts +117 -0
  442. package/.yalc/@node-dlc/core/lib/dlc/HyperbolaPayoutCurve.ts +188 -0
  443. package/.yalc/@node-dlc/core/lib/dlc/PayoutCurve.ts +6 -0
  444. package/.yalc/@node-dlc/core/lib/dlc/PolynomialPayoutCurve.ts +266 -0
  445. package/.yalc/@node-dlc/core/lib/dlc/TxBuilder.ts +336 -0
  446. package/.yalc/@node-dlc/core/lib/dlc/TxFinalizer.ts +217 -0
  447. package/.yalc/@node-dlc/core/lib/dlc/finance/Builder.ts +730 -0
  448. package/.yalc/@node-dlc/core/lib/dlc/finance/CoveredCall.ts +110 -0
  449. package/.yalc/@node-dlc/core/lib/dlc/finance/CsoInfo.ts +498 -0
  450. package/.yalc/@node-dlc/core/lib/dlc/finance/LinearPayout.ts +94 -0
  451. package/.yalc/@node-dlc/core/lib/dlc/finance/LongCall.ts +74 -0
  452. package/.yalc/@node-dlc/core/lib/dlc/finance/LongPut.ts +74 -0
  453. package/.yalc/@node-dlc/core/lib/dlc/finance/OptionInfo.ts +182 -0
  454. package/.yalc/@node-dlc/core/lib/dlc/finance/ShortPut.ts +75 -0
  455. package/.yalc/@node-dlc/core/lib/index.ts +66 -0
  456. package/.yalc/@node-dlc/core/lib/lightning/ChannelId.ts +54 -0
  457. package/.yalc/@node-dlc/core/lib/lightning/ChannelKeys.ts +109 -0
  458. package/.yalc/@node-dlc/core/lib/lightning/CommitmentNumber.ts +94 -0
  459. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecret.ts +41 -0
  460. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecretStore.ts +84 -0
  461. package/.yalc/@node-dlc/core/lib/lightning/Htlc.ts +52 -0
  462. package/.yalc/@node-dlc/core/lib/lightning/HtlcDirection.ts +17 -0
  463. package/.yalc/@node-dlc/core/lib/lightning/ScriptFactory.ts +150 -0
  464. package/.yalc/@node-dlc/core/lib/lightning/TxFactory.ts +338 -0
  465. package/.yalc/@node-dlc/core/lib/utils/BigIntUtils.ts +64 -0
  466. package/.yalc/@node-dlc/core/lib/utils/Precision.ts +23 -0
  467. package/.yalc/@node-dlc/core/package.json +38 -0
  468. package/.yalc/@node-dlc/core/tsconfig.json +8 -0
  469. package/.yalc/@node-dlc/core/yalc.sig +1 -0
  470. package/.yalc/@node-dlc/crypto/.eslintrc +6 -0
  471. package/.yalc/@node-dlc/crypto/.nyc_output/de03e0b4-d482-4f61-b680-59411360f56e.json +1 -0
  472. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/de03e0b4-d482-4f61-b680-59411360f56e.json +1 -0
  473. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/index.json +1 -0
  474. package/.yalc/@node-dlc/crypto/README.md +13 -0
  475. package/.yalc/@node-dlc/crypto/__tests__/chacha.spec.ts +29 -0
  476. package/.yalc/@node-dlc/crypto/__tests__/chachapoly.spec.ts +78 -0
  477. package/.yalc/@node-dlc/crypto/__tests__/hkdf.spec.ts +131 -0
  478. package/.yalc/@node-dlc/crypto/__tests__/key.spec.ts +125 -0
  479. package/.yalc/@node-dlc/crypto/__tests__/secp256k1.spec.ts +194 -0
  480. package/.yalc/@node-dlc/crypto/__tests__/xor.spec.ts +28 -0
  481. package/.yalc/@node-dlc/crypto/coverage/lcov-report/base.css +224 -0
  482. package/.yalc/@node-dlc/crypto/coverage/lcov-report/block-navigation.js +79 -0
  483. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chacha.ts.html +119 -0
  484. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chachapoly.ts.html +275 -0
  485. package/.yalc/@node-dlc/crypto/coverage/lcov-report/favicon.png +0 -0
  486. package/.yalc/@node-dlc/crypto/coverage/lcov-report/hkdf.ts.html +236 -0
  487. package/.yalc/@node-dlc/crypto/coverage/lcov-report/index.html +186 -0
  488. package/.yalc/@node-dlc/crypto/coverage/lcov-report/key.ts.html +272 -0
  489. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.css +1 -0
  490. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.js +2 -0
  491. package/.yalc/@node-dlc/crypto/coverage/lcov-report/secp256k1.ts.html +680 -0
  492. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  493. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sorter.js +170 -0
  494. package/.yalc/@node-dlc/crypto/coverage/lcov-report/xor.ts.html +116 -0
  495. package/.yalc/@node-dlc/crypto/coverage/lcov.info +221 -0
  496. package/.yalc/@node-dlc/crypto/dist/aes-key.d.ts +6 -0
  497. package/.yalc/@node-dlc/crypto/dist/aes-key.js +3 -0
  498. package/.yalc/@node-dlc/crypto/dist/aes-key.js.map +1 -0
  499. package/.yalc/@node-dlc/crypto/dist/aes.d.ts +34 -0
  500. package/.yalc/@node-dlc/crypto/dist/aes.js +62 -0
  501. package/.yalc/@node-dlc/crypto/dist/aes.js.map +1 -0
  502. package/.yalc/@node-dlc/crypto/dist/chacha.d.ts +4 -0
  503. package/.yalc/@node-dlc/crypto/dist/chacha.js +40 -0
  504. package/.yalc/@node-dlc/crypto/dist/chacha.js.map +1 -0
  505. package/.yalc/@node-dlc/crypto/dist/chachapoly.d.ts +24 -0
  506. package/.yalc/@node-dlc/crypto/dist/chachapoly.js +61 -0
  507. package/.yalc/@node-dlc/crypto/dist/chachapoly.js.map +1 -0
  508. package/.yalc/@node-dlc/crypto/dist/hash.d.ts +29 -0
  509. package/.yalc/@node-dlc/crypto/dist/hash.js +51 -0
  510. package/.yalc/@node-dlc/crypto/dist/hash.js.map +1 -0
  511. package/.yalc/@node-dlc/crypto/dist/hkdf.d.ts +20 -0
  512. package/.yalc/@node-dlc/crypto/dist/hkdf.js +50 -0
  513. package/.yalc/@node-dlc/crypto/dist/hkdf.js.map +1 -0
  514. package/.yalc/@node-dlc/crypto/dist/hmac.d.ts +3 -0
  515. package/.yalc/@node-dlc/crypto/dist/hmac.js +14 -0
  516. package/.yalc/@node-dlc/crypto/dist/hmac.js.map +1 -0
  517. package/.yalc/@node-dlc/crypto/dist/index.d.ts +11 -0
  518. package/.yalc/@node-dlc/crypto/dist/index.js +30 -0
  519. package/.yalc/@node-dlc/crypto/dist/index.js.map +1 -0
  520. package/.yalc/@node-dlc/crypto/dist/key.d.ts +37 -0
  521. package/.yalc/@node-dlc/crypto/dist/key.js +72 -0
  522. package/.yalc/@node-dlc/crypto/dist/key.js.map +1 -0
  523. package/.yalc/@node-dlc/crypto/dist/secp256k1.d.ts +120 -0
  524. package/.yalc/@node-dlc/crypto/dist/secp256k1.js +184 -0
  525. package/.yalc/@node-dlc/crypto/dist/secp256k1.js.map +1 -0
  526. package/.yalc/@node-dlc/crypto/dist/xor.d.ts +8 -0
  527. package/.yalc/@node-dlc/crypto/dist/xor.js +17 -0
  528. package/.yalc/@node-dlc/crypto/dist/xor.js.map +1 -0
  529. package/.yalc/@node-dlc/crypto/lib/aes-key.ts +4 -0
  530. package/.yalc/@node-dlc/crypto/lib/aes.ts +81 -0
  531. package/.yalc/@node-dlc/crypto/lib/chacha.ts +13 -0
  532. package/.yalc/@node-dlc/crypto/lib/chachapoly.ts +65 -0
  533. package/.yalc/@node-dlc/crypto/lib/hash.ts +44 -0
  534. package/.yalc/@node-dlc/crypto/lib/hkdf.ts +52 -0
  535. package/.yalc/@node-dlc/crypto/lib/hmac.ts +7 -0
  536. package/.yalc/@node-dlc/crypto/lib/index.ts +11 -0
  537. package/.yalc/@node-dlc/crypto/lib/key.ts +64 -0
  538. package/.yalc/@node-dlc/crypto/lib/secp256k1.ts +200 -0
  539. package/.yalc/@node-dlc/crypto/lib/xor.ts +12 -0
  540. package/.yalc/@node-dlc/crypto/package.json +34 -0
  541. package/.yalc/@node-dlc/crypto/tsconfig-build.json +7 -0
  542. package/.yalc/@node-dlc/crypto/tsconfig.json +4 -0
  543. package/.yalc/@node-dlc/crypto/yalc.sig +1 -0
  544. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  545. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  546. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  547. package/.yalc/@node-dlc/messaging/README.md +24 -0
  548. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  549. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  550. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  551. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  552. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  553. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  554. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  555. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  556. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  557. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  558. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  559. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  560. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  561. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  562. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  563. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  564. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  565. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  566. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  567. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  568. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  569. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  570. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  571. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  572. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  573. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  574. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  575. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  576. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  577. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  578. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  579. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  580. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  581. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  582. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  583. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  584. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  585. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  586. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  587. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  588. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  589. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  590. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  591. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  592. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  593. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  594. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  595. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  596. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  597. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  598. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  599. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  600. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  601. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  602. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  603. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  604. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  605. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  606. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  607. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  608. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  609. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  610. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  611. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  612. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  613. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  614. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  615. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  616. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  617. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  618. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  619. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  620. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  621. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  622. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  623. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  624. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  625. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  626. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  627. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  628. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  629. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  630. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  631. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  632. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  633. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  634. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  635. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  636. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  637. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  638. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  639. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  640. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  641. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  642. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  643. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  644. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  645. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  646. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  647. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  648. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  649. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  650. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  651. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  652. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  653. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  654. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  655. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  656. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  657. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  658. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  659. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  660. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  661. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  662. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  663. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  664. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  665. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  666. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  667. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  668. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  669. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  670. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  671. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  672. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  673. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  674. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  675. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  676. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  677. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  678. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  679. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  680. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  681. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  682. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  683. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  684. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  685. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  686. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  687. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  688. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  689. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  690. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  691. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  692. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  693. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  694. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  695. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  696. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  697. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  698. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  699. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  700. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  701. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  702. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  703. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  704. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  705. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  706. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  707. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  708. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  709. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  710. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  711. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  712. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  713. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  714. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  715. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  716. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  717. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  718. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  719. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  720. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  721. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  722. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  723. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  724. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  725. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  726. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  727. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  728. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  729. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  730. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  731. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  732. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  733. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  734. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  735. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  736. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  737. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  738. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  739. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  740. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  741. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  742. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  743. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  744. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  745. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  746. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  747. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  748. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  749. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  750. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  751. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  752. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  753. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  754. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  755. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  756. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  757. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  758. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  759. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  760. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  761. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  762. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  763. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  764. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  765. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  766. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  767. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  768. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  769. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  770. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  771. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  772. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  773. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  774. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  775. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  776. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  777. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  778. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  779. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  780. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  781. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  782. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  783. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  784. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  785. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  786. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  787. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  788. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  789. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  790. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  791. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  792. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  793. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  794. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  795. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  796. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  797. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  798. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  799. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  800. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  801. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  802. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  803. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  804. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  805. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  806. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  807. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  808. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  809. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  810. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  811. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  812. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  813. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  814. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  815. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  816. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  817. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  818. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  819. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  820. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  821. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  822. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  823. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  824. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  825. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  826. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  827. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  828. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  829. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  830. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  831. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  832. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  833. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  834. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  835. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  836. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  837. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  838. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  839. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  840. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  841. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  842. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  843. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  844. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  845. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  846. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  847. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  848. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  849. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  850. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  851. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  852. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  853. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  854. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  855. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  856. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  857. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  858. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  859. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  860. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  861. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  862. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  863. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  864. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  865. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  866. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  867. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  868. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  869. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  870. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  871. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  872. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  873. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  874. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  875. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  876. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  877. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  878. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  879. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  880. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  881. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  882. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  883. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  884. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  885. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  886. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  887. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  888. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  889. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  890. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  891. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  892. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  893. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  894. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  895. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  896. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  897. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  898. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  899. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  900. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  901. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  902. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  903. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  904. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  905. package/.yalc/@node-dlc/messaging/package.json +42 -0
  906. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  907. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  908. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  909. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  910. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  911. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  912. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  913. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  914. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  915. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  916. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  917. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  918. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  919. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  920. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  921. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  922. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  923. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  924. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  925. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  926. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  927. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  928. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  929. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  930. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  931. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  932. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  933. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  934. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  935. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  936. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  937. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  938. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  939. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  940. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  941. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  942. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  943. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  944. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  945. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  946. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  947. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  948. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  949. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  950. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  951. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  952. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  953. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  954. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  955. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  956. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  957. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  958. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  959. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  960. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  961. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  962. package/CHANGELOG.md +14 -0
  963. package/dist/BitcoinDlcProvider.d.ts +2 -2
  964. package/dist/BitcoinDlcProvider.js +4 -5
  965. package/dist/BitcoinDlcProvider.js.map +1 -1
  966. package/lib/BitcoinDlcProvider.ts +4 -3
  967. package/package.json +5 -5
  968. package/yalc.lock +30 -0
@@ -0,0 +1 @@
1
+ {"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"2":{"start":{"line":5,"column":18},"end":{"line":5,"column":46}},"3":{"start":{"line":6,"column":24},"end":{"line":6,"column":48}},"4":{"start":{"line":7,"column":17},"end":{"line":7,"column":34}},"5":{"start":{"line":8,"column":26},"end":{"line":8,"column":64}},"6":{"start":{"line":9,"column":15},"end":{"line":9,"column":33}},"7":{"start":{"line":11,"column":0},"end":{"line":15,"column":62}},"8":{"start":{"line":12,"column":4},"end":{"line":12,"column":54}},"9":{"start":{"line":13,"column":4},"end":{"line":13,"column":52}},"10":{"start":{"line":14,"column":4},"end":{"line":14,"column":50}},"11":{"start":{"line":22,"column":8},"end":{"line":22,"column":16}},"12":{"start":{"line":23,"column":8},"end":{"line":23,"column":29}},"13":{"start":{"line":24,"column":8},"end":{"line":24,"column":43}},"14":{"start":{"line":25,"column":8},"end":{"line":25,"column":33}},"15":{"start":{"line":26,"column":8},"end":{"line":26,"column":39}},"16":{"start":{"line":34,"column":8},"end":{"line":34,"column":55}},"17":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"18":{"start":{"line":37,"column":12},"end":{"line":37,"column":55}},"19":{"start":{"line":38,"column":12},"end":{"line":38,"column":49}},"20":{"start":{"line":39,"column":12},"end":{"line":39,"column":52}},"21":{"start":{"line":41,"column":8},"end":{"line":41,"column":46}},"22":{"start":{"line":42,"column":8},"end":{"line":42,"column":42}},"23":{"start":{"line":44,"column":8},"end":{"line":44,"column":28}},"24":{"start":{"line":47,"column":21},"end":{"line":47,"column":63}},"25":{"start":{"line":48,"column":22},"end":{"line":48,"column":73}},"26":{"start":{"line":49,"column":8},"end":{"line":49,"column":50}},"27":{"start":{"line":50,"column":8},"end":{"line":50,"column":56}},"28":{"start":{"line":53,"column":21},"end":{"line":53,"column":63}},"29":{"start":{"line":54,"column":22},"end":{"line":54,"column":73}},"30":{"start":{"line":55,"column":8},"end":{"line":55,"column":51}},"31":{"start":{"line":56,"column":8},"end":{"line":56,"column":56}},"32":{"start":{"line":59,"column":8},"end":{"line":59,"column":92}},"33":{"start":{"line":60,"column":8},"end":{"line":60,"column":63}},"34":{"start":{"line":61,"column":8},"end":{"line":61,"column":47}},"35":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"36":{"start":{"line":63,"column":12},"end":{"line":63,"column":58}},"37":{"start":{"line":65,"column":8},"end":{"line":65,"column":56}},"38":{"start":{"line":66,"column":8},"end":{"line":66,"column":91}},"39":{"start":{"line":69,"column":8},"end":{"line":69,"column":93}},"40":{"start":{"line":70,"column":8},"end":{"line":70,"column":64}},"41":{"start":{"line":71,"column":8},"end":{"line":71,"column":56}},"42":{"start":{"line":72,"column":8},"end":{"line":72,"column":68}},"43":{"start":{"line":73,"column":8},"end":{"line":73,"column":29}},"44":{"start":{"line":74,"column":24},"end":{"line":74,"column":82}},"45":{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},"46":{"start":{"line":77,"column":12},"end":{"line":77,"column":33}},"47":{"start":{"line":80,"column":29},"end":{"line":80,"column":104}},"48":{"start":{"line":80,"column":61},"end":{"line":80,"column":103}},"49":{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},"50":{"start":{"line":82,"column":16},"end":{"line":82,"column":37}},"51":{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},"52":{"start":{"line":85,"column":12},"end":{"line":85,"column":59}},"53":{"start":{"line":87,"column":8},"end":{"line":87,"column":56}},"54":{"start":{"line":88,"column":8},"end":{"line":88,"column":92}},"55":{"start":{"line":91,"column":8},"end":{"line":91,"column":60}},"56":{"start":{"line":92,"column":8},"end":{"line":92,"column":39}},"57":{"start":{"line":93,"column":8},"end":{"line":93,"column":43}},"58":{"start":{"line":94,"column":8},"end":{"line":94,"column":72}},"59":{"start":{"line":95,"column":8},"end":{"line":95,"column":66}},"60":{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},"61":{"start":{"line":98,"column":12},"end":{"line":100,"column":13}},"62":{"start":{"line":99,"column":16},"end":{"line":99,"column":123}},"63":{"start":{"line":102,"column":8},"end":{"line":102,"column":106}},"64":{"start":{"line":104,"column":8},"end":{"line":104,"column":51}},"65":{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},"66":{"start":{"line":108,"column":12},"end":{"line":108,"column":85}},"67":{"start":{"line":109,"column":12},"end":{"line":109,"column":19}},"68":{"start":{"line":111,"column":27},"end":{"line":111,"column":89}},"69":{"start":{"line":111,"column":58},"end":{"line":111,"column":88}},"70":{"start":{"line":112,"column":28},"end":{"line":112,"column":128}},"71":{"start":{"line":112,"column":60},"end":{"line":112,"column":124}},"72":{"start":{"line":113,"column":8},"end":{"line":113,"column":69}},"73":{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},"74":{"start":{"line":115,"column":12},"end":{"line":115,"column":19}},"75":{"start":{"line":116,"column":31},"end":{"line":116,"column":33}},"76":{"start":{"line":117,"column":20},"end":{"line":117,"column":48}},"77":{"start":{"line":118,"column":8},"end":{"line":145,"column":9}},"78":{"start":{"line":118,"column":21},"end":{"line":118,"column":22}},"79":{"start":{"line":119,"column":27},"end":{"line":119,"column":40}},"80":{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},"81":{"start":{"line":121,"column":16},"end":{"line":121,"column":118}},"82":{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},"83":{"start":{"line":124,"column":29},"end":{"line":124,"column":109}},"84":{"start":{"line":125,"column":16},"end":{"line":143,"column":17}},"85":{"start":{"line":126,"column":31},"end":{"line":126,"column":99}},"86":{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},"87":{"start":{"line":128,"column":24},"end":{"line":128,"column":52}},"88":{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},"89":{"start":{"line":130,"column":24},"end":{"line":130,"column":57}},"90":{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},"91":{"start":{"line":134,"column":38},"end":{"line":134,"column":83}},"92":{"start":{"line":135,"column":24},"end":{"line":135,"column":66}},"93":{"start":{"line":146,"column":8},"end":{"line":146,"column":67}},"94":{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},"95":{"start":{"line":148,"column":12},"end":{"line":148,"column":61}},"96":{"start":{"line":149,"column":12},"end":{"line":149,"column":19}},"97":{"start":{"line":151,"column":8},"end":{"line":151,"column":57}},"98":{"start":{"line":154,"column":19},"end":{"line":154,"column":61}},"99":{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},"100":{"start":{"line":156,"column":12},"end":{"line":156,"column":64}},"101":{"start":{"line":157,"column":12},"end":{"line":157,"column":19}},"102":{"start":{"line":159,"column":30},"end":{"line":159,"column":73}},"103":{"start":{"line":160,"column":8},"end":{"line":160,"column":84}},"104":{"start":{"line":161,"column":20},"end":{"line":161,"column":52}},"105":{"start":{"line":162,"column":16},"end":{"line":162,"column":17}},"106":{"start":{"line":163,"column":8},"end":{"line":197,"column":9}},"107":{"start":{"line":164,"column":12},"end":{"line":164,"column":40}},"108":{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},"109":{"start":{"line":166,"column":16},"end":{"line":166,"column":150}},"110":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"111":{"start":{"line":170,"column":16},"end":{"line":170,"column":92}},"112":{"start":{"line":172,"column":12},"end":{"line":172,"column":34}},"113":{"start":{"line":173,"column":30},"end":{"line":173,"column":83}},"114":{"start":{"line":174,"column":29},"end":{"line":174,"column":74}},"115":{"start":{"line":175,"column":26},"end":{"line":175,"column":68}},"116":{"start":{"line":176,"column":12},"end":{"line":189,"column":13}},"117":{"start":{"line":177,"column":16},"end":{"line":188,"column":17}},"118":{"start":{"line":178,"column":34},"end":{"line":178,"column":96}},"119":{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},"120":{"start":{"line":181,"column":35},"end":{"line":181,"column":82}},"121":{"start":{"line":182,"column":24},"end":{"line":182,"column":82}},"122":{"start":{"line":186,"column":20},"end":{"line":186,"column":105}},"123":{"start":{"line":187,"column":20},"end":{"line":187,"column":52}},"124":{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},"125":{"start":{"line":191,"column":16},"end":{"line":191,"column":66}},"126":{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},"127":{"start":{"line":193,"column":20},"end":{"line":193,"column":26}},"128":{"start":{"line":194,"column":16},"end":{"line":194,"column":66}},"129":{"start":{"line":196,"column":12},"end":{"line":196,"column":16}},"130":{"start":{"line":198,"column":8},"end":{"line":198,"column":67}},"131":{"start":{"line":201,"column":8},"end":{"line":208,"column":9}},"132":{"start":{"line":202,"column":12},"end":{"line":207,"column":13}},"133":{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},"134":{"start":{"line":204,"column":34},"end":{"line":204,"column":76}},"135":{"start":{"line":205,"column":20},"end":{"line":205,"column":67}},"136":{"start":{"line":211,"column":0},"end":{"line":211,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":1},"end":{"line":11,"column":2}},"loc":{"start":{"line":11,"column":22},"end":{"line":15,"column":1}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":47},"end":{"line":27,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":33},"end":{"line":45,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":38},"end":{"line":51,"column":5}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":39},"end":{"line":57,"column":5}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":41},"end":{"line":67,"column":5}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":68,"column":4},"end":{"line":68,"column":5}},"loc":{"start":{"line":68,"column":46},"end":{"line":89,"column":5}},"line":68},"7":{"name":"(anonymous_7)","decl":{"start":{"line":80,"column":52},"end":{"line":80,"column":53}},"loc":{"start":{"line":80,"column":61},"end":{"line":80,"column":103}},"line":80},"8":{"name":"(anonymous_8)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":41},"end":{"line":105,"column":5}},"line":90},"9":{"name":"(anonymous_9)","decl":{"start":{"line":106,"column":4},"end":{"line":106,"column":5}},"loc":{"start":{"line":106,"column":38},"end":{"line":152,"column":5}},"line":106},"10":{"name":"(anonymous_10)","decl":{"start":{"line":111,"column":46},"end":{"line":111,"column":47}},"loc":{"start":{"line":111,"column":58},"end":{"line":111,"column":88}},"line":111},"11":{"name":"(anonymous_11)","decl":{"start":{"line":112,"column":46},"end":{"line":112,"column":47}},"loc":{"start":{"line":112,"column":60},"end":{"line":112,"column":124}},"line":112},"12":{"name":"(anonymous_12)","decl":{"start":{"line":153,"column":4},"end":{"line":153,"column":5}},"loc":{"start":{"line":153,"column":44},"end":{"line":199,"column":5}},"line":153},"13":{"name":"(anonymous_13)","decl":{"start":{"line":200,"column":4},"end":{"line":200,"column":5}},"loc":{"start":{"line":200,"column":53},"end":{"line":209,"column":5}},"line":200}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":15},"end":{"line":15,"column":60}},"type":"binary-expr","locations":[{"start":{"line":15,"column":15},"end":{"line":15,"column":32}},{"start":{"line":15,"column":37},"end":{"line":15,"column":59}}],"line":15},"1":{"loc":{"start":{"line":33,"column":16},"end":{"line":33,"column":31}},"type":"default-arg","locations":[{"start":{"line":33,"column":30},"end":{"line":33,"column":31}}],"line":33},"2":{"loc":{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":40,"column":9}},{"start":{"line":36,"column":8},"end":{"line":40,"column":9}}],"line":36},"3":{"loc":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},{"start":{"line":62,"column":8},"end":{"line":64,"column":9}}],"line":62},"4":{"loc":{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":83,"column":9}},{"start":{"line":76,"column":8},"end":{"line":83,"column":9}}],"line":76},"5":{"loc":{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":82,"column":37}},{"start":{"line":81,"column":12},"end":{"line":82,"column":37}}],"line":81},"6":{"loc":{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},"type":"if","locations":[{"start":{"line":84,"column":8},"end":{"line":86,"column":9}},{"start":{"line":84,"column":8},"end":{"line":86,"column":9}}],"line":84},"7":{"loc":{"start":{"line":90,"column":24},"end":{"line":90,"column":39}},"type":"default-arg","locations":[{"start":{"line":90,"column":38},"end":{"line":90,"column":39}}],"line":90},"8":{"loc":{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":101,"column":9}},{"start":{"line":96,"column":8},"end":{"line":101,"column":9}}],"line":96},"9":{"loc":{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},"type":"if","locations":[{"start":{"line":107,"column":8},"end":{"line":110,"column":9}},{"start":{"line":107,"column":8},"end":{"line":110,"column":9}}],"line":107},"10":{"loc":{"start":{"line":112,"column":67},"end":{"line":112,"column":123}},"type":"cond-expr","locations":[{"start":{"line":112,"column":118},"end":{"line":112,"column":119}},{"start":{"line":112,"column":122},"end":{"line":112,"column":123}}],"line":112},"11":{"loc":{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":115,"column":19}},{"start":{"line":114,"column":8},"end":{"line":115,"column":19}}],"line":114},"12":{"loc":{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":122,"column":13}},{"start":{"line":120,"column":12},"end":{"line":122,"column":13}}],"line":120},"13":{"loc":{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},"type":"if","locations":[{"start":{"line":123,"column":12},"end":{"line":144,"column":13}},{"start":{"line":123,"column":12},"end":{"line":144,"column":13}}],"line":123},"14":{"loc":{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},"type":"if","locations":[{"start":{"line":127,"column":20},"end":{"line":128,"column":52}},{"start":{"line":127,"column":20},"end":{"line":128,"column":52}}],"line":127},"15":{"loc":{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},"type":"if","locations":[{"start":{"line":129,"column":20},"end":{"line":130,"column":57}},{"start":{"line":129,"column":20},"end":{"line":130,"column":57}}],"line":129},"16":{"loc":{"start":{"line":129,"column":24},"end":{"line":129,"column":64}},"type":"binary-expr","locations":[{"start":{"line":129,"column":24},"end":{"line":129,"column":28}},{"start":{"line":129,"column":32},"end":{"line":129,"column":64}}],"line":129},"17":{"loc":{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},"type":"if","locations":[{"start":{"line":131,"column":20},"end":{"line":136,"column":21}},{"start":{"line":131,"column":20},"end":{"line":136,"column":21}}],"line":131},"18":{"loc":{"start":{"line":131,"column":24},"end":{"line":133,"column":53}},"type":"binary-expr","locations":[{"start":{"line":131,"column":24},"end":{"line":131,"column":28}},{"start":{"line":132,"column":24},"end":{"line":132,"column":54}},{"start":{"line":133,"column":24},"end":{"line":133,"column":53}}],"line":131},"19":{"loc":{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},"type":"if","locations":[{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},{"start":{"line":147,"column":8},"end":{"line":150,"column":9}}],"line":147},"20":{"loc":{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},"type":"if","locations":[{"start":{"line":155,"column":8},"end":{"line":158,"column":9}},{"start":{"line":155,"column":8},"end":{"line":158,"column":9}}],"line":155},"21":{"loc":{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},"type":"if","locations":[{"start":{"line":165,"column":12},"end":{"line":167,"column":13}},{"start":{"line":165,"column":12},"end":{"line":167,"column":13}}],"line":165},"22":{"loc":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},{"start":{"line":169,"column":12},"end":{"line":171,"column":13}}],"line":169},"23":{"loc":{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},"type":"if","locations":[{"start":{"line":179,"column":20},"end":{"line":183,"column":21}},{"start":{"line":179,"column":20},"end":{"line":183,"column":21}}],"line":179},"24":{"loc":{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":195,"column":13}},{"start":{"line":190,"column":12},"end":{"line":195,"column":13}}],"line":190},"25":{"loc":{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},"type":"if","locations":[{"start":{"line":192,"column":16},"end":{"line":193,"column":26}},{"start":{"line":192,"column":16},"end":{"line":193,"column":26}}],"line":192},"26":{"loc":{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},"type":"if","locations":[{"start":{"line":203,"column":16},"end":{"line":206,"column":17}},{"start":{"line":203,"column":16},"end":{"line":206,"column":17}}],"line":203}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":9,"12":9,"13":9,"14":9,"15":9,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":0,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"54":2,"55":6,"56":6,"57":6,"58":6,"59":6,"60":6,"61":6,"62":4,"63":6,"64":6,"65":6,"66":0,"67":0,"68":6,"69":4,"70":6,"71":4,"72":6,"73":6,"74":2,"75":4,"76":4,"77":4,"78":4,"79":4,"80":4,"81":0,"82":4,"83":4,"84":4,"85":4,"86":4,"87":2,"88":4,"89":0,"90":4,"91":0,"92":0,"93":4,"94":4,"95":2,"96":2,"97":2,"98":2,"99":2,"100":0,"101":0,"102":2,"103":2,"104":2,"105":2,"106":2,"107":2,"108":2,"109":0,"110":2,"111":0,"112":2,"113":2,"114":2,"115":2,"116":2,"117":4,"118":4,"119":4,"120":2,"121":2,"122":0,"123":0,"124":2,"125":2,"126":2,"127":2,"128":0,"129":0,"130":2,"131":2,"132":2,"133":2,"134":2,"135":2,"136":1},"f":{"0":1,"1":9,"2":6,"3":0,"4":0,"5":0,"6":2,"7":2,"8":6,"9":6,"10":4,"11":4,"12":2,"13":2},"b":{"0":[1,1],"1":[6],"2":[6,0],"3":[0,0],"4":[0,2],"5":[2,0],"6":[2,0],"7":[0],"8":[6,0],"9":[0,6],"10":[4,0],"11":[2,4],"12":[0,4],"13":[4,0],"14":[2,2],"15":[0,4],"16":[4,2],"17":[0,4],"18":[4,2,2],"19":[2,2],"20":[0,2],"21":[0,2],"22":[0,2],"23":[2,2],"24":[2,0],"25":[2,0],"26":[2,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainManager.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Tx } from '@node-dlc/bitcoin';\nimport { Block, Transaction } from 'bitcoinjs-lib';\nimport { EventEmitter } from 'events';\n\nimport { DlcTransactions } from '../messages/DlcTransactions';\nimport { sleep } from '../util';\nimport { IDlcStore } from './DlcStore';\nimport {\n HasHash,\n HasHeight,\n IChainFilterChainClient,\n} from './IChainFilterChainClient';\n\nexport enum SyncState {\n Unsynced,\n Syncing,\n Synced,\n}\n\nexport interface ILogger {\n area: string;\n instance: string;\n trace(...args: any[]): void;\n debug(...args: any[]): void;\n info(...args: any[]): void;\n warn(...args: any[]): void;\n error(...args: any[]): void;\n sub(area: string, instance?: string): ILogger;\n}\n\n/**\n * ChainManager validates and stores dlc txs\n * from chain updates\n */\nexport class ChainManager extends EventEmitter {\n public blockHeight: number;\n public started = false;\n public syncState: SyncState;\n public isSynchronizing: boolean;\n public chainClient: IChainFilterChainClient;\n public logger: ILogger;\n public dlcStore: IDlcStore;\n public dlcTxsList: DlcTransactions[];\n\n constructor(\n logger: ILogger,\n chainClient: IChainFilterChainClient,\n dlcStore: IDlcStore,\n ) {\n super();\n this.logger = logger.sub('dlcmgr');\n this.dlcStore = dlcStore;\n this.chainClient = chainClient;\n }\n\n /**\n * Starts the chain manager. This method will load information\n * from the chain store, determine when the last information\n * was obtained, validate the existing messages\n */\n public async start(blockHeight = 0): Promise<void> {\n this.logger.info('starting dlc state manager');\n\n // wait for chain sync to complete\n if (this.chainClient) {\n this.logger.info('waiting for chain sync');\n await this.chainClient.waitForSync();\n this.logger.info('chain sync complete');\n }\n\n await this._restoreState(blockHeight);\n this.syncState = SyncState.Synced;\n\n // flag that the manager has now started\n this.started = true;\n }\n\n public async updateFundBroadcast(dlcTxs: DlcTransactions): Promise<void> {\n const info = await this.chainClient.getBlockchainInfo();\n const block = await this.chainClient.getBlock(info.bestblockhash);\n\n dlcTxs.fundBroadcastHeight = block.height;\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n }\n\n public async updateCloseBroadcast(dlcTxs: DlcTransactions): Promise<void> {\n const info = await this.chainClient.getBlockchainInfo();\n const block = await this.chainClient.getBlock(info.bestblockhash);\n\n dlcTxs.closeBroadcastHeight = block.height;\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n }\n\n public async updateFundEpoch(\n dlcTxs: DlcTransactions,\n block: HasHeight & HasHash,\n ): Promise<void> {\n this.logger.info(\n `updating fund epoch on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n dlcTxs.fundEpoch.hash = Buffer.from(block.hash, 'hex');\n dlcTxs.fundEpoch.height = block.height;\n\n if (dlcTxs.fundBroadcastHeight === 0) {\n dlcTxs.fundBroadcastHeight = block.height - 1;\n }\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n\n this.logger.info(\n `fund epoch updated on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n }\n\n public async updateCloseEpoch(\n dlcTxs: DlcTransactions,\n tx: Tx,\n block: HasHeight & HasHash,\n ): Promise<void> {\n this.logger.info(\n `updating close epoch on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n dlcTxs.closeEpoch.hash = Buffer.from(block.hash, 'hex');\n dlcTxs.closeEpoch.height = Number(block.height);\n dlcTxs.closeTxHash = Buffer.from(tx.txId.toString(), 'hex');\n dlcTxs.closeType = 3; // Default to cooperative close if txid not refund or cet txid\n\n const _dlcTxs = await this.dlcStore.findDlcTransactions(dlcTxs.contractId);\n\n // figure out if it's execute, refund or mutual close\n if (tx.txId.toString() === dlcTxs.refundTx.txId.toString()) {\n dlcTxs.closeType = 2;\n } else {\n const cetIndex = _dlcTxs.cets.findIndex(\n (cet) => tx.txId.toString() === cet.txId.toString(),\n );\n if (cetIndex >= 0) dlcTxs.closeType = 1;\n }\n\n if (dlcTxs.closeBroadcastHeight === 0) {\n dlcTxs.closeBroadcastHeight = block.height - 1;\n }\n\n await this.dlcStore.saveDlcTransactions(dlcTxs);\n\n this.logger.info(\n `close epoch updated on dlc ${dlcTxs.contractId.toString('hex')}`,\n );\n }\n\n private async _restoreState(blockHeight = 0): Promise<void> {\n this.logger.info('retrieving dlc state from store');\n this.blockHeight = blockHeight;\n this.syncState = SyncState.Syncing;\n this.dlcTxsList = await this.dlcStore.findDlcTransactionsList();\n this.logger.info('found %d dlcs', this.dlcTxsList.length);\n\n if (blockHeight === 0) {\n // find best block height\n for (const dlcTxs of this.dlcTxsList) {\n this.blockHeight = Math.max(\n Math.max(this.blockHeight, dlcTxs.fundEpoch.height),\n dlcTxs.closeEpoch.height,\n );\n }\n }\n\n this.logger.info(\"highest block %d found from %d dlcs\", this.blockHeight, this.dlcTxsList.length); // prettier-ignore\n\n // validate all utxos\n await this._validateUtxos(this.dlcTxsList);\n }\n\n private async _validateUtxos(_dlcTxsList: DlcTransactions[]) {\n if (!this.chainClient) {\n this.logger.info('skipping utxo validation, no chain_client configured');\n return;\n }\n\n const dlcTxsList = _dlcTxsList.filter(\n (dlcTxs) => dlcTxs.closeEpoch.height === 0,\n );\n\n const dlcTxsCount = dlcTxsList.reduce(\n (acc, msg) => acc + (msg instanceof DlcTransactions ? 1 : 0),\n 0,\n );\n this.logger.info('validating %d funding utxos', dlcTxsCount);\n\n if (!dlcTxsCount) return;\n\n const dlcTxsToVerify: DlcTransactions[] = [];\n\n const oct = Math.trunc(dlcTxsCount / 16);\n for (let i = 0; i < dlcTxsList.length; i++) {\n const dlcTxs = dlcTxsList[i];\n if ((i + 1) % oct === 0) {\n this.logger.info(\n 'validating funding utxos %s% complete',\n (((i + 1) / dlcTxsCount) * 100).toFixed(2),\n );\n }\n if (dlcTxs instanceof DlcTransactions) {\n const utxo = await this.chainClient.getUtxo(\n dlcTxs.fundTx.txId.toString(),\n dlcTxs.fundTxVout,\n );\n\n try {\n const tx = await this.chainClient.getTransaction(\n dlcTxs.fundTx.txId.toString(),\n );\n if (!utxo) dlcTxsToVerify.push(dlcTxs);\n\n if (utxo && Number(utxo.confirmations) === 0)\n this.updateFundBroadcast(dlcTxs);\n\n if (\n utxo &&\n Number(utxo.confirmations) > 0 &&\n dlcTxs.fundEpoch.height === 0\n ) {\n const block = await this.chainClient.getBlock(tx.blockhash);\n await this.updateFundEpoch(dlcTxs, block);\n }\n } catch (e) {\n /**\n * tx doesn't exist\n * fund tx wasn't broadcast in the first place\n */\n }\n }\n }\n this.logger.info('validating funding utxos 100% complete');\n\n if (dlcTxsToVerify.length === 0) {\n this.logger.info('no closing utxos to validate');\n return;\n }\n\n await this._validateClosingUtxos(dlcTxsToVerify);\n }\n\n private async _validateClosingUtxos(dlcTxsList: DlcTransactions[]) {\n let info = await this.chainClient.getBlockchainInfo();\n\n if (this.blockHeight === 0) {\n this.logger.info('cannot sync from block height 0');\n return;\n }\n\n let numBlocksToSync = Math.max(info.blocks - this.blockHeight, 0);\n this.logger.info('validating %d blocks for closing utxos', numBlocksToSync);\n const oct = Math.trunc(numBlocksToSync / 16);\n let i = 0;\n while (info.blocks > this.blockHeight) {\n await sleep(10);\n\n if ((i + 1) % oct === 0) {\n this.logger.info(\n 'validating block %s, closing utxos %s% complete',\n this.blockHeight,\n (((i + 1) / numBlocksToSync) * 100).toFixed(2),\n );\n }\n\n // Log every 10 blocks\n if (this.blockHeight % 10 === 0) {\n this.logger.info(\n 'Validating block %s for closing utxos',\n this.blockHeight,\n );\n }\n\n this.blockHeight += 1;\n\n const blockHash = await this.chainClient.getBlockHash(this.blockHeight);\n const blockBuf = await this.chainClient.getRawBlock(blockHash);\n\n const block = Block.fromBuffer(blockBuf);\n for (const transaction of block.transactions) {\n try {\n const bjsTx = Transaction.fromBuffer(transaction.toBuffer());\n if (!bjsTx.isCoinbase()) {\n // ignore coinbase txs for outpoint check\n const tx = Tx.fromBuffer(transaction.toBuffer());\n await this._checkOutpoints(dlcTxsList, tx, block.getId());\n }\n } catch (e) {\n this.logger.error(\n 'Invalid tx for validating closing utxo: %s',\n transaction.toHex(),\n );\n this.logger.trace('Error: ', e);\n }\n }\n\n if (info.blocks === this.blockHeight) {\n info = await this.chainClient.getBlockchainInfo();\n if (info.blocks === this.blockHeight) break;\n numBlocksToSync += info.blocks - this.blockHeight;\n }\n\n i++;\n }\n\n this.logger.info('validating closing utxos 100% complete');\n }\n\n private async _checkOutpoints(\n dlcTxsList: DlcTransactions[],\n tx: Tx,\n blockHash: string,\n ) {\n for (const dlcTxs of dlcTxsList) {\n for (const input of tx.inputs) {\n if (dlcTxs.fundTx.txId.toString() === input.outpoint.txid.toString()) {\n const block = await this.chainClient.getBlock(blockHash);\n await this.updateCloseEpoch(dlcTxs, tx, block);\n }\n }\n }\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5f1fdc7d193ee6595430d488e521937ca0388016","contentHash":"f80d1cec1cfda328a5c78c800c66f672eee7656493b96004cddaf00b0ffdcec2"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":81}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":41}},"6":{"start":{"line":17,"column":8},"end":{"line":20,"column":10}},"7":{"start":{"line":21,"column":8},"end":{"line":21,"column":37}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":23}},"9":{"start":{"line":23,"column":8},"end":{"line":26,"column":10}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":44}},"11":{"start":{"line":28,"column":8},"end":{"line":28,"column":27}},"12":{"start":{"line":29,"column":8},"end":{"line":29,"column":38}},"13":{"start":{"line":36,"column":25},"end":{"line":36,"column":46}},"14":{"start":{"line":37,"column":23},"end":{"line":37,"column":52}},"15":{"start":{"line":38,"column":8},"end":{"line":38,"column":30}},"16":{"start":{"line":39,"column":8},"end":{"line":39,"column":51}},"17":{"start":{"line":40,"column":26},"end":{"line":40,"column":47}},"18":{"start":{"line":41,"column":8},"end":{"line":41,"column":108}},"19":{"start":{"line":42,"column":8},"end":{"line":42,"column":52}},"20":{"start":{"line":43,"column":25},"end":{"line":43,"column":45}},"21":{"start":{"line":44,"column":27},"end":{"line":44,"column":48}},"22":{"start":{"line":45,"column":8},"end":{"line":48,"column":10}},"23":{"start":{"line":49,"column":8},"end":{"line":49,"column":61}},"24":{"start":{"line":50,"column":28},"end":{"line":50,"column":49}},"25":{"start":{"line":51,"column":8},"end":{"line":51,"column":112}},"26":{"start":{"line":52,"column":24},"end":{"line":52,"column":44}},"27":{"start":{"line":53,"column":8},"end":{"line":61,"column":9}},"28":{"start":{"line":53,"column":21},"end":{"line":53,"column":22}},"29":{"start":{"line":54,"column":27},"end":{"line":54,"column":48}},"30":{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},"31":{"start":{"line":56,"column":16},"end":{"line":56,"column":115}},"32":{"start":{"line":59,"column":16},"end":{"line":59,"column":41}},"33":{"start":{"line":62,"column":26},"end":{"line":62,"column":46}},"34":{"start":{"line":63,"column":28},"end":{"line":63,"column":49}},"35":{"start":{"line":64,"column":8},"end":{"line":67,"column":10}},"36":{"start":{"line":68,"column":8},"end":{"line":68,"column":52}},"37":{"start":{"line":69,"column":8},"end":{"line":69,"column":48}},"38":{"start":{"line":70,"column":8},"end":{"line":70,"column":62}},"39":{"start":{"line":71,"column":8},"end":{"line":71,"column":24}},"40":{"start":{"line":77,"column":8},"end":{"line":96,"column":10}},"41":{"start":{"line":88,"column":41},"end":{"line":88,"column":72}},"42":{"start":{"line":102,"column":23},"end":{"line":102,"column":49}},"43":{"start":{"line":103,"column":8},"end":{"line":103,"column":40}},"44":{"start":{"line":104,"column":8},"end":{"line":104,"column":43}},"45":{"start":{"line":105,"column":8},"end":{"line":105,"column":61}},"46":{"start":{"line":106,"column":8},"end":{"line":106,"column":51}},"47":{"start":{"line":107,"column":8},"end":{"line":107,"column":46}},"48":{"start":{"line":108,"column":8},"end":{"line":108,"column":47}},"49":{"start":{"line":109,"column":8},"end":{"line":109,"column":52}},"50":{"start":{"line":110,"column":8},"end":{"line":110,"column":55}},"51":{"start":{"line":111,"column":8},"end":{"line":111,"column":63}},"52":{"start":{"line":112,"column":8},"end":{"line":112,"column":53}},"53":{"start":{"line":113,"column":8},"end":{"line":113,"column":46}},"54":{"start":{"line":114,"column":8},"end":{"line":117,"column":9}},"55":{"start":{"line":115,"column":12},"end":{"line":115,"column":57}},"56":{"start":{"line":116,"column":12},"end":{"line":116,"column":47}},"57":{"start":{"line":118,"column":8},"end":{"line":118,"column":48}},"58":{"start":{"line":119,"column":8},"end":{"line":119,"column":53}},"59":{"start":{"line":120,"column":8},"end":{"line":120,"column":44}},"60":{"start":{"line":121,"column":8},"end":{"line":121,"column":42}},"61":{"start":{"line":122,"column":8},"end":{"line":122,"column":56}},"62":{"start":{"line":123,"column":8},"end":{"line":123,"column":33}},"63":{"start":{"line":126,"column":0},"end":{"line":126,"column":42}},"64":{"start":{"line":127,"column":0},"end":{"line":127,"column":65}},"65":{"start":{"line":128,"column":23},"end":{"line":139,"column":1}},"66":{"start":{"line":129,"column":4},"end":{"line":138,"column":5}},"67":{"start":{"line":131,"column":12},"end":{"line":131,"column":34}},"68":{"start":{"line":133,"column":12},"end":{"line":133,"column":33}},"69":{"start":{"line":135,"column":12},"end":{"line":135,"column":38}},"70":{"start":{"line":137,"column":12},"end":{"line":137,"column":31}},"71":{"start":{"line":141,"column":0},"end":{"line":146,"column":62}},"72":{"start":{"line":142,"column":4},"end":{"line":142,"column":56}},"73":{"start":{"line":143,"column":4},"end":{"line":143,"column":62}},"74":{"start":{"line":144,"column":4},"end":{"line":144,"column":60}},"75":{"start":{"line":145,"column":4},"end":{"line":145,"column":70}},"76":{"start":{"line":148,"column":0},"end":{"line":148,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":18},"end":{"line":30,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":4},"end":{"line":35,"column":5}},"loc":{"start":{"line":35,"column":46},"end":{"line":72,"column":5}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":76,"column":4},"end":{"line":76,"column":5}},"loc":{"start":{"line":76,"column":13},"end":{"line":97,"column":5}},"line":76},"3":{"name":"(anonymous_3)","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":33}},"loc":{"start":{"line":88,"column":41},"end":{"line":88,"column":72}},"line":88},"4":{"name":"(anonymous_4)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":16},"end":{"line":124,"column":5}},"line":101},"5":{"name":"(anonymous_5)","decl":{"start":{"line":128,"column":23},"end":{"line":128,"column":24}},"loc":{"start":{"line":128,"column":38},"end":{"line":139,"column":1}},"line":128},"6":{"name":"(anonymous_6)","decl":{"start":{"line":141,"column":1},"end":{"line":141,"column":2}},"loc":{"start":{"line":141,"column":22},"end":{"line":146,"column":1}},"line":141}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":28},"end":{"line":35,"column":44}},"type":"default-arg","locations":[{"start":{"line":35,"column":40},"end":{"line":35,"column":44}}],"line":35},"1":{"loc":{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":60,"column":13}},{"start":{"line":55,"column":12},"end":{"line":60,"column":13}}],"line":55},"2":{"loc":{"start":{"line":55,"column":16},"end":{"line":55,"column":36}},"type":"binary-expr","locations":[{"start":{"line":55,"column":16},"end":{"line":55,"column":25}},{"start":{"line":55,"column":29},"end":{"line":55,"column":36}}],"line":55},"3":{"loc":{"start":{"line":129,"column":4},"end":{"line":138,"column":5}},"type":"switch","locations":[{"start":{"line":130,"column":8},"end":{"line":131,"column":34}},{"start":{"line":132,"column":8},"end":{"line":133,"column":33}},{"start":{"line":134,"column":8},"end":{"line":135,"column":38}},{"start":{"line":136,"column":8},"end":{"line":137,"column":31}}],"line":129},"4":{"loc":{"start":{"line":146,"column":15},"end":{"line":146,"column":60}},"type":"binary-expr","locations":[{"start":{"line":146,"column":15},"end":{"line":146,"column":32}},{"start":{"line":146,"column":37},"end":{"line":146,"column":59}}],"line":146}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":8,"6":8,"7":8,"8":8,"9":8,"10":8,"11":8,"12":8,"13":6,"14":6,"15":6,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"28":6,"29":8,"30":8,"31":7,"32":1,"33":6,"34":6,"35":6,"36":6,"37":6,"38":6,"39":6,"40":1,"41":2,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":2,"56":2,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":0,"68":0,"69":0,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1},"f":{"0":8,"1":6,"2":1,"3":2,"4":1,"5":1,"6":1},"b":{"0":[5],"1":[7,1],"2":[8,2],"3":[0,0,0,1],"4":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcTransactions.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tx } from '@node-dlc/bitcoin';\nimport { BufferReader, BufferWriter, StreamReader } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * DlcTransactions message contains information about state of DLC\n * contract such as fundtx and closetx\n */\nexport class DlcTransactions implements IDlcMessage {\n public static type = MessageType.DlcTransactions;\n\n /**\n * Deserializes a dlc_transactions message\n * @param buf\n */\n public static deserialize(buf: Buffer, parseCets = true): DlcTransactions {\n const instance = new DlcTransactions();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n\n instance.contractId = reader.readBytes(32);\n\n const fundTxLen = reader.readUInt16BE();\n instance.fundTx = Tx.decode(\n StreamReader.fromBuffer(reader.readBytes(fundTxLen)),\n );\n\n instance.fundTxVout = reader.readUInt32BE();\n\n const fundHash = reader.readBytes(32);\n const fundHeight = reader.readUInt32BE();\n instance.fundEpoch = {\n hash: fundHash,\n height: fundHeight,\n };\n\n instance.fundBroadcastHeight = reader.readUInt32BE();\n\n const refundTxLen = reader.readUInt16BE();\n instance.refundTx = Tx.decode(\n StreamReader.fromBuffer(reader.readBytes(refundTxLen)),\n );\n\n const numCets = reader.readBigSize(); // num_cets\n for (let i = 0; i < numCets; i++) {\n const cetLen = reader.readUInt16BE();\n if (parseCets || i === 0) {\n instance.cets.push(\n Tx.decode(StreamReader.fromBuffer(reader.readBytes(cetLen))),\n );\n } else {\n reader.readBytes(cetLen);\n }\n }\n\n const closeHash = reader.readBytes(32);\n const closeHeight = reader.readUInt32BE();\n instance.closeEpoch = {\n hash: closeHash,\n height: closeHeight,\n };\n\n instance.closeTxHash = reader.readBytes(32);\n\n instance.closeType = reader.readUInt8();\n\n instance.closeBroadcastHeight = reader.readUInt32BE();\n\n return instance;\n }\n\n /**\n * The type for dlc_transactions message. dlc_transactions = 61230\n */\n public type = DlcTransactions.type;\n\n public contractId: Buffer;\n\n public fundTx: Tx;\n\n public fundTxVout: number;\n\n public fundEpoch: BlockEpoch = {\n hash: Buffer.alloc(32),\n height: 0,\n };\n\n public fundBroadcastHeight = 0;\n\n public refundTx: Tx;\n\n public cets: Tx[] = [];\n\n public closeEpoch: BlockEpoch = {\n hash: Buffer.alloc(32),\n height: 0,\n };\n\n public closeTxHash: Buffer = Buffer.alloc(32);\n\n public closeType: CloseType = 0;\n\n public closeBroadcastHeight = 0;\n\n /**\n * Converts dlc_transactions to JSON\n */\n public toJSON(): IDlcTransactionsJSON {\n return {\n type: this.type,\n contractId: this.contractId.toString('hex'),\n fundTx: this.fundTx.serialize().toString('hex'),\n fundTxVout: this.fundTxVout,\n fundEpoch: {\n hash: this.fundEpoch.hash.toString('hex'),\n height: this.fundEpoch.height,\n },\n fundBroadcastHeight: this.fundBroadcastHeight,\n refundTx: this.refundTx.serialize().toString('hex'),\n cets: this.cets.map((cet) => cet.serialize().toString('hex')),\n closeEpoch: {\n hash: this.closeEpoch.hash.toString('hex'),\n height: this.closeEpoch.height,\n },\n closeTxHash: this.closeTxHash.toString('hex'),\n closeType: closeTypeToStr(this.closeType),\n closeBroadcastHeight: this.closeBroadcastHeight,\n };\n }\n\n /**\n * Serializes the dlc_transactions message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n writer.writeBytes(this.contractId);\n writer.writeUInt16BE(this.fundTx.serialize().length);\n writer.writeBytes(this.fundTx.serialize());\n writer.writeUInt32BE(this.fundTxVout);\n writer.writeBytes(this.fundEpoch.hash);\n writer.writeUInt32BE(this.fundEpoch.height);\n writer.writeUInt32BE(this.fundBroadcastHeight);\n writer.writeUInt16BE(this.refundTx.serialize().length);\n writer.writeBytes(this.refundTx.serialize());\n\n writer.writeBigSize(this.cets.length);\n for (const cet of this.cets) {\n writer.writeUInt16BE(cet.serialize().length);\n writer.writeBytes(cet.serialize());\n }\n\n writer.writeBytes(this.closeEpoch.hash);\n writer.writeUInt32BE(this.closeEpoch.height);\n writer.writeBytes(this.closeTxHash);\n writer.writeUInt8(this.closeType);\n writer.writeUInt32BE(this.closeBroadcastHeight);\n\n return writer.toBuffer();\n }\n}\n\nconst closeTypeToStr = (closeType: CloseType): string => {\n switch (closeType) {\n case CloseType.ExecuteClose:\n return 'ExecuteClose';\n case CloseType.RefundClose:\n return 'RefundClose';\n case CloseType.CooperativeClose:\n return 'CooperativeClose';\n default:\n return 'NotClosed';\n }\n};\n\nexport interface IDlcTransactionsJSON {\n type: number;\n contractId: string;\n fundTx: string;\n fundTxVout: number;\n fundEpoch: IBlockEpochJSON;\n fundBroadcastHeight: number;\n refundTx: string;\n cets: string[];\n closeEpoch: IBlockEpochJSON;\n closeTxHash: string;\n closeType: string;\n closeBroadcastHeight: number;\n}\n\nexport interface IBlockEpochJSON {\n hash: string;\n height: number;\n}\n\nexport interface BlockEpoch {\n hash: Buffer;\n height: number;\n}\n\nexport enum CloseType {\n NotClosed = 0,\n ExecuteClose = 1,\n RefundClose = 2,\n CooperativeClose = 3,\n}\n\n// Backward compatibility aliases\nexport const DlcTransactionsV0 = DlcTransactions;\nexport type IDlcTransactionsV0JSON = IDlcTransactionsJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"34434c00ba9a266698007c41adead6e1a9a38a2c","contentHash":"bf4464c512621238a2d1c187884b2ddeac784e8b29c69da17dd64455e2f7040d"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/MessageType.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/MessageType.ts","statementMap":{"0":{"start":{"line":6,"column":0},"end":{"line":6,"column":62}},"1":{"start":{"line":7,"column":0},"end":{"line":7,"column":204}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":29}},"3":{"start":{"line":12,"column":0},"end":{"line":91,"column":68}},"4":{"start":{"line":14,"column":4},"end":{"line":14,"column":62}},"5":{"start":{"line":15,"column":4},"end":{"line":15,"column":64}},"6":{"start":{"line":16,"column":4},"end":{"line":16,"column":60}},"7":{"start":{"line":18,"column":4},"end":{"line":18,"column":74}},"8":{"start":{"line":19,"column":4},"end":{"line":19,"column":82}},"9":{"start":{"line":20,"column":4},"end":{"line":20,"column":74}},"10":{"start":{"line":21,"column":4},"end":{"line":21,"column":86}},"11":{"start":{"line":22,"column":4},"end":{"line":22,"column":86}},"12":{"start":{"line":23,"column":4},"end":{"line":23,"column":86}},"13":{"start":{"line":24,"column":4},"end":{"line":24,"column":70}},"14":{"start":{"line":25,"column":4},"end":{"line":25,"column":78}},"15":{"start":{"line":26,"column":4},"end":{"line":26,"column":70}},"16":{"start":{"line":27,"column":4},"end":{"line":27,"column":76}},"17":{"start":{"line":28,"column":4},"end":{"line":28,"column":70}},"18":{"start":{"line":29,"column":4},"end":{"line":29,"column":74}},"19":{"start":{"line":31,"column":4},"end":{"line":31,"column":82}},"20":{"start":{"line":32,"column":4},"end":{"line":32,"column":86}},"21":{"start":{"line":33,"column":4},"end":{"line":33,"column":80}},"22":{"start":{"line":34,"column":4},"end":{"line":34,"column":84}},"23":{"start":{"line":35,"column":4},"end":{"line":35,"column":68}},"24":{"start":{"line":36,"column":4},"end":{"line":36,"column":72}},"25":{"start":{"line":37,"column":4},"end":{"line":37,"column":86}},"26":{"start":{"line":38,"column":4},"end":{"line":38,"column":84}},"27":{"start":{"line":39,"column":4},"end":{"line":39,"column":88}},"28":{"start":{"line":40,"column":4},"end":{"line":40,"column":112}},"29":{"start":{"line":41,"column":4},"end":{"line":41,"column":116}},"30":{"start":{"line":42,"column":4},"end":{"line":42,"column":84}},"31":{"start":{"line":43,"column":4},"end":{"line":43,"column":84}},"32":{"start":{"line":44,"column":4},"end":{"line":44,"column":84}},"33":{"start":{"line":45,"column":4},"end":{"line":45,"column":70}},"34":{"start":{"line":46,"column":4},"end":{"line":46,"column":74}},"35":{"start":{"line":47,"column":4},"end":{"line":47,"column":62}},"36":{"start":{"line":48,"column":4},"end":{"line":48,"column":86}},"37":{"start":{"line":49,"column":4},"end":{"line":49,"column":90}},"38":{"start":{"line":50,"column":4},"end":{"line":50,"column":80}},"39":{"start":{"line":51,"column":4},"end":{"line":51,"column":84}},"40":{"start":{"line":52,"column":4},"end":{"line":52,"column":74}},"41":{"start":{"line":53,"column":4},"end":{"line":53,"column":78}},"42":{"start":{"line":55,"column":4},"end":{"line":55,"column":98}},"43":{"start":{"line":56,"column":4},"end":{"line":56,"column":96}},"44":{"start":{"line":57,"column":4},"end":{"line":57,"column":102}},"45":{"start":{"line":58,"column":4},"end":{"line":58,"column":80}},"46":{"start":{"line":59,"column":4},"end":{"line":59,"column":84}},"47":{"start":{"line":60,"column":4},"end":{"line":60,"column":62}},"48":{"start":{"line":61,"column":4},"end":{"line":61,"column":64}},"49":{"start":{"line":65,"column":4},"end":{"line":65,"column":76}},"50":{"start":{"line":66,"column":4},"end":{"line":66,"column":80}},"51":{"start":{"line":67,"column":4},"end":{"line":67,"column":58}},"52":{"start":{"line":68,"column":4},"end":{"line":68,"column":62}},"53":{"start":{"line":69,"column":4},"end":{"line":69,"column":60}},"54":{"start":{"line":70,"column":4},"end":{"line":70,"column":64}},"55":{"start":{"line":74,"column":4},"end":{"line":74,"column":78}},"56":{"start":{"line":75,"column":4},"end":{"line":75,"column":82}},"57":{"start":{"line":79,"column":4},"end":{"line":79,"column":66}},"58":{"start":{"line":80,"column":4},"end":{"line":80,"column":68}},"59":{"start":{"line":81,"column":4},"end":{"line":81,"column":76}},"60":{"start":{"line":82,"column":4},"end":{"line":82,"column":74}},"61":{"start":{"line":83,"column":4},"end":{"line":83,"column":80}},"62":{"start":{"line":84,"column":4},"end":{"line":84,"column":94}},"63":{"start":{"line":85,"column":4},"end":{"line":85,"column":94}},"64":{"start":{"line":86,"column":4},"end":{"line":86,"column":70}},"65":{"start":{"line":87,"column":4},"end":{"line":87,"column":80}},"66":{"start":{"line":88,"column":4},"end":{"line":88,"column":70}},"67":{"start":{"line":89,"column":4},"end":{"line":89,"column":78}},"68":{"start":{"line":90,"column":4},"end":{"line":90,"column":92}},"69":{"start":{"line":94,"column":0},"end":{"line":97,"column":83}},"70":{"start":{"line":95,"column":4},"end":{"line":95,"column":64}},"71":{"start":{"line":96,"column":4},"end":{"line":96,"column":68}},"72":{"start":{"line":99,"column":0},"end":{"line":102,"column":101}},"73":{"start":{"line":100,"column":4},"end":{"line":100,"column":84}},"74":{"start":{"line":101,"column":4},"end":{"line":101,"column":92}},"75":{"start":{"line":104,"column":0},"end":{"line":107,"column":77}},"76":{"start":{"line":105,"column":4},"end":{"line":105,"column":60}},"77":{"start":{"line":106,"column":4},"end":{"line":106,"column":58}},"78":{"start":{"line":109,"column":0},"end":{"line":112,"column":98}},"79":{"start":{"line":110,"column":4},"end":{"line":110,"column":74}},"80":{"start":{"line":111,"column":4},"end":{"line":111,"column":78}},"81":{"start":{"line":114,"column":0},"end":{"line":117,"column":95}},"82":{"start":{"line":115,"column":4},"end":{"line":115,"column":80}},"83":{"start":{"line":116,"column":4},"end":{"line":116,"column":78}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":1},"end":{"line":12,"column":2}},"loc":{"start":{"line":12,"column":24},"end":{"line":91,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":94,"column":1},"end":{"line":94,"column":2}},"loc":{"start":{"line":94,"column":29},"end":{"line":97,"column":1}},"line":94},"2":{"name":"(anonymous_2)","decl":{"start":{"line":99,"column":1},"end":{"line":99,"column":2}},"loc":{"start":{"line":99,"column":35},"end":{"line":102,"column":1}},"line":99},"3":{"name":"(anonymous_3)","decl":{"start":{"line":104,"column":1},"end":{"line":104,"column":2}},"loc":{"start":{"line":104,"column":27},"end":{"line":107,"column":1}},"line":104},"4":{"name":"(anonymous_4)","decl":{"start":{"line":109,"column":1},"end":{"line":109,"column":2}},"loc":{"start":{"line":109,"column":34},"end":{"line":112,"column":1}},"line":109},"5":{"name":"(anonymous_5)","decl":{"start":{"line":114,"column":1},"end":{"line":114,"column":2}},"loc":{"start":{"line":114,"column":33},"end":{"line":117,"column":1}},"line":114}},"branchMap":{"0":{"loc":{"start":{"line":91,"column":17},"end":{"line":91,"column":66}},"type":"binary-expr","locations":[{"start":{"line":91,"column":17},"end":{"line":91,"column":36}},{"start":{"line":91,"column":41},"end":{"line":91,"column":65}}],"line":91},"1":{"loc":{"start":{"line":97,"column":22},"end":{"line":97,"column":81}},"type":"binary-expr","locations":[{"start":{"line":97,"column":22},"end":{"line":97,"column":46}},{"start":{"line":97,"column":51},"end":{"line":97,"column":80}}],"line":97},"2":{"loc":{"start":{"line":102,"column":28},"end":{"line":102,"column":99}},"type":"binary-expr","locations":[{"start":{"line":102,"column":28},"end":{"line":102,"column":58}},{"start":{"line":102,"column":63},"end":{"line":102,"column":98}}],"line":102},"3":{"loc":{"start":{"line":107,"column":20},"end":{"line":107,"column":75}},"type":"binary-expr","locations":[{"start":{"line":107,"column":20},"end":{"line":107,"column":42}},{"start":{"line":107,"column":47},"end":{"line":107,"column":74}}],"line":107},"4":{"loc":{"start":{"line":112,"column":27},"end":{"line":112,"column":96}},"type":"binary-expr","locations":[{"start":{"line":112,"column":27},"end":{"line":112,"column":56}},{"start":{"line":112,"column":61},"end":{"line":112,"column":95}}],"line":112},"5":{"loc":{"start":{"line":117,"column":26},"end":{"line":117,"column":93}},"type":"binary-expr","locations":[{"start":{"line":117,"column":26},"end":{"line":117,"column":54}},{"start":{"line":117,"column":59},"end":{"line":117,"column":92}}],"line":117}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1},"f":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1},"b":{"0":[1,1],"1":[1,1],"2":[1,1],"3":[1,1],"4":[1,1],"5":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/MessageType.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/MessageType.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Defined in DLC Messaging Spec\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md\n */\n\n// Protocol version as defined in dlcspecs PR #163\nexport const PROTOCOL_VERSION = 1;\n\n// Wire message types (remain unchanged for backward compatibility)\nexport enum MessageType {\n // Core DLC Message Types (remain as wire format with u16 prefix)\n DlcOffer = 42778,\n DlcAccept = 42780,\n DlcSign = 42782,\n\n // Legacy contract types (keeping for backward compatibility during transition)\n ContractInfoV0 = 55342,\n SingleContractInfo = 55342,\n ContractInfoV1 = 55344,\n DisjointContractInfo = 55344,\n\n ContractDescriptorV0 = 42768,\n ContractDescriptorV1 = 42784,\n\n OracleInfoV0 = 42770,\n SingleOracleInfo = 42770,\n OracleInfoV1 = 42786,\n MultiOracleInfo = 42786,\n OracleInfoV2 = 55340,\n\n OracleParamsV0 = 55338,\n\n // Oracle message types (remain as TLV for backward compatibility)\n OracleAnnouncement = 55332,\n OracleAnnouncementV0 = OracleAnnouncement, // Backward compatibility alias\n OracleAttestation = 55400,\n OracleAttestationV0 = OracleAttestation, // Backward compatibility alias\n OracleEvent = 55330,\n OracleEventV0 = OracleEvent, // Backward compatibility alias\n\n OracleEventContainer = 61632,\n\n EnumEventDescriptor = 55302,\n EnumEventDescriptorV0 = EnumEventDescriptor, // Backward compatibility alias\n\n DigitDecompositionEventDescriptor = 55306,\n DigitDecompositionEventDescriptorV0 = DigitDecompositionEventDescriptor, // Backward compatibility alias\n\n NegotiationFieldsV0 = 55334,\n NegotiationFieldsV1 = 55336,\n NegotiationFieldsV2 = 55346,\n\n FundingInput = 42772,\n FundingInputV0 = FundingInput, // Backward compatibility alias\n\n DlcInput = 42773,\n\n CetAdaptorSignatures = 42774,\n CetAdaptorSignaturesV0 = CetAdaptorSignatures, // Backward compatibility alias\n\n FundingSignatures = 42776,\n FundingSignaturesV0 = FundingSignatures, // Backward compatibility alias\n\n PayoutFunction = 42790,\n PayoutFunctionV0 = PayoutFunction, // Backward compatibility alias\n\n // PayoutCurvePiece types - kept for backward compatibility\n PolynomialPayoutCurvePiece = 42792,\n HyperbolaPayoutCurvePiece = 42794,\n OldHyperbolaPayoutCurvePiece = 42796, // Legacy support\n\n RoundingIntervals = 42788,\n RoundingIntervalsV0 = RoundingIntervals, // Backward compatibility alias\n\n DlcClose = 52170, // TODO: Temporary type\n DlcCancel = 52172,\n\n /**\n * Dlc Storage Types\n */\n DlcTransactions = 61230,\n DlcTransactionsV0 = DlcTransactions, // Backward compatibility alias\n DlcIds = 61232,\n DlcIdsV0 = DlcIds, // Backward compatibility alias\n DlcInfo = 61234,\n DlcInfoV0 = DlcInfo, // Backward compatibility alias\n\n /**\n * Oracle Identifier\n */\n OracleIdentifier = 61472,\n OracleIdentifierV0 = OracleIdentifier, // Backward compatibility alias\n\n /**\n * Order Message Types\n */\n OrderOffer = 62770,\n OrderAccept = 62772,\n OrderMetadataV0 = 62774,\n OrderIrcInfoV0 = 62776,\n OrderPositionInfo = 62778,\n\n OrderNegotiationFieldsV0 = 65334,\n OrderNegotiationFieldsV1 = 65336,\n\n AddressCache = 65132,\n\n BatchFundingGroup = 65430,\n\n IrcMessageV0 = 59314,\n\n NodeAnnouncement = 51394,\n NodeAnnouncementAddress = 51396,\n}\n\n// New sub-type identifiers for sibling sub-types (as per dlcspecs PR #163)\nexport enum ContractInfoType {\n Single = 0,\n Disjoint = 1,\n}\n\nexport enum ContractDescriptorType {\n Enumerated = 0,\n NumericOutcome = 1,\n}\n\nexport enum OracleInfoType {\n Single = 0,\n Multi = 1,\n}\n\nexport enum NegotiationFieldsType {\n Single = 0,\n Disjoint = 1,\n}\n\nexport enum PayoutCurvePieceType {\n Polynomial = 0,\n Hyperbola = 1,\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4a9b9b2f240c305ef1cc19e2ab1c9148090c5dc5","contentHash":"a0605acd307916b792145967b82bfefde537dae5927136d784dd74574e324421"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/util.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/util.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":67}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":61}},"3":{"start":{"line":5,"column":36},"end":{"line":5,"column":59}},"4":{"start":{"line":7,"column":0},"end":{"line":7,"column":22}},"5":{"start":{"line":14,"column":4},"end":{"line":15,"column":25}},"6":{"start":{"line":15,"column":8},"end":{"line":15,"column":25}},"7":{"start":{"line":16,"column":4},"end":{"line":17,"column":21}},"8":{"start":{"line":17,"column":8},"end":{"line":17,"column":21}},"9":{"start":{"line":18,"column":4},"end":{"line":19,"column":29}},"10":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"11":{"start":{"line":20,"column":4},"end":{"line":21,"column":29}},"12":{"start":{"line":21,"column":8},"end":{"line":21,"column":29}},"13":{"start":{"line":22,"column":4},"end":{"line":22,"column":21}},"14":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"15":{"start":{"line":33,"column":4},"end":{"line":36,"column":5}},"16":{"start":{"line":35,"column":8},"end":{"line":35,"column":29}},"17":{"start":{"line":39,"column":4},"end":{"line":39,"column":17}},"18":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}}},"fnMap":{"0":{"name":"sleep","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":14}},"loc":{"start":{"line":4,"column":19},"end":{"line":6,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":23},"end":{"line":5,"column":24}},"loc":{"start":{"line":5,"column":36},"end":{"line":5,"column":59}},"line":5},"2":{"name":"toBigInt","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":17}},"loc":{"start":{"line":13,"column":25},"end":{"line":23,"column":1}},"line":13},"3":{"name":"bigIntToNumber","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":23}},"loc":{"start":{"line":31,"column":31},"end":{"line":40,"column":1}},"line":31}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":25}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":25}},{"start":{"line":14,"column":4},"end":{"line":15,"column":25}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":22}},{"start":{"line":14,"column":26},"end":{"line":14,"column":45}}],"line":14},"2":{"loc":{"start":{"line":16,"column":4},"end":{"line":17,"column":21}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":17,"column":21}},{"start":{"line":16,"column":4},"end":{"line":17,"column":21}}],"line":16},"3":{"loc":{"start":{"line":18,"column":4},"end":{"line":19,"column":29}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":19,"column":29}},{"start":{"line":18,"column":4},"end":{"line":19,"column":29}}],"line":18},"4":{"loc":{"start":{"line":20,"column":4},"end":{"line":21,"column":29}},"type":"if","locations":[{"start":{"line":20,"column":4},"end":{"line":21,"column":29}},{"start":{"line":20,"column":4},"end":{"line":21,"column":29}}],"line":20},"5":{"loc":{"start":{"line":33,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":33,"column":4},"end":{"line":36,"column":5}},{"start":{"line":33,"column":4},"end":{"line":36,"column":5}}],"line":33},"6":{"loc":{"start":{"line":33,"column":8},"end":{"line":34,"column":48}},"type":"binary-expr","locations":[{"start":{"line":33,"column":8},"end":{"line":33,"column":48}},{"start":{"line":34,"column":8},"end":{"line":34,"column":48}}],"line":33}},"s":{"0":1,"1":1,"2":2,"3":2,"4":1,"5":565,"6":23,"7":542,"8":210,"9":332,"10":0,"11":332,"12":332,"13":0,"14":1,"15":296,"16":184,"17":112,"18":1},"f":{"0":2,"1":2,"2":565,"3":296},"b":{"0":[23,542],"1":[565,565],"2":[210,332],"3":[0,332],"4":[332,0],"5":[184,112],"6":[296,184]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/util.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/util.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,QAAQ,CACtB,KAAkD;IAElD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AARD,4BAQC;AAED;;;;GAIG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,KAAa;IAC1C,0DAA0D;IAC1D,IACE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACxC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EACxC;QACA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IACD,gFAAgF;IAChF,8DAA8D;IAC9D,OAAO,KAAY,CAAC;AACtB,CAAC;AAXD,wCAWC","sourcesContent":["export function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Safely converts various input types to BigInt\n * @param value Value to convert to BigInt\n * @returns BigInt representation of the value, or BigInt(0) for null/undefined\n */\nexport function toBigInt(\n value: string | number | bigint | null | undefined,\n): bigint {\n if (value === null || value === undefined) return BigInt(0);\n if (typeof value === 'bigint') return value;\n if (typeof value === 'string') return BigInt(value);\n if (typeof value === 'number') return BigInt(value);\n return BigInt(0);\n}\n\n/**\n * Safely converts BigInt to number, preserving precision for safe integers\n * @param value BigInt value to convert\n * @returns Number if within safe range, otherwise returns the BigInt as-is for JSON serialization\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function bigIntToNumber(value: bigint): number | any {\n // For values within safe integer range, convert to number\n if (\n value <= BigInt(Number.MAX_SAFE_INTEGER) &&\n value >= BigInt(Number.MIN_SAFE_INTEGER)\n ) {\n return Number(value);\n }\n // For larger values, preserve as BigInt (json-bigint will handle serialization)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return value as any;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c2736bc5be890ea479218d339b52fb131e0a87f0","contentHash":"18172d64b2b9283dcad46428689cc7d1881f6b4def8401de71ea7e790e494cb1"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainMemoryStore.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainMemoryStore.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"2":{"start":{"line":9,"column":8},"end":{"line":9,"column":33}},"3":{"start":{"line":12,"column":8},"end":{"line":12,"column":33}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":49}},"5":{"start":{"line":18,"column":8},"end":{"line":18,"column":44}},"6":{"start":{"line":21,"column":8},"end":{"line":21,"column":70}},"7":{"start":{"line":24,"column":8},"end":{"line":24,"column":40}},"8":{"start":{"line":27,"column":0},"end":{"line":27,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":18},"end":{"line":10,"column":5}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":35},"end":{"line":13,"column":5}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":36},"end":{"line":16,"column":5}},"line":14},"3":{"name":"(anonymous_3)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":42},"end":{"line":19,"column":5}},"line":17},"4":{"name":"(anonymous_4)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":47},"end":{"line":22,"column":5}},"line":20},"5":{"name":"(anonymous_5)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":44},"end":{"line":25,"column":5}},"line":23}},"branchMap":{},"s":{"0":1,"1":1,"2":6,"3":0,"4":8,"5":2,"6":6,"7":0,"8":1},"f":{"0":6,"1":0,"2":8,"3":2,"4":6,"5":0},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainMemoryStore.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/ChainMemoryStore.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAa,gBAAgB;IAA7B;QACU,YAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;IAyBvD,CAAC;IAvBC,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,uBAAuB;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,UAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,eAAgC;QAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;CACF;AA1BD,4CA0BC","sourcesContent":["/* eslint-disable @typescript-eslint/require-await */\nimport { DlcTransactions } from '../messages/DlcTransactions';\nimport { IDlcStore } from './DlcStore';\n\n/**\n * In-memory implementation of the IDlcStore.\n */\nexport class ChainMemoryStore implements IDlcStore {\n private _dlcTxs = new Map<Buffer, DlcTransactions>();\n\n public get dlcTransactionsListCount(): number {\n return this._dlcTxs.size;\n }\n\n public async findDlcTransactionsList(): Promise<DlcTransactions[]> {\n return Array.from(this._dlcTxs.values());\n }\n\n public async findDlcTransactions(\n contractId: Buffer,\n ): Promise<DlcTransactions> {\n return this._dlcTxs.get(contractId);\n }\n\n public async saveDlcTransactions(\n dlcTransactions: DlcTransactions,\n ): Promise<void> {\n this._dlcTxs.set(dlcTransactions.contractId, dlcTransactions);\n }\n\n public async deleteDlcTransactions(contractId: Buffer): Promise<void> {\n this._dlcTxs.delete(contractId);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c6a6d61f2f716ac3c3e9c476c8c78817bf706c5d","contentHash":"0222d5f83511acb3b7044beeea37e807756e070ac6f7ac972c71699aafe0ca74"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/index.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/index.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":126}},"13":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"14":{"start":{"line":14,"column":95},"end":{"line":14,"column":126}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":62}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":21}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":55}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":51}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":66}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":51}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":51}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":58}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":63}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":66}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":64}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":58}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":55}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":55}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":54}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":62}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":52}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":53}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":54}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":56}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":53}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":61}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":61}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":58}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":63}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":63}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":69}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":64}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":63}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":57}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":66}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":62}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":56}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":57}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":58}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":59}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":68}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":56}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":63}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":62}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":63}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":61}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":48}},"60":{"start":{"line":61,"column":12},"end":{"line":61,"column":38}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":100}},"62":{"start":{"line":62,"column":77},"end":{"line":62,"column":94}},"63":{"start":{"line":63,"column":0},"end":{"line":63,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":50},"end":{"line":13,"column":51}},"loc":{"start":{"line":13,"column":71},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":63},"end":{"line":62,"column":64}},"loc":{"start":{"line":62,"column":75},"end":{"line":62,"column":96}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":19},"end":{"line":15,"column":1}},"type":"binary-expr","locations":[{"start":{"line":13,"column":20},"end":{"line":13,"column":24}},{"start":{"line":13,"column":28},"end":{"line":13,"column":45}},{"start":{"line":13,"column":50},"end":{"line":15,"column":1}}],"line":13},"9":{"loc":{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},"type":"if","locations":[{"start":{"line":14,"column":21},"end":{"line":14,"column":126}},{"start":{"line":14,"column":21},"end":{"line":14,"column":126}}],"line":14},"10":{"loc":{"start":{"line":14,"column":25},"end":{"line":14,"column":93}},"type":"binary-expr","locations":[{"start":{"line":14,"column":25},"end":{"line":14,"column":40}},{"start":{"line":14,"column":44},"end":{"line":14,"column":93}}],"line":14}},"s":{"0":1,"1":96,"2":96,"3":96,"4":96,"5":96,"6":292,"7":96,"8":0,"9":0,"10":0,"11":1,"12":44,"13":96,"14":96,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":0,"63":1},"f":{"0":96,"1":292,"2":0,"3":44,"4":0},"b":{"0":[1,1,1],"1":[1,0],"2":[96,0],"3":[96,0],"4":[96,96],"5":[0,96],"6":[96,0],"7":[0,0],"8":[1,1,1],"9":[96,0],"10":[96,96]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/index.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,mDAAiC;AACjC,kEAAgD;AAChD,mDAAiC;AACjC,mDAAiC;AACjC,0DAAwC;AACxC,+DAA6C;AAC7C,kEAAgD;AAChD,gEAA8C;AAC9C,0DAAwC;AACxC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,8DAA4C;AAC5C,oDAAkC;AAClC,qDAAmC;AACnC,sDAAoC;AACpC,wDAAsC;AACtC,sDAAoC;AACpC,qDAAmC;AACnC,6DAA2C;AAC3C,6DAA2C;AAC3C,0DAAwC;AACxC,+DAA6C;AAC7C,+DAA6C;AAC7C,qEAAmD;AACnD,gEAA8C;AAC9C,+DAA6C;AAC7C,yDAAuC;AACvC,kEAAgD;AAChD,8DAA4C;AAC5C,wDAAsC;AACtC,yDAAuC;AACvC,0DAAwC;AACxC,2DAAyC;AACzC,oEAAkD;AAClD,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,4DAA0C;AAC1C,+DAA6C;AAC7C,6DAA2C;AAC3C,gDAA8B;AAC9B,uCAAsC;AAA7B,0FAAA,GAAG,OAAA;AACZ,wDAAsC","sourcesContent":["export * from './chain/ChainManager';\nexport * from './chain/DlcStore';\nexport * from './chain/IChainFilterChainClient';\nexport * from './domain/Address';\nexport * from './irc/IrcMessage';\nexport * from './messages/AddressCache';\nexport * from './messages/BatchFundingGroup';\nexport * from './messages/CetAdaptorSignatures';\nexport * from './messages/ContractDescriptor';\nexport * from './messages/ContractInfo';\nexport * from './messages/DlcAccept';\nexport * from './messages/DlcCancel';\nexport * from './messages/DlcClose';\nexport * from './messages/DlcCloseMetadata';\nexport * from './messages/DlcIds';\nexport * from './messages/DlcInfo';\nexport * from './messages/DlcInput';\nexport * from './messages/DlcMessage';\nexport * from './messages/DlcOffer';\nexport * from './messages/DlcSign';\nexport * from './messages/DlcTransactions';\nexport * from './messages/EventDescriptor';\nexport * from './messages/FundingInput';\nexport * from './messages/FundingSignatures';\nexport * from './messages/NegotiationFields';\nexport * from './messages/NodeAnnouncementMessage';\nexport * from './messages/OracleAnnouncement';\nexport * from './messages/OracleAttestation';\nexport * from './messages/OracleEvent';\nexport * from './messages/OracleEventContainer';\nexport * from './messages/OracleIdentifier';\nexport * from './messages/OracleInfo';\nexport * from './messages/OrderAccept';\nexport * from './messages/OrderIrcInfo';\nexport * from './messages/OrderMetadata';\nexport * from './messages/OrderNegotiationFields';\nexport * from './messages/OrderOffer';\nexport * from './messages/OrderPositionInfo';\nexport * from './messages/PayoutCurvePiece';\nexport * from './messages/PayoutFunction';\nexport * from './messages/RoundingIntervals';\nexport * from './messages/ScriptWitnessV0';\nexport * from './MessageType';\nexport { F64 } from './serialize/F64';\nexport * from './validation/validate';\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"60abaf11339b22a886704aae92fde6855298b579","contentHash":"b3192826839e5ce50828e5edf85c287e26d4653c2a49ccd3ad01263ccc8beab0"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/DlcStore.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/DlcStore.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/DlcStore.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/DlcStore.ts"],"names":[],"mappings":"","sourcesContent":["import { DlcTransactions } from '../messages/DlcTransactions';\n\n/**\n * Interface for storing, finding, and deleting dlc messages.\n */\nexport interface IDlcStore {\n findDlcTransactionsList(): Promise<DlcTransactions[]>;\n findDlcTransactions(contractId: Buffer): Promise<DlcTransactions>;\n saveDlcTransactions(dlcTransactions: DlcTransactions): Promise<void>;\n deleteDlcTransactions(contractId: Buffer): Promise<void>;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"aa1bfcf8d51fcbf0ce0bdf3b43a78ae422f45669","contentHash":"ef1e5976b3530155683115d5b125bd3dbd5d8ae82bd10558981e44f633ad95a8"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/IChainFilterChainClient.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/IChainFilterChainClient.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/IChainFilterChainClient.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/chain/IChainFilterChainClient.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The interface required by the Chainfilter to perform on-chain validation checks\n * of messages. A simplified interface is required by the Chainfilter. The actual\n * chain client implementation may offer a broader set of feautures. Additionally,\n * an adapter could be constructred to make an chain client conform to that required\n * by the Chainfilter.\n */\nexport interface IChainFilterChainClient {\n getBlockchainInfo(): Promise<HasBlocks & HasBestBlockHash>;\n getBlockHash(height: number): Promise<string>;\n getBlock(hash: string): Promise<HasTxStrings & HasHeight & HasHash>;\n getRawBlock(hash: string): Promise<Buffer>;\n getTransaction(txId: string): Promise<HasTransaction>;\n getUtxo(txId: string, voutIdx: number): Promise<HasConfirmations>;\n waitForSync(): Promise<boolean>;\n}\n\nexport type HasBlocks = {\n blocks: number;\n};\n\nexport type HasBestBlockHash = {\n bestblockhash: string;\n};\n\nexport type HasTxStrings = {\n tx: string[];\n};\n\nexport type HasHeight = {\n height: number;\n};\n\nexport type HasHash = {\n hash: string;\n};\n\nexport type HasTransaction = {\n txid: string;\n blockhash: string;\n};\n\nexport type HasScriptPubKey = {\n scriptPubKey: HasHex;\n};\n\nexport type HasValue = {\n value: number;\n};\n\nexport type HasConfirmations = {\n confirmations: string;\n};\n\nexport type HasHex = {\n hex: string;\n};\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8102c152eccf3b16f3c18ed85f35d821a1a3996d","contentHash":"c29bdbeac0de9ab64fe96da5c488432d2e6d912cdd3b8c61904876f697116e85"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/domain/Address.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/domain/Address.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":8,"column":23},"end":{"line":8,"column":52}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":29}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":29}},"7":{"start":{"line":11,"column":24},"end":{"line":11,"column":44}},"8":{"start":{"line":12,"column":24},"end":{"line":12,"column":57}},"9":{"start":{"line":13,"column":21},"end":{"line":13,"column":39}},"10":{"start":{"line":14,"column":21},"end":{"line":14,"column":42}},"11":{"start":{"line":15,"column":25},"end":{"line":15,"column":48}},"12":{"start":{"line":16,"column":8},"end":{"line":16,"column":24}},"13":{"start":{"line":22,"column":8},"end":{"line":22,"column":33}},"14":{"start":{"line":23,"column":8},"end":{"line":23,"column":25}},"15":{"start":{"line":24,"column":8},"end":{"line":24,"column":25}},"16":{"start":{"line":27,"column":8},"end":{"line":27,"column":43}},"17":{"start":{"line":33,"column":23},"end":{"line":33,"column":49}},"18":{"start":{"line":34,"column":8},"end":{"line":34,"column":39}},"19":{"start":{"line":35,"column":27},"end":{"line":35,"column":53}},"20":{"start":{"line":36,"column":8},"end":{"line":36,"column":50}},"21":{"start":{"line":37,"column":8},"end":{"line":37,"column":54}},"22":{"start":{"line":38,"column":8},"end":{"line":38,"column":44}},"23":{"start":{"line":39,"column":8},"end":{"line":39,"column":45}},"24":{"start":{"line":40,"column":8},"end":{"line":40,"column":49}},"25":{"start":{"line":41,"column":8},"end":{"line":41,"column":33}},"26":{"start":{"line":44,"column":0},"end":{"line":44,"column":26}},"27":{"start":{"line":45,"column":0},"end":{"line":45,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":28},"end":{"line":17,"column":5}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":28},"end":{"line":25,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":15},"end":{"line":28,"column":5}},"line":26},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":16},"end":{"line":42,"column":5}},"line":32}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":2,"15":2,"16":0,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1},"f":{"0":1,"1":2,"2":0,"3":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/domain/Address.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/domain/Address.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAE7C,MAAa,OAAO;IAGX,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB;QACtC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAcD;;OAEG;IACH,YAAY,IAAY,EAAE,IAAY;QAf/B,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAgBzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA1DH,0BA2DC;AA1De,YAAI,GAAG,yBAAW,CAAC,uBAAuB,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\n\nexport class Address {\n public static type = MessageType.NodeAnnouncementAddress;\n\n public static deserialize(buf: Buffer): Address {\n const reader = new BufferReader(buf);\n reader.readBigSize(); // read off type\n reader.readBigSize(); // read size\n\n const hostLen = reader.readBigSize();\n const hostBuf = reader.readBytes(Number(hostLen));\n const host = hostBuf.toString();\n const port = reader.readUInt16BE();\n\n const instance = new Address(host, port);\n\n return instance;\n }\n\n public type = Address.type;\n\n /**\n * String notation representation of the host\n */\n public host: string;\n\n /**\n * Port number\n */\n public port: number;\n\n /**\n * Base class representing a network address\n */\n constructor(host: string, port: number) {\n this.host = host;\n this.port = port;\n }\n\n public toString(): string {\n return `${this.host}:${this.port}`;\n }\n\n /**\n * Serializes the dlc_transactions_v0 message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.host.length);\n dataWriter.writeBytes(Buffer.from(this.host));\n dataWriter.writeUInt16BE(this.port);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"64a0885922fd6b02302a757d18f48a2825662f56","contentHash":"9a86b9dadd5fae9fef680778b2c9be930dde44981cea1e99f080af02b6ead834"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/irc/IrcMessage.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/irc/IrcMessage.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":82}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":19},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":21},"end":{"line":7,"column":24}},"6":{"start":{"line":10,"column":23},"end":{"line":10,"column":52}},"7":{"start":{"line":11,"column":21},"end":{"line":11,"column":50}},"8":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"9":{"start":{"line":14,"column":16},"end":{"line":14,"column":53}},"10":{"start":{"line":16,"column":16},"end":{"line":16,"column":73}},"11":{"start":{"line":20,"column":0},"end":{"line":20,"column":32}},"12":{"start":{"line":26,"column":8},"end":{"line":26,"column":28}},"13":{"start":{"line":27,"column":8},"end":{"line":27,"column":38}},"14":{"start":{"line":30,"column":26},"end":{"line":30,"column":28}},"15":{"start":{"line":31,"column":25},"end":{"line":31,"column":52}},"16":{"start":{"line":32,"column":31},"end":{"line":32,"column":67}},"17":{"start":{"line":33,"column":23},"end":{"line":33,"column":52}},"18":{"start":{"line":34,"column":23},"end":{"line":34,"column":33}},"19":{"start":{"line":35,"column":28},"end":{"line":35,"column":67}},"20":{"start":{"line":36,"column":8},"end":{"line":46,"column":9}},"21":{"start":{"line":36,"column":21},"end":{"line":36,"column":22}},"22":{"start":{"line":37,"column":35},"end":{"line":37,"column":36}},"23":{"start":{"line":38,"column":29},"end":{"line":38,"column":47}},"24":{"start":{"line":39,"column":12},"end":{"line":39,"column":61}},"25":{"start":{"line":40,"column":12},"end":{"line":40,"column":61}},"26":{"start":{"line":41,"column":12},"end":{"line":41,"column":41}},"27":{"start":{"line":42,"column":12},"end":{"line":42,"column":37}},"28":{"start":{"line":43,"column":12},"end":{"line":43,"column":45}},"29":{"start":{"line":44,"column":12},"end":{"line":44,"column":95}},"30":{"start":{"line":45,"column":12},"end":{"line":45,"column":37}},"31":{"start":{"line":47,"column":8},"end":{"line":47,"column":25}},"32":{"start":{"line":50,"column":20},"end":{"line":50,"column":36}},"33":{"start":{"line":51,"column":8},"end":{"line":51,"column":52}},"34":{"start":{"line":58,"column":25},"end":{"line":58,"column":43}},"35":{"start":{"line":59,"column":23},"end":{"line":59,"column":52}},"36":{"start":{"line":60,"column":8},"end":{"line":60,"column":29}},"37":{"start":{"line":61,"column":8},"end":{"line":61,"column":47}},"38":{"start":{"line":62,"column":8},"end":{"line":62,"column":55}},"39":{"start":{"line":63,"column":8},"end":{"line":63,"column":55}},"40":{"start":{"line":64,"column":8},"end":{"line":64,"column":50}},"41":{"start":{"line":65,"column":8},"end":{"line":65,"column":50}},"42":{"start":{"line":66,"column":8},"end":{"line":66,"column":47}},"43":{"start":{"line":67,"column":8},"end":{"line":67,"column":51}},"44":{"start":{"line":68,"column":24},"end":{"line":68,"column":45}},"45":{"start":{"line":69,"column":8},"end":{"line":69,"column":50}},"46":{"start":{"line":70,"column":8},"end":{"line":70,"column":24}},"47":{"start":{"line":73,"column":23},"end":{"line":73,"column":49}},"48":{"start":{"line":74,"column":8},"end":{"line":74,"column":49}},"49":{"start":{"line":75,"column":8},"end":{"line":75,"column":49}},"50":{"start":{"line":76,"column":8},"end":{"line":76,"column":44}},"51":{"start":{"line":77,"column":8},"end":{"line":77,"column":39}},"52":{"start":{"line":78,"column":8},"end":{"line":78,"column":45}},"53":{"start":{"line":79,"column":8},"end":{"line":79,"column":47}},"54":{"start":{"line":80,"column":8},"end":{"line":80,"column":37}},"55":{"start":{"line":81,"column":8},"end":{"line":81,"column":33}},"56":{"start":{"line":87,"column":23},"end":{"line":87,"column":49}},"57":{"start":{"line":88,"column":8},"end":{"line":88,"column":39}},"58":{"start":{"line":89,"column":27},"end":{"line":89,"column":53}},"59":{"start":{"line":90,"column":8},"end":{"line":90,"column":53}},"60":{"start":{"line":91,"column":8},"end":{"line":91,"column":53}},"61":{"start":{"line":92,"column":8},"end":{"line":92,"column":48}},"62":{"start":{"line":93,"column":8},"end":{"line":93,"column":46}},"63":{"start":{"line":94,"column":8},"end":{"line":94,"column":43}},"64":{"start":{"line":95,"column":8},"end":{"line":95,"column":49}},"65":{"start":{"line":96,"column":8},"end":{"line":96,"column":51}},"66":{"start":{"line":97,"column":8},"end":{"line":97,"column":41}},"67":{"start":{"line":98,"column":8},"end":{"line":98,"column":45}},"68":{"start":{"line":99,"column":8},"end":{"line":99,"column":49}},"69":{"start":{"line":100,"column":8},"end":{"line":100,"column":33}},"70":{"start":{"line":103,"column":0},"end":{"line":103,"column":36}},"71":{"start":{"line":104,"column":0},"end":{"line":104,"column":59}},"72":{"start":{"line":107,"column":8},"end":{"line":107,"column":45}},"73":{"start":{"line":108,"column":8},"end":{"line":108,"column":45}},"74":{"start":{"line":109,"column":8},"end":{"line":109,"column":33}},"75":{"start":{"line":110,"column":8},"end":{"line":110,"column":35}},"76":{"start":{"line":111,"column":8},"end":{"line":111,"column":29}},"77":{"start":{"line":112,"column":8},"end":{"line":112,"column":25}},"78":{"start":{"line":115,"column":0},"end":{"line":115,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":18,"column":5}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":18},"end":{"line":28,"column":5}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":4},"end":{"line":29,"column":5}},"loc":{"start":{"line":29,"column":35},"end":{"line":48,"column":5}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":4},"end":{"line":49,"column":5}},"loc":{"start":{"line":49,"column":35},"end":{"line":52,"column":5}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":28},"end":{"line":71,"column":5}},"line":57},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":26},"end":{"line":82,"column":5}},"line":72},"6":{"name":"(anonymous_6)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":16},"end":{"line":101,"column":5}},"line":86},"7":{"name":"(anonymous_7)","decl":{"start":{"line":106,"column":4},"end":{"line":106,"column":5}},"loc":{"start":{"line":106,"column":83},"end":{"line":113,"column":5}},"line":106}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":17,"column":9}},"type":"switch","locations":[{"start":{"line":13,"column":12},"end":{"line":14,"column":53}},{"start":{"line":15,"column":12},"end":{"line":16,"column":73}}],"line":12}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":7,"13":7,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":5,"23":5,"24":5,"25":5,"26":5,"27":5,"28":5,"29":5,"30":5,"31":1,"32":0,"33":0,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":1},"f":{"0":0,"1":7,"2":1,"3":0,"4":1,"5":0,"6":1,"7":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/irc/IrcMessage.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/irc/IrcMessage.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { crc32c } from '@node-dlc/checksum';\n\nimport { MessageType } from '../MessageType';\n\nconst MAX_DATA_LEN = 190;\n\nexport abstract class IrcMessage {\n public static deserialize(buf: Buffer): IrcMessageV0 {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readUInt16BE());\n\n switch (type) {\n case MessageType.IrcMessageV0:\n return IrcMessageV0.deserialize(buf);\n default:\n throw new Error(`Irc message type must be IrcMessageV0`);\n }\n }\n\n public abstract type: number;\n\n public abstract serialize(): Buffer;\n}\n\n/**\n * IrcMessage contains information for Irc message packet.\n */\nexport class IrcMessageV0 extends IrcMessage {\n public static type = MessageType.IrcMessageV0;\n\n public static fromBuffer(buf: Buffer, pubkey: Buffer): IrcMessageV0[] {\n const instances: IrcMessageV0[] = [];\n\n const checksum = crc32c(buf);\n\n const sequenceLength = Math.ceil(buf.length / MAX_DATA_LEN);\n\n const reader = new BufferReader(buf);\n const bufLen = buf.length;\n\n const currentTime = Math.floor(new Date().getTime() / 1000);\n\n for (let i = 0; i < sequenceLength; i++) {\n const sequenceNumber = i;\n const instance = new IrcMessageV0();\n\n instance.sequenceLength = BigInt(sequenceLength);\n instance.sequenceNumber = BigInt(sequenceNumber);\n instance.checksum = checksum;\n instance.pubkey = pubkey;\n instance.timestamp = currentTime;\n instance.data = reader.readBytes(\n Math.min(MAX_DATA_LEN, bufLen - reader.position),\n );\n\n instances.push(instance);\n }\n\n return instances;\n }\n\n public static fromString(str: string, pubkey: Buffer): IrcMessageV0[] {\n const buf = Buffer.from(str);\n\n return IrcMessageV0.fromBuffer(buf, pubkey);\n }\n\n /**\n * Deserializes an irc message\n * @param buf\n */\n public static deserialize(buf: Buffer): IrcMessageV0 {\n const instance = new IrcMessageV0();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n\n instance.length = reader.readBigSize();\n\n instance.sequenceLength = reader.readBigSize();\n instance.sequenceNumber = reader.readBigSize();\n\n instance.checksum = reader.readUInt32BE();\n\n instance.signature = reader.readBytes(64);\n instance.pubkey = reader.readBytes(33);\n instance.timestamp = reader.readUInt32BE();\n\n const dataLen = reader.readUInt16BE();\n instance.data = reader.readBytes(dataLen);\n\n return instance;\n }\n\n public type = IrcMessageV0.type;\n\n public length: bigint;\n\n public sequenceLength: bigint;\n\n public sequenceNumber: bigint;\n\n public checksum: number;\n\n public signature: Buffer;\n\n public pubkey: Buffer;\n\n public timestamp: number;\n\n public data: Buffer;\n\n public serializeWithoutSig(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.sequenceLength);\n writer.writeBigSize(this.sequenceNumber);\n writer.writeUInt64BE(this.checksum);\n writer.writeBytes(this.pubkey);\n writer.writeUInt32BE(this.timestamp);\n writer.writeUInt16BE(this.data.length);\n writer.writeBytes(this.data);\n\n return writer.toBuffer();\n }\n\n /**\n * Serializes the irc_message_v0\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.sequenceLength);\n dataWriter.writeBigSize(this.sequenceNumber);\n dataWriter.writeUInt32BE(this.checksum);\n dataWriter.writeBytes(this.signature);\n dataWriter.writeBytes(this.pubkey);\n dataWriter.writeUInt32BE(this.timestamp);\n dataWriter.writeUInt16BE(this.data.length);\n dataWriter.writeBytes(this.data);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport class IrcMessageWithoutSig {\n constructor(\n readonly sequenceLength: bigint,\n readonly sequenceNumber: bigint,\n readonly checksum: number,\n readonly signature: Buffer,\n readonly pubkey: Buffer,\n readonly data: Buffer,\n ) {}\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a256b87e15c57ac40b98461cbf35067e12777266","contentHash":"e5f5f50997dd9df396047652a06b25efc04ac2ca15719382df5ed7e70a39fa6d"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/AddressCache.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/AddressCache.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":24},"end":{"line":5,"column":48}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":9,"column":8},"end":{"line":9,"column":38}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":28}},"7":{"start":{"line":13,"column":25},"end":{"line":13,"column":43}},"8":{"start":{"line":14,"column":8},"end":{"line":16,"column":9}},"9":{"start":{"line":15,"column":12},"end":{"line":15,"column":103}},"10":{"start":{"line":17,"column":8},"end":{"line":17,"column":24}},"11":{"start":{"line":20,"column":25},"end":{"line":20,"column":43}},"12":{"start":{"line":21,"column":23},"end":{"line":21,"column":52}},"13":{"start":{"line":22,"column":8},"end":{"line":22,"column":30}},"14":{"start":{"line":23,"column":8},"end":{"line":23,"column":29}},"15":{"start":{"line":24,"column":8},"end":{"line":28,"column":9}},"16":{"start":{"line":25,"column":32},"end":{"line":25,"column":52}},"17":{"start":{"line":26,"column":29},"end":{"line":26,"column":66}},"18":{"start":{"line":27,"column":12},"end":{"line":27,"column":46}},"19":{"start":{"line":29,"column":8},"end":{"line":29,"column":24}},"20":{"start":{"line":32,"column":29},"end":{"line":32,"column":31}},"21":{"start":{"line":33,"column":8},"end":{"line":35,"column":9}},"22":{"start":{"line":34,"column":12},"end":{"line":34,"column":93}},"23":{"start":{"line":36,"column":8},"end":{"line":36,"column":28}},"24":{"start":{"line":39,"column":23},"end":{"line":39,"column":49}},"25":{"start":{"line":40,"column":8},"end":{"line":40,"column":40}},"26":{"start":{"line":41,"column":8},"end":{"line":41,"column":51}},"27":{"start":{"line":42,"column":8},"end":{"line":45,"column":9}},"28":{"start":{"line":43,"column":12},"end":{"line":43,"column":49}},"29":{"start":{"line":44,"column":12},"end":{"line":44,"column":40}},"30":{"start":{"line":46,"column":8},"end":{"line":46,"column":33}},"31":{"start":{"line":49,"column":0},"end":{"line":49,"column":36}},"32":{"start":{"line":50,"column":0},"end":{"line":50,"column":59}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":4},"end":{"line":8,"column":5}},"loc":{"start":{"line":8,"column":18},"end":{"line":11,"column":5}},"line":8},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":57},"end":{"line":18,"column":5}},"line":12},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":4},"end":{"line":19,"column":5}},"loc":{"start":{"line":19,"column":28},"end":{"line":30,"column":5}},"line":19},"3":{"name":"(anonymous_3)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":28},"end":{"line":37,"column":5}},"line":31},"4":{"name":"(anonymous_4)","decl":{"start":{"line":38,"column":4},"end":{"line":38,"column":5}},"loc":{"start":{"line":38,"column":16},"end":{"line":47,"column":5}},"line":38}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":4,"6":4,"7":1,"8":1,"9":2,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"20":1,"21":1,"22":2,"23":1,"24":1,"25":1,"26":1,"27":1,"28":2,"29":2,"30":1,"31":1,"32":1},"f":{"0":4,"1":1,"2":1,"3":1,"4":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/AddressCache.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/AddressCache.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,iDAAwC;AAExC,gDAA6C;AAE7C,MAAa,YAAY;IAAzB;QAmCS,SAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAEzB,cAAS,GAAa,EAAE,CAAC;IA0BlC,CAAC;IA5DQ,MAAM,CAAC,gBAAgB,CAC5B,kBAAmC,EACnC,OAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAEpC,KAAK,MAAM,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YAC9D,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB,uBAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAClD,CAAC;SACH;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QACnC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB;QAEvC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YAClB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAEvD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMM,cAAc,CAAC,OAAuB;QAC3C,MAAM,YAAY,GAAoB,EAAE,CAAC;QAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,YAAY,CAAC,uBAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;SAClE;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC7B;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA9DH,oCA+DC;AA9De,iBAAI,GAAG,yBAAW,CAAC,YAAY,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { BitcoinNetwork } from 'bitcoin-networks';\nimport { address } from 'bitcoinjs-lib';\n\nimport { MessageType } from '../MessageType';\n\nexport class AddressCache {\n public static type = MessageType.AddressCache;\n\n public static fromAddressCache(\n addressesBlacklist: IAddressCache[],\n network: BitcoinNetwork,\n ): AddressCache {\n const instance = new AddressCache();\n\n for (const blacklistAddress of Object.keys(addressesBlacklist)) {\n instance.cacheSPKs.push(\n address.toOutputScript(blacklistAddress, network),\n );\n }\n\n return instance;\n }\n\n public static deserialize(buf: Buffer): AddressCache {\n const instance = new AddressCache();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n reader.readBigSize(); // num_cache_spks\n\n while (!reader.eof) {\n const cacheSPKLen = reader.readBigSize();\n const cacheSPK = reader.readBytes(Number(cacheSPKLen));\n\n instance.cacheSPKs.push(cacheSPK);\n }\n\n return instance;\n }\n\n public type = AddressCache.type;\n\n public cacheSPKs: Buffer[] = [];\n\n public toAddressCache(network: BitcoinNetwork): IAddressCache[] {\n const addressCache: IAddressCache[] = [];\n\n for (const cacheSPK of this.cacheSPKs) {\n addressCache[address.fromOutputScript(cacheSPK, network)] = true;\n }\n\n return addressCache;\n }\n\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeUInt16BE(this.type);\n\n writer.writeBigSize(this.cacheSPKs.length);\n\n for (const cacheSPK of this.cacheSPKs) {\n writer.writeBigSize(cacheSPK.length);\n writer.writeBytes(cacheSPK);\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IAddressCache {\n [x: string]: boolean;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8e7c3a0638cd0c90bed6186577c76bf7bf5ed549","contentHash":"a03a9e69e3f5aca7d64f8244a97bc106489b6f5147f3c45f010046bbf0b329cb"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/BatchFundingGroup.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/BatchFundingGroup.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":37,"column":8},"end":{"line":37,"column":43}},"6":{"start":{"line":38,"column":8},"end":{"line":38,"column":34}},"7":{"start":{"line":39,"column":8},"end":{"line":39,"column":30}},"8":{"start":{"line":40,"column":8},"end":{"line":40,"column":27}},"9":{"start":{"line":47,"column":25},"end":{"line":47,"column":48}},"10":{"start":{"line":48,"column":23},"end":{"line":48,"column":52}},"11":{"start":{"line":49,"column":8},"end":{"line":49,"column":29}},"12":{"start":{"line":50,"column":8},"end":{"line":50,"column":47}},"13":{"start":{"line":51,"column":37},"end":{"line":51,"column":57}},"14":{"start":{"line":52,"column":8},"end":{"line":55,"column":9}},"15":{"start":{"line":52,"column":21},"end":{"line":52,"column":22}},"16":{"start":{"line":53,"column":27},"end":{"line":53,"column":47}},"17":{"start":{"line":54,"column":12},"end":{"line":54,"column":76}},"18":{"start":{"line":56,"column":33},"end":{"line":56,"column":53}},"19":{"start":{"line":57,"column":8},"end":{"line":60,"column":9}},"20":{"start":{"line":57,"column":21},"end":{"line":57,"column":22}},"21":{"start":{"line":58,"column":27},"end":{"line":58,"column":47}},"22":{"start":{"line":59,"column":12},"end":{"line":59,"column":72}},"23":{"start":{"line":61,"column":8},"end":{"line":61,"column":87}},"24":{"start":{"line":62,"column":30},"end":{"line":62,"column":50}},"25":{"start":{"line":63,"column":8},"end":{"line":67,"column":9}},"26":{"start":{"line":63,"column":21},"end":{"line":63,"column":22}},"27":{"start":{"line":64,"column":34},"end":{"line":64,"column":54}},"28":{"start":{"line":65,"column":31},"end":{"line":65,"column":70}},"29":{"start":{"line":66,"column":12},"end":{"line":66,"column":58}},"30":{"start":{"line":68,"column":8},"end":{"line":68,"column":24}},"31":{"start":{"line":74,"column":8},"end":{"line":80,"column":10}},"32":{"start":{"line":76,"column":62},"end":{"line":76,"column":80}},"33":{"start":{"line":77,"column":54},"end":{"line":77,"column":72}},"34":{"start":{"line":86,"column":23},"end":{"line":86,"column":49}},"35":{"start":{"line":87,"column":8},"end":{"line":87,"column":39}},"36":{"start":{"line":88,"column":27},"end":{"line":88,"column":53}},"37":{"start":{"line":89,"column":8},"end":{"line":89,"column":61}},"38":{"start":{"line":90,"column":8},"end":{"line":93,"column":11}},"39":{"start":{"line":91,"column":12},"end":{"line":91,"column":47}},"40":{"start":{"line":92,"column":12},"end":{"line":92,"column":38}},"41":{"start":{"line":94,"column":8},"end":{"line":94,"column":57}},"42":{"start":{"line":95,"column":8},"end":{"line":98,"column":11}},"43":{"start":{"line":96,"column":12},"end":{"line":96,"column":47}},"44":{"start":{"line":97,"column":12},"end":{"line":97,"column":38}},"45":{"start":{"line":99,"column":8},"end":{"line":99,"column":64}},"46":{"start":{"line":100,"column":8},"end":{"line":100,"column":54}},"47":{"start":{"line":101,"column":8},"end":{"line":105,"column":11}},"48":{"start":{"line":102,"column":29},"end":{"line":102,"column":44}},"49":{"start":{"line":103,"column":12},"end":{"line":103,"column":47}},"50":{"start":{"line":104,"column":12},"end":{"line":104,"column":44}},"51":{"start":{"line":106,"column":8},"end":{"line":106,"column":45}},"52":{"start":{"line":107,"column":8},"end":{"line":107,"column":49}},"53":{"start":{"line":108,"column":8},"end":{"line":108,"column":33}},"54":{"start":{"line":111,"column":0},"end":{"line":111,"column":46}},"55":{"start":{"line":112,"column":0},"end":{"line":112,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":18},"end":{"line":41,"column":5}},"line":33},"1":{"name":"(anonymous_1)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":28},"end":{"line":69,"column":5}},"line":46},"2":{"name":"(anonymous_2)","decl":{"start":{"line":73,"column":4},"end":{"line":73,"column":5}},"loc":{"start":{"line":73,"column":13},"end":{"line":81,"column":5}},"line":73},"3":{"name":"(anonymous_3)","decl":{"start":{"line":76,"column":54},"end":{"line":76,"column":55}},"loc":{"start":{"line":76,"column":62},"end":{"line":76,"column":80}},"line":76},"4":{"name":"(anonymous_4)","decl":{"start":{"line":77,"column":46},"end":{"line":77,"column":47}},"loc":{"start":{"line":77,"column":54},"end":{"line":77,"column":72}},"line":77},"5":{"name":"(anonymous_5)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":16},"end":{"line":109,"column":5}},"line":85},"6":{"name":"(anonymous_6)","decl":{"start":{"line":90,"column":37},"end":{"line":90,"column":38}},"loc":{"start":{"line":90,"column":45},"end":{"line":93,"column":9}},"line":90},"7":{"name":"(anonymous_7)","decl":{"start":{"line":95,"column":33},"end":{"line":95,"column":34}},"loc":{"start":{"line":95,"column":41},"end":{"line":98,"column":9}},"line":95},"8":{"name":"(anonymous_8)","decl":{"start":{"line":101,"column":30},"end":{"line":101,"column":31}},"loc":{"start":{"line":101,"column":38},"end":{"line":105,"column":9}},"line":101}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":8,"6":8,"7":8,"8":8,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":4,"16":3,"17":3,"18":4,"19":4,"20":4,"21":3,"22":3,"23":4,"24":4,"25":4,"26":4,"27":10,"28":10,"29":10,"30":4,"31":2,"32":0,"33":0,"34":10,"35":10,"36":10,"37":10,"38":10,"39":9,"40":9,"41":10,"42":10,"43":9,"44":9,"45":10,"46":10,"47":10,"48":28,"49":28,"50":28,"51":10,"52":10,"53":10,"54":1,"55":1},"f":{"0":8,"1":4,"2":2,"3":0,"4":0,"5":10,"6":9,"7":9,"8":28},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/BatchFundingGroup.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/BatchFundingGroup.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAC1C,2CAA6D;AAE7D,gDAA6C;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAa,iBAAiB;IAA9B;QAsCE;;WAEG;QACI,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAI9B,oBAAe,GAAa,EAAE,CAAC;QAE/B,gBAAW,GAAa,EAAE,CAAC;QAI3B,aAAQ,GAAa,EAAE,CAAC;IAkDjC,CAAC;IAlGC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACpC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjE;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACpC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC7D;QAED,QAAQ,CAAC,mBAAmB,GAAG,eAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/C;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAiBD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7D,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QAEtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAClC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAExD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AApGH,8CAqGC;AApGe,sBAAI,GAAG,yBAAW,CAAC,iBAAiB,CAAC","sourcesContent":["import { Value } from '@node-dlc/bitcoin';\nimport { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * The BatchFundingGroup TLV contains information about the intent to\n * enter multiple DLCs simulatenously within one batch dlc funding\n * transaction in the contract negotiation stage of the peer protocol\n *\n * This is the first step toward creating a batch dlc funding transaction\n *\n * A DlcOffer or DlcAccept can contain one or multiple BatchFundingInfo\n * TLVs to specify one or more groupings. This allows specification of\n * collateral put towards different types of contracts, such as options\n * contracts, futures contracts, or other investment types.\n *\n * Attributes:\n * - tempContractIds: Temporary identifiers for contracts proposed in DlcOffers.\n * - contractIds: Identifiers for contracts that have been accepted and are\n * part of the funding transaction. These are derived from DlcOffers and DlcAccepts.\n * - allocatedCollateral: The amount of collateral allocated to the contracts\n * within this group. This is specified early in the negotiation process.\n * - eventIds: Oracle event identifiers for the contracts in this group. These\n * are also specified early in the negotiation process.\n *\n * Note: During the early stages of the negotiation protocol, only allocatedCollateral\n * and eventIds are specified. tempContractIds and contractIds are added to the\n * DlcAccept upon creation.\n */\nexport class BatchFundingGroup implements IDlcMessage {\n public static type = MessageType.BatchFundingGroup;\n\n /**\n * Deserializes a batch_contract_info message\n * @param buf\n */\n public static deserialize(buf: Buffer): BatchFundingGroup {\n const instance = new BatchFundingGroup();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n const tempContractIdsCount = reader.readBigSize();\n for (let i = 0; i < Number(tempContractIdsCount); i++) {\n const length = reader.readBigSize();\n instance.tempContractIds.push(reader.readBytes(Number(length)));\n }\n\n const contractIdsCount = reader.readBigSize();\n for (let i = 0; i < Number(contractIdsCount); i++) {\n const length = reader.readBigSize();\n instance.contractIds.push(reader.readBytes(Number(length)));\n }\n\n instance.allocatedCollateral = Value.fromSats(reader.readUInt64BE());\n\n const eventIdsCount = reader.readBigSize();\n for (let i = 0; i < Number(eventIdsCount); i++) {\n const eventIdLength = reader.readBigSize();\n const eventIdBuf = reader.readBytes(Number(eventIdLength));\n instance.eventIds.push(eventIdBuf.toString());\n }\n\n return instance;\n }\n\n /**\n * The type for batch_contract_info message.\n */\n public type = BatchFundingGroup.type;\n\n public length: bigint;\n\n public tempContractIds: Buffer[] = [];\n\n public contractIds: Buffer[] = [];\n\n public allocatedCollateral: Value;\n\n public eventIds: string[] = [];\n\n /**\n * Converts batch_funding_info to JSON\n */\n public toJSON(): IBatchFundingGroupJSON {\n return {\n type: this.type,\n tempContractIds: this.tempContractIds.map((id) => id.toString('hex')),\n contractIds: this.contractIds.map((id) => id.toString('hex')),\n totalCollateral: Number(this.allocatedCollateral.sats),\n eventIds: this.eventIds,\n };\n }\n\n /**\n * Serializes the batch_funding_info message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n\n dataWriter.writeBigSize(this.tempContractIds.length);\n this.tempContractIds.forEach((id) => {\n dataWriter.writeBigSize(id.length);\n dataWriter.writeBytes(id);\n });\n\n dataWriter.writeBigSize(this.contractIds.length);\n this.contractIds.forEach((id) => {\n dataWriter.writeBigSize(id.length);\n dataWriter.writeBytes(id);\n });\n\n dataWriter.writeUInt64BE(this.allocatedCollateral.sats);\n\n dataWriter.writeBigSize(this.eventIds.length);\n this.eventIds.forEach((id) => {\n const idBuffer = Buffer.from(id);\n dataWriter.writeBigSize(id.length);\n dataWriter.writeBytes(idBuffer);\n });\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IBatchFundingGroupJSON {\n type: number;\n tempContractIds: string[];\n contractIds: string[];\n totalCollateral: number;\n eventIds: string[];\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8c9520ad2de8f29f75f3ee623a611c092d773927","contentHash":"dfb1d8cb74b955724718bf9b9e22ed47a3e53c7d39dc3aabc07c43668e667a38"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/CetAdaptorSignatures.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/CetAdaptorSignatures.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":38}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":46}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":23}},"6":{"start":{"line":23,"column":25},"end":{"line":23,"column":51}},"7":{"start":{"line":24,"column":23},"end":{"line":24,"column":52}},"8":{"start":{"line":25,"column":29},"end":{"line":25,"column":57}},"9":{"start":{"line":27,"column":8},"end":{"line":31,"column":9}},"10":{"start":{"line":27,"column":21},"end":{"line":27,"column":22}},"11":{"start":{"line":28,"column":33},"end":{"line":28,"column":53}},"12":{"start":{"line":29,"column":30},"end":{"line":29,"column":50}},"13":{"start":{"line":30,"column":12},"end":{"line":30,"column":60}},"14":{"start":{"line":32,"column":8},"end":{"line":32,"column":24}},"15":{"start":{"line":38,"column":8},"end":{"line":46,"column":10}},"16":{"start":{"line":41,"column":34},"end":{"line":41,"column":82}},"17":{"start":{"line":42,"column":16},"end":{"line":44,"column":18}},"18":{"start":{"line":52,"column":23},"end":{"line":52,"column":49}},"19":{"start":{"line":54,"column":27},"end":{"line":54,"column":53}},"20":{"start":{"line":55,"column":8},"end":{"line":55,"column":50}},"21":{"start":{"line":56,"column":8},"end":{"line":59,"column":9}},"22":{"start":{"line":57,"column":12},"end":{"line":57,"column":52}},"23":{"start":{"line":58,"column":12},"end":{"line":58,"column":49}},"24":{"start":{"line":61,"column":8},"end":{"line":61,"column":49}},"25":{"start":{"line":62,"column":8},"end":{"line":62,"column":33}},"26":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"27":{"start":{"line":66,"column":0},"end":{"line":66,"column":75}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":18},"end":{"line":17,"column":5}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":5}},"loc":{"start":{"line":22,"column":28},"end":{"line":33,"column":5}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":13},"end":{"line":47,"column":5}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":39,"column":50},"end":{"line":39,"column":51}},"loc":{"start":{"line":39,"column":59},"end":{"line":45,"column":13}},"line":39},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":4},"end":{"line":51,"column":5}},"loc":{"start":{"line":51,"column":16},"end":{"line":63,"column":5}},"line":51}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":191,"5":191,"6":100,"7":100,"8":100,"9":100,"10":100,"11":15293,"12":15293,"13":15293,"14":100,"15":35,"16":5133,"17":5133,"18":213,"19":213,"20":213,"21":213,"22":30629,"23":30629,"24":213,"25":213,"26":1,"27":1},"f":{"0":191,"1":100,"2":35,"3":5133,"4":213},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/CetAdaptorSignatures.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/CetAdaptorSignatures.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;;GAGG;AACH,MAAa,oBAAoB;IAAjC;QAuBE;;WAEG;QACI,SAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAIjC,SAAI,GAAW,EAAE,CAAC;IAoC3B,CAAC;IA/DC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB;QAEnE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;SACjD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5C,yFAAyF;gBACzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACrC,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,kCAAkC;QAElC,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACtC;QAED,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAjEH,oDAkEC;AAjEe,yBAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * CetAdaptorSignatures contains CET signatures and any necessary\n * information linking the signatures to their corresponding outcome\n */\nexport class CetAdaptorSignatures implements IDlcMessage {\n public static type = MessageType.CetAdaptorSignatures;\n\n /**\n * Deserializes a cet_adaptor_signature message\n * @param buf\n */\n public static deserialize(buf: Buffer): CetAdaptorSignatures {\n const instance = new CetAdaptorSignatures();\n const reader = new BufferReader(buf);\n\n const nbSignatures = Number(reader.readBigSize()); // nb_signatures\n\n // Read exactly nbSignatures * (65 + 97) bytes to match serialize format\n for (let i = 0; i < nbSignatures; i++) {\n const encryptedSig = reader.readBytes(65);\n const dleqProof = reader.readBytes(97);\n instance.sigs.push({ encryptedSig, dleqProof });\n }\n\n return instance;\n }\n\n /**\n * The type for cet_adaptor_signature message. cet_adaptor_signature = 42774\n */\n public type = CetAdaptorSignatures.type;\n\n public length: bigint;\n\n public sigs: ISig[] = [];\n\n /**\n * Converts cet_adaptor_signature to JSON (canonical rust-dlc format)\n */\n public toJSON(): ICetAdaptorSignaturesJSON {\n return {\n ecdsaAdaptorSignatures: this.sigs.map((sig) => {\n // Combine encryptedSig and dleqProof into single signature field as expected by rust-dlc\n const signature = Buffer.concat([sig.encryptedSig, sig.dleqProof]);\n return {\n signature: signature.toString('hex'),\n };\n }),\n };\n }\n\n /**\n * Serializes the cet_adaptor_signature message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.sigs.length);\n\n for (const sig of this.sigs) {\n dataWriter.writeBytes(sig.encryptedSig);\n dataWriter.writeBytes(sig.dleqProof);\n }\n\n // writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n return writer.toBuffer();\n }\n}\n\ninterface ISig {\n encryptedSig: Buffer;\n dleqProof: Buffer;\n}\n\nexport interface ICetAdaptorSignaturesJSON {\n ecdsaAdaptorSignatures: ISigJSON[];\n}\n\nexport interface ISigJSON {\n signature: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"58d9ce43263609b76502c3c9d77d5485b9a07558","contentHash":"e5916ad0b0eceff68cd3c1f0963d95684fb3216026e3d5a02b52bda5e6216be5"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractDescriptor.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractDescriptor.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":159}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":25},"end":{"line":6,"column":52}},"5":{"start":{"line":7,"column":28},"end":{"line":7,"column":58}},"6":{"start":{"line":10,"column":23},"end":{"line":10,"column":52}},"7":{"start":{"line":11,"column":23},"end":{"line":11,"column":51}},"8":{"start":{"line":12,"column":8},"end":{"line":19,"column":9}},"9":{"start":{"line":14,"column":16},"end":{"line":14,"column":61}},"10":{"start":{"line":16,"column":16},"end":{"line":16,"column":60}},"11":{"start":{"line":18,"column":16},"end":{"line":18,"column":120}},"12":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"13":{"start":{"line":28,"column":12},"end":{"line":28,"column":62}},"14":{"start":{"line":31,"column":8},"end":{"line":44,"column":9}},"15":{"start":{"line":33,"column":12},"end":{"line":34,"column":53}},"16":{"start":{"line":37,"column":13},"end":{"line":44,"column":9}},"17":{"start":{"line":39,"column":12},"end":{"line":40,"column":58}},"18":{"start":{"line":43,"column":12},"end":{"line":43,"column":132}},"19":{"start":{"line":47,"column":0},"end":{"line":47,"column":48}},"20":{"start":{"line":55,"column":8},"end":{"line":55,"column":28}},"21":{"start":{"line":59,"column":8},"end":{"line":59,"column":67}},"22":{"start":{"line":63,"column":8},"end":{"line":63,"column":86}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":27}},"24":{"start":{"line":72,"column":25},"end":{"line":72,"column":51}},"25":{"start":{"line":73,"column":24},"end":{"line":73,"column":42}},"26":{"start":{"line":75,"column":8},"end":{"line":78,"column":12}},"27":{"start":{"line":75,"column":53},"end":{"line":78,"column":9}},"28":{"start":{"line":79,"column":8},"end":{"line":79,"column":24}},"29":{"start":{"line":86,"column":25},"end":{"line":86,"column":51}},"30":{"start":{"line":87,"column":23},"end":{"line":87,"column":52}},"31":{"start":{"line":88,"column":8},"end":{"line":88,"column":29}},"32":{"start":{"line":89,"column":28},"end":{"line":89,"column":56}},"33":{"start":{"line":90,"column":8},"end":{"line":98,"column":9}},"34":{"start":{"line":90,"column":21},"end":{"line":90,"column":22}},"35":{"start":{"line":91,"column":31},"end":{"line":91,"column":59}},"36":{"start":{"line":92,"column":28},"end":{"line":92,"column":67}},"37":{"start":{"line":93,"column":32},"end":{"line":93,"column":53}},"38":{"start":{"line":94,"column":12},"end":{"line":97,"column":15}},"39":{"start":{"line":99,"column":8},"end":{"line":99,"column":24}},"40":{"start":{"line":106,"column":8},"end":{"line":113,"column":10}},"41":{"start":{"line":108,"column":57},"end":{"line":111,"column":17}},"42":{"start":{"line":119,"column":23},"end":{"line":119,"column":49}},"43":{"start":{"line":120,"column":8},"end":{"line":120,"column":57}},"44":{"start":{"line":121,"column":8},"end":{"line":121,"column":50}},"45":{"start":{"line":122,"column":8},"end":{"line":126,"column":9}},"46":{"start":{"line":123,"column":12},"end":{"line":123,"column":56}},"47":{"start":{"line":124,"column":12},"end":{"line":124,"column":60}},"48":{"start":{"line":125,"column":12},"end":{"line":125,"column":54}},"49":{"start":{"line":127,"column":8},"end":{"line":127,"column":33}},"50":{"start":{"line":130,"column":0},"end":{"line":130,"column":52}},"51":{"start":{"line":131,"column":0},"end":{"line":131,"column":94}},"52":{"start":{"line":139,"column":8},"end":{"line":139,"column":28}},"53":{"start":{"line":143,"column":8},"end":{"line":143,"column":67}},"54":{"start":{"line":147,"column":8},"end":{"line":147,"column":90}},"55":{"start":{"line":155,"column":25},"end":{"line":155,"column":50}},"56":{"start":{"line":156,"column":8},"end":{"line":156,"column":68}},"57":{"start":{"line":158,"column":8},"end":{"line":158,"column":120}},"58":{"start":{"line":160,"column":8},"end":{"line":160,"column":135}},"59":{"start":{"line":161,"column":8},"end":{"line":161,"column":24}},"60":{"start":{"line":168,"column":25},"end":{"line":168,"column":50}},"61":{"start":{"line":169,"column":23},"end":{"line":169,"column":52}},"62":{"start":{"line":170,"column":8},"end":{"line":170,"column":29}},"63":{"start":{"line":171,"column":8},"end":{"line":171,"column":51}},"64":{"start":{"line":173,"column":39},"end":{"line":173,"column":54}},"65":{"start":{"line":174,"column":35},"end":{"line":174,"column":119}},"66":{"start":{"line":175,"column":8},"end":{"line":175,"column":53}},"67":{"start":{"line":177,"column":35},"end":{"line":177,"column":72}},"68":{"start":{"line":178,"column":8},"end":{"line":178,"column":70}},"69":{"start":{"line":180,"column":8},"end":{"line":180,"column":128}},"70":{"start":{"line":181,"column":8},"end":{"line":181,"column":24}},"71":{"start":{"line":189,"column":8},"end":{"line":189,"column":42}},"72":{"start":{"line":196,"column":8},"end":{"line":202,"column":10}},"73":{"start":{"line":208,"column":23},"end":{"line":208,"column":49}},"74":{"start":{"line":209,"column":8},"end":{"line":209,"column":57}},"75":{"start":{"line":210,"column":8},"end":{"line":210,"column":45}},"76":{"start":{"line":211,"column":8},"end":{"line":211,"column":59}},"77":{"start":{"line":212,"column":8},"end":{"line":212,"column":62}},"78":{"start":{"line":213,"column":8},"end":{"line":213,"column":33}},"79":{"start":{"line":216,"column":0},"end":{"line":216,"column":50}},"80":{"start":{"line":217,"column":0},"end":{"line":217,"column":97}},"81":{"start":{"line":219,"column":0},"end":{"line":219,"column":52}},"82":{"start":{"line":220,"column":0},"end":{"line":220,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":20,"column":5}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":26},"end":{"line":45,"column":5}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":18},"end":{"line":65,"column":5}},"line":54},"3":{"name":"(anonymous_3)","decl":{"start":{"line":71,"column":4},"end":{"line":71,"column":5}},"loc":{"start":{"line":71,"column":26},"end":{"line":80,"column":5}},"line":71},"4":{"name":"(anonymous_4)","decl":{"start":{"line":75,"column":40},"end":{"line":75,"column":41}},"loc":{"start":{"line":75,"column":53},"end":{"line":78,"column":9}},"line":75},"5":{"name":"(anonymous_5)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":28},"end":{"line":100,"column":5}},"line":85},"6":{"name":"(anonymous_6)","decl":{"start":{"line":104,"column":4},"end":{"line":104,"column":5}},"loc":{"start":{"line":104,"column":13},"end":{"line":114,"column":5}},"line":104},"7":{"name":"(anonymous_7)","decl":{"start":{"line":108,"column":43},"end":{"line":108,"column":44}},"loc":{"start":{"line":108,"column":57},"end":{"line":111,"column":17}},"line":108},"8":{"name":"(anonymous_8)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":16},"end":{"line":128,"column":5}},"line":118},"9":{"name":"(anonymous_9)","decl":{"start":{"line":138,"column":4},"end":{"line":138,"column":5}},"loc":{"start":{"line":138,"column":18},"end":{"line":148,"column":5}},"line":138},"10":{"name":"(anonymous_10)","decl":{"start":{"line":154,"column":4},"end":{"line":154,"column":5}},"loc":{"start":{"line":154,"column":26},"end":{"line":162,"column":5}},"line":154},"11":{"name":"(anonymous_11)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":167,"column":28},"end":{"line":182,"column":5}},"line":167},"12":{"name":"(anonymous_12)","decl":{"start":{"line":188,"column":4},"end":{"line":188,"column":5}},"loc":{"start":{"line":188,"column":15},"end":{"line":190,"column":5}},"line":188},"13":{"name":"(anonymous_13)","decl":{"start":{"line":194,"column":4},"end":{"line":194,"column":5}},"loc":{"start":{"line":194,"column":13},"end":{"line":203,"column":5}},"line":194},"14":{"name":"(anonymous_14)","decl":{"start":{"line":207,"column":4},"end":{"line":207,"column":5}},"loc":{"start":{"line":207,"column":16},"end":{"line":214,"column":5}},"line":207}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":19,"column":9}},"type":"switch","locations":[{"start":{"line":13,"column":12},"end":{"line":14,"column":61}},{"start":{"line":15,"column":12},"end":{"line":16,"column":60}},{"start":{"line":17,"column":12},"end":{"line":18,"column":120}}],"line":12},"1":{"loc":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},{"start":{"line":27,"column":8},"end":{"line":29,"column":9}}],"line":27},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":44,"column":9}},{"start":{"line":31,"column":8},"end":{"line":44,"column":9}}],"line":31},"3":{"loc":{"start":{"line":31,"column":12},"end":{"line":32,"column":47}},"type":"binary-expr","locations":[{"start":{"line":31,"column":12},"end":{"line":31,"column":45}},{"start":{"line":32,"column":12},"end":{"line":32,"column":47}}],"line":31},"4":{"loc":{"start":{"line":33,"column":49},"end":{"line":34,"column":51}},"type":"binary-expr","locations":[{"start":{"line":33,"column":49},"end":{"line":33,"column":82}},{"start":{"line":34,"column":16},"end":{"line":34,"column":51}}],"line":33},"5":{"loc":{"start":{"line":37,"column":13},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":37,"column":13},"end":{"line":44,"column":9}},{"start":{"line":37,"column":13},"end":{"line":44,"column":9}}],"line":37},"6":{"loc":{"start":{"line":37,"column":17},"end":{"line":38,"column":52}},"type":"binary-expr","locations":[{"start":{"line":37,"column":17},"end":{"line":37,"column":54}},{"start":{"line":38,"column":12},"end":{"line":38,"column":52}}],"line":37},"7":{"loc":{"start":{"line":39,"column":48},"end":{"line":40,"column":56}},"type":"binary-expr","locations":[{"start":{"line":39,"column":48},"end":{"line":39,"column":85}},{"start":{"line":40,"column":16},"end":{"line":40,"column":56}}],"line":39},"8":{"loc":{"start":{"line":73,"column":24},"end":{"line":73,"column":42}},"type":"binary-expr","locations":[{"start":{"line":73,"column":24},"end":{"line":73,"column":36}},{"start":{"line":73,"column":40},"end":{"line":73,"column":42}}],"line":73},"9":{"loc":{"start":{"line":77,"column":32},"end":{"line":77,"column":55}},"type":"binary-expr","locations":[{"start":{"line":77,"column":32},"end":{"line":77,"column":50}},{"start":{"line":77,"column":54},"end":{"line":77,"column":55}}],"line":77},"10":{"loc":{"start":{"line":156,"column":29},"end":{"line":156,"column":67}},"type":"binary-expr","locations":[{"start":{"line":156,"column":29},"end":{"line":156,"column":43}},{"start":{"line":156,"column":47},"end":{"line":156,"column":62}},{"start":{"line":156,"column":66},"end":{"line":156,"column":67}}],"line":156},"11":{"loc":{"start":{"line":158,"column":75},"end":{"line":158,"column":118}},"type":"binary-expr","locations":[{"start":{"line":158,"column":75},"end":{"line":158,"column":94}},{"start":{"line":158,"column":98},"end":{"line":158,"column":118}}],"line":158},"12":{"loc":{"start":{"line":160,"column":84},"end":{"line":160,"column":133}},"type":"binary-expr","locations":[{"start":{"line":160,"column":84},"end":{"line":160,"column":106}},{"start":{"line":160,"column":110},"end":{"line":160,"column":133}}],"line":160}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":68,"7":68,"8":68,"9":34,"10":34,"11":0,"12":38,"13":0,"14":38,"15":15,"16":23,"17":23,"18":0,"19":1,"20":98,"21":98,"22":98,"23":98,"24":15,"25":15,"26":15,"27":60,"28":15,"29":34,"30":34,"31":34,"32":34,"33":34,"34":34,"35":121,"36":121,"37":121,"38":121,"39":34,"40":14,"41":48,"42":117,"43":117,"44":117,"45":117,"46":415,"47":415,"48":415,"49":117,"50":1,"51":1,"52":62,"53":62,"54":62,"55":23,"56":23,"57":23,"58":23,"59":23,"60":34,"61":34,"62":34,"63":34,"64":34,"65":34,"66":34,"67":34,"68":34,"69":34,"70":34,"71":0,"72":13,"73":113,"74":113,"75":113,"76":113,"77":113,"78":113,"79":1,"80":1,"81":1,"82":1},"f":{"0":68,"1":38,"2":98,"3":15,"4":60,"5":34,"6":14,"7":48,"8":117,"9":62,"10":23,"11":34,"12":0,"13":13,"14":113},"b":{"0":[34,34,0],"1":[0,38],"2":[15,23],"3":[38,23],"4":[15,0],"5":[23,0],"6":[23,0],"7":[23,0],"8":[15,0],"9":[60,30],"10":[23,0,0],"11":[23,0],"12":[23,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractDescriptor.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractDescriptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { ContractDescriptorType, MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\nimport { PayoutFunction, PayoutFunctionV0JSON } from './PayoutFunction';\nimport { IRoundingIntervalsJSON, RoundingIntervals } from './RoundingIntervals';\n\nexport abstract class ContractDescriptor {\n public static deserialize(\n buf: Buffer,\n ): EnumeratedDescriptor | NumericalDescriptor {\n const reader = new BufferReader(buf);\n const typeId = Number(reader.readBigSize());\n\n switch (typeId) {\n case ContractDescriptorType.Enumerated:\n return EnumeratedDescriptor.deserialize(buf);\n case ContractDescriptorType.NumericOutcome:\n return NumericalDescriptor.deserialize(buf);\n default:\n throw new Error(\n `Contract descriptor type must be Enumerated (0) or NumericOutcome (1), got ${typeId}`,\n );\n }\n }\n\n /**\n * Creates a ContractDescriptor from JSON data (e.g., from test vectors)\n * @param json JSON object representing a contract descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): ContractDescriptor {\n if (!json) {\n throw new Error('contractDescriptor is required');\n }\n\n // Handle enumerated contract descriptor\n if (\n json.enumeratedContractDescriptor ||\n json.enumerated_contract_descriptor\n ) {\n return EnumeratedDescriptor.fromJSON(\n json.enumeratedContractDescriptor ||\n json.enumerated_contract_descriptor,\n );\n }\n // Handle numeric outcome contract descriptor\n else if (\n json.numericOutcomeContractDescriptor ||\n json.numeric_outcome_contract_descriptor\n ) {\n return NumericalDescriptor.fromJSON(\n json.numericOutcomeContractDescriptor ||\n json.numeric_outcome_contract_descriptor,\n );\n } else {\n throw new Error(\n 'contractDescriptor must have either enumeratedContractDescriptor or numericOutcomeContractDescriptor',\n );\n }\n }\n\n public abstract contractDescriptorType: ContractDescriptorType;\n public abstract type: number; // For backward compatibility\n public abstract toJSON(): EnumeratedDescriptorJSON | NumericalDescriptorJSON;\n public abstract serialize(): Buffer;\n}\n\n/**\n * EnumeratedContractDescriptor contains information about a contract's outcomes\n * and their corresponding payouts (for enumerated outcomes).\n * This corresponds to the previous ContractDescriptorV0.\n */\nexport class EnumeratedDescriptor\n extends ContractDescriptor\n implements IDlcMessage {\n public static contractDescriptorType = ContractDescriptorType.Enumerated;\n\n /**\n * Creates an EnumeratedContractDescriptor from JSON data\n * @param json JSON object representing an enumerated contract descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): EnumeratedDescriptor {\n const instance = new EnumeratedDescriptor();\n\n const payouts = json.payouts || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.outcomes = payouts.map((payout: any) => ({\n outcome: payout.outcome,\n localPayout: BigInt(payout.offerPayout || 0), // Use canonical offerPayout field\n }));\n\n return instance;\n }\n\n /**\n * Deserializes an enumerated_contract_descriptor message\n * @param buf\n */\n public static deserialize(buf: Buffer): EnumeratedDescriptor {\n const instance = new EnumeratedDescriptor();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (0)\n const numOutcomes = Number(reader.readBigSize());\n\n for (let i = 0; i < numOutcomes; i++) {\n const outcomeLen = Number(reader.readBigSize());\n const outcome = reader.readBytes(outcomeLen).toString();\n const localPayout = reader.readUInt64BE();\n\n instance.outcomes.push({\n outcome,\n localPayout,\n });\n }\n\n return instance;\n }\n\n /**\n * The type for enumerated_contract_descriptor message - using MessageType for IDlcMessage compatibility\n */\n public type = MessageType.ContractDescriptorV0; // For IDlcMessage compatibility\n\n /**\n * The contract descriptor type for new format\n */\n public contractDescriptorType = ContractDescriptorType.Enumerated;\n\n public outcomes: IOutcome[] = [];\n\n /**\n * Converts enumerated_contract_descriptor to JSON\n */\n public toJSON(): EnumeratedDescriptorJSON {\n // Return enum variant format for Rust compatibility\n return {\n enumeratedContractDescriptor: {\n payouts: this.outcomes.map((outcome) => ({\n outcome: outcome.outcome,\n offerPayout: Number(outcome.localPayout), // Use offerPayout to match Rust\n })),\n },\n };\n }\n\n /**\n * Serializes the enumerated_contract_descriptor message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.contractDescriptorType);\n writer.writeBigSize(this.outcomes.length);\n\n for (const outcome of this.outcomes) {\n writer.writeBigSize(outcome.outcome.length);\n writer.writeBytes(Buffer.from(outcome.outcome));\n writer.writeUInt64BE(outcome.localPayout);\n }\n\n return writer.toBuffer();\n }\n}\n\n/**\n * NumericOutcomeContractDescriptor contains information about a contract's outcomes\n * and their corresponding payouts (for numeric outcomes).\n * This corresponds to the previous ContractDescriptorV1.\n */\nexport class NumericalDescriptor\n extends ContractDescriptor\n implements IDlcMessage {\n public static contractDescriptorType = ContractDescriptorType.NumericOutcome;\n\n /**\n * Creates a NumericOutcomeContractDescriptor from JSON data\n * @param json JSON object representing a numeric outcome contract descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): NumericalDescriptor {\n const instance = new NumericalDescriptor();\n\n instance.numDigits = json.numDigits || json.num_digits || 0;\n\n // Parse payout function using proper fromJSON method\n instance.payoutFunction = PayoutFunction.fromJSON(\n json.payoutFunction || json.payout_function,\n );\n\n // Parse rounding intervals using proper fromJSON method\n instance.roundingIntervals = RoundingIntervals.fromJSON(\n json.roundingIntervals || json.rounding_intervals,\n );\n\n return instance;\n }\n\n /**\n * Deserializes a numeric_outcome_contract_descriptor message\n * @param buf\n */\n public static deserialize(buf: Buffer): NumericalDescriptor {\n const instance = new NumericalDescriptor();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (1)\n instance.numDigits = reader.readUInt16BE();\n\n // Parse payout function - need to calculate its size to avoid consuming all bytes\n const payoutFunctionStartPos = reader.position;\n const tempPayoutFunction = PayoutFunction.deserialize(\n reader.buffer.subarray(reader.position),\n );\n instance.payoutFunction = tempPayoutFunction;\n\n // Skip past the payout function bytes\n const payoutFunctionSize = tempPayoutFunction.serialize().length;\n reader.position = payoutFunctionStartPos + payoutFunctionSize;\n\n // Parse remaining bytes as rounding intervals\n instance.roundingIntervals = RoundingIntervals.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n return instance;\n }\n\n /**\n * The type for numeric_outcome_contract_descriptor message - using MessageType for IDlcMessage compatibility\n */\n public type = MessageType.ContractDescriptorV1; // For IDlcMessage compatibility\n\n /**\n * The contract descriptor type for new format\n */\n public contractDescriptorType = ContractDescriptorType.NumericOutcome;\n\n public numDigits: number;\n\n public payoutFunction: PayoutFunction;\n\n public roundingIntervals: RoundingIntervals;\n\n /**\n * Validates correctness of all fields in the message\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n this.roundingIntervals.validate();\n }\n\n /**\n * Converts numeric_outcome_contract_descriptor to JSON\n */\n public toJSON(): NumericalDescriptorJSON {\n // Return enum variant format for Rust compatibility\n return {\n numericOutcomeContractDescriptor: {\n numDigits: this.numDigits,\n payoutFunction: this.payoutFunction.toJSON(),\n roundingIntervals: this.roundingIntervals.toJSON(),\n },\n };\n }\n\n /**\n * Serializes the numeric_outcome_contract_descriptor message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.contractDescriptorType);\n writer.writeUInt16BE(this.numDigits);\n writer.writeBytes(this.payoutFunction.serialize());\n writer.writeBytes(this.roundingIntervals.serialize());\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keeping old class names as aliases\nexport const ContractDescriptorV0 = EnumeratedDescriptor;\nexport const ContractDescriptorV1 = NumericalDescriptor;\nexport type ContractDescriptorV0 = EnumeratedDescriptor;\nexport type ContractDescriptorV1 = NumericalDescriptor;\n\ninterface IOutcome {\n outcome: string;\n localPayout: bigint;\n}\n\n// Rust-dlc enum variant format for EnumeratedDescriptor\nexport interface EnumeratedDescriptorJSON {\n enumeratedContractDescriptor: {\n payouts: Array<{\n outcome: string;\n offerPayout: number;\n }>;\n };\n}\n\n// Rust-dlc enum variant format for NumericalDescriptor\nexport interface NumericalDescriptorJSON {\n numericOutcomeContractDescriptor: {\n numDigits: number;\n payoutFunction: PayoutFunctionV0JSON;\n roundingIntervals: IRoundingIntervalsJSON;\n };\n}\n\n// Legacy interfaces for backward compatibility\nexport type ContractDescriptorV0JSON = EnumeratedDescriptorJSON;\nexport type ContractDescriptorV1JSON = NumericalDescriptorJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"211759a1f2c6b174d40fea9687c66040b5111158","contentHash":"3917cdecde90f69c45778f5829401266d4e44ed7b1f267806bf8d3ba0c674b9e"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutFunction.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutFunction.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":59}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":15},"end":{"line":6,"column":33}},"5":{"start":{"line":7,"column":27},"end":{"line":7,"column":56}},"6":{"start":{"line":19,"column":25},"end":{"line":19,"column":45}},"7":{"start":{"line":21,"column":23},"end":{"line":21,"column":85}},"8":{"start":{"line":22,"column":8},"end":{"line":58,"column":11}},"9":{"start":{"line":25,"column":26},"end":{"line":32,"column":13}},"10":{"start":{"line":34,"column":12},"end":{"line":56,"column":13}},"11":{"start":{"line":35,"column":34},"end":{"line":35,"column":56}},"12":{"start":{"line":37,"column":16},"end":{"line":37,"column":56}},"13":{"start":{"line":39,"column":16},"end":{"line":55,"column":17}},"14":{"start":{"line":40,"column":38},"end":{"line":40,"column":55}},"15":{"start":{"line":41,"column":20},"end":{"line":45,"column":22}},"16":{"start":{"line":49,"column":41},"end":{"line":49,"column":86}},"17":{"start":{"line":50,"column":20},"end":{"line":54,"column":22}},"18":{"start":{"line":57,"column":12},"end":{"line":57,"column":25}},"19":{"start":{"line":60,"column":29},"end":{"line":60,"column":68}},"20":{"start":{"line":61,"column":8},"end":{"line":75,"column":9}},"21":{"start":{"line":62,"column":12},"end":{"line":66,"column":14}},"22":{"start":{"line":70,"column":12},"end":{"line":74,"column":14}},"23":{"start":{"line":76,"column":8},"end":{"line":76,"column":24}},"24":{"start":{"line":83,"column":25},"end":{"line":83,"column":45}},"25":{"start":{"line":84,"column":23},"end":{"line":84,"column":52}},"26":{"start":{"line":86,"column":26},"end":{"line":86,"column":54}},"27":{"start":{"line":87,"column":8},"end":{"line":106,"column":9}},"28":{"start":{"line":87,"column":21},"end":{"line":87,"column":22}},"29":{"start":{"line":89,"column":33},"end":{"line":89,"column":54}},"30":{"start":{"line":90,"column":34},"end":{"line":90,"column":55}},"31":{"start":{"line":91,"column":35},"end":{"line":91,"column":56}},"32":{"start":{"line":93,"column":45},"end":{"line":93,"column":60}},"33":{"start":{"line":94,"column":37},"end":{"line":94,"column":125}},"34":{"start":{"line":96,"column":41},"end":{"line":96,"column":76}},"35":{"start":{"line":97,"column":12},"end":{"line":97,"column":78}},"36":{"start":{"line":98,"column":12},"end":{"line":105,"column":15}},"37":{"start":{"line":108,"column":8},"end":{"line":112,"column":10}},"38":{"start":{"line":113,"column":8},"end":{"line":113,"column":24}},"39":{"start":{"line":122,"column":8},"end":{"line":122,"column":40}},"40":{"start":{"line":123,"column":8},"end":{"line":123,"column":39}},"41":{"start":{"line":125,"column":8},"end":{"line":125,"column":39}},"42":{"start":{"line":131,"column":8},"end":{"line":145,"column":10}},"43":{"start":{"line":132,"column":76},"end":{"line":139,"column":13}},"44":{"start":{"line":151,"column":23},"end":{"line":151,"column":49}},"45":{"start":{"line":153,"column":8},"end":{"line":153,"column":62}},"46":{"start":{"line":154,"column":8},"end":{"line":161,"column":9}},"47":{"start":{"line":156,"column":12},"end":{"line":156,"column":62}},"48":{"start":{"line":157,"column":12},"end":{"line":157,"column":63}},"49":{"start":{"line":158,"column":12},"end":{"line":158,"column":64}},"50":{"start":{"line":160,"column":12},"end":{"line":160,"column":66}},"51":{"start":{"line":163,"column":8},"end":{"line":163,"column":61}},"52":{"start":{"line":164,"column":8},"end":{"line":164,"column":62}},"53":{"start":{"line":165,"column":8},"end":{"line":165,"column":63}},"54":{"start":{"line":166,"column":8},"end":{"line":166,"column":33}},"55":{"start":{"line":169,"column":0},"end":{"line":169,"column":40}},"56":{"start":{"line":170,"column":0},"end":{"line":170,"column":63}},"57":{"start":{"line":172,"column":0},"end":{"line":172,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":26},"end":{"line":77,"column":5}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":8},"end":{"line":24,"column":9}},"loc":{"start":{"line":24,"column":30},"end":{"line":58,"column":9}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":82,"column":4},"end":{"line":82,"column":5}},"loc":{"start":{"line":82,"column":28},"end":{"line":114,"column":5}},"line":82},"3":{"name":"(anonymous_3)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":18},"end":{"line":126,"column":5}},"line":118},"4":{"name":"(anonymous_4)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":13},"end":{"line":146,"column":5}},"line":130},"5":{"name":"(anonymous_5)","decl":{"start":{"line":132,"column":64},"end":{"line":132,"column":65}},"loc":{"start":{"line":132,"column":76},"end":{"line":139,"column":13}},"line":132},"6":{"name":"(anonymous_6)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":16},"end":{"line":167,"column":5}},"line":150}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":23},"end":{"line":21,"column":85}},"type":"binary-expr","locations":[{"start":{"line":21,"column":23},"end":{"line":21,"column":48}},{"start":{"line":21,"column":52},"end":{"line":21,"column":79}},{"start":{"line":21,"column":83},"end":{"line":21,"column":85}}],"line":21},"1":{"loc":{"start":{"line":29,"column":36},"end":{"line":29,"column":75}},"type":"binary-expr","locations":[{"start":{"line":29,"column":36},"end":{"line":29,"column":70}},{"start":{"line":29,"column":74},"end":{"line":29,"column":75}}],"line":29},"2":{"loc":{"start":{"line":31,"column":79},"end":{"line":31,"column":137}},"type":"binary-expr","locations":[{"start":{"line":31,"column":79},"end":{"line":31,"column":105}},{"start":{"line":31,"column":109},"end":{"line":31,"column":137}}],"line":31},"3":{"loc":{"start":{"line":34,"column":12},"end":{"line":56,"column":13}},"type":"if","locations":[{"start":{"line":34,"column":12},"end":{"line":56,"column":13}},{"start":{"line":34,"column":12},"end":{"line":56,"column":13}}],"line":34},"4":{"loc":{"start":{"line":39,"column":16},"end":{"line":55,"column":17}},"type":"if","locations":[{"start":{"line":39,"column":16},"end":{"line":55,"column":17}},{"start":{"line":39,"column":16},"end":{"line":55,"column":17}}],"line":39},"5":{"loc":{"start":{"line":44,"column":40},"end":{"line":44,"column":79}},"type":"binary-expr","locations":[{"start":{"line":44,"column":40},"end":{"line":44,"column":74}},{"start":{"line":44,"column":78},"end":{"line":44,"column":79}}],"line":44},"6":{"loc":{"start":{"line":49,"column":41},"end":{"line":49,"column":86}},"type":"binary-expr","locations":[{"start":{"line":49,"column":41},"end":{"line":49,"column":58}},{"start":{"line":49,"column":62},"end":{"line":49,"column":80}},{"start":{"line":49,"column":84},"end":{"line":49,"column":86}}],"line":49},"7":{"loc":{"start":{"line":53,"column":40},"end":{"line":53,"column":72}},"type":"binary-expr","locations":[{"start":{"line":53,"column":40},"end":{"line":53,"column":67}},{"start":{"line":53,"column":71},"end":{"line":53,"column":72}}],"line":53},"8":{"loc":{"start":{"line":60,"column":29},"end":{"line":60,"column":68}},"type":"binary-expr","locations":[{"start":{"line":60,"column":29},"end":{"line":60,"column":46}},{"start":{"line":60,"column":50},"end":{"line":60,"column":68}}],"line":60},"9":{"loc":{"start":{"line":61,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":8},"end":{"line":75,"column":9}},{"start":{"line":61,"column":8},"end":{"line":75,"column":9}}],"line":61},"10":{"loc":{"start":{"line":65,"column":32},"end":{"line":65,"column":64}},"type":"binary-expr","locations":[{"start":{"line":65,"column":32},"end":{"line":65,"column":59}},{"start":{"line":65,"column":63},"end":{"line":65,"column":64}}],"line":65}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":23,"7":23,"8":23,"9":44,"10":44,"11":2,"12":2,"13":2,"14":0,"15":0,"16":2,"17":2,"18":44,"19":23,"20":23,"21":23,"22":0,"23":23,"24":36,"25":36,"26":36,"27":36,"28":36,"29":66,"30":66,"31":66,"32":66,"33":66,"34":66,"35":66,"36":66,"37":36,"38":36,"39":67,"40":67,"41":67,"42":13,"43":24,"44":150,"45":150,"46":150,"47":281,"48":281,"49":281,"50":281,"51":150,"52":150,"53":150,"54":150,"55":1,"56":1,"57":1},"f":{"0":23,"1":44,"2":36,"3":67,"4":13,"5":24,"6":150},"b":{"0":[23,0,0],"1":[44,44],"2":[44,0],"3":[2,42],"4":[0,2],"5":[0,0],"6":[2,0,0],"7":[2,2],"8":[23,0],"9":[23,0],"10":[23,23]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutFunction.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutFunction.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { IDlcMessage } from './DlcMessage';\nimport {\n HyperbolaPayoutCurvePiece,\n HyperbolaPayoutCurvePieceJSON,\n PayoutCurvePiece,\n PolynomialPayoutCurvePieceJSON,\n} from './PayoutCurvePiece';\n\n/**\n * PayoutFunction contains the payout curve definition for numeric outcome contracts.\n * Updated to match rust-dlc format exactly.\n */\nexport class PayoutFunction implements IDlcMessage {\n public static type = MessageType.PayoutFunction;\n\n /**\n * Creates a PayoutFunction from JSON data\n * @param json JSON object representing a payout function\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): PayoutFunction {\n const instance = new PayoutFunction();\n\n // Parse payout function pieces\n const pieces =\n json.payoutFunctionPieces || json.payout_function_pieces || [];\n instance.payoutFunctionPieces = pieces.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (pieceJson: any, index: number) => {\n const piece = {\n endPoint: {\n eventOutcome: toBigInt(pieceJson.endPoint?.eventOutcome),\n outcomePayout: toBigInt(pieceJson.endPoint?.outcomePayout),\n extraPrecision: pieceJson.endPoint?.extraPrecision || 0,\n },\n payoutCurvePiece: PayoutCurvePiece.fromJSON(\n pieceJson.payoutCurvePiece || pieceJson.payout_curve_piece,\n ),\n };\n\n // For HyperbolaPayoutCurvePiece, set the left and right end points\n if (piece.payoutCurvePiece instanceof HyperbolaPayoutCurvePiece) {\n const hyperbola = piece.payoutCurvePiece as HyperbolaPayoutCurvePiece;\n\n // Left end point is this piece's endPoint\n hyperbola.leftEndPoint = piece.endPoint;\n\n // Right end point is the next piece's endPoint, or lastEndpoint if this is the last piece\n if (index < pieces.length - 1) {\n const nextPiece = pieces[index + 1];\n hyperbola.rightEndPoint = {\n eventOutcome: toBigInt(nextPiece.endPoint?.eventOutcome),\n outcomePayout: toBigInt(nextPiece.endPoint?.outcomePayout),\n extraPrecision: nextPiece.endPoint?.extraPrecision || 0,\n };\n } else {\n // Use lastEndpoint for the final piece\n const lastEndpoint = json.lastEndpoint || json.last_endpoint || {};\n hyperbola.rightEndPoint = {\n eventOutcome: toBigInt(lastEndpoint.eventOutcome),\n outcomePayout: toBigInt(lastEndpoint.outcomePayout),\n extraPrecision: lastEndpoint.extraPrecision || 0,\n };\n }\n }\n\n return piece;\n },\n );\n\n // Parse last endpoint\n const lastEndpoint = json.lastEndpoint || json.last_endpoint;\n if (lastEndpoint) {\n instance.lastEndpoint = {\n eventOutcome: toBigInt(lastEndpoint.eventOutcome),\n outcomePayout: toBigInt(lastEndpoint.outcomePayout),\n extraPrecision: lastEndpoint.extraPrecision || 0,\n };\n } else {\n // Default last endpoint if not provided\n instance.lastEndpoint = {\n eventOutcome: BigInt(0),\n outcomePayout: BigInt(0),\n extraPrecision: 0,\n };\n }\n\n return instance;\n }\n\n /**\n * Deserializes a payout_function message\n * @param buf\n */\n public static deserialize(buf: Buffer): PayoutFunction {\n const instance = new PayoutFunction();\n const reader = new BufferReader(buf);\n\n // Read payout function pieces (as vec)\n const numPieces = Number(reader.readBigSize());\n\n for (let i = 0; i < numPieces; i++) {\n // Read end_point first\n const eventOutcome = reader.readUInt64BE();\n const outcomePayout = reader.readUInt64BE();\n const extraPrecision = reader.readUInt16BE();\n\n // Read payout curve piece\n const payoutCurvePieceStartPos = reader.position;\n const payoutCurvePiece = PayoutCurvePiece.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n // Skip past the payout curve piece bytes\n const payoutCurvePieceSize = payoutCurvePiece.serialize().length;\n reader.position = payoutCurvePieceStartPos + payoutCurvePieceSize;\n\n instance.payoutFunctionPieces.push({\n endPoint: {\n eventOutcome,\n outcomePayout,\n extraPrecision,\n },\n payoutCurvePiece,\n });\n }\n\n // Read last_endpoint\n instance.lastEndpoint = {\n eventOutcome: reader.readUInt64BE(),\n outcomePayout: reader.readUInt64BE(),\n extraPrecision: reader.readUInt16BE(),\n };\n\n return instance;\n }\n\n /**\n * The type for payout_function message. payout_function = 42790\n */\n public type = PayoutFunction.type;\n\n public payoutFunctionPieces: IPayoutFunctionPiece[] = [];\n public lastEndpoint: IPayoutPoint;\n\n /**\n * Constructor that ensures proper initialization\n */\n constructor() {\n // Explicitly initialize arrays to handle file-linking issues\n this.payoutFunctionPieces = [];\n }\n\n /**\n * Converts payout_function to JSON\n */\n public toJSON(): PayoutFunctionJSON {\n return {\n payoutFunctionPieces: this.payoutFunctionPieces.map((piece) => ({\n endPoint: {\n eventOutcome: bigIntToNumber(piece.endPoint.eventOutcome),\n outcomePayout: bigIntToNumber(piece.endPoint.outcomePayout),\n extraPrecision: piece.endPoint.extraPrecision,\n },\n payoutCurvePiece: piece.payoutCurvePiece.toJSON(),\n })),\n lastEndpoint: {\n eventOutcome: bigIntToNumber(this.lastEndpoint.eventOutcome),\n outcomePayout: bigIntToNumber(this.lastEndpoint.outcomePayout),\n extraPrecision: this.lastEndpoint.extraPrecision,\n },\n };\n }\n\n /**\n * Serializes the payout_function message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n // Write payout_function_pieces as vec (length + elements)\n writer.writeBigSize(this.payoutFunctionPieces.length);\n\n for (const piece of this.payoutFunctionPieces) {\n // Write end_point first (matches rust order)\n writer.writeUInt64BE(piece.endPoint.eventOutcome);\n writer.writeUInt64BE(piece.endPoint.outcomePayout);\n writer.writeUInt16BE(piece.endPoint.extraPrecision);\n\n // Write payout_curve_piece second\n writer.writeBytes(piece.payoutCurvePiece.serialize());\n }\n\n // Write last_endpoint\n writer.writeUInt64BE(this.lastEndpoint.eventOutcome);\n writer.writeUInt64BE(this.lastEndpoint.outcomePayout);\n writer.writeUInt16BE(this.lastEndpoint.extraPrecision);\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support\nexport const PayoutFunctionV0 = PayoutFunction;\nexport type PayoutFunctionV0 = PayoutFunction;\n\ninterface IPayoutPoint {\n eventOutcome: bigint;\n outcomePayout: bigint;\n extraPrecision: number;\n}\n\ninterface IPayoutPointJSON {\n eventOutcome: number;\n outcomePayout: number;\n extraPrecision: number;\n}\n\ninterface IPayoutFunctionPiece {\n endPoint: IPayoutPoint;\n payoutCurvePiece: PayoutCurvePiece;\n}\n\ninterface IPayoutFunctionPieceJSON {\n endPoint: IPayoutPointJSON;\n payoutCurvePiece:\n | PolynomialPayoutCurvePieceJSON\n | HyperbolaPayoutCurvePieceJSON;\n}\n\nexport interface PayoutFunctionJSON {\n type?: number; // Optional for rust-dlc compatibility\n payoutFunctionPieces: IPayoutFunctionPieceJSON[];\n lastEndpoint: IPayoutPointJSON;\n}\n\n// Legacy interface\nexport type PayoutFunctionV0JSON = PayoutFunctionJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b1e87ac4533cfad85198e7f49c49001f1b51659b","contentHash":"6e997ef03f785493d6fa4f91e4498b1cf2d0622d73b166bb0a5cd52f566e4c3c"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutCurvePiece.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutCurvePiece.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":107}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":14},"end":{"line":6,"column":41}},"5":{"start":{"line":7,"column":15},"end":{"line":7,"column":33}},"6":{"start":{"line":10,"column":23},"end":{"line":10,"column":52}},"7":{"start":{"line":11,"column":23},"end":{"line":11,"column":51}},"8":{"start":{"line":12,"column":8},"end":{"line":19,"column":9}},"9":{"start":{"line":14,"column":16},"end":{"line":14,"column":67}},"10":{"start":{"line":16,"column":16},"end":{"line":16,"column":66}},"11":{"start":{"line":18,"column":16},"end":{"line":18,"column":114}},"12":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"13":{"start":{"line":28,"column":12},"end":{"line":28,"column":60}},"14":{"start":{"line":31,"column":8},"end":{"line":46,"column":9}},"15":{"start":{"line":32,"column":12},"end":{"line":32,"column":88}},"16":{"start":{"line":34,"column":13},"end":{"line":46,"column":9}},"17":{"start":{"line":35,"column":12},"end":{"line":35,"column":86}},"18":{"start":{"line":38,"column":13},"end":{"line":46,"column":9}},"19":{"start":{"line":39,"column":12},"end":{"line":39,"column":61}},"20":{"start":{"line":41,"column":13},"end":{"line":46,"column":9}},"21":{"start":{"line":42,"column":12},"end":{"line":42,"column":60}},"22":{"start":{"line":45,"column":12},"end":{"line":45,"column":125}},"23":{"start":{"line":49,"column":0},"end":{"line":49,"column":44}},"24":{"start":{"line":56,"column":8},"end":{"line":56,"column":28}},"25":{"start":{"line":60,"column":8},"end":{"line":60,"column":73}},"26":{"start":{"line":64,"column":8},"end":{"line":64,"column":82}},"27":{"start":{"line":65,"column":8},"end":{"line":65,"column":25}},"28":{"start":{"line":73,"column":25},"end":{"line":73,"column":57}},"29":{"start":{"line":74,"column":23},"end":{"line":74,"column":61}},"30":{"start":{"line":76,"column":8},"end":{"line":80,"column":12}},"31":{"start":{"line":76,"column":49},"end":{"line":80,"column":9}},"32":{"start":{"line":81,"column":8},"end":{"line":81,"column":24}},"33":{"start":{"line":88,"column":25},"end":{"line":88,"column":57}},"34":{"start":{"line":89,"column":23},"end":{"line":89,"column":52}},"35":{"start":{"line":90,"column":8},"end":{"line":90,"column":29}},"36":{"start":{"line":91,"column":23},"end":{"line":91,"column":51}},"37":{"start":{"line":92,"column":8},"end":{"line":101,"column":9}},"38":{"start":{"line":92,"column":21},"end":{"line":92,"column":22}},"39":{"start":{"line":93,"column":33},"end":{"line":93,"column":54}},"40":{"start":{"line":94,"column":34},"end":{"line":94,"column":55}},"41":{"start":{"line":95,"column":35},"end":{"line":95,"column":56}},"42":{"start":{"line":96,"column":12},"end":{"line":100,"column":15}},"43":{"start":{"line":102,"column":8},"end":{"line":102,"column":24}},"44":{"start":{"line":108,"column":8},"end":{"line":118,"column":10}},"45":{"start":{"line":111,"column":20},"end":{"line":115,"column":22}},"46":{"start":{"line":124,"column":23},"end":{"line":124,"column":49}},"47":{"start":{"line":125,"column":8},"end":{"line":125,"column":55}},"48":{"start":{"line":126,"column":8},"end":{"line":126,"column":48}},"49":{"start":{"line":127,"column":8},"end":{"line":131,"column":9}},"50":{"start":{"line":128,"column":12},"end":{"line":128,"column":53}},"51":{"start":{"line":129,"column":12},"end":{"line":129,"column":54}},"52":{"start":{"line":130,"column":12},"end":{"line":130,"column":55}},"53":{"start":{"line":132,"column":8},"end":{"line":132,"column":33}},"54":{"start":{"line":135,"column":0},"end":{"line":135,"column":64}},"55":{"start":{"line":136,"column":0},"end":{"line":136,"column":96}},"56":{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},"57":{"start":{"line":151,"column":12},"end":{"line":151,"column":24}},"58":{"start":{"line":153,"column":8},"end":{"line":183,"column":9}},"59":{"start":{"line":154,"column":12},"end":{"line":173,"column":13}},"60":{"start":{"line":156,"column":16},"end":{"line":165,"column":17}},"61":{"start":{"line":157,"column":20},"end":{"line":157,"column":55}},"62":{"start":{"line":161,"column":37},"end":{"line":161,"column":54}},"63":{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},"64":{"start":{"line":163,"column":24},"end":{"line":163,"column":62}},"65":{"start":{"line":167,"column":17},"end":{"line":173,"column":13}},"66":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"67":{"start":{"line":170,"column":20},"end":{"line":170,"column":32}},"68":{"start":{"line":172,"column":16},"end":{"line":172,"column":51}},"69":{"start":{"line":175,"column":29},"end":{"line":175,"column":42}},"70":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"71":{"start":{"line":177,"column":16},"end":{"line":177,"column":54}},"72":{"start":{"line":179,"column":12},"end":{"line":179,"column":24}},"73":{"start":{"line":182,"column":12},"end":{"line":182,"column":24}},"74":{"start":{"line":191,"column":8},"end":{"line":192,"column":24}},"75":{"start":{"line":192,"column":12},"end":{"line":192,"column":24}},"76":{"start":{"line":194,"column":19},"end":{"line":194,"column":86}},"77":{"start":{"line":196,"column":8},"end":{"line":200,"column":9}},"78":{"start":{"line":199,"column":12},"end":{"line":199,"column":24}},"79":{"start":{"line":201,"column":8},"end":{"line":202,"column":24}},"80":{"start":{"line":202,"column":12},"end":{"line":202,"column":24}},"81":{"start":{"line":203,"column":8},"end":{"line":224,"column":9}},"82":{"start":{"line":204,"column":37},"end":{"line":204,"column":94}},"83":{"start":{"line":206,"column":37},"end":{"line":208,"column":41}},"84":{"start":{"line":209,"column":36},"end":{"line":211,"column":40}},"85":{"start":{"line":212,"column":22},"end":{"line":212,"column":48}},"86":{"start":{"line":213,"column":22},"end":{"line":213,"column":48}},"87":{"start":{"line":214,"column":22},"end":{"line":214,"column":48}},"88":{"start":{"line":215,"column":22},"end":{"line":215,"column":48}},"89":{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},"90":{"start":{"line":218,"column":16},"end":{"line":218,"column":74}},"91":{"start":{"line":220,"column":12},"end":{"line":220,"column":114}},"92":{"start":{"line":223,"column":12},"end":{"line":223,"column":24}},"93":{"start":{"line":231,"column":25},"end":{"line":231,"column":56}},"94":{"start":{"line":232,"column":23},"end":{"line":232,"column":52}},"95":{"start":{"line":233,"column":8},"end":{"line":233,"column":29}},"96":{"start":{"line":234,"column":8},"end":{"line":234,"column":61}},"97":{"start":{"line":236,"column":8},"end":{"line":236,"column":79}},"98":{"start":{"line":237,"column":8},"end":{"line":237,"column":78}},"99":{"start":{"line":238,"column":8},"end":{"line":238,"column":64}},"100":{"start":{"line":239,"column":8},"end":{"line":239,"column":64}},"101":{"start":{"line":240,"column":8},"end":{"line":240,"column":64}},"102":{"start":{"line":241,"column":8},"end":{"line":241,"column":64}},"103":{"start":{"line":244,"column":8},"end":{"line":248,"column":10}},"104":{"start":{"line":249,"column":8},"end":{"line":253,"column":10}},"105":{"start":{"line":254,"column":8},"end":{"line":254,"column":24}},"106":{"start":{"line":257,"column":8},"end":{"line":257,"column":16}},"107":{"start":{"line":261,"column":8},"end":{"line":261,"column":72}},"108":{"start":{"line":262,"column":8},"end":{"line":262,"column":83}},"109":{"start":{"line":263,"column":8},"end":{"line":263,"column":49}},"110":{"start":{"line":265,"column":8},"end":{"line":269,"column":38}},"111":{"start":{"line":270,"column":8},"end":{"line":274,"column":38}},"112":{"start":{"line":275,"column":8},"end":{"line":279,"column":38}},"113":{"start":{"line":280,"column":8},"end":{"line":284,"column":38}},"114":{"start":{"line":285,"column":8},"end":{"line":289,"column":38}},"115":{"start":{"line":290,"column":8},"end":{"line":294,"column":38}},"116":{"start":{"line":301,"column":8},"end":{"line":311,"column":10}},"117":{"start":{"line":317,"column":23},"end":{"line":317,"column":49}},"118":{"start":{"line":318,"column":8},"end":{"line":318,"column":55}},"119":{"start":{"line":319,"column":8},"end":{"line":319,"column":57}},"120":{"start":{"line":321,"column":8},"end":{"line":321,"column":61}},"121":{"start":{"line":322,"column":8},"end":{"line":322,"column":60}},"122":{"start":{"line":323,"column":8},"end":{"line":323,"column":46}},"123":{"start":{"line":324,"column":8},"end":{"line":324,"column":46}},"124":{"start":{"line":325,"column":8},"end":{"line":325,"column":46}},"125":{"start":{"line":326,"column":8},"end":{"line":326,"column":46}},"126":{"start":{"line":327,"column":8},"end":{"line":327,"column":33}},"127":{"start":{"line":330,"column":0},"end":{"line":330,"column":62}},"128":{"start":{"line":331,"column":0},"end":{"line":331,"column":94}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":4},"end":{"line":9,"column":5}},"loc":{"start":{"line":9,"column":28},"end":{"line":20,"column":5}},"line":9},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":26},"end":{"line":47,"column":5}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":4},"end":{"line":55,"column":5}},"loc":{"start":{"line":55,"column":18},"end":{"line":66,"column":5}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":26},"end":{"line":82,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":76,"column":37},"end":{"line":76,"column":38}},"loc":{"start":{"line":76,"column":49},"end":{"line":80,"column":9}},"line":76},"5":{"name":"(anonymous_5)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":28},"end":{"line":103,"column":5}},"line":87},"6":{"name":"(anonymous_6)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":107,"column":13},"end":{"line":119,"column":5}},"line":107},"7":{"name":"(anonymous_7)","decl":{"start":{"line":110,"column":46},"end":{"line":110,"column":47}},"loc":{"start":{"line":110,"column":57},"end":{"line":116,"column":17}},"line":110},"8":{"name":"(anonymous_8)","decl":{"start":{"line":123,"column":4},"end":{"line":123,"column":5}},"loc":{"start":{"line":123,"column":16},"end":{"line":133,"column":5}},"line":123},"9":{"name":"(anonymous_9)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":32},"end":{"line":184,"column":5}},"line":148},"10":{"name":"(anonymous_10)","decl":{"start":{"line":190,"column":4},"end":{"line":190,"column":5}},"loc":{"start":{"line":190,"column":26},"end":{"line":225,"column":5}},"line":190},"11":{"name":"(anonymous_11)","decl":{"start":{"line":230,"column":4},"end":{"line":230,"column":5}},"loc":{"start":{"line":230,"column":28},"end":{"line":255,"column":5}},"line":230},"12":{"name":"(anonymous_12)","decl":{"start":{"line":256,"column":4},"end":{"line":256,"column":5}},"loc":{"start":{"line":256,"column":89},"end":{"line":295,"column":5}},"line":256},"13":{"name":"(anonymous_13)","decl":{"start":{"line":300,"column":4},"end":{"line":300,"column":5}},"loc":{"start":{"line":300,"column":13},"end":{"line":312,"column":5}},"line":300},"14":{"name":"(anonymous_14)","decl":{"start":{"line":316,"column":4},"end":{"line":316,"column":5}},"loc":{"start":{"line":316,"column":16},"end":{"line":328,"column":5}},"line":316}},"branchMap":{"0":{"loc":{"start":{"line":12,"column":8},"end":{"line":19,"column":9}},"type":"switch","locations":[{"start":{"line":13,"column":12},"end":{"line":14,"column":67}},{"start":{"line":15,"column":12},"end":{"line":16,"column":66}},{"start":{"line":17,"column":12},"end":{"line":18,"column":114}}],"line":12},"1":{"loc":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},{"start":{"line":27,"column":8},"end":{"line":29,"column":9}}],"line":27},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":46,"column":9}},{"start":{"line":31,"column":8},"end":{"line":46,"column":9}}],"line":31},"3":{"loc":{"start":{"line":34,"column":13},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":13},"end":{"line":46,"column":9}},{"start":{"line":34,"column":13},"end":{"line":46,"column":9}}],"line":34},"4":{"loc":{"start":{"line":38,"column":13},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":13},"end":{"line":46,"column":9}},{"start":{"line":38,"column":13},"end":{"line":46,"column":9}}],"line":38},"5":{"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":77}},"type":"binary-expr","locations":[{"start":{"line":38,"column":17},"end":{"line":38,"column":42}},{"start":{"line":38,"column":46},"end":{"line":38,"column":77}}],"line":38},"6":{"loc":{"start":{"line":41,"column":13},"end":{"line":46,"column":9}},"type":"if","locations":[{"start":{"line":41,"column":13},"end":{"line":46,"column":9}},{"start":{"line":41,"column":13},"end":{"line":46,"column":9}}],"line":41},"7":{"loc":{"start":{"line":74,"column":23},"end":{"line":74,"column":61}},"type":"binary-expr","locations":[{"start":{"line":74,"column":23},"end":{"line":74,"column":40}},{"start":{"line":74,"column":44},"end":{"line":74,"column":55}},{"start":{"line":74,"column":59},"end":{"line":74,"column":61}}],"line":74},"8":{"loc":{"start":{"line":77,"column":47},"end":{"line":77,"column":88}},"type":"binary-expr","locations":[{"start":{"line":77,"column":47},"end":{"line":77,"column":65}},{"start":{"line":77,"column":69},"end":{"line":77,"column":88}}],"line":77},"9":{"loc":{"start":{"line":78,"column":48},"end":{"line":78,"column":91}},"type":"binary-expr","locations":[{"start":{"line":78,"column":48},"end":{"line":78,"column":67}},{"start":{"line":78,"column":71},"end":{"line":78,"column":91}}],"line":78},"10":{"loc":{"start":{"line":79,"column":28},"end":{"line":79,"column":78}},"type":"binary-expr","locations":[{"start":{"line":79,"column":28},"end":{"line":79,"column":48}},{"start":{"line":79,"column":52},"end":{"line":79,"column":73}},{"start":{"line":79,"column":77},"end":{"line":79,"column":78}}],"line":79},"11":{"loc":{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},"type":"if","locations":[{"start":{"line":150,"column":8},"end":{"line":152,"column":9}},{"start":{"line":150,"column":8},"end":{"line":152,"column":9}}],"line":150},"12":{"loc":{"start":{"line":150,"column":12},"end":{"line":150,"column":49}},"type":"binary-expr","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":26}},{"start":{"line":150,"column":30},"end":{"line":150,"column":49}}],"line":150},"13":{"loc":{"start":{"line":154,"column":12},"end":{"line":173,"column":13}},"type":"if","locations":[{"start":{"line":154,"column":12},"end":{"line":173,"column":13}},{"start":{"line":154,"column":12},"end":{"line":173,"column":13}}],"line":154},"14":{"loc":{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},"type":"if","locations":[{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},{"start":{"line":162,"column":20},"end":{"line":164,"column":21}}],"line":162},"15":{"loc":{"start":{"line":162,"column":24},"end":{"line":162,"column":62}},"type":"binary-expr","locations":[{"start":{"line":162,"column":24},"end":{"line":162,"column":40}},{"start":{"line":162,"column":44},"end":{"line":162,"column":62}}],"line":162},"16":{"loc":{"start":{"line":167,"column":17},"end":{"line":173,"column":13}},"type":"if","locations":[{"start":{"line":167,"column":17},"end":{"line":173,"column":13}},{"start":{"line":167,"column":17},"end":{"line":173,"column":13}}],"line":167},"17":{"loc":{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},"type":"if","locations":[{"start":{"line":169,"column":16},"end":{"line":171,"column":17}},{"start":{"line":169,"column":16},"end":{"line":171,"column":17}}],"line":169},"18":{"loc":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"type":"if","locations":[{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},{"start":{"line":176,"column":12},"end":{"line":178,"column":13}}],"line":176},"19":{"loc":{"start":{"line":176,"column":16},"end":{"line":176,"column":54}},"type":"binary-expr","locations":[{"start":{"line":176,"column":16},"end":{"line":176,"column":32}},{"start":{"line":176,"column":36},"end":{"line":176,"column":54}}],"line":176},"20":{"loc":{"start":{"line":191,"column":8},"end":{"line":192,"column":24}},"type":"if","locations":[{"start":{"line":191,"column":8},"end":{"line":192,"column":24}},{"start":{"line":191,"column":8},"end":{"line":192,"column":24}}],"line":191},"21":{"loc":{"start":{"line":191,"column":12},"end":{"line":191,"column":45}},"type":"binary-expr","locations":[{"start":{"line":191,"column":12},"end":{"line":191,"column":17}},{"start":{"line":191,"column":21},"end":{"line":191,"column":45}}],"line":191},"22":{"loc":{"start":{"line":194,"column":19},"end":{"line":194,"column":86}},"type":"binary-expr","locations":[{"start":{"line":194,"column":19},"end":{"line":194,"column":49}},{"start":{"line":194,"column":53},"end":{"line":194,"column":86}}],"line":194},"23":{"loc":{"start":{"line":196,"column":8},"end":{"line":200,"column":9}},"type":"if","locations":[{"start":{"line":196,"column":8},"end":{"line":200,"column":9}},{"start":{"line":196,"column":8},"end":{"line":200,"column":9}}],"line":196},"24":{"loc":{"start":{"line":196,"column":12},"end":{"line":198,"column":54}},"type":"binary-expr","locations":[{"start":{"line":196,"column":12},"end":{"line":196,"column":17}},{"start":{"line":197,"column":13},"end":{"line":197,"column":48}},{"start":{"line":198,"column":16},"end":{"line":198,"column":53}}],"line":196},"25":{"loc":{"start":{"line":201,"column":8},"end":{"line":202,"column":24}},"type":"if","locations":[{"start":{"line":201,"column":8},"end":{"line":202,"column":24}},{"start":{"line":201,"column":8},"end":{"line":202,"column":24}}],"line":201},"26":{"loc":{"start":{"line":204,"column":37},"end":{"line":204,"column":94}},"type":"binary-expr","locations":[{"start":{"line":204,"column":37},"end":{"line":204,"column":58}},{"start":{"line":204,"column":62},"end":{"line":204,"column":85}},{"start":{"line":204,"column":89},"end":{"line":204,"column":94}}],"line":204},"27":{"loc":{"start":{"line":206,"column":56},"end":{"line":208,"column":40}},"type":"cond-expr","locations":[{"start":{"line":207,"column":18},"end":{"line":207,"column":39}},{"start":{"line":208,"column":18},"end":{"line":208,"column":40}}],"line":206},"28":{"loc":{"start":{"line":209,"column":55},"end":{"line":211,"column":39}},"type":"cond-expr","locations":[{"start":{"line":210,"column":18},"end":{"line":210,"column":38}},{"start":{"line":211,"column":18},"end":{"line":211,"column":39}}],"line":209},"29":{"loc":{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},"type":"if","locations":[{"start":{"line":217,"column":12},"end":{"line":219,"column":13}},{"start":{"line":217,"column":12},"end":{"line":219,"column":13}}],"line":217},"30":{"loc":{"start":{"line":217,"column":16},"end":{"line":217,"column":77}},"type":"binary-expr","locations":[{"start":{"line":217,"column":16},"end":{"line":217,"column":33}},{"start":{"line":217,"column":37},"end":{"line":217,"column":53}},{"start":{"line":217,"column":57},"end":{"line":217,"column":59}},{"start":{"line":217,"column":63},"end":{"line":217,"column":65}},{"start":{"line":217,"column":69},"end":{"line":217,"column":71}},{"start":{"line":217,"column":75},"end":{"line":217,"column":77}}],"line":217},"31":{"loc":{"start":{"line":256,"column":16},"end":{"line":256,"column":40}},"type":"default-arg","locations":[{"start":{"line":256,"column":35},"end":{"line":256,"column":40}}],"line":256},"32":{"loc":{"start":{"line":265,"column":32},"end":{"line":269,"column":37}},"type":"cond-expr","locations":[{"start":{"line":266,"column":14},"end":{"line":268,"column":34}},{"start":{"line":269,"column":14},"end":{"line":269,"column":37}}],"line":265},"33":{"loc":{"start":{"line":266,"column":14},"end":{"line":268,"column":34}},"type":"cond-expr","locations":[{"start":{"line":267,"column":18},"end":{"line":267,"column":56}},{"start":{"line":268,"column":18},"end":{"line":268,"column":34}}],"line":266},"34":{"loc":{"start":{"line":270,"column":31},"end":{"line":274,"column":37}},"type":"cond-expr","locations":[{"start":{"line":271,"column":14},"end":{"line":273,"column":33}},{"start":{"line":274,"column":14},"end":{"line":274,"column":37}}],"line":270},"35":{"loc":{"start":{"line":271,"column":14},"end":{"line":273,"column":33}},"type":"cond-expr","locations":[{"start":{"line":272,"column":18},"end":{"line":272,"column":55}},{"start":{"line":273,"column":18},"end":{"line":273,"column":33}}],"line":271},"36":{"loc":{"start":{"line":275,"column":17},"end":{"line":279,"column":37}},"type":"cond-expr","locations":[{"start":{"line":276,"column":14},"end":{"line":278,"column":19}},{"start":{"line":279,"column":14},"end":{"line":279,"column":37}}],"line":275},"37":{"loc":{"start":{"line":276,"column":14},"end":{"line":278,"column":19}},"type":"cond-expr","locations":[{"start":{"line":277,"column":18},"end":{"line":277,"column":41}},{"start":{"line":278,"column":18},"end":{"line":278,"column":19}}],"line":276},"38":{"loc":{"start":{"line":280,"column":17},"end":{"line":284,"column":37}},"type":"cond-expr","locations":[{"start":{"line":281,"column":14},"end":{"line":283,"column":19}},{"start":{"line":284,"column":14},"end":{"line":284,"column":37}}],"line":280},"39":{"loc":{"start":{"line":281,"column":14},"end":{"line":283,"column":19}},"type":"cond-expr","locations":[{"start":{"line":282,"column":18},"end":{"line":282,"column":41}},{"start":{"line":283,"column":18},"end":{"line":283,"column":19}}],"line":281},"40":{"loc":{"start":{"line":285,"column":17},"end":{"line":289,"column":37}},"type":"cond-expr","locations":[{"start":{"line":286,"column":14},"end":{"line":288,"column":19}},{"start":{"line":289,"column":14},"end":{"line":289,"column":37}}],"line":285},"41":{"loc":{"start":{"line":286,"column":14},"end":{"line":288,"column":19}},"type":"cond-expr","locations":[{"start":{"line":287,"column":18},"end":{"line":287,"column":41}},{"start":{"line":288,"column":18},"end":{"line":288,"column":19}}],"line":286},"42":{"loc":{"start":{"line":290,"column":17},"end":{"line":294,"column":37}},"type":"cond-expr","locations":[{"start":{"line":291,"column":14},"end":{"line":293,"column":19}},{"start":{"line":294,"column":14},"end":{"line":294,"column":37}}],"line":290},"43":{"loc":{"start":{"line":291,"column":14},"end":{"line":293,"column":19}},"type":"cond-expr","locations":[{"start":{"line":292,"column":18},"end":{"line":292,"column":41}},{"start":{"line":293,"column":18},"end":{"line":293,"column":19}}],"line":291},"44":{"loc":{"start":{"line":319,"column":26},"end":{"line":319,"column":55}},"type":"cond-expr","locations":[{"start":{"line":319,"column":50},"end":{"line":319,"column":51}},{"start":{"line":319,"column":54},"end":{"line":319,"column":55}}],"line":319}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":74,"7":74,"8":74,"9":62,"10":12,"11":0,"12":44,"13":0,"14":44,"15":42,"16":2,"17":2,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":106,"25":106,"26":106,"27":106,"28":42,"29":42,"30":42,"31":21,"32":42,"33":62,"34":62,"35":62,"36":62,"37":62,"38":62,"39":33,"40":33,"41":33,"42":33,"43":62,"44":22,"45":11,"46":324,"47":324,"48":324,"49":324,"50":164,"51":164,"52":164,"53":324,"54":1,"55":1,"56":30,"57":0,"58":30,"59":30,"60":3,"61":3,"62":0,"63":0,"64":0,"65":27,"66":27,"67":0,"68":27,"69":0,"70":0,"71":0,"72":0,"73":0,"74":5,"75":0,"76":5,"77":5,"78":5,"79":5,"80":0,"81":5,"82":5,"83":5,"84":5,"85":5,"86":5,"87":5,"88":5,"89":5,"90":0,"91":5,"92":0,"93":12,"94":12,"95":12,"96":12,"97":12,"98":12,"99":12,"100":12,"101":12,"102":12,"103":12,"104":12,"105":12,"106":32,"107":32,"108":32,"109":32,"110":32,"111":32,"112":32,"113":32,"114":32,"115":32,"116":4,"117":31,"118":31,"119":31,"120":31,"121":31,"122":31,"123":31,"124":31,"125":31,"126":31,"127":1,"128":1},"f":{"0":74,"1":44,"2":106,"3":42,"4":21,"5":62,"6":22,"7":11,"8":324,"9":30,"10":5,"11":12,"12":32,"13":4,"14":31},"b":{"0":[62,12,0],"1":[0,44],"2":[42,2],"3":[2,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[42,0,0],"8":[21,0],"9":[21,0],"10":[21,21,21],"11":[0,30],"12":[30,30],"13":[3,27],"14":[0,0],"15":[0,0],"16":[27,0],"17":[0,27],"18":[0,0],"19":[0,0],"20":[0,5],"21":[5,5],"22":[5,5],"23":[5,0],"24":[5,5,0],"25":[0,5],"26":[5,1,1],"27":[5,0],"28":[5,0],"29":[0,5],"30":[5,5,5,5,5,5],"31":[27],"32":[5,27],"33":[0,5],"34":[5,27],"35":[0,5],"36":[5,27],"37":[0,5],"38":[5,27],"39":[0,5],"40":[5,27],"41":[0,5],"42":[5,27],"43":[0,5],"44":[26,5]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutCurvePiece.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/PayoutCurvePiece.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType, PayoutCurvePieceType } from '../MessageType';\nimport { F64 } from '../serialize/F64';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { IDlcMessage } from './DlcMessage';\n\nexport abstract class PayoutCurvePiece {\n public static deserialize(\n buf: Buffer,\n ): PolynomialPayoutCurvePiece | HyperbolaPayoutCurvePiece {\n const reader = new BufferReader(buf);\n const typeId = Number(reader.readBigSize());\n\n switch (typeId) {\n case PayoutCurvePieceType.Polynomial:\n return PolynomialPayoutCurvePiece.deserialize(buf);\n case PayoutCurvePieceType.Hyperbola:\n return HyperbolaPayoutCurvePiece.deserialize(buf);\n default:\n throw new Error(\n `Payout curve piece type must be Polynomial (0) or Hyperbola (1), got ${typeId}`,\n );\n }\n }\n\n /**\n * Creates a PayoutCurvePiece from JSON data\n * @param json JSON object representing a payout curve piece\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): PayoutCurvePiece {\n if (!json) {\n throw new Error('payoutCurvePiece is required');\n }\n\n // Handle test vector format with nested types\n if (json.polynomialPayoutCurvePiece) {\n return PolynomialPayoutCurvePiece.fromJSON(\n json.polynomialPayoutCurvePiece,\n );\n } else if (json.hyperbolaPayoutCurvePiece) {\n return HyperbolaPayoutCurvePiece.fromJSON(json.hyperbolaPayoutCurvePiece);\n }\n // Handle direct format\n else if (json.points !== undefined || json.payoutPoints !== undefined) {\n return PolynomialPayoutCurvePiece.fromJSON(json);\n } else if (json.usePositivePiece !== undefined) {\n return HyperbolaPayoutCurvePiece.fromJSON(json);\n } else {\n throw new Error(\n 'payoutCurvePiece must be either polynomial (with points) or hyperbola (with usePositivePiece)',\n );\n }\n }\n\n public abstract payoutCurvePieceType: PayoutCurvePieceType;\n public abstract type: number; // For backward compatibility\n public abstract toJSON():\n | PolynomialPayoutCurvePieceJSON\n | HyperbolaPayoutCurvePieceJSON;\n public abstract serialize(): Buffer;\n}\n\n/**\n * PolynomialPayoutCurvePiece defines a polynomial curve piece for payout functions.\n * This corresponds to type 0 in the sibling sub-type format.\n */\nexport class PolynomialPayoutCurvePiece\n extends PayoutCurvePiece\n implements IDlcMessage {\n public static payoutCurvePieceType = PayoutCurvePieceType.Polynomial;\n\n /**\n * Creates a PolynomialPayoutCurvePiece from JSON data\n * @param json JSON object representing a polynomial payout curve piece\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): PolynomialPayoutCurvePiece {\n const instance = new PolynomialPayoutCurvePiece();\n\n const points = json.payoutPoints || json.points || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.points = points.map((point: any) => ({\n eventOutcome: toBigInt(point.eventOutcome || point.event_outcome),\n outcomePayout: toBigInt(point.outcomePayout || point.outcome_payout),\n extraPrecision: point.extraPrecision || point.extra_precision || 0,\n }));\n\n return instance;\n }\n\n /**\n * Deserializes a polynomial_payout_curve_piece message\n * @param buf\n */\n public static deserialize(buf: Buffer): PolynomialPayoutCurvePiece {\n const instance = new PolynomialPayoutCurvePiece();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (0)\n const numPts = Number(reader.readBigSize());\n\n for (let i = 0; i < numPts; i++) {\n const eventOutcome = reader.readUInt64BE();\n const outcomePayout = reader.readUInt64BE();\n const extraPrecision = reader.readUInt16BE();\n\n instance.points.push({\n eventOutcome,\n outcomePayout,\n extraPrecision,\n });\n }\n\n return instance;\n }\n\n /**\n * The type for polynomial_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message\n */\n public type = MessageType.PolynomialPayoutCurvePiece;\n\n /**\n * The payout curve piece type for new format\n */\n public payoutCurvePieceType = PayoutCurvePieceType.Polynomial;\n\n public points: IPoint[] = [];\n\n /**\n * Converts polynomial_payout_curve_piece to JSON\n */\n public toJSON(): PolynomialPayoutCurvePieceJSON {\n return {\n polynomialPayoutCurvePiece: {\n payoutPoints: this.points.map((point) => {\n return {\n eventOutcome: bigIntToNumber(point.eventOutcome),\n outcomePayout: bigIntToNumber(point.outcomePayout),\n extraPrecision: Number(point.extraPrecision),\n };\n }),\n },\n };\n }\n\n /**\n * Serializes the polynomial_payout_curve_piece message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.payoutCurvePieceType);\n writer.writeBigSize(this.points.length);\n\n for (const point of this.points) {\n writer.writeUInt64BE(point.eventOutcome);\n writer.writeUInt64BE(point.outcomePayout);\n writer.writeUInt16BE(point.extraPrecision);\n }\n\n return writer.toBuffer();\n }\n}\n\n/**\n * HyperbolaPayoutCurvePiece defines a hyperbola curve piece for payout functions.\n * This corresponds to type 1 in the sibling sub-type format.\n * Updated to use F64 for precise f64 parameter handling.\n */\nexport class HyperbolaPayoutCurvePiece\n extends PayoutCurvePiece\n implements IDlcMessage {\n public static payoutCurvePieceType = PayoutCurvePieceType.Hyperbola;\n\n /**\n * Helper function to safely parse F64 values from JSON\n * Handles both number and string inputs for maximum precision\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n private static parseF64Value(value: any): F64 | null {\n // Check for basic null/undefined\n if (value === null || value === undefined) {\n return null;\n }\n\n try {\n if (typeof value === 'string') {\n // Parse string directly to preserve precision\n try {\n return F64.fromString(value);\n } catch (error) {\n // If fromString fails, try parsing as number\n const numValue = parseFloat(value);\n if (!isNaN(numValue) && isFinite(numValue)) {\n return F64.fromNumber(numValue);\n }\n }\n } else if (typeof value === 'number') {\n // Parse number - handle special cases\n if (!isFinite(value)) {\n return null; // Reject NaN, Infinity, -Infinity\n }\n return F64.fromNumber(value);\n }\n\n // Try to convert other types to number as fallback\n const numValue = Number(value);\n if (!isNaN(numValue) && isFinite(numValue)) {\n return F64.fromNumber(numValue);\n }\n\n return null;\n } catch (error) {\n return null;\n }\n }\n\n /**\n * Creates a HyperbolaPayoutCurvePiece from JSON data\n * @param json JSON object representing a hyperbola payout curve piece\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): HyperbolaPayoutCurvePiece | null {\n if (!json || typeof json !== 'object') return null;\n\n // Handle both wrapped format and direct format\n let data =\n json.hyperbolaPayoutCurvePiece || json.hyperbola_payout_curve_piece;\n\n // If no wrapper found, assume direct format if it has the expected properties\n if (\n !data &&\n (json.usePositivePiece !== undefined ||\n json.use_positive_piece !== undefined)\n ) {\n data = json;\n }\n\n if (!data) return null;\n\n try {\n const usePositivePiece =\n data.usePositivePiece || data.use_positive_piece || false;\n\n // Parse each F64 value with null check\n const translateOutcome = this.parseF64Value(\n data.translateOutcome !== undefined\n ? data.translateOutcome\n : data.translate_outcome,\n );\n const translatePayout = this.parseF64Value(\n data.translatePayout !== undefined\n ? data.translatePayout\n : data.translate_payout,\n );\n const a = this.parseF64Value(data.a);\n const b = this.parseF64Value(data.b);\n const c = this.parseF64Value(data.c);\n const d = this.parseF64Value(data.d);\n\n // Check that all required values were parsed successfully\n if (!translateOutcome || !translatePayout || !a || !b || !c || !d) {\n throw new Error('Failed to parse one or more F64 values');\n }\n\n return new HyperbolaPayoutCurvePiece(\n usePositivePiece,\n translateOutcome,\n translatePayout,\n a,\n b,\n c,\n d,\n );\n } catch (error) {\n return null;\n }\n }\n\n /**\n * Deserializes a hyperbola_payout_curve_piece message\n * @param buf\n */\n public static deserialize(buf: Buffer): HyperbolaPayoutCurvePiece {\n const instance = new HyperbolaPayoutCurvePiece();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (1)\n instance.usePositivePiece = reader.readUInt8() === 1;\n\n // Read f64 values using F64 for precise handling - read raw 8-byte buffers\n instance.translateOutcome = F64.deserialize(reader.readBytes(8));\n instance.translatePayout = F64.deserialize(reader.readBytes(8));\n instance.a = F64.deserialize(reader.readBytes(8));\n instance.b = F64.deserialize(reader.readBytes(8));\n instance.c = F64.deserialize(reader.readBytes(8));\n instance.d = F64.deserialize(reader.readBytes(8));\n\n // Note: leftEndPoint and rightEndPoint are not part of the serialization\n // They will be set by PayoutFunction when creating from JSON\n instance.leftEndPoint = {\n eventOutcome: BigInt(0),\n outcomePayout: BigInt(0),\n extraPrecision: 0,\n };\n\n instance.rightEndPoint = {\n eventOutcome: BigInt(0),\n outcomePayout: BigInt(0),\n extraPrecision: 0,\n };\n\n return instance;\n }\n\n /**\n * The type for hyperbola_payout_curve_piece message - Note: this is a sub-component, not a standalone wire message\n */\n public type = MessageType.HyperbolaPayoutCurvePiece;\n\n public payoutCurvePieceType = HyperbolaPayoutCurvePiece.payoutCurvePieceType;\n\n // Use F64 for precise f64 parameter handling to avoid JavaScript precision issues\n public leftEndPoint: IPayoutPoint;\n public rightEndPoint: IPayoutPoint;\n public usePositivePiece: boolean;\n public translateOutcome: F64; // f64 - precise handling with F64\n public translatePayout: F64; // f64 - precise handling with F64\n public a: F64; // f64 - precise handling with F64\n public b: F64; // f64 - precise handling with F64\n public c: F64; // f64 - precise handling with F64\n public d: F64; // f64 - precise handling with F64\n\n constructor(\n usePositivePiece = false,\n translateOutcome?: string | F64,\n translatePayout?: string | F64,\n a?: string | F64,\n b?: string | F64,\n c?: string | F64,\n d?: string | F64,\n ) {\n super();\n this.usePositivePiece = usePositivePiece;\n\n // Convert string inputs to F64 objects, or use existing F64 objects\n this.translateOutcome = translateOutcome\n ? typeof translateOutcome === 'string'\n ? F64.fromString(translateOutcome)\n : translateOutcome\n : F64.fromNumber(0);\n this.translatePayout = translatePayout\n ? typeof translatePayout === 'string'\n ? F64.fromString(translatePayout)\n : translatePayout\n : F64.fromNumber(0);\n this.a = a\n ? typeof a === 'string'\n ? F64.fromString(a)\n : a\n : F64.fromNumber(0);\n this.b = b\n ? typeof b === 'string'\n ? F64.fromString(b)\n : b\n : F64.fromNumber(0);\n this.c = c\n ? typeof c === 'string'\n ? F64.fromString(c)\n : c\n : F64.fromNumber(0);\n this.d = d\n ? typeof d === 'string'\n ? F64.fromString(d)\n : d\n : F64.fromNumber(0);\n }\n\n /**\n * Converts hyperbola_payout_curve_piece to JSON\n * Uses F64.toJSONValue() which preserves precision by using strings for very large numbers\n */\n public toJSON(): HyperbolaPayoutCurvePieceJSON {\n return {\n hyperbolaPayoutCurvePiece: {\n usePositivePiece: this.usePositivePiece,\n translateOutcome: this.translateOutcome.toJSONValue(), // Smart conversion: number if safe, string if large\n translatePayout: this.translatePayout.toJSONValue(), // Preserves precision automatically\n a: this.a.toJSONValue(),\n b: this.b.toJSONValue(),\n c: this.c.toJSONValue(),\n d: this.d.toJSONValue(),\n },\n };\n }\n\n /**\n * Serializes the hyperbola_payout_curve_piece message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.payoutCurvePieceType);\n writer.writeUInt8(this.usePositivePiece ? 1 : 0);\n\n // Write f64 values using F64 for precise handling - write raw 8-byte buffers\n writer.writeBytes(this.translateOutcome.serialize());\n writer.writeBytes(this.translatePayout.serialize());\n writer.writeBytes(this.a.serialize());\n writer.writeBytes(this.b.serialize());\n writer.writeBytes(this.c.serialize());\n writer.writeBytes(this.d.serialize());\n\n return writer.toBuffer();\n }\n}\n\ninterface IPoint {\n eventOutcome: bigint;\n outcomePayout: bigint;\n extraPrecision: number;\n}\n\ninterface IPointJSON {\n eventOutcome: number;\n outcomePayout: number;\n extraPrecision: number;\n}\n\ninterface IPayoutPoint {\n eventOutcome: bigint;\n outcomePayout: bigint;\n extraPrecision: number;\n}\n\nexport interface PolynomialPayoutCurvePieceJSON {\n polynomialPayoutCurvePiece: {\n payoutPoints: IPointJSON[];\n };\n}\n\nexport interface HyperbolaPayoutCurvePieceJSON {\n hyperbolaPayoutCurvePiece: {\n usePositivePiece: boolean;\n translateOutcome: number | string;\n translatePayout: number | string;\n a: number | string;\n b: number | string;\n c: number | string;\n d: number | string;\n };\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"85630fbb766c4f0ad2ff0f4624981c741cb67870","contentHash":"720245999999619acffad181ddbf662cf28c5acf3f1cfaaf1c407b6be9943449"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/F64.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/F64.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":21}},"4":{"start":{"line":7,"column":21},"end":{"line":7,"column":59}},"5":{"start":{"line":21,"column":8},"end":{"line":29,"column":9}},"6":{"start":{"line":22,"column":12},"end":{"line":24,"column":13}},"7":{"start":{"line":23,"column":16},"end":{"line":23,"column":70}},"8":{"start":{"line":25,"column":12},"end":{"line":25,"column":47}},"9":{"start":{"line":28,"column":12},"end":{"line":28,"column":43}},"10":{"start":{"line":35,"column":23},"end":{"line":35,"column":38}},"11":{"start":{"line":36,"column":8},"end":{"line":36,"column":37}},"12":{"start":{"line":37,"column":8},"end":{"line":37,"column":31}},"13":{"start":{"line":45,"column":20},"end":{"line":45,"column":38}},"14":{"start":{"line":46,"column":8},"end":{"line":46,"column":35}},"15":{"start":{"line":54,"column":24},"end":{"line":54,"column":53}},"16":{"start":{"line":55,"column":8},"end":{"line":55,"column":40}},"17":{"start":{"line":61,"column":20},"end":{"line":61,"column":34}},"18":{"start":{"line":62,"column":8},"end":{"line":62,"column":35}},"19":{"start":{"line":68,"column":8},"end":{"line":68,"column":33}},"20":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"21":{"start":{"line":75,"column":12},"end":{"line":75,"column":67}},"22":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"23":{"start":{"line":78,"column":12},"end":{"line":78,"column":69}},"24":{"start":{"line":80,"column":23},"end":{"line":80,"column":38}},"25":{"start":{"line":83,"column":24},"end":{"line":83,"column":52}},"26":{"start":{"line":84,"column":24},"end":{"line":84,"column":40}},"27":{"start":{"line":85,"column":29},"end":{"line":85,"column":37}},"28":{"start":{"line":86,"column":28},"end":{"line":86,"column":92}},"29":{"start":{"line":88,"column":8},"end":{"line":91,"column":9}},"30":{"start":{"line":88,"column":21},"end":{"line":88,"column":22}},"31":{"start":{"line":89,"column":30},"end":{"line":89,"column":88}},"32":{"start":{"line":90,"column":12},"end":{"line":90,"column":44}},"33":{"start":{"line":92,"column":8},"end":{"line":92,"column":31}},"34":{"start":{"line":98,"column":8},"end":{"line":98,"column":41}},"35":{"start":{"line":104,"column":8},"end":{"line":104,"column":32}},"36":{"start":{"line":110,"column":8},"end":{"line":110,"column":31}},"37":{"start":{"line":117,"column":8},"end":{"line":117,"column":44}},"38":{"start":{"line":123,"column":8},"end":{"line":123,"column":57}},"39":{"start":{"line":130,"column":26},"end":{"line":130,"column":35}},"40":{"start":{"line":131,"column":8},"end":{"line":134,"column":9}},"41":{"start":{"line":131,"column":21},"end":{"line":131,"column":22}},"42":{"start":{"line":132,"column":12},"end":{"line":133,"column":79}},"43":{"start":{"line":135,"column":21},"end":{"line":135,"column":76}},"44":{"start":{"line":136,"column":25},"end":{"line":136,"column":76}},"45":{"start":{"line":137,"column":25},"end":{"line":137,"column":78}},"46":{"start":{"line":138,"column":8},"end":{"line":138,"column":44}},"47":{"start":{"line":144,"column":29},"end":{"line":144,"column":49}},"48":{"start":{"line":145,"column":8},"end":{"line":145,"column":33}},"49":{"start":{"line":151,"column":39},"end":{"line":151,"column":59}},"50":{"start":{"line":152,"column":8},"end":{"line":152,"column":59}},"51":{"start":{"line":158,"column":39},"end":{"line":158,"column":59}},"52":{"start":{"line":159,"column":8},"end":{"line":159,"column":59}},"53":{"start":{"line":165,"column":39},"end":{"line":165,"column":59}},"54":{"start":{"line":166,"column":8},"end":{"line":166,"column":56}},"55":{"start":{"line":172,"column":8},"end":{"line":172,"column":42}},"56":{"start":{"line":179,"column":20},"end":{"line":179,"column":35}},"57":{"start":{"line":181,"column":8},"end":{"line":183,"column":9}},"58":{"start":{"line":182,"column":12},"end":{"line":182,"column":23}},"59":{"start":{"line":185,"column":8},"end":{"line":185,"column":30}},"60":{"start":{"line":191,"column":8},"end":{"line":196,"column":9}},"61":{"start":{"line":192,"column":12},"end":{"line":192,"column":41}},"62":{"start":{"line":195,"column":12},"end":{"line":195,"column":41}},"63":{"start":{"line":202,"column":8},"end":{"line":202,"column":44}},"64":{"start":{"line":208,"column":23},"end":{"line":208,"column":46}},"65":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"66":{"start":{"line":210,"column":12},"end":{"line":210,"column":73}},"67":{"start":{"line":212,"column":8},"end":{"line":212,"column":31}},"68":{"start":{"line":218,"column":8},"end":{"line":218,"column":50}},"69":{"start":{"line":224,"column":8},"end":{"line":226,"column":9}},"70":{"start":{"line":225,"column":12},"end":{"line":225,"column":45}},"71":{"start":{"line":227,"column":8},"end":{"line":227,"column":34}},"72":{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},"73":{"start":{"line":234,"column":12},"end":{"line":234,"column":43}},"74":{"start":{"line":236,"column":8},"end":{"line":236,"column":50}},"75":{"start":{"line":242,"column":8},"end":{"line":244,"column":9}},"76":{"start":{"line":243,"column":12},"end":{"line":243,"column":43}},"77":{"start":{"line":245,"column":8},"end":{"line":245,"column":50}},"78":{"start":{"line":251,"column":8},"end":{"line":253,"column":9}},"79":{"start":{"line":252,"column":12},"end":{"line":252,"column":44}},"80":{"start":{"line":254,"column":8},"end":{"line":254,"column":51}},"81":{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},"82":{"start":{"line":261,"column":12},"end":{"line":261,"column":44}},"83":{"start":{"line":263,"column":8},"end":{"line":263,"column":51}},"84":{"start":{"line":269,"column":8},"end":{"line":269,"column":37}},"85":{"start":{"line":275,"column":8},"end":{"line":275,"column":33}},"86":{"start":{"line":278,"column":8},"end":{"line":278,"column":33}},"87":{"start":{"line":281,"column":8},"end":{"line":281,"column":34}},"88":{"start":{"line":284,"column":8},"end":{"line":284,"column":56}},"89":{"start":{"line":287,"column":8},"end":{"line":287,"column":56}},"90":{"start":{"line":290,"column":8},"end":{"line":290,"column":42}},"91":{"start":{"line":293,"column":0},"end":{"line":293,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":4},"end":{"line":20,"column":5}},"loc":{"start":{"line":20,"column":24},"end":{"line":30,"column":5}},"line":20},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":27},"end":{"line":38,"column":5}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":4},"end":{"line":43,"column":5}},"loc":{"start":{"line":43,"column":32},"end":{"line":47,"column":5}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":27},"end":{"line":56,"column":5}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":30},"end":{"line":63,"column":5}},"line":60},"6":{"name":"(anonymous_6)","decl":{"start":{"line":67,"column":4},"end":{"line":67,"column":5}},"loc":{"start":{"line":67,"column":18},"end":{"line":69,"column":5}},"line":67},"7":{"name":"(anonymous_7)","decl":{"start":{"line":73,"column":4},"end":{"line":73,"column":5}},"loc":{"start":{"line":73,"column":52},"end":{"line":93,"column":5}},"line":73},"8":{"name":"(anonymous_8)","decl":{"start":{"line":97,"column":4},"end":{"line":97,"column":5}},"loc":{"start":{"line":97,"column":16},"end":{"line":99,"column":5}},"line":97},"9":{"name":"(anonymous_9)","decl":{"start":{"line":103,"column":4},"end":{"line":103,"column":5}},"loc":{"start":{"line":103,"column":16},"end":{"line":105,"column":5}},"line":103},"10":{"name":"(anonymous_10)","decl":{"start":{"line":109,"column":4},"end":{"line":109,"column":5}},"loc":{"start":{"line":109,"column":31},"end":{"line":111,"column":5}},"line":109},"11":{"name":"(anonymous_11)","decl":{"start":{"line":116,"column":4},"end":{"line":116,"column":5}},"loc":{"start":{"line":116,"column":15},"end":{"line":118,"column":5}},"line":116},"12":{"name":"(anonymous_12)","decl":{"start":{"line":122,"column":4},"end":{"line":122,"column":5}},"loc":{"start":{"line":122,"column":16},"end":{"line":124,"column":5}},"line":122},"13":{"name":"(anonymous_13)","decl":{"start":{"line":128,"column":4},"end":{"line":128,"column":5}},"loc":{"start":{"line":128,"column":20},"end":{"line":139,"column":5}},"line":128},"14":{"name":"(anonymous_14)","decl":{"start":{"line":143,"column":4},"end":{"line":143,"column":5}},"loc":{"start":{"line":143,"column":15},"end":{"line":146,"column":5}},"line":143},"15":{"name":"(anonymous_15)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":12},"end":{"line":153,"column":5}},"line":150},"16":{"name":"(anonymous_16)","decl":{"start":{"line":157,"column":4},"end":{"line":157,"column":5}},"loc":{"start":{"line":157,"column":17},"end":{"line":160,"column":5}},"line":157},"17":{"name":"(anonymous_17)","decl":{"start":{"line":164,"column":4},"end":{"line":164,"column":5}},"loc":{"start":{"line":164,"column":13},"end":{"line":167,"column":5}},"line":164},"18":{"name":"(anonymous_18)","decl":{"start":{"line":171,"column":4},"end":{"line":171,"column":5}},"loc":{"start":{"line":171,"column":15},"end":{"line":173,"column":5}},"line":171},"19":{"name":"(anonymous_19)","decl":{"start":{"line":178,"column":4},"end":{"line":178,"column":5}},"loc":{"start":{"line":178,"column":18},"end":{"line":186,"column":5}},"line":178},"20":{"name":"(anonymous_20)","decl":{"start":{"line":190,"column":4},"end":{"line":190,"column":5}},"loc":{"start":{"line":190,"column":32},"end":{"line":197,"column":5}},"line":190},"21":{"name":"(anonymous_21)","decl":{"start":{"line":201,"column":4},"end":{"line":201,"column":5}},"loc":{"start":{"line":201,"column":12},"end":{"line":203,"column":5}},"line":201},"22":{"name":"(anonymous_22)","decl":{"start":{"line":207,"column":4},"end":{"line":207,"column":5}},"loc":{"start":{"line":207,"column":24},"end":{"line":213,"column":5}},"line":207},"23":{"name":"(anonymous_23)","decl":{"start":{"line":217,"column":4},"end":{"line":217,"column":5}},"loc":{"start":{"line":217,"column":18},"end":{"line":219,"column":5}},"line":217},"24":{"name":"(anonymous_24)","decl":{"start":{"line":223,"column":4},"end":{"line":223,"column":5}},"loc":{"start":{"line":223,"column":14},"end":{"line":228,"column":5}},"line":223},"25":{"name":"(anonymous_25)","decl":{"start":{"line":232,"column":4},"end":{"line":232,"column":5}},"loc":{"start":{"line":232,"column":14},"end":{"line":237,"column":5}},"line":232},"26":{"name":"(anonymous_26)","decl":{"start":{"line":241,"column":4},"end":{"line":241,"column":5}},"loc":{"start":{"line":241,"column":14},"end":{"line":246,"column":5}},"line":241},"27":{"name":"(anonymous_27)","decl":{"start":{"line":250,"column":4},"end":{"line":250,"column":5}},"loc":{"start":{"line":250,"column":15},"end":{"line":255,"column":5}},"line":250},"28":{"name":"(anonymous_28)","decl":{"start":{"line":259,"column":4},"end":{"line":259,"column":5}},"loc":{"start":{"line":259,"column":15},"end":{"line":264,"column":5}},"line":259},"29":{"name":"(anonymous_29)","decl":{"start":{"line":268,"column":4},"end":{"line":268,"column":5}},"loc":{"start":{"line":268,"column":12},"end":{"line":270,"column":5}},"line":268},"30":{"name":"(anonymous_30)","decl":{"start":{"line":274,"column":4},"end":{"line":274,"column":5}},"loc":{"start":{"line":274,"column":22},"end":{"line":276,"column":5}},"line":274},"31":{"name":"(anonymous_31)","decl":{"start":{"line":277,"column":4},"end":{"line":277,"column":5}},"loc":{"start":{"line":277,"column":21},"end":{"line":279,"column":5}},"line":277},"32":{"name":"(anonymous_32)","decl":{"start":{"line":280,"column":4},"end":{"line":280,"column":5}},"loc":{"start":{"line":280,"column":30},"end":{"line":282,"column":5}},"line":280},"33":{"name":"(anonymous_33)","decl":{"start":{"line":283,"column":4},"end":{"line":283,"column":5}},"loc":{"start":{"line":283,"column":26},"end":{"line":285,"column":5}},"line":283},"34":{"name":"(anonymous_34)","decl":{"start":{"line":286,"column":4},"end":{"line":286,"column":5}},"loc":{"start":{"line":286,"column":35},"end":{"line":288,"column":5}},"line":286},"35":{"name":"(anonymous_35)","decl":{"start":{"line":289,"column":4},"end":{"line":289,"column":5}},"loc":{"start":{"line":289,"column":21},"end":{"line":291,"column":5}},"line":289}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":21,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":21,"column":8},"end":{"line":29,"column":9}},{"start":{"line":21,"column":8},"end":{"line":29,"column":9}}],"line":21},"4":{"loc":{"start":{"line":22,"column":12},"end":{"line":24,"column":13}},"type":"if","locations":[{"start":{"line":22,"column":12},"end":{"line":24,"column":13}},{"start":{"line":22,"column":12},"end":{"line":24,"column":13}}],"line":22},"5":{"loc":{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},"type":"if","locations":[{"start":{"line":74,"column":8},"end":{"line":76,"column":9}},{"start":{"line":74,"column":8},"end":{"line":76,"column":9}}],"line":74},"6":{"loc":{"start":{"line":74,"column":12},"end":{"line":74,"column":43}},"type":"binary-expr","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":24}},{"start":{"line":74,"column":28},"end":{"line":74,"column":43}}],"line":74},"7":{"loc":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},{"start":{"line":77,"column":8},"end":{"line":79,"column":9}}],"line":77},"8":{"loc":{"start":{"line":77,"column":12},"end":{"line":77,"column":71}},"type":"binary-expr","locations":[{"start":{"line":77,"column":12},"end":{"line":77,"column":32}},{"start":{"line":77,"column":36},"end":{"line":77,"column":71}}],"line":77},"9":{"loc":{"start":{"line":83,"column":24},"end":{"line":83,"column":52}},"type":"cond-expr","locations":[{"start":{"line":83,"column":31},"end":{"line":83,"column":40}},{"start":{"line":83,"column":43},"end":{"line":83,"column":52}}],"line":83},"10":{"loc":{"start":{"line":152,"column":15},"end":{"line":152,"column":58}},"type":"binary-expr","locations":[{"start":{"line":152,"column":15},"end":{"line":152,"column":32}},{"start":{"line":152,"column":36},"end":{"line":152,"column":58}}],"line":152},"11":{"loc":{"start":{"line":159,"column":15},"end":{"line":159,"column":58}},"type":"binary-expr","locations":[{"start":{"line":159,"column":15},"end":{"line":159,"column":32}},{"start":{"line":159,"column":36},"end":{"line":159,"column":58}}],"line":159},"12":{"loc":{"start":{"line":166,"column":15},"end":{"line":166,"column":55}},"type":"binary-expr","locations":[{"start":{"line":166,"column":15},"end":{"line":166,"column":29}},{"start":{"line":166,"column":33},"end":{"line":166,"column":55}}],"line":166},"13":{"loc":{"start":{"line":181,"column":8},"end":{"line":183,"column":9}},"type":"if","locations":[{"start":{"line":181,"column":8},"end":{"line":183,"column":9}},{"start":{"line":181,"column":8},"end":{"line":183,"column":9}}],"line":181},"14":{"loc":{"start":{"line":181,"column":12},"end":{"line":181,"column":76}},"type":"binary-expr","locations":[{"start":{"line":181,"column":12},"end":{"line":181,"column":42}},{"start":{"line":181,"column":46},"end":{"line":181,"column":76}}],"line":181},"15":{"loc":{"start":{"line":191,"column":8},"end":{"line":196,"column":9}},"type":"if","locations":[{"start":{"line":191,"column":8},"end":{"line":196,"column":9}},{"start":{"line":191,"column":8},"end":{"line":196,"column":9}}],"line":191},"16":{"loc":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},{"start":{"line":209,"column":8},"end":{"line":211,"column":9}}],"line":209},"17":{"loc":{"start":{"line":224,"column":8},"end":{"line":226,"column":9}},"type":"if","locations":[{"start":{"line":224,"column":8},"end":{"line":226,"column":9}},{"start":{"line":224,"column":8},"end":{"line":226,"column":9}}],"line":224},"18":{"loc":{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},"type":"if","locations":[{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},{"start":{"line":233,"column":8},"end":{"line":235,"column":9}}],"line":233},"19":{"loc":{"start":{"line":242,"column":8},"end":{"line":244,"column":9}},"type":"if","locations":[{"start":{"line":242,"column":8},"end":{"line":244,"column":9}},{"start":{"line":242,"column":8},"end":{"line":244,"column":9}}],"line":242},"20":{"loc":{"start":{"line":251,"column":8},"end":{"line":253,"column":9}},"type":"if","locations":[{"start":{"line":251,"column":8},"end":{"line":253,"column":9}},{"start":{"line":251,"column":8},"end":{"line":253,"column":9}}],"line":251},"21":{"loc":{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},"type":"if","locations":[{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},{"start":{"line":260,"column":8},"end":{"line":262,"column":9}}],"line":260}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":428,"6":428,"7":2,"8":426,"9":0,"10":334,"11":334,"12":334,"13":4,"14":4,"15":4,"16":4,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":206,"35":196,"36":81,"37":77,"38":0,"39":11,"40":11,"41":11,"42":88,"43":11,"44":11,"45":11,"46":11,"47":4,"48":4,"49":2,"50":2,"51":4,"52":4,"53":1,"54":1,"55":0,"56":24,"57":24,"58":23,"59":1,"60":0,"61":0,"62":0,"63":8,"64":3,"65":3,"66":2,"67":1,"68":31,"69":2,"70":2,"71":0,"72":4,"73":2,"74":2,"75":4,"76":2,"77":2,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1},"f":{"0":1,"1":428,"2":334,"3":4,"4":4,"5":1,"6":1,"7":0,"8":206,"9":196,"10":81,"11":77,"12":0,"13":11,"14":4,"15":2,"16":4,"17":1,"18":0,"19":24,"20":0,"21":8,"22":3,"23":31,"24":2,"25":4,"26":4,"27":0,"28":0,"29":0,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1},"b":{"0":[1,1,1],"1":[0,1],"2":[1,1],"3":[428,0],"4":[2,426],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[2,2],"11":[4,4],"12":[1,1],"13":[23,1],"14":[24,23],"15":[0,0],"16":[2,1],"17":[2,0],"18":[2,2],"19":[2,2],"20":[0,0],"21":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/F64.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/F64.ts"],"names":[],"mappings":"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","sourcesContent":["import Decimal from 'decimal.js';\n\n/**\n * IEEE 754 double-precision floating-point number implementation\n *\n * Format: 1 bit sign + 11 bits exponent + 52 bits mantissa\n *\n * This class works directly with the binary representation to avoid\n * precision loss when serializing/deserializing f64 values to/from buffers.\n */\nexport class F64 {\n private _buffer: Buffer; // 8 bytes storing the IEEE 754 representation\n\n /**\n * Create an F64 from raw bytes (IEEE 754 format)\n */\n constructor(buffer?: Buffer) {\n if (buffer) {\n if (buffer.length !== 8) {\n throw new Error('F64 buffer must be exactly 8 bytes');\n }\n this._buffer = Buffer.from(buffer);\n } else {\n this._buffer = Buffer.alloc(8);\n }\n }\n\n /**\n * Create F64 from JavaScript number\n */\n static fromNumber(num: number): F64 {\n const buffer = Buffer.alloc(8);\n buffer.writeDoubleBE(num, 0);\n return new F64(buffer);\n }\n\n /**\n * Create F64 from Decimal.js value\n * Uses the most precise conversion possible\n */\n static fromDecimal(decimal: Decimal): F64 {\n // Convert to number and let IEEE 754 handle the precision\n const num = decimal.toNumber();\n return F64.fromNumber(num);\n }\n\n /**\n * Create F64 from string representation\n * Uses Decimal.js to parse the string without precision loss from JavaScript Number\n */\n static fromString(str: string): F64 {\n // Parse string using Decimal.js to avoid JavaScript Number precision loss\n const decimal = new Decimal(str);\n return F64.fromDecimal(decimal);\n }\n\n /**\n * Create F64 from bigint (treating as integer value)\n */\n static fromBigInt(bigint: bigint): F64 {\n const num = Number(bigint);\n return F64.fromNumber(num);\n }\n\n /**\n * Create F64 representing zero (static method for API compatibility)\n */\n static zero(): F64 {\n return F64.fromNumber(0);\n }\n\n /**\n * Create F64 with specific IEEE 754 components\n */\n static fromComponents(\n sign: boolean,\n exponent: number,\n mantissa: bigint,\n ): F64 {\n if (exponent < 0 || exponent > 2047) {\n throw new Error('Exponent must be between 0 and 2047');\n }\n if (mantissa < BigInt(0) || mantissa >= BigInt(1) << BigInt(52)) {\n throw new Error('Mantissa must be between 0 and 2^52-1');\n }\n\n const buffer = Buffer.alloc(8);\n\n // Pack into 64-bit big-endian format\n // Bit layout: SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM\n const signBit = sign ? BigInt(1) : BigInt(0);\n const expBits = BigInt(exponent);\n const mantissaBits = mantissa;\n\n const ieee754Bits =\n (signBit << BigInt(63)) | (expBits << BigInt(52)) | mantissaBits;\n\n // Write as big-endian bytes\n for (let i = 0; i < 8; i++) {\n const byteValue = Number(\n (ieee754Bits >> BigInt(56 - i * 8)) & BigInt(0xff),\n );\n buffer.writeUInt8(byteValue, i);\n }\n\n return new F64(buffer);\n }\n\n /**\n * Get the raw buffer containing IEEE 754 representation\n */\n getBuffer(): Buffer {\n return Buffer.from(this._buffer);\n }\n\n /**\n * Serialize to buffer (big-endian)\n */\n serialize(): Buffer {\n return this.getBuffer();\n }\n\n /**\n * Deserialize from buffer (big-endian)\n */\n static deserialize(buffer: Buffer): F64 {\n return new F64(buffer);\n }\n\n /**\n * Convert to JavaScript number\n * This may lose precision for very large or very precise values\n */\n toNumber(): number {\n return this._buffer.readDoubleBE(0);\n }\n\n /**\n * Convert to Decimal.js for arbitrary precision\n */\n toDecimal(): Decimal {\n return new Decimal(this.toNumber());\n }\n\n /**\n * Extract IEEE 754 components\n */\n getComponents(): { sign: boolean; exponent: number; mantissa: bigint } {\n // Read as big-endian 64-bit integer\n let ieee754Bits = BigInt(0);\n for (let i = 0; i < 8; i++) {\n ieee754Bits =\n (ieee754Bits << BigInt(8)) | BigInt(this._buffer.readUInt8(i));\n }\n\n const sign = (ieee754Bits & (BigInt(1) << BigInt(63))) !== BigInt(0);\n const exponent = Number((ieee754Bits >> BigInt(52)) & BigInt(0x7ff));\n const mantissa = ieee754Bits & ((BigInt(1) << BigInt(52)) - BigInt(1));\n\n return { sign, exponent, mantissa };\n }\n\n /**\n * Check if the value is finite\n */\n isFinite(): boolean {\n const { exponent } = this.getComponents();\n return exponent !== 2047; // NaN and Infinity have exponent = 2047\n }\n\n /**\n * Check if the value is NaN\n */\n isNaN(): boolean {\n const { exponent, mantissa } = this.getComponents();\n return exponent === 2047 && mantissa !== BigInt(0);\n }\n\n /**\n * Check if the value is infinite\n */\n isInfinite(): boolean {\n const { exponent, mantissa } = this.getComponents();\n return exponent === 2047 && mantissa === BigInt(0);\n }\n\n /**\n * Check if the value is zero\n */\n isZero(): boolean {\n const { exponent, mantissa } = this.getComponents();\n return exponent === 0 && mantissa === BigInt(0);\n }\n\n /**\n * Get string representation\n */\n toString(): string {\n return this.toNumber().toString();\n }\n\n /**\n * Convert to JSON-safe value: number if within safe range, string if too large\n * This preserves precision for very large numbers that exceed JavaScript's MAX_SAFE_INTEGER\n */\n toJSONValue(): number | string {\n const num = this.toNumber();\n\n // Check if the number is within JavaScript's safe integer range\n if (num <= Number.MAX_SAFE_INTEGER && num >= Number.MIN_SAFE_INTEGER) {\n return num;\n }\n\n // For very large numbers, return as string to preserve precision\n return num.toString();\n }\n\n /**\n * Create F64 from JSON value (handles both number and string inputs)\n */\n static fromJSONValue(value: number | string): F64 {\n if (typeof value === 'string') {\n return F64.fromString(value);\n } else {\n return F64.fromNumber(value);\n }\n }\n\n /**\n * Get hex representation of the raw bytes\n */\n toHex(): string {\n return this._buffer.toString('hex');\n }\n\n /**\n * Create F64 from hex string\n */\n static fromHex(hex: string): F64 {\n const buffer = Buffer.from(hex, 'hex');\n if (buffer.length !== 8) {\n throw new Error('Hex string must represent exactly 8 bytes');\n }\n return new F64(buffer);\n }\n\n /**\n * Compare with another F64\n */\n equals(other: F64): boolean {\n return this._buffer.equals(other._buffer);\n }\n\n /**\n * Equality comparison (alias for equals, for API compatibility)\n */\n eq(other: F64 | number): boolean {\n if (typeof other === 'number') {\n return this.toNumber() === other;\n }\n return this.equals(other);\n }\n\n /**\n * Greater than comparison\n */\n gt(other: F64 | number): boolean {\n if (typeof other === 'number') {\n return this.toNumber() > other;\n }\n return this.toNumber() > other.toNumber();\n }\n\n /**\n * Less than comparison\n */\n lt(other: F64 | number): boolean {\n if (typeof other === 'number') {\n return this.toNumber() < other;\n }\n return this.toNumber() < other.toNumber();\n }\n\n /**\n * Greater than or equal comparison\n */\n gte(other: F64 | number): boolean {\n if (typeof other === 'number') {\n return this.toNumber() >= other;\n }\n return this.toNumber() >= other.toNumber();\n }\n\n /**\n * Less than or equal comparison\n */\n lte(other: F64 | number): boolean {\n if (typeof other === 'number') {\n return this.toNumber() <= other;\n }\n return this.toNumber() <= other.toNumber();\n }\n\n /**\n * Create a copy\n */\n clone(): F64 {\n return new F64(this._buffer);\n }\n\n /**\n * Constants\n */\n static get ZERO(): F64 {\n return F64.fromNumber(0);\n }\n\n static get ONE(): F64 {\n return F64.fromNumber(1);\n }\n\n static get NEGATIVE_ONE(): F64 {\n return F64.fromNumber(-1);\n }\n\n static get INFINITY(): F64 {\n return F64.fromNumber(Number.POSITIVE_INFINITY);\n }\n\n static get NEGATIVE_INFINITY(): F64 {\n return F64.fromNumber(Number.NEGATIVE_INFINITY);\n }\n\n static get NaN(): F64 {\n return F64.fromNumber(Number.NaN);\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"44b8c99600c7c77fae7f2e874480fc81dec0ad94","contentHash":"031b6e82a99b517d035babcc3a2b6b3a307ede9b9db08c72c96085556dec72ab"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/RoundingIntervals.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/RoundingIntervals.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":15},"end":{"line":6,"column":33}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":43}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":28}},"7":{"start":{"line":25,"column":25},"end":{"line":25,"column":48}},"8":{"start":{"line":26,"column":26},"end":{"line":26,"column":46}},"9":{"start":{"line":28,"column":8},"end":{"line":31,"column":12}},"10":{"start":{"line":28,"column":58},"end":{"line":31,"column":9}},"11":{"start":{"line":32,"column":8},"end":{"line":32,"column":24}},"12":{"start":{"line":39,"column":25},"end":{"line":39,"column":48}},"13":{"start":{"line":40,"column":23},"end":{"line":40,"column":52}},"14":{"start":{"line":41,"column":37},"end":{"line":41,"column":65}},"15":{"start":{"line":42,"column":8},"end":{"line":46,"column":9}},"16":{"start":{"line":42,"column":21},"end":{"line":42,"column":22}},"17":{"start":{"line":43,"column":34},"end":{"line":43,"column":55}},"18":{"start":{"line":44,"column":32},"end":{"line":44,"column":53}},"19":{"start":{"line":45,"column":12},"end":{"line":45,"column":68}},"20":{"start":{"line":47,"column":8},"end":{"line":47,"column":24}},"21":{"start":{"line":56,"column":8},"end":{"line":60,"column":9}},"22":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"23":{"start":{"line":58,"column":16},"end":{"line":58,"column":70}},"24":{"start":{"line":62,"column":8},"end":{"line":66,"column":9}},"25":{"start":{"line":62,"column":21},"end":{"line":62,"column":22}},"26":{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},"27":{"start":{"line":64,"column":16},"end":{"line":64,"column":73}},"28":{"start":{"line":72,"column":8},"end":{"line":79,"column":10}},"29":{"start":{"line":74,"column":16},"end":{"line":77,"column":18}},"30":{"start":{"line":85,"column":23},"end":{"line":85,"column":49}},"31":{"start":{"line":86,"column":8},"end":{"line":86,"column":51}},"32":{"start":{"line":87,"column":8},"end":{"line":90,"column":9}},"33":{"start":{"line":88,"column":12},"end":{"line":88,"column":57}},"34":{"start":{"line":89,"column":12},"end":{"line":89,"column":55}},"35":{"start":{"line":91,"column":8},"end":{"line":91,"column":33}},"36":{"start":{"line":94,"column":0},"end":{"line":94,"column":46}},"37":{"start":{"line":95,"column":0},"end":{"line":95,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":18},"end":{"line":18,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":26},"end":{"line":33,"column":5}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":43},"end":{"line":28,"column":44}},"loc":{"start":{"line":28,"column":58},"end":{"line":31,"column":9}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":4},"end":{"line":38,"column":5}},"loc":{"start":{"line":38,"column":28},"end":{"line":48,"column":5}},"line":38},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":15},"end":{"line":67,"column":5}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":71,"column":4},"end":{"line":71,"column":5}},"loc":{"start":{"line":71,"column":13},"end":{"line":80,"column":5}},"line":71},"6":{"name":"(anonymous_6)","decl":{"start":{"line":73,"column":42},"end":{"line":73,"column":43}},"loc":{"start":{"line":73,"column":56},"end":{"line":78,"column":13}},"line":73},"7":{"name":"(anonymous_7)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":16},"end":{"line":92,"column":5}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":46}},"type":"binary-expr","locations":[{"start":{"line":26,"column":26},"end":{"line":26,"column":40}},{"start":{"line":26,"column":44},"end":{"line":26,"column":46}}],"line":26},"1":{"loc":{"start":{"line":29,"column":48},"end":{"line":29,"column":97}},"type":"binary-expr","locations":[{"start":{"line":29,"column":48},"end":{"line":29,"column":70}},{"start":{"line":29,"column":74},"end":{"line":29,"column":97}}],"line":29},"2":{"loc":{"start":{"line":30,"column":46},"end":{"line":30,"column":91}},"type":"binary-expr","locations":[{"start":{"line":30,"column":46},"end":{"line":30,"column":66}},{"start":{"line":30,"column":70},"end":{"line":30,"column":91}}],"line":30},"3":{"loc":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"type":"if","locations":[{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},{"start":{"line":57,"column":12},"end":{"line":59,"column":13}}],"line":57},"4":{"loc":{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},{"start":{"line":63,"column":12},"end":{"line":65,"column":13}}],"line":63}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":87,"6":87,"7":27,"8":27,"9":27,"10":27,"11":27,"12":43,"13":43,"14":43,"15":43,"16":43,"17":44,"18":44,"19":44,"20":43,"21":3,"22":5,"23":1,"24":2,"25":2,"26":2,"27":1,"28":15,"29":15,"30":125,"31":125,"32":125,"33":126,"34":126,"35":125,"36":1,"37":1},"f":{"0":87,"1":27,"2":27,"3":43,"4":3,"5":15,"6":15,"7":125},"b":{"0":[27,0],"1":[27,23],"2":[27,0],"3":[1,4],"4":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/RoundingIntervals.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/RoundingIntervals.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { toBigInt } from '../util';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * RoundingIntervals defines rounding intervals for numeric outcome contracts.\n * Updated to match dlcspecs format (no longer uses TLV).\n */\nexport class RoundingIntervals implements IDlcMessage {\n public static type = MessageType.RoundingIntervals;\n\n /**\n * Creates a RoundingIntervals from JSON data\n * @param json JSON object representing rounding intervals\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): RoundingIntervals {\n const instance = new RoundingIntervals();\n\n const intervals = json.intervals || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.intervals = intervals.map((interval: any) => ({\n beginInterval: toBigInt(\n interval.beginInterval || interval.begin_interval,\n ),\n roundingMod: toBigInt(interval.roundingMod || interval.rounding_mod),\n }));\n\n return instance;\n }\n\n /**\n * Deserializes a rounding_intervals message\n * @param buf\n */\n public static deserialize(buf: Buffer): RoundingIntervals {\n const instance = new RoundingIntervals();\n const reader = new BufferReader(buf);\n\n const numRoundingIntervals = Number(reader.readBigSize());\n\n for (let i = 0; i < numRoundingIntervals; i++) {\n const beginInterval = reader.readUInt64BE();\n const roundingMod = reader.readUInt64BE();\n\n instance.intervals.push({ beginInterval, roundingMod });\n }\n\n return instance;\n }\n\n /**\n * The type for rounding_intervals message. rounding_intervals = 42788\n */\n public type = RoundingIntervals.type;\n\n public intervals: IInterval[] = [];\n\n /**\n * Validates correctness of all fields in the message\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/NumericOutcome.md#requirements\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // 1. Intervals must be non-negative\n for (const interval of this.intervals) {\n if (interval.beginInterval < 0) {\n throw new Error('beginInterval must be non-negative');\n }\n }\n\n // 2. Intervals must be strictly increasing\n for (let i = 1; i < this.intervals.length; ++i) {\n if (\n this.intervals[i - 1].beginInterval >= this.intervals[i].beginInterval\n ) {\n throw new Error(`Intervals must be strictly increasing`);\n }\n }\n }\n\n /**\n * Converts rounding_intervals to JSON\n */\n public toJSON(): IRoundingIntervalsJSON {\n return {\n intervals: this.intervals.map((interval) => {\n return {\n beginInterval: Number(interval.beginInterval),\n roundingMod: Number(interval.roundingMod),\n };\n }),\n };\n }\n\n /**\n * Serializes the rounding_intervals message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.intervals.length);\n\n for (const interval of this.intervals) {\n writer.writeUInt64BE(interval.beginInterval);\n writer.writeUInt64BE(interval.roundingMod);\n }\n\n return writer.toBuffer();\n }\n}\n\ninterface IInterval {\n beginInterval: bigint;\n roundingMod: bigint;\n}\n\ninterface IIntervalJSON {\n beginInterval: number;\n roundingMod: number;\n}\n\nexport interface IRoundingIntervalsJSON {\n type?: number; // Optional for rust-dlc compatibility\n intervals: IIntervalJSON[];\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"56b0d95a3133a552c4e9090ce0d422fcc9f87098","contentHash":"874029d982e4c645489126c8beba26c177a79c04d040ce1aaddca9dd675144b1"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractInfo.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractInfo.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":140}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":29},"end":{"line":6,"column":60}},"5":{"start":{"line":7,"column":21},"end":{"line":7,"column":44}},"6":{"start":{"line":8,"column":21},"end":{"line":8,"column":44}},"7":{"start":{"line":11,"column":23},"end":{"line":11,"column":52}},"8":{"start":{"line":12,"column":23},"end":{"line":12,"column":51}},"9":{"start":{"line":13,"column":8},"end":{"line":20,"column":9}},"10":{"start":{"line":15,"column":16},"end":{"line":15,"column":59}},"11":{"start":{"line":17,"column":16},"end":{"line":17,"column":61}},"12":{"start":{"line":19,"column":16},"end":{"line":19,"column":104}},"13":{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},"14":{"start":{"line":29,"column":12},"end":{"line":29,"column":56}},"15":{"start":{"line":32,"column":8},"end":{"line":40,"column":9}},"16":{"start":{"line":33,"column":12},"end":{"line":33,"column":101}},"17":{"start":{"line":35,"column":13},"end":{"line":40,"column":9}},"18":{"start":{"line":36,"column":12},"end":{"line":36,"column":107}},"19":{"start":{"line":39,"column":12},"end":{"line":39,"column":104}},"20":{"start":{"line":44,"column":8},"end":{"line":44,"column":36}},"21":{"start":{"line":47,"column":0},"end":{"line":47,"column":36}},"22":{"start":{"line":55,"column":8},"end":{"line":55,"column":28}},"23":{"start":{"line":59,"column":8},"end":{"line":59,"column":65}},"24":{"start":{"line":63,"column":8},"end":{"line":63,"column":70}},"25":{"start":{"line":71,"column":25},"end":{"line":71,"column":49}},"26":{"start":{"line":72,"column":8},"end":{"line":72,"column":94}},"27":{"start":{"line":74,"column":33},"end":{"line":74,"column":80}},"28":{"start":{"line":76,"column":8},"end":{"line":77,"column":50}},"29":{"start":{"line":79,"column":8},"end":{"line":79,"column":124}},"30":{"start":{"line":80,"column":8},"end":{"line":80,"column":24}},"31":{"start":{"line":87,"column":25},"end":{"line":87,"column":49}},"32":{"start":{"line":88,"column":23},"end":{"line":88,"column":52}},"33":{"start":{"line":89,"column":8},"end":{"line":89,"column":29}},"34":{"start":{"line":90,"column":8},"end":{"line":90,"column":57}},"35":{"start":{"line":92,"column":8},"end":{"line":92,"column":131}},"36":{"start":{"line":94,"column":27},"end":{"line":94,"column":73}},"37":{"start":{"line":95,"column":8},"end":{"line":95,"column":38}},"38":{"start":{"line":97,"column":27},"end":{"line":97,"column":55}},"39":{"start":{"line":98,"column":8},"end":{"line":108,"column":9}},"40":{"start":{"line":100,"column":12},"end":{"line":100,"column":121}},"41":{"start":{"line":102,"column":13},"end":{"line":108,"column":9}},"42":{"start":{"line":104,"column":12},"end":{"line":104,"column":120}},"43":{"start":{"line":107,"column":12},"end":{"line":107,"column":71}},"44":{"start":{"line":109,"column":8},"end":{"line":109,"column":24}},"45":{"start":{"line":113,"column":8},"end":{"line":113,"column":47}},"46":{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},"47":{"start":{"line":121,"column":12},"end":{"line":121,"column":70}},"48":{"start":{"line":123,"column":8},"end":{"line":123,"column":35}},"49":{"start":{"line":132,"column":8},"end":{"line":140,"column":10}},"50":{"start":{"line":146,"column":23},"end":{"line":146,"column":49}},"51":{"start":{"line":147,"column":8},"end":{"line":147,"column":51}},"52":{"start":{"line":148,"column":8},"end":{"line":148,"column":51}},"53":{"start":{"line":149,"column":8},"end":{"line":149,"column":63}},"54":{"start":{"line":151,"column":8},"end":{"line":158,"column":9}},"55":{"start":{"line":152,"column":12},"end":{"line":152,"column":35}},"56":{"start":{"line":153,"column":12},"end":{"line":153,"column":63}},"57":{"start":{"line":156,"column":12},"end":{"line":156,"column":35}},"58":{"start":{"line":157,"column":12},"end":{"line":157,"column":63}},"59":{"start":{"line":159,"column":8},"end":{"line":159,"column":33}},"60":{"start":{"line":162,"column":0},"end":{"line":162,"column":48}},"61":{"start":{"line":163,"column":0},"end":{"line":163,"column":76}},"62":{"start":{"line":164,"column":0},"end":{"line":164,"column":71}},"63":{"start":{"line":171,"column":8},"end":{"line":171,"column":28}},"64":{"start":{"line":175,"column":8},"end":{"line":175,"column":67}},"65":{"start":{"line":179,"column":8},"end":{"line":179,"column":72}},"66":{"start":{"line":180,"column":8},"end":{"line":180,"column":38}},"67":{"start":{"line":188,"column":25},"end":{"line":188,"column":51}},"68":{"start":{"line":189,"column":8},"end":{"line":189,"column":94}},"69":{"start":{"line":191,"column":34},"end":{"line":191,"column":81}},"70":{"start":{"line":192,"column":8},"end":{"line":198,"column":12}},"71":{"start":{"line":194,"column":31},"end":{"line":198,"column":9}},"72":{"start":{"line":199,"column":8},"end":{"line":199,"column":24}},"73":{"start":{"line":206,"column":25},"end":{"line":206,"column":51}},"74":{"start":{"line":207,"column":23},"end":{"line":207,"column":52}},"75":{"start":{"line":208,"column":8},"end":{"line":208,"column":29}},"76":{"start":{"line":209,"column":8},"end":{"line":209,"column":57}},"77":{"start":{"line":210,"column":34},"end":{"line":210,"column":62}},"78":{"start":{"line":211,"column":8},"end":{"line":235,"column":9}},"79":{"start":{"line":211,"column":21},"end":{"line":211,"column":22}},"80":{"start":{"line":213,"column":39},"end":{"line":213,"column":131}},"81":{"start":{"line":215,"column":31},"end":{"line":215,"column":68}},"82":{"start":{"line":216,"column":12},"end":{"line":216,"column":42}},"83":{"start":{"line":218,"column":31},"end":{"line":218,"column":59}},"84":{"start":{"line":220,"column":12},"end":{"line":230,"column":13}},"85":{"start":{"line":222,"column":16},"end":{"line":222,"column":116}},"86":{"start":{"line":224,"column":17},"end":{"line":230,"column":13}},"87":{"start":{"line":226,"column":16},"end":{"line":226,"column":115}},"88":{"start":{"line":229,"column":16},"end":{"line":229,"column":75}},"89":{"start":{"line":232,"column":37},"end":{"line":232,"column":70}},"90":{"start":{"line":233,"column":12},"end":{"line":233,"column":48}},"91":{"start":{"line":234,"column":12},"end":{"line":234,"column":82}},"92":{"start":{"line":236,"column":8},"end":{"line":236,"column":24}},"93":{"start":{"line":240,"column":8},"end":{"line":240,"column":47}},"94":{"start":{"line":247,"column":8},"end":{"line":249,"column":9}},"95":{"start":{"line":248,"column":12},"end":{"line":248,"column":70}},"96":{"start":{"line":250,"column":8},"end":{"line":252,"column":9}},"97":{"start":{"line":251,"column":12},"end":{"line":251,"column":67}},"98":{"start":{"line":253,"column":8},"end":{"line":262,"column":11}},"99":{"start":{"line":254,"column":12},"end":{"line":261,"column":13}},"100":{"start":{"line":255,"column":16},"end":{"line":255,"column":43}},"101":{"start":{"line":260,"column":16},"end":{"line":260,"column":105}},"102":{"start":{"line":269,"column":8},"end":{"line":277,"column":10}},"103":{"start":{"line":272,"column":71},"end":{"line":275,"column":17}},"104":{"start":{"line":283,"column":23},"end":{"line":283,"column":49}},"105":{"start":{"line":284,"column":8},"end":{"line":284,"column":51}},"106":{"start":{"line":285,"column":8},"end":{"line":285,"column":51}},"107":{"start":{"line":286,"column":8},"end":{"line":286,"column":61}},"108":{"start":{"line":287,"column":8},"end":{"line":298,"column":9}},"109":{"start":{"line":288,"column":12},"end":{"line":288,"column":67}},"110":{"start":{"line":290,"column":12},"end":{"line":297,"column":13}},"111":{"start":{"line":291,"column":16},"end":{"line":291,"column":39}},"112":{"start":{"line":292,"column":16},"end":{"line":292,"column":67}},"113":{"start":{"line":295,"column":16},"end":{"line":295,"column":39}},"114":{"start":{"line":296,"column":16},"end":{"line":296,"column":67}},"115":{"start":{"line":299,"column":8},"end":{"line":299,"column":33}},"116":{"start":{"line":302,"column":0},"end":{"line":302,"column":52}},"117":{"start":{"line":303,"column":0},"end":{"line":303,"column":80}},"118":{"start":{"line":304,"column":0},"end":{"line":304,"column":75}},"119":{"start":{"line":306,"column":0},"end":{"line":306,"column":44}},"120":{"start":{"line":307,"column":0},"end":{"line":307,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":28},"end":{"line":21,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":5}},"loc":{"start":{"line":27,"column":26},"end":{"line":41,"column":5}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":4},"end":{"line":43,"column":5}},"loc":{"start":{"line":43,"column":25},"end":{"line":45,"column":5}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":18},"end":{"line":64,"column":5}},"line":54},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":4},"end":{"line":70,"column":5}},"loc":{"start":{"line":70,"column":26},"end":{"line":81,"column":5}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":28},"end":{"line":110,"column":5}},"line":86},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":4},"end":{"line":112,"column":5}},"loc":{"start":{"line":112,"column":17},"end":{"line":114,"column":5}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":119,"column":4},"end":{"line":119,"column":5}},"loc":{"start":{"line":119,"column":15},"end":{"line":126,"column":5}},"line":119},"8":{"name":"(anonymous_8)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":13},"end":{"line":141,"column":5}},"line":130},"9":{"name":"(anonymous_9)","decl":{"start":{"line":145,"column":4},"end":{"line":145,"column":5}},"loc":{"start":{"line":145,"column":16},"end":{"line":160,"column":5}},"line":145},"10":{"name":"(anonymous_10)","decl":{"start":{"line":170,"column":4},"end":{"line":170,"column":5}},"loc":{"start":{"line":170,"column":18},"end":{"line":181,"column":5}},"line":170},"11":{"name":"(anonymous_11)","decl":{"start":{"line":187,"column":4},"end":{"line":187,"column":5}},"loc":{"start":{"line":187,"column":26},"end":{"line":200,"column":5}},"line":187},"12":{"name":"(anonymous_12)","decl":{"start":{"line":194,"column":8},"end":{"line":194,"column":9}},"loc":{"start":{"line":194,"column":31},"end":{"line":198,"column":9}},"line":194},"13":{"name":"(anonymous_13)","decl":{"start":{"line":205,"column":4},"end":{"line":205,"column":5}},"loc":{"start":{"line":205,"column":28},"end":{"line":237,"column":5}},"line":205},"14":{"name":"(anonymous_14)","decl":{"start":{"line":239,"column":4},"end":{"line":239,"column":5}},"loc":{"start":{"line":239,"column":17},"end":{"line":241,"column":5}},"line":239},"15":{"name":"(anonymous_15)","decl":{"start":{"line":246,"column":4},"end":{"line":246,"column":5}},"loc":{"start":{"line":246,"column":15},"end":{"line":263,"column":5}},"line":246},"16":{"name":"(anonymous_16)","decl":{"start":{"line":253,"column":41},"end":{"line":253,"column":42}},"loc":{"start":{"line":253,"column":58},"end":{"line":262,"column":9}},"line":253},"17":{"name":"(anonymous_17)","decl":{"start":{"line":267,"column":4},"end":{"line":267,"column":5}},"loc":{"start":{"line":267,"column":13},"end":{"line":278,"column":5}},"line":267},"18":{"name":"(anonymous_18)","decl":{"start":{"line":272,"column":60},"end":{"line":272,"column":61}},"loc":{"start":{"line":272,"column":71},"end":{"line":275,"column":17}},"line":272},"19":{"name":"(anonymous_19)","decl":{"start":{"line":282,"column":4},"end":{"line":282,"column":5}},"loc":{"start":{"line":282,"column":16},"end":{"line":300,"column":5}},"line":282}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":8},"end":{"line":20,"column":9}},"type":"switch","locations":[{"start":{"line":14,"column":12},"end":{"line":15,"column":59}},{"start":{"line":16,"column":12},"end":{"line":17,"column":61}},{"start":{"line":18,"column":12},"end":{"line":19,"column":104}}],"line":13},"1":{"loc":{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":30,"column":9}},{"start":{"line":28,"column":8},"end":{"line":30,"column":9}}],"line":28},"2":{"loc":{"start":{"line":32,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":40,"column":9}},{"start":{"line":32,"column":8},"end":{"line":40,"column":9}}],"line":32},"3":{"loc":{"start":{"line":32,"column":12},"end":{"line":32,"column":64}},"type":"binary-expr","locations":[{"start":{"line":32,"column":12},"end":{"line":32,"column":35}},{"start":{"line":32,"column":39},"end":{"line":32,"column":64}}],"line":32},"4":{"loc":{"start":{"line":33,"column":47},"end":{"line":33,"column":99}},"type":"binary-expr","locations":[{"start":{"line":33,"column":47},"end":{"line":33,"column":70}},{"start":{"line":33,"column":74},"end":{"line":33,"column":99}}],"line":33},"5":{"loc":{"start":{"line":35,"column":13},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":13},"end":{"line":40,"column":9}},{"start":{"line":35,"column":13},"end":{"line":40,"column":9}}],"line":35},"6":{"loc":{"start":{"line":35,"column":17},"end":{"line":35,"column":73}},"type":"binary-expr","locations":[{"start":{"line":35,"column":17},"end":{"line":35,"column":42}},{"start":{"line":35,"column":46},"end":{"line":35,"column":73}}],"line":35},"7":{"loc":{"start":{"line":36,"column":49},"end":{"line":36,"column":105}},"type":"binary-expr","locations":[{"start":{"line":36,"column":49},"end":{"line":36,"column":74}},{"start":{"line":36,"column":78},"end":{"line":36,"column":105}}],"line":36},"8":{"loc":{"start":{"line":72,"column":42},"end":{"line":72,"column":92}},"type":"binary-expr","locations":[{"start":{"line":72,"column":42},"end":{"line":72,"column":62}},{"start":{"line":72,"column":66},"end":{"line":72,"column":87}},{"start":{"line":72,"column":91},"end":{"line":72,"column":92}}],"line":72},"9":{"loc":{"start":{"line":74,"column":33},"end":{"line":74,"column":80}},"type":"binary-expr","locations":[{"start":{"line":74,"column":33},"end":{"line":74,"column":50}},{"start":{"line":74,"column":54},"end":{"line":74,"column":72}},{"start":{"line":74,"column":76},"end":{"line":74,"column":80}}],"line":74},"10":{"loc":{"start":{"line":76,"column":87},"end":{"line":77,"column":48}},"type":"binary-expr","locations":[{"start":{"line":76,"column":87},"end":{"line":76,"column":122}},{"start":{"line":77,"column":12},"end":{"line":77,"column":48}}],"line":76},"11":{"loc":{"start":{"line":79,"column":63},"end":{"line":79,"column":122}},"type":"binary-expr","locations":[{"start":{"line":79,"column":63},"end":{"line":79,"column":90}},{"start":{"line":79,"column":94},"end":{"line":79,"column":122}}],"line":79},"12":{"loc":{"start":{"line":98,"column":8},"end":{"line":108,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":108,"column":9}},{"start":{"line":98,"column":8},"end":{"line":108,"column":9}}],"line":98},"13":{"loc":{"start":{"line":102,"column":13},"end":{"line":108,"column":9}},"type":"if","locations":[{"start":{"line":102,"column":13},"end":{"line":108,"column":9}},{"start":{"line":102,"column":13},"end":{"line":108,"column":9}}],"line":102},"14":{"loc":{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},{"start":{"line":120,"column":8},"end":{"line":122,"column":9}}],"line":120},"15":{"loc":{"start":{"line":151,"column":8},"end":{"line":158,"column":9}},"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":158,"column":9}},{"start":{"line":151,"column":8},"end":{"line":158,"column":9}}],"line":151},"16":{"loc":{"start":{"line":189,"column":42},"end":{"line":189,"column":92}},"type":"binary-expr","locations":[{"start":{"line":189,"column":42},"end":{"line":189,"column":62}},{"start":{"line":189,"column":66},"end":{"line":189,"column":87}},{"start":{"line":189,"column":91},"end":{"line":189,"column":92}}],"line":189},"17":{"loc":{"start":{"line":191,"column":34},"end":{"line":191,"column":81}},"type":"binary-expr","locations":[{"start":{"line":191,"column":34},"end":{"line":191,"column":52}},{"start":{"line":191,"column":56},"end":{"line":191,"column":75}},{"start":{"line":191,"column":79},"end":{"line":191,"column":81}}],"line":191},"18":{"loc":{"start":{"line":195,"column":81},"end":{"line":196,"column":52}},"type":"binary-expr","locations":[{"start":{"line":195,"column":81},"end":{"line":195,"column":116}},{"start":{"line":196,"column":16},"end":{"line":196,"column":52}}],"line":195},"19":{"loc":{"start":{"line":197,"column":57},"end":{"line":197,"column":116}},"type":"binary-expr","locations":[{"start":{"line":197,"column":57},"end":{"line":197,"column":84}},{"start":{"line":197,"column":88},"end":{"line":197,"column":116}}],"line":197},"20":{"loc":{"start":{"line":220,"column":12},"end":{"line":230,"column":13}},"type":"if","locations":[{"start":{"line":220,"column":12},"end":{"line":230,"column":13}},{"start":{"line":220,"column":12},"end":{"line":230,"column":13}}],"line":220},"21":{"loc":{"start":{"line":224,"column":17},"end":{"line":230,"column":13}},"type":"if","locations":[{"start":{"line":224,"column":17},"end":{"line":230,"column":13}},{"start":{"line":224,"column":17},"end":{"line":230,"column":13}}],"line":224},"22":{"loc":{"start":{"line":247,"column":8},"end":{"line":249,"column":9}},"type":"if","locations":[{"start":{"line":247,"column":8},"end":{"line":249,"column":9}},{"start":{"line":247,"column":8},"end":{"line":249,"column":9}}],"line":247},"23":{"loc":{"start":{"line":250,"column":8},"end":{"line":252,"column":9}},"type":"if","locations":[{"start":{"line":250,"column":8},"end":{"line":252,"column":9}},{"start":{"line":250,"column":8},"end":{"line":252,"column":9}}],"line":250},"24":{"loc":{"start":{"line":290,"column":12},"end":{"line":297,"column":13}},"type":"if","locations":[{"start":{"line":290,"column":12},"end":{"line":297,"column":13}},{"start":{"line":290,"column":12},"end":{"line":297,"column":13}}],"line":290}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":54,"8":54,"9":54,"10":42,"11":12,"12":0,"13":30,"14":0,"15":30,"16":22,"17":8,"18":8,"19":0,"20":77,"21":1,"22":113,"23":113,"24":113,"25":22,"26":22,"27":22,"28":22,"29":22,"30":22,"31":42,"32":42,"33":42,"34":42,"35":42,"36":42,"37":42,"38":42,"39":42,"40":21,"41":21,"42":21,"43":0,"44":42,"45":0,"46":9,"47":0,"48":9,"49":17,"50":105,"51":105,"52":105,"53":105,"54":105,"55":55,"56":55,"57":50,"58":50,"59":105,"60":1,"61":1,"62":1,"63":20,"64":20,"65":20,"66":20,"67":8,"68":8,"69":8,"70":8,"71":16,"72":8,"73":12,"74":12,"75":12,"76":12,"77":12,"78":12,"79":12,"80":24,"81":24,"82":24,"83":24,"84":24,"85":0,"86":24,"87":24,"88":0,"89":24,"90":24,"91":24,"92":12,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":4,"103":8,"104":28,"105":28,"106":28,"107":28,"108":28,"109":56,"110":56,"111":0,"112":0,"113":56,"114":56,"115":28,"116":1,"117":1,"118":1,"119":1,"120":1},"f":{"0":54,"1":30,"2":77,"3":113,"4":22,"5":42,"6":0,"7":9,"8":17,"9":105,"10":20,"11":8,"12":16,"13":12,"14":0,"15":0,"16":0,"17":4,"18":8,"19":28},"b":{"0":[42,12,0],"1":[0,30],"2":[22,8],"3":[30,8],"4":[22,0],"5":[8,0],"6":[8,0],"7":[8,0],"8":[22,0,0],"9":[22,0,0],"10":[22,0],"11":[22,0],"12":[21,21],"13":[21,0],"14":[0,9],"15":[55,50],"16":[8,0,0],"17":[8,0,0],"18":[16,0],"19":[16,0],"20":[0,24],"21":[24,0],"22":[0,0],"23":[0,0],"24":[0,56]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractInfo.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ContractInfo.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA+D;AAC/D,6DAI8B;AAC9B,6CAAuD;AACvD,6CAMsB;AAEtB,MAAsB,YAAa,SAAQ,uBAAU;IAC5C,MAAM,CAAC,WAAW,CACvB,GAAW;QAEX,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE5C,QAAQ,MAAM,EAAE;YACd,KAAK,8BAAgB,CAAC,MAAM;gBAC1B,OAAO,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,KAAK,8BAAgB,CAAC,QAAQ;gBAC5B,OAAO,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C;gBACE,MAAM,IAAI,KAAK,CACb,8DAA8D,MAAM,EAAE,CACvE,CAAC;SACL;IACH,CAAC;IAED;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YACxD,OAAO,kBAAkB,CAAC,QAAQ,CAChC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,CACrD,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACnE,OAAO,oBAAoB,CAAC,QAAQ,CAClC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,sBAAsB,CACzD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;SACH;IACH,CAAC;IAQD,qDAAqD;IAC9C,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AAvDD,oCAuDC;AAED;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,YAAY;IAApD;;QAuEE;;WAEG;QACI,SAAI,GAAG,yBAAW,CAAC,kBAAkB,CAAC;QAE7C;;WAEG;QACI,qBAAgB,GAAG,8BAAgB,CAAC,MAAM,CAAC;IAiEpD,CAAC;IA5IC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAE1C,QAAQ,CAAC,eAAe,GAAG,MAAM,CAC/B,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CACnD,CAAC;QAEF,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAEzE,yDAAyD;QACzD,QAAQ,CAAC,kBAAkB,GAAG,uCAAkB,CAAC,QAAQ,CACvD,gBAAgB,CAAC,kBAAkB;YACjC,gBAAgB,CAAC,mBAAmB,CACvC,CAAC;QAEF,iDAAiD;QACjD,QAAQ,CAAC,UAAU,GAAG,uBAAU,CAAC,QAAQ,CACvC,gBAAgB,CAAC,UAAU,IAAI,gBAAgB,CAAC,WAAW,CAC5D,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB;QACtC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEjD,6EAA6E;QAC7E,QAAQ,CAAC,kBAAkB,GAAG,uCAAkB,CAAC,WAAW,CAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;QACF,iDAAiD;QACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QAClE,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC;QAE9B,+DAA+D;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,gBAAgB;YAChB,QAAQ,CAAC,UAAU,GAAG,6BAAgB,CAAC,eAAe,CACpD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;SACH;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE;YAC3B,eAAe;YACf,QAAQ,CAAC,UAAU,GAAG,4BAAe,CAAC,eAAe,CACnD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;SACH;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;SAC5D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAkBD,yBAAyB;IACzB,IAAW,MAAM;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE3B,0DAA0D;QAC1D,sCAAsC;IACxC,CAAC;IAED;;OAEG;IACI,MAAM;QACX,oDAAoD;QACpD,OAAO;YACL,kBAAkB,EAAE;gBAClB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC7C,YAAY,EAAE;oBACZ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACpD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;iBACrC;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;QAEvD,+EAA+E;QAC/E,IAAI,IAAI,CAAC,UAAU,YAAY,6BAAgB,EAAE;YAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;YACtD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;SACpD;aAAM;YACL,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;YACrD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;SACpD;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA/IH,gDAgJC;AA/Ie,mCAAgB,GAAG,8BAAgB,CAAC,MAAM,CAAC;AAC3C,uBAAI,GAAG,yBAAW,CAAC,kBAAkB,CAAC;AAgJtD;;;GAGG;AACH,MAAa,oBAAqB,SAAQ,YAAY;IAAtD;;QAoFE;;WAEG;QACI,SAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC;QAE/C;;WAEG;QACI,qBAAgB,GAAG,8BAAgB,CAAC,QAAQ,CAAC;QAI7C,wBAAmB,GAA0B,EAAE,CAAC;IA0EzD,CAAC;IAtKC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE5C,QAAQ,CAAC,eAAe,GAAG,MAAM,CAC/B,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CACnD,CAAC;QAEF,6BAA6B;QAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QAC1E,QAAQ,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,GAAG;QAClD,8DAA8D;QAC9D,CAAC,gBAAqB,EAAE,EAAE,CAAC,CAAC;YAC1B,kBAAkB,EAAE,uCAAkB,CAAC,QAAQ,CAC7C,gBAAgB,CAAC,kBAAkB;gBACjC,gBAAgB,CAAC,mBAAmB,CACvC;YACD,UAAU,EAAE,uBAAU,CAAC,QAAQ,CAC7B,gBAAgB,CAAC,UAAU,IAAI,gBAAgB,CAAC,WAAW,CAC5D;SACF,CAAC,CACH,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB;QACtC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;YAC1C,6EAA6E;YAC7E,MAAM,kBAAkB,GAAG,uCAAkB,CAAC,WAAW,CACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;YACF,iDAAiD;YACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;YACzD,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC;YAE9B,4FAA4F;YAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAChD,IAAI,UAAsB,CAAC;YAE3B,IAAI,UAAU,KAAK,CAAC,EAAE;gBACpB,gBAAgB;gBAChB,UAAU,GAAG,6BAAgB,CAAC,eAAe,CAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;aACH;iBAAM,IAAI,UAAU,KAAK,CAAC,EAAE;gBAC3B,eAAe;gBACf,UAAU,GAAG,4BAAe,CAAC,eAAe,CAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;aACH;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;aAC5D;YAED,yCAAyC;YACzC,MAAM,gBAAgB,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC3D,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC;YAEpC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;SACvE;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAgBD,yBAAyB;IACzB,IAAW,MAAM;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI;gBACF,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3B,0DAA0D;gBAC1D,sCAAsC;aACvC;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CACxE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM;QACX,oDAAoD;QACpD,OAAO;YACL,oBAAoB,EAAE;gBACpB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;gBAC7C,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;oBACpD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;iBACrC,CAAC,CAAC;aACJ;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;YAEvD,oEAAoE;YACpE,IAAI,IAAI,CAAC,UAAU,YAAY,6BAAgB,EAAE;gBAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;gBACtD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;aACpD;iBAAM;gBACL,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;gBACrD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;aACpD;SACF;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAzKH,oDA0KC;AAzKe,qCAAgB,GAAG,8BAAgB,CAAC,QAAQ,CAAC;AAC7C,yBAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC;AA0KxD,oFAAoF;AACvE,QAAA,cAAc,GAAG,kBAAkB,CAAC;AACpC,QAAA,cAAc,GAAG,oBAAoB,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { ContractInfoType, MessageType } from '../MessageType';\nimport {\n ContractDescriptor,\n ContractDescriptorV0JSON,\n ContractDescriptorV1JSON,\n} from './ContractDescriptor';\nimport { DlcMessage, IDlcMessage } from './DlcMessage';\nimport {\n MultiOracleInfo,\n MultiOracleInfoJSON,\n OracleInfo,\n SingleOracleInfo,\n SingleOracleInfoJSON,\n} from './OracleInfo';\n\nexport abstract class ContractInfo extends DlcMessage {\n public static deserialize(\n buf: Buffer,\n ): SingleContractInfo | DisjointContractInfo {\n const reader = new BufferReader(buf);\n const typeId = Number(reader.readBigSize());\n\n switch (typeId) {\n case ContractInfoType.Single:\n return SingleContractInfo.deserialize(buf);\n case ContractInfoType.Disjoint:\n return DisjointContractInfo.deserialize(buf);\n default:\n throw new Error(\n `Contract info type must be Single (0) or Disjoint (1), got ${typeId}`,\n );\n }\n }\n\n /**\n * Creates a ContractInfo from JSON data (e.g., from test vectors)\n * @param json JSON object representing contract info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): ContractInfo {\n if (!json) {\n throw new Error('contractInfo is required');\n }\n\n // Check if it's a single contract info or disjoint contract info\n if (json.singleContractInfo || json.single_contract_info) {\n return SingleContractInfo.fromJSON(\n json.singleContractInfo || json.single_contract_info,\n );\n } else if (json.disjointContractInfo || json.disjoint_contract_info) {\n return DisjointContractInfo.fromJSON(\n json.disjointContractInfo || json.disjoint_contract_info,\n );\n } else {\n throw new Error(\n 'contractInfo must have either singleContractInfo or disjointContractInfo',\n );\n }\n }\n\n public abstract contractInfoType: ContractInfoType;\n public abstract totalCollateral: bigint;\n public abstract validate(): void;\n public abstract toJSON(): ISingleContractInfoJSON | IDisjointContractInfoJSON;\n public abstract serialize(): Buffer;\n\n // Method to get total collateral (for compatibility)\n public getTotalCollateral(): bigint {\n return this.totalCollateral;\n }\n}\n\n/**\n * SingleContractInfo contains information about a contract's outcomes,\n * their corresponding payouts, and the oracles to be used.\n * This corresponds to the previous ContractInfoV0.\n */\nexport class SingleContractInfo extends ContractInfo implements IDlcMessage {\n public static contractInfoType = ContractInfoType.Single;\n public static type = MessageType.SingleContractInfo;\n\n /**\n * Creates a SingleContractInfo from JSON data\n * @param json JSON object representing single contract info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): SingleContractInfo {\n const instance = new SingleContractInfo();\n\n instance.totalCollateral = BigInt(\n json.totalCollateral || json.total_collateral || 0,\n );\n\n // Handle nested contractInfo structure (test vectors have double nesting)\n const contractInfoData = json.contractInfo || json.contract_info || json;\n\n // Parse contract descriptor using proper fromJSON method\n instance.contractDescriptor = ContractDescriptor.fromJSON(\n contractInfoData.contractDescriptor ||\n contractInfoData.contract_descriptor,\n );\n\n // Parse oracle info using proper fromJSON method\n instance.oracleInfo = OracleInfo.fromJSON(\n contractInfoData.oracleInfo || contractInfoData.oracle_info,\n );\n\n return instance;\n }\n\n /**\n * Deserializes a single_contract_info message\n * @param buf\n */\n public static deserialize(buf: Buffer): SingleContractInfo {\n const instance = new SingleContractInfo();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (0)\n instance.totalCollateral = reader.readUInt64BE();\n\n // Read contract descriptor as sibling type (starts with its own type prefix)\n instance.contractDescriptor = ContractDescriptor.deserialize(\n reader.buffer.subarray(reader.position),\n );\n // Skip past the contract descriptor we just read\n const descLength = instance.contractDescriptor.serialize().length;\n reader.position += descLength;\n\n // Read oracle info with rust-dlc format - discriminator + body\n const oracleType = Number(reader.readBigSize());\n if (oracleType === 0) {\n // Single oracle\n instance.oracleInfo = SingleOracleInfo.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n } else if (oracleType === 1) {\n // Multi oracle\n instance.oracleInfo = MultiOracleInfo.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n } else {\n throw new Error(`Unknown oracle info type: ${oracleType}`);\n }\n\n return instance;\n }\n\n /**\n * The type for single_contract_info message - using MessageType for IDlcMessage compatibility\n */\n public type = MessageType.SingleContractInfo;\n\n /**\n * The contract info type for new format\n */\n public contractInfoType = ContractInfoType.Single;\n\n public totalCollateral: bigint;\n\n public contractDescriptor: ContractDescriptor;\n\n public oracleInfo: OracleInfo;\n\n // Compatibility property\n public get length(): bigint {\n return BigInt(this.serialize().length);\n }\n\n /**\n * Validates correctness of all fields in the message\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n if (this.totalCollateral <= 0) {\n throw new Error('totalCollateral must be greater than 0');\n }\n\n this.oracleInfo.validate();\n\n // TODO: Add contract descriptor validation once available\n // this.contractDescriptor.validate();\n }\n\n /**\n * Converts single_contract_info to JSON\n */\n public toJSON(): ISingleContractInfoJSON {\n // Return enum variant format for Rust compatibility\n return {\n singleContractInfo: {\n totalCollateral: Number(this.totalCollateral),\n contractInfo: {\n contractDescriptor: this.contractDescriptor.toJSON(),\n oracleInfo: this.oracleInfo.toJSON(),\n },\n },\n };\n }\n\n /**\n * Serializes the single_contract_info message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.contractInfoType);\n writer.writeUInt64BE(this.totalCollateral);\n writer.writeBytes(this.contractDescriptor.serialize());\n\n // Use serializeBody() to match rust-dlc behavior - don't add extra TLV wrapper\n if (this.oracleInfo instanceof SingleOracleInfo) {\n writer.writeBigSize(0); // Single oracle discriminator\n writer.writeBytes(this.oracleInfo.serializeBody());\n } else {\n writer.writeBigSize(1); // Multi oracle discriminator\n writer.writeBytes(this.oracleInfo.serializeBody());\n }\n\n return writer.toBuffer();\n }\n}\n\n/**\n * DisjointContractInfo contains information about multiple disjoint contract events.\n * This corresponds to the previous ContractInfoV1.\n */\nexport class DisjointContractInfo extends ContractInfo implements IDlcMessage {\n public static contractInfoType = ContractInfoType.Disjoint;\n public static type = MessageType.DisjointContractInfo;\n\n /**\n * Creates a DisjointContractInfo from JSON data\n * @param json JSON object representing disjoint contract info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DisjointContractInfo {\n const instance = new DisjointContractInfo();\n\n instance.totalCollateral = BigInt(\n json.totalCollateral || json.total_collateral || 0,\n );\n\n // Parse contract infos array\n const contractInfosData = json.contractInfos || json.contract_infos || [];\n instance.contractOraclePairs = contractInfosData.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (contractInfoData: any) => ({\n contractDescriptor: ContractDescriptor.fromJSON(\n contractInfoData.contractDescriptor ||\n contractInfoData.contract_descriptor,\n ),\n oracleInfo: OracleInfo.fromJSON(\n contractInfoData.oracleInfo || contractInfoData.oracle_info,\n ),\n }),\n );\n\n return instance;\n }\n\n /**\n * Deserializes a disjoint_contract_info message\n * @param buf\n */\n public static deserialize(buf: Buffer): DisjointContractInfo {\n const instance = new DisjointContractInfo();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type (1)\n instance.totalCollateral = reader.readUInt64BE();\n\n const numDisjointEvents = Number(reader.readBigSize());\n\n for (let i = 0; i < numDisjointEvents; i++) {\n // Read contract descriptor as sibling type (starts with its own type prefix)\n const contractDescriptor = ContractDescriptor.deserialize(\n reader.buffer.subarray(reader.position),\n );\n // Skip past the contract descriptor we just read\n const descLength = contractDescriptor.serialize().length;\n reader.position += descLength;\n\n // Read oracle info with rust-dlc format - discriminator + body (same as SingleContractInfo)\n const oracleType = Number(reader.readBigSize());\n let oracleInfo: OracleInfo;\n\n if (oracleType === 0) {\n // Single oracle\n oracleInfo = SingleOracleInfo.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n } else if (oracleType === 1) {\n // Multi oracle\n oracleInfo = MultiOracleInfo.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n } else {\n throw new Error(`Unknown oracle info type: ${oracleType}`);\n }\n\n // Skip past the oracle info we just read\n const oracleInfoLength = oracleInfo.serializeBody().length;\n reader.position += oracleInfoLength;\n\n instance.contractOraclePairs.push({ contractDescriptor, oracleInfo });\n }\n\n return instance;\n }\n\n /**\n * The type for disjoint_contract_info message - using MessageType for IDlcMessage compatibility\n */\n public type = MessageType.DisjointContractInfo;\n\n /**\n * The contract info type for new format\n */\n public contractInfoType = ContractInfoType.Disjoint;\n\n public totalCollateral: bigint;\n\n public contractOraclePairs: IContractOraclePair[] = [];\n\n // Compatibility property\n public get length(): bigint {\n return BigInt(this.serialize().length);\n }\n\n /**\n * Validates correctness of all fields in the message\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n if (this.totalCollateral <= 0) {\n throw new Error('totalCollateral must be greater than 0');\n }\n\n if (this.contractOraclePairs.length === 0) {\n throw new Error('contractOraclePairs cannot be empty');\n }\n\n this.contractOraclePairs.forEach((pair, index) => {\n try {\n pair.oracleInfo.validate();\n // TODO: Add contract descriptor validation once available\n // pair.contractDescriptor.validate();\n } catch (error) {\n throw new Error(\n `Validation failed for contract oracle pair ${index}: ${error.message}`,\n );\n }\n });\n }\n\n /**\n * Converts disjoint_contract_info to JSON\n */\n public toJSON(): IDisjointContractInfoJSON {\n // Return enum variant format for Rust compatibility\n return {\n disjointContractInfo: {\n totalCollateral: Number(this.totalCollateral),\n contractInfos: this.contractOraclePairs.map((pair) => ({\n contractDescriptor: pair.contractDescriptor.toJSON(),\n oracleInfo: pair.oracleInfo.toJSON(),\n })),\n },\n };\n }\n\n /**\n * Serializes the disjoint_contract_info message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.contractInfoType);\n writer.writeUInt64BE(this.totalCollateral);\n writer.writeBigSize(this.contractOraclePairs.length);\n\n for (const pair of this.contractOraclePairs) {\n writer.writeBytes(pair.contractDescriptor.serialize());\n\n // Write oracle info with discriminator like SingleContractInfo does\n if (pair.oracleInfo instanceof SingleOracleInfo) {\n writer.writeBigSize(0); // Single oracle discriminator\n writer.writeBytes(pair.oracleInfo.serializeBody());\n } else {\n writer.writeBigSize(1); // Multi oracle discriminator\n writer.writeBytes(pair.oracleInfo.serializeBody());\n }\n }\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keeping old class names as aliases (both value and type exports)\nexport const ContractInfoV0 = SingleContractInfo;\nexport const ContractInfoV1 = DisjointContractInfo;\nexport type ContractInfoV0 = SingleContractInfo;\nexport type ContractInfoV1 = DisjointContractInfo;\n\ninterface IContractOraclePair {\n contractDescriptor: ContractDescriptor;\n oracleInfo: OracleInfo;\n}\n\ninterface IContractOraclePairJSON {\n contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;\n oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;\n}\n\n// Rust-dlc enum variant format for SingleContractInfo\nexport interface ISingleContractInfoJSON {\n singleContractInfo: {\n totalCollateral: number;\n contractInfo: {\n contractDescriptor: ContractDescriptorV0JSON | ContractDescriptorV1JSON;\n oracleInfo: SingleOracleInfoJSON | MultiOracleInfoJSON;\n };\n };\n}\n\n// Rust-dlc enum variant format for DisjointContractInfo\nexport interface IDisjointContractInfoJSON {\n disjointContractInfo: {\n totalCollateral: number;\n contractInfos: IContractOraclePairJSON[];\n };\n}\n\n// Legacy type aliases for backward compatibility (same as the new interfaces)\nexport type IContractInfoV0JSON = ISingleContractInfoJSON;\nexport type IContractInfoV1JSON = IDisjointContractInfoJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"541aa8689e20559afbb95c118bb98b54ddea189a","contentHash":"7d54a251a6f8fe524cda9cbae1897c7f4835e81b460c0e696cb8a133b289c79a"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcMessage.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcMessage.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":28}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":29},"end":{"line":6,"column":60}},"5":{"start":{"line":7,"column":23},"end":{"line":7,"column":48}},"6":{"start":{"line":8,"column":20},"end":{"line":8,"column":42}},"7":{"start":{"line":9,"column":19},"end":{"line":9,"column":40}},"8":{"start":{"line":10,"column":19},"end":{"line":10,"column":40}},"9":{"start":{"line":11,"column":18},"end":{"line":11,"column":38}},"10":{"start":{"line":12,"column":34},"end":{"line":12,"column":70}},"11":{"start":{"line":13,"column":29},"end":{"line":13,"column":60}},"12":{"start":{"line":14,"column":28},"end":{"line":14,"column":58}},"13":{"start":{"line":15,"column":22},"end":{"line":15,"column":46}},"14":{"start":{"line":16,"column":21},"end":{"line":16,"column":44}},"15":{"start":{"line":19,"column":23},"end":{"line":19,"column":52}},"16":{"start":{"line":20,"column":21},"end":{"line":20,"column":42}},"17":{"start":{"line":21,"column":8},"end":{"line":50,"column":9}},"18":{"start":{"line":23,"column":16},"end":{"line":23,"column":82}},"19":{"start":{"line":25,"column":16},"end":{"line":25,"column":81}},"20":{"start":{"line":27,"column":16},"end":{"line":27,"column":74}},"21":{"start":{"line":29,"column":16},"end":{"line":29,"column":76}},"22":{"start":{"line":31,"column":16},"end":{"line":31,"column":64}},"23":{"start":{"line":33,"column":16},"end":{"line":33,"column":66}},"24":{"start":{"line":35,"column":16},"end":{"line":35,"column":60}},"25":{"start":{"line":37,"column":16},"end":{"line":37,"column":62}},"26":{"start":{"line":39,"column":16},"end":{"line":39,"column":58}},"27":{"start":{"line":41,"column":16},"end":{"line":41,"column":60}},"28":{"start":{"line":43,"column":16},"end":{"line":43,"column":78}},"29":{"start":{"line":45,"column":16},"end":{"line":45,"column":80}},"30":{"start":{"line":47,"column":16},"end":{"line":47,"column":90}},"31":{"start":{"line":49,"column":16},"end":{"line":49,"column":73}},"32":{"start":{"line":53,"column":0},"end":{"line":53,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":28},"end":{"line":51,"column":5}},"line":18}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":8},"end":{"line":50,"column":9}},"type":"switch","locations":[{"start":{"line":22,"column":12},"end":{"line":23,"column":82}},{"start":{"line":24,"column":12},"end":{"line":25,"column":81}},{"start":{"line":26,"column":12},"end":{"line":27,"column":74}},{"start":{"line":28,"column":12},"end":{"line":29,"column":76}},{"start":{"line":30,"column":12},"end":{"line":31,"column":64}},{"start":{"line":32,"column":12},"end":{"line":33,"column":66}},{"start":{"line":34,"column":12},"end":{"line":35,"column":60}},{"start":{"line":36,"column":12},"end":{"line":37,"column":62}},{"start":{"line":38,"column":12},"end":{"line":39,"column":58}},{"start":{"line":40,"column":12},"end":{"line":41,"column":60}},{"start":{"line":42,"column":12},"end":{"line":43,"column":78}},{"start":{"line":44,"column":12},"end":{"line":45,"column":80}},{"start":{"line":46,"column":12},"end":{"line":47,"column":90}},{"start":{"line":48,"column":12},"end":{"line":49,"column":73}}],"line":21}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":1},"f":{"0":0},"b":{"0":[0,0,0,0,0,0,0,0,0,0,0,0,0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcMessage.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcMessage.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,gDAA6C;AAC7C,6DAG8B;AAC9B,iDAKwB;AACxB,2CAAwC;AACxC,yCAAsC;AACtC,yCAAsC;AACtC,uCAAoC;AACpC,uEAAoE;AACpE,6DAA0D;AAC1D,2DAAwD;AACxD,+CAA4C;AAC5C,6CAA0C;AAU1C,MAAsB,UAAU;IACvB,MAAM,CAAC,WAAW,CACvB,GAAW;QAeX,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEnC,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,oBAAoB;gBACnC,OAAO,yCAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK,yBAAW,CAAC,oBAAoB;gBACnC,OAAO,wCAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9C,KAAK,yBAAW,CAAC,kBAAkB;gBACjC,OAAO,iCAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,KAAK,yBAAW,CAAC,oBAAoB;gBACnC,OAAO,mCAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,KAAK,yBAAW,CAAC,UAAU;gBACzB,OAAO,uBAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,KAAK,yBAAW,CAAC,WAAW;gBAC1B,OAAO,yBAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,yBAAW,CAAC,QAAQ;gBACvB,OAAO,mBAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,KAAK,yBAAW,CAAC,SAAS;gBACxB,OAAO,qBAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,yBAAW,CAAC,OAAO;gBACtB,OAAO,iBAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,KAAK,yBAAW,CAAC,QAAQ;gBACvB,OAAO,mBAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,KAAK,yBAAW,CAAC,iBAAiB;gBAChC,OAAO,qCAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5C,KAAK,yBAAW,CAAC,kBAAkB;gBACjC,OAAO,uCAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,KAAK,yBAAW,CAAC,gBAAgB;gBAC/B,OAAO,iDAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClD;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,gBAAgB,CAAC,CAAC;SAC5D;IACH,CAAC;CAKF;AAvDD,gCAuDC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport {\n EnumeratedDescriptor,\n NumericalDescriptor,\n} from './ContractDescriptor';\nimport {\n DisjointContractInfo,\n IContractInfoV0JSON,\n IContractInfoV1JSON,\n SingleContractInfo,\n} from './ContractInfo';\nimport { DlcAccept } from './DlcAccept';\nimport { DlcClose } from './DlcClose';\nimport { DlcOffer } from './DlcOffer';\nimport { DlcSign } from './DlcSign';\nimport { NodeAnnouncementMessage } from './NodeAnnouncementMessage';\nimport { OracleAnnouncement } from './OracleAnnouncement';\nimport { OracleAttestation } from './OracleAttestation';\nimport { OrderAccept } from './OrderAccept';\nimport { OrderOffer } from './OrderOffer';\n\nexport interface IDlcMessage {\n type: number;\n serialize(): Buffer;\n}\n\nexport type ContractInfoV0JSON = IContractInfoV0JSON;\nexport type ContractInfoV1JSON = IContractInfoV1JSON;\n\nexport abstract class DlcMessage {\n public static deserialize(\n buf: Buffer,\n ):\n | EnumeratedDescriptor\n | NumericalDescriptor\n | SingleContractInfo\n | DisjointContractInfo\n | OrderOffer\n | OrderAccept\n | DlcOffer\n | DlcAccept\n | DlcSign\n | DlcClose\n | OracleAttestation\n | OracleAnnouncement\n | NodeAnnouncementMessage {\n const reader = new BufferReader(buf);\n const type = reader.readUInt16BE();\n\n switch (type) {\n case MessageType.ContractDescriptorV0:\n return EnumeratedDescriptor.deserialize(buf);\n case MessageType.ContractDescriptorV1:\n return NumericalDescriptor.deserialize(buf);\n case MessageType.SingleContractInfo:\n return SingleContractInfo.deserialize(buf);\n case MessageType.DisjointContractInfo:\n return DisjointContractInfo.deserialize(buf);\n case MessageType.OrderOffer:\n return OrderOffer.deserialize(buf);\n case MessageType.OrderAccept:\n return OrderAccept.deserialize(buf);\n case MessageType.DlcOffer:\n return DlcOffer.deserialize(buf);\n case MessageType.DlcAccept:\n return DlcAccept.deserialize(buf);\n case MessageType.DlcSign:\n return DlcSign.deserialize(buf);\n case MessageType.DlcClose:\n return DlcClose.deserialize(buf);\n case MessageType.OracleAttestation:\n return OracleAttestation.deserialize(buf);\n case MessageType.OracleAnnouncement:\n return OracleAnnouncement.deserialize(buf);\n case MessageType.NodeAnnouncement:\n return NodeAnnouncementMessage.deserialize(buf);\n default:\n throw new Error(`DlcMessage type ${type} not supported`);\n }\n }\n\n public abstract type: number;\n\n public abstract serialize(): Buffer;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0cac32a414f755368af2f5b5d4020f9bac513231","contentHash":"e2ebf857749a428a22f2084b0a29d7f5c5058c5d4300ad56f6edda625b07436d"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcAccept.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcAccept.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":87}},"4":{"start":{"line":7,"column":18},"end":{"line":7,"column":46}},"5":{"start":{"line":8,"column":16},"end":{"line":8,"column":42}},"6":{"start":{"line":9,"column":17},"end":{"line":9,"column":44}},"7":{"start":{"line":10,"column":24},"end":{"line":10,"column":48}},"8":{"start":{"line":11,"column":20},"end":{"line":11,"column":57}},"9":{"start":{"line":12,"column":22},"end":{"line":12,"column":47}},"10":{"start":{"line":13,"column":25},"end":{"line":13,"column":63}},"11":{"start":{"line":14,"column":17},"end":{"line":14,"column":47}},"12":{"start":{"line":15,"column":15},"end":{"line":15,"column":33}},"13":{"start":{"line":16,"column":28},"end":{"line":16,"column":58}},"14":{"start":{"line":17,"column":31},"end":{"line":17,"column":64}},"15":{"start":{"line":18,"column":23},"end":{"line":18,"column":48}},"16":{"start":{"line":19,"column":28},"end":{"line":19,"column":58}},"17":{"start":{"line":32,"column":8},"end":{"line":32,"column":35}},"18":{"start":{"line":34,"column":8},"end":{"line":34,"column":62}},"19":{"start":{"line":35,"column":8},"end":{"line":35,"column":32}},"20":{"start":{"line":40,"column":8},"end":{"line":40,"column":34}},"21":{"start":{"line":49,"column":25},"end":{"line":49,"column":40}},"22":{"start":{"line":51,"column":34},"end":{"line":65,"column":9}},"23":{"start":{"line":52,"column":30},"end":{"line":52,"column":56}},"24":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"25":{"start":{"line":55,"column":16},"end":{"line":55,"column":33}},"26":{"start":{"line":58,"column":12},"end":{"line":64,"column":13}},"27":{"start":{"line":59,"column":31},"end":{"line":59,"column":77}},"28":{"start":{"line":60,"column":16},"end":{"line":60,"column":43}},"29":{"start":{"line":63,"column":16},"end":{"line":63,"column":72}},"30":{"start":{"line":67,"column":8},"end":{"line":68,"column":92}},"31":{"start":{"line":69,"column":8},"end":{"line":71,"column":47}},"32":{"start":{"line":72,"column":8},"end":{"line":74,"column":36}},"33":{"start":{"line":76,"column":8},"end":{"line":76,"column":117}},"34":{"start":{"line":77,"column":8},"end":{"line":77,"column":101}},"35":{"start":{"line":78,"column":8},"end":{"line":78,"column":101}},"36":{"start":{"line":79,"column":8},"end":{"line":79,"column":101}},"37":{"start":{"line":80,"column":8},"end":{"line":80,"column":101}},"38":{"start":{"line":82,"column":8},"end":{"line":82,"column":119}},"39":{"start":{"line":84,"column":8},"end":{"line":84,"column":142}},"40":{"start":{"line":86,"column":29},"end":{"line":86,"column":74}},"41":{"start":{"line":87,"column":8},"end":{"line":87,"column":67}},"42":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"43":{"start":{"line":90,"column":12},"end":{"line":90,"column":133}},"44":{"start":{"line":92,"column":8},"end":{"line":92,"column":24}},"45":{"start":{"line":101,"column":8},"end":{"line":104,"column":11}},"46":{"start":{"line":103,"column":12},"end":{"line":103,"column":67}},"47":{"start":{"line":113,"column":25},"end":{"line":113,"column":74}},"48":{"start":{"line":114,"column":8},"end":{"line":128,"column":9}},"49":{"start":{"line":116,"column":30},"end":{"line":117,"column":52}},"50":{"start":{"line":119,"column":12},"end":{"line":127,"column":15}},"51":{"start":{"line":122,"column":34},"end":{"line":122,"column":67}},"52":{"start":{"line":123,"column":16},"end":{"line":126,"column":18}},"53":{"start":{"line":129,"column":8},"end":{"line":129,"column":24}},"54":{"start":{"line":138,"column":8},"end":{"line":138,"column":79}},"55":{"start":{"line":145,"column":25},"end":{"line":145,"column":40}},"56":{"start":{"line":146,"column":23},"end":{"line":146,"column":52}},"57":{"start":{"line":147,"column":8},"end":{"line":147,"column":30}},"58":{"start":{"line":149,"column":8},"end":{"line":149,"column":57}},"59":{"start":{"line":150,"column":8},"end":{"line":150,"column":60}},"60":{"start":{"line":151,"column":8},"end":{"line":151,"column":58}},"61":{"start":{"line":152,"column":8},"end":{"line":152,"column":54}},"62":{"start":{"line":153,"column":29},"end":{"line":153,"column":50}},"63":{"start":{"line":154,"column":8},"end":{"line":154,"column":60}},"64":{"start":{"line":155,"column":8},"end":{"line":155,"column":56}},"65":{"start":{"line":157,"column":33},"end":{"line":157,"column":61}},"66":{"start":{"line":158,"column":8},"end":{"line":165,"column":9}},"67":{"start":{"line":158,"column":21},"end":{"line":158,"column":22}},"68":{"start":{"line":160,"column":33},"end":{"line":160,"column":117}},"69":{"start":{"line":161,"column":12},"end":{"line":161,"column":54}},"70":{"start":{"line":163,"column":39},"end":{"line":163,"column":74}},"71":{"start":{"line":164,"column":12},"end":{"line":164,"column":50}},"72":{"start":{"line":166,"column":29},"end":{"line":166,"column":50}},"73":{"start":{"line":167,"column":8},"end":{"line":167,"column":60}},"74":{"start":{"line":168,"column":8},"end":{"line":168,"column":56}},"75":{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},"76":{"start":{"line":171,"column":12},"end":{"line":171,"column":141}},"77":{"start":{"line":173,"column":30},"end":{"line":173,"column":78}},"78":{"start":{"line":174,"column":12},"end":{"line":174,"column":41}},"79":{"start":{"line":177,"column":12},"end":{"line":177,"column":94}},"80":{"start":{"line":179,"column":8},"end":{"line":179,"column":56}},"81":{"start":{"line":183,"column":31},"end":{"line":183,"column":69}},"82":{"start":{"line":184,"column":8},"end":{"line":222,"column":9}},"83":{"start":{"line":187,"column":12},"end":{"line":221,"column":13}},"84":{"start":{"line":188,"column":16},"end":{"line":220,"column":17}},"85":{"start":{"line":189,"column":49},"end":{"line":189,"column":67}},"86":{"start":{"line":190,"column":20},"end":{"line":192,"column":21}},"87":{"start":{"line":191,"column":24},"end":{"line":191,"column":133}},"88":{"start":{"line":195,"column":20},"end":{"line":214,"column":21}},"89":{"start":{"line":196,"column":36},"end":{"line":196,"column":64}},"90":{"start":{"line":197,"column":42},"end":{"line":197,"column":71}},"91":{"start":{"line":198,"column":41},"end":{"line":198,"column":88}},"92":{"start":{"line":199,"column":24},"end":{"line":213,"column":25}},"93":{"start":{"line":201,"column":32},"end":{"line":203,"column":33}},"94":{"start":{"line":202,"column":36},"end":{"line":202,"column":69}},"95":{"start":{"line":204,"column":32},"end":{"line":204,"column":121}},"96":{"start":{"line":205,"column":32},"end":{"line":205,"column":38}},"97":{"start":{"line":208,"column":32},"end":{"line":210,"column":33}},"98":{"start":{"line":209,"column":36},"end":{"line":209,"column":62}},"99":{"start":{"line":211,"column":32},"end":{"line":211,"column":93}},"100":{"start":{"line":212,"column":32},"end":{"line":212,"column":38}},"101":{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},"102":{"start":{"line":226,"column":12},"end":{"line":226,"column":41}},"103":{"start":{"line":228,"column":8},"end":{"line":228,"column":24}},"104":{"start":{"line":235,"column":8},"end":{"line":235,"column":33}},"105":{"start":{"line":242,"column":8},"end":{"line":242,"column":33}},"106":{"start":{"line":250,"column":27},"end":{"line":252,"column":21}},"107":{"start":{"line":253,"column":31},"end":{"line":253,"column":92}},"108":{"start":{"line":254,"column":30},"end":{"line":254,"column":95}},"109":{"start":{"line":255,"column":30},"end":{"line":255,"column":95}},"110":{"start":{"line":256,"column":8},"end":{"line":260,"column":10}},"111":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"112":{"start":{"line":272,"column":12},"end":{"line":272,"column":130}},"113":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"114":{"start":{"line":276,"column":12},"end":{"line":276,"column":68}},"115":{"start":{"line":279,"column":8},"end":{"line":284,"column":9}},"116":{"start":{"line":280,"column":12},"end":{"line":280,"column":69}},"117":{"start":{"line":283,"column":12},"end":{"line":283,"column":52}},"118":{"start":{"line":285,"column":8},"end":{"line":290,"column":9}},"119":{"start":{"line":286,"column":12},"end":{"line":286,"column":69}},"120":{"start":{"line":289,"column":12},"end":{"line":289,"column":52}},"121":{"start":{"line":293,"column":8},"end":{"line":300,"column":9}},"122":{"start":{"line":294,"column":12},"end":{"line":296,"column":13}},"123":{"start":{"line":295,"column":16},"end":{"line":295,"column":78}},"124":{"start":{"line":299,"column":12},"end":{"line":299,"column":74}},"125":{"start":{"line":302,"column":31},"end":{"line":302,"column":85}},"126":{"start":{"line":302,"column":65},"end":{"line":302,"column":84}},"127":{"start":{"line":303,"column":8},"end":{"line":305,"column":9}},"128":{"start":{"line":304,"column":12},"end":{"line":304,"column":61}},"129":{"start":{"line":307,"column":8},"end":{"line":307,"column":64}},"130":{"start":{"line":307,"column":46},"end":{"line":307,"column":62}},"131":{"start":{"line":309,"column":30},"end":{"line":312,"column":21}},"132":{"start":{"line":310,"column":26},"end":{"line":310,"column":38}},"133":{"start":{"line":311,"column":12},"end":{"line":311,"column":75}},"134":{"start":{"line":313,"column":8},"end":{"line":325,"column":9}},"135":{"start":{"line":316,"column":12},"end":{"line":318,"column":13}},"136":{"start":{"line":317,"column":16},"end":{"line":317,"column":107}},"137":{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},"138":{"start":{"line":323,"column":16},"end":{"line":323,"column":87}},"139":{"start":{"line":332,"column":35},"end":{"line":332,"column":92}},"140":{"start":{"line":333,"column":8},"end":{"line":346,"column":10}},"141":{"start":{"line":340,"column":61},"end":{"line":340,"column":75}},"142":{"start":{"line":353,"column":23},"end":{"line":353,"column":49}},"143":{"start":{"line":354,"column":8},"end":{"line":354,"column":40}},"144":{"start":{"line":356,"column":8},"end":{"line":356,"column":51}},"145":{"start":{"line":357,"column":8},"end":{"line":357,"column":52}},"146":{"start":{"line":358,"column":8},"end":{"line":358,"column":52}},"147":{"start":{"line":359,"column":8},"end":{"line":359,"column":46}},"148":{"start":{"line":360,"column":8},"end":{"line":360,"column":52}},"149":{"start":{"line":361,"column":8},"end":{"line":361,"column":42}},"150":{"start":{"line":362,"column":8},"end":{"line":362,"column":50}},"151":{"start":{"line":364,"column":8},"end":{"line":364,"column":55}},"152":{"start":{"line":365,"column":8},"end":{"line":368,"column":9}},"153":{"start":{"line":367,"column":12},"end":{"line":367,"column":60}},"154":{"start":{"line":369,"column":8},"end":{"line":369,"column":52}},"155":{"start":{"line":370,"column":8},"end":{"line":370,"column":42}},"156":{"start":{"line":371,"column":8},"end":{"line":371,"column":50}},"157":{"start":{"line":372,"column":8},"end":{"line":372,"column":65}},"158":{"start":{"line":373,"column":8},"end":{"line":373,"column":48}},"159":{"start":{"line":375,"column":8},"end":{"line":381,"column":9}},"160":{"start":{"line":376,"column":12},"end":{"line":376,"column":36}},"161":{"start":{"line":377,"column":12},"end":{"line":377,"column":66}},"162":{"start":{"line":380,"column":12},"end":{"line":380,"column":36}},"163":{"start":{"line":383,"column":8},"end":{"line":384,"column":105}},"164":{"start":{"line":384,"column":12},"end":{"line":384,"column":105}},"165":{"start":{"line":384,"column":61},"end":{"line":384,"column":103}},"166":{"start":{"line":386,"column":8},"end":{"line":390,"column":9}},"167":{"start":{"line":387,"column":12},"end":{"line":389,"column":15}},"168":{"start":{"line":388,"column":16},"end":{"line":388,"column":44}},"169":{"start":{"line":391,"column":8},"end":{"line":391,"column":33}},"170":{"start":{"line":394,"column":8},"end":{"line":394,"column":274}},"171":{"start":{"line":397,"column":0},"end":{"line":397,"column":30}},"172":{"start":{"line":398,"column":0},"end":{"line":398,"column":53}},"173":{"start":{"line":401,"column":8},"end":{"line":401,"column":47}},"174":{"start":{"line":402,"column":8},"end":{"line":402,"column":55}},"175":{"start":{"line":403,"column":8},"end":{"line":403,"column":49}},"176":{"start":{"line":404,"column":8},"end":{"line":404,"column":43}},"177":{"start":{"line":405,"column":8},"end":{"line":405,"column":35}},"178":{"start":{"line":406,"column":8},"end":{"line":406,"column":45}},"179":{"start":{"line":407,"column":8},"end":{"line":407,"column":43}},"180":{"start":{"line":408,"column":8},"end":{"line":408,"column":35}},"181":{"start":{"line":409,"column":8},"end":{"line":409,"column":45}},"182":{"start":{"line":410,"column":8},"end":{"line":410,"column":51}},"183":{"start":{"line":411,"column":8},"end":{"line":411,"column":53}},"184":{"start":{"line":414,"column":0},"end":{"line":414,"column":52}},"185":{"start":{"line":417,"column":8},"end":{"line":417,"column":26}},"186":{"start":{"line":424,"column":8},"end":{"line":424,"column":34}},"187":{"start":{"line":431,"column":8},"end":{"line":431,"column":28}},"188":{"start":{"line":438,"column":23},"end":{"line":438,"column":49}},"189":{"start":{"line":440,"column":8},"end":{"line":440,"column":49}},"190":{"start":{"line":442,"column":8},"end":{"line":447,"column":11}},"191":{"start":{"line":443,"column":37},"end":{"line":443,"column":55}},"192":{"start":{"line":445,"column":12},"end":{"line":445,"column":57}},"193":{"start":{"line":446,"column":12},"end":{"line":446,"column":48}},"194":{"start":{"line":448,"column":8},"end":{"line":448,"column":33}},"195":{"start":{"line":456,"column":23},"end":{"line":456,"column":52}},"196":{"start":{"line":457,"column":26},"end":{"line":457,"column":50}},"197":{"start":{"line":458,"column":29},"end":{"line":458,"column":49}},"198":{"start":{"line":459,"column":8},"end":{"line":464,"column":9}},"199":{"start":{"line":459,"column":21},"end":{"line":459,"column":22}},"200":{"start":{"line":460,"column":33},"end":{"line":460,"column":53}},"201":{"start":{"line":461,"column":30},"end":{"line":461,"column":68}},"202":{"start":{"line":462,"column":27},"end":{"line":462,"column":70}},"203":{"start":{"line":463,"column":12},"end":{"line":463,"column":40}},"204":{"start":{"line":465,"column":8},"end":{"line":465,"column":25}},"205":{"start":{"line":468,"column":0},"end":{"line":468,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":18},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":4},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":26},"end":{"line":93,"column":5}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":34},"end":{"line":51,"column":35}},"loc":{"start":{"line":51,"column":46},"end":{"line":65,"column":9}},"line":51},"4":{"name":"(anonymous_4)","decl":{"start":{"line":98,"column":4},"end":{"line":98,"column":5}},"loc":{"start":{"line":100,"column":23},"end":{"line":105,"column":5}},"line":100},"5":{"name":"(anonymous_5)","decl":{"start":{"line":101,"column":37},"end":{"line":101,"column":38}},"loc":{"start":{"line":101,"column":52},"end":{"line":104,"column":9}},"line":101},"6":{"name":"(anonymous_6)","decl":{"start":{"line":110,"column":4},"end":{"line":110,"column":5}},"loc":{"start":{"line":112,"column":17},"end":{"line":130,"column":5}},"line":112},"7":{"name":"(anonymous_7)","decl":{"start":{"line":119,"column":42},"end":{"line":119,"column":43}},"loc":{"start":{"line":119,"column":51},"end":{"line":127,"column":13}},"line":119},"8":{"name":"(anonymous_8)","decl":{"start":{"line":135,"column":4},"end":{"line":135,"column":5}},"loc":{"start":{"line":137,"column":21},"end":{"line":139,"column":5}},"line":137},"9":{"name":"(anonymous_9)","decl":{"start":{"line":144,"column":4},"end":{"line":144,"column":5}},"loc":{"start":{"line":144,"column":46},"end":{"line":229,"column":5}},"line":144},"10":{"name":"(anonymous_10)","decl":{"start":{"line":234,"column":4},"end":{"line":234,"column":5}},"loc":{"start":{"line":234,"column":25},"end":{"line":236,"column":5}},"line":234},"11":{"name":"(anonymous_11)","decl":{"start":{"line":241,"column":4},"end":{"line":241,"column":5}},"loc":{"start":{"line":241,"column":21},"end":{"line":243,"column":5}},"line":241},"12":{"name":"(anonymous_12)","decl":{"start":{"line":249,"column":4},"end":{"line":249,"column":5}},"loc":{"start":{"line":249,"column":26},"end":{"line":261,"column":5}},"line":249},"13":{"name":"(anonymous_13)","decl":{"start":{"line":268,"column":4},"end":{"line":268,"column":5}},"loc":{"start":{"line":268,"column":15},"end":{"line":326,"column":5}},"line":268},"14":{"name":"(anonymous_14)","decl":{"start":{"line":302,"column":54},"end":{"line":302,"column":55}},"loc":{"start":{"line":302,"column":65},"end":{"line":302,"column":84}},"line":302},"15":{"name":"(anonymous_15)","decl":{"start":{"line":307,"column":35},"end":{"line":307,"column":36}},"loc":{"start":{"line":307,"column":46},"end":{"line":307,"column":62}},"line":307},"16":{"name":"(anonymous_16)","decl":{"start":{"line":309,"column":56},"end":{"line":309,"column":57}},"loc":{"start":{"line":309,"column":79},"end":{"line":312,"column":9}},"line":309},"17":{"name":"(anonymous_17)","decl":{"start":{"line":330,"column":4},"end":{"line":330,"column":5}},"loc":{"start":{"line":330,"column":13},"end":{"line":347,"column":5}},"line":330},"18":{"name":"(anonymous_18)","decl":{"start":{"line":340,"column":50},"end":{"line":340,"column":51}},"loc":{"start":{"line":340,"column":61},"end":{"line":340,"column":75}},"line":340},"19":{"name":"(anonymous_19)","decl":{"start":{"line":352,"column":4},"end":{"line":352,"column":5}},"loc":{"start":{"line":352,"column":16},"end":{"line":392,"column":5}},"line":352},"20":{"name":"(anonymous_20)","decl":{"start":{"line":384,"column":44},"end":{"line":384,"column":45}},"loc":{"start":{"line":384,"column":61},"end":{"line":384,"column":103}},"line":384},"21":{"name":"(anonymous_21)","decl":{"start":{"line":387,"column":37},"end":{"line":387,"column":38}},"loc":{"start":{"line":387,"column":46},"end":{"line":389,"column":13}},"line":387},"22":{"name":"(anonymous_22)","decl":{"start":{"line":393,"column":4},"end":{"line":393,"column":5}},"loc":{"start":{"line":393,"column":18},"end":{"line":395,"column":5}},"line":393},"23":{"name":"(anonymous_23)","decl":{"start":{"line":400,"column":4},"end":{"line":400,"column":5}},"loc":{"start":{"line":400,"column":195},"end":{"line":412,"column":5}},"line":400},"24":{"name":"(anonymous_24)","decl":{"start":{"line":416,"column":4},"end":{"line":416,"column":5}},"loc":{"start":{"line":416,"column":18},"end":{"line":418,"column":5}},"line":416},"25":{"name":"(anonymous_25)","decl":{"start":{"line":423,"column":4},"end":{"line":423,"column":5}},"loc":{"start":{"line":423,"column":22},"end":{"line":425,"column":5}},"line":423},"26":{"name":"(anonymous_26)","decl":{"start":{"line":430,"column":4},"end":{"line":430,"column":5}},"loc":{"start":{"line":430,"column":17},"end":{"line":432,"column":5}},"line":430},"27":{"name":"(anonymous_27)","decl":{"start":{"line":437,"column":4},"end":{"line":437,"column":5}},"loc":{"start":{"line":437,"column":16},"end":{"line":449,"column":5}},"line":437},"28":{"name":"(anonymous_28)","decl":{"start":{"line":442,"column":29},"end":{"line":442,"column":30}},"loc":{"start":{"line":442,"column":41},"end":{"line":447,"column":9}},"line":442},"29":{"name":"(anonymous_29)","decl":{"start":{"line":455,"column":4},"end":{"line":455,"column":5}},"loc":{"start":{"line":455,"column":46},"end":{"line":466,"column":5}},"line":455}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},{"start":{"line":54,"column":12},"end":{"line":56,"column":13}}],"line":54},"4":{"loc":{"start":{"line":68,"column":12},"end":{"line":68,"column":91}},"type":"binary-expr","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":32}},{"start":{"line":68,"column":36},"end":{"line":68,"column":57}},{"start":{"line":68,"column":61},"end":{"line":68,"column":91}}],"line":68},"5":{"loc":{"start":{"line":69,"column":51},"end":{"line":71,"column":38}},"type":"binary-expr","locations":[{"start":{"line":69,"column":51},"end":{"line":69,"column":75}},{"start":{"line":70,"column":12},"end":{"line":70,"column":31}},{"start":{"line":71,"column":12},"end":{"line":71,"column":38}}],"line":69},"6":{"loc":{"start":{"line":72,"column":57},"end":{"line":74,"column":34}},"type":"binary-expr","locations":[{"start":{"line":72,"column":57},"end":{"line":72,"column":78}},{"start":{"line":73,"column":12},"end":{"line":73,"column":41}},{"start":{"line":74,"column":12},"end":{"line":74,"column":34}}],"line":72},"7":{"loc":{"start":{"line":76,"column":45},"end":{"line":76,"column":108}},"type":"binary-expr","locations":[{"start":{"line":76,"column":45},"end":{"line":76,"column":63}},{"start":{"line":76,"column":67},"end":{"line":76,"column":85}},{"start":{"line":76,"column":89},"end":{"line":76,"column":108}}],"line":76},"8":{"loc":{"start":{"line":77,"column":41},"end":{"line":77,"column":92}},"type":"binary-expr","locations":[{"start":{"line":77,"column":41},"end":{"line":77,"column":55}},{"start":{"line":77,"column":59},"end":{"line":77,"column":73}},{"start":{"line":77,"column":77},"end":{"line":77,"column":92}}],"line":77},"9":{"loc":{"start":{"line":78,"column":55},"end":{"line":78,"column":99}},"type":"binary-expr","locations":[{"start":{"line":78,"column":55},"end":{"line":78,"column":74}},{"start":{"line":78,"column":78},"end":{"line":78,"column":99}}],"line":78},"10":{"loc":{"start":{"line":79,"column":41},"end":{"line":79,"column":92}},"type":"binary-expr","locations":[{"start":{"line":79,"column":41},"end":{"line":79,"column":55}},{"start":{"line":79,"column":59},"end":{"line":79,"column":73}},{"start":{"line":79,"column":77},"end":{"line":79,"column":92}}],"line":79},"11":{"loc":{"start":{"line":80,"column":55},"end":{"line":80,"column":99}},"type":"binary-expr","locations":[{"start":{"line":80,"column":55},"end":{"line":80,"column":74}},{"start":{"line":80,"column":78},"end":{"line":80,"column":99}}],"line":80},"12":{"loc":{"start":{"line":82,"column":70},"end":{"line":82,"column":117}},"type":"binary-expr","locations":[{"start":{"line":82,"column":70},"end":{"line":82,"column":88}},{"start":{"line":82,"column":92},"end":{"line":82,"column":111}},{"start":{"line":82,"column":115},"end":{"line":82,"column":117}}],"line":82},"13":{"loc":{"start":{"line":84,"column":84},"end":{"line":84,"column":140}},"type":"binary-expr","locations":[{"start":{"line":84,"column":84},"end":{"line":84,"column":109}},{"start":{"line":84,"column":113},"end":{"line":84,"column":140}}],"line":84},"14":{"loc":{"start":{"line":86,"column":29},"end":{"line":86,"column":74}},"type":"binary-expr","locations":[{"start":{"line":86,"column":29},"end":{"line":86,"column":49}},{"start":{"line":86,"column":53},"end":{"line":86,"column":74}}],"line":86},"15":{"loc":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"type":"if","locations":[{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},{"start":{"line":89,"column":8},"end":{"line":91,"column":9}}],"line":89},"16":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":61}},"type":"binary-expr","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":34}},{"start":{"line":89,"column":38},"end":{"line":89,"column":61}}],"line":89},"17":{"loc":{"start":{"line":90,"column":82},"end":{"line":90,"column":131}},"type":"binary-expr","locations":[{"start":{"line":90,"column":82},"end":{"line":90,"column":104}},{"start":{"line":90,"column":108},"end":{"line":90,"column":131}}],"line":90},"18":{"loc":{"start":{"line":114,"column":8},"end":{"line":128,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":128,"column":9}},{"start":{"line":114,"column":8},"end":{"line":128,"column":9}}],"line":114},"19":{"loc":{"start":{"line":114,"column":12},"end":{"line":115,"column":48}},"type":"binary-expr","locations":[{"start":{"line":114,"column":12},"end":{"line":114,"column":46}},{"start":{"line":115,"column":12},"end":{"line":115,"column":48}}],"line":114},"20":{"loc":{"start":{"line":116,"column":30},"end":{"line":117,"column":52}},"type":"binary-expr","locations":[{"start":{"line":116,"column":30},"end":{"line":116,"column":64}},{"start":{"line":117,"column":16},"end":{"line":117,"column":52}}],"line":116},"21":{"loc":{"start":{"line":125,"column":31},"end":{"line":125,"column":98}},"type":"cond-expr","locations":[{"start":{"line":125,"column":55},"end":{"line":125,"column":79}},{"start":{"line":125,"column":82},"end":{"line":125,"column":98}}],"line":125},"22":{"loc":{"start":{"line":144,"column":28},"end":{"line":144,"column":44}},"type":"default-arg","locations":[{"start":{"line":144,"column":40},"end":{"line":144,"column":44}}],"line":144},"23":{"loc":{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},{"start":{"line":169,"column":8},"end":{"line":178,"column":9}}],"line":169},"24":{"loc":{"start":{"line":184,"column":8},"end":{"line":222,"column":9}},"type":"if","locations":[{"start":{"line":184,"column":8},"end":{"line":222,"column":9}},{"start":{"line":184,"column":8},"end":{"line":222,"column":9}}],"line":184},"25":{"loc":{"start":{"line":187,"column":12},"end":{"line":221,"column":13}},"type":"if","locations":[{"start":{"line":187,"column":12},"end":{"line":221,"column":13}},{"start":{"line":187,"column":12},"end":{"line":221,"column":13}}],"line":187},"26":{"loc":{"start":{"line":190,"column":20},"end":{"line":192,"column":21}},"type":"if","locations":[{"start":{"line":190,"column":20},"end":{"line":192,"column":21}},{"start":{"line":190,"column":20},"end":{"line":192,"column":21}}],"line":190},"27":{"loc":{"start":{"line":199,"column":24},"end":{"line":213,"column":25}},"type":"switch","locations":[{"start":{"line":200,"column":28},"end":{"line":205,"column":38}},{"start":{"line":206,"column":28},"end":{"line":212,"column":38}}],"line":199},"28":{"loc":{"start":{"line":201,"column":32},"end":{"line":203,"column":33}},"type":"if","locations":[{"start":{"line":201,"column":32},"end":{"line":203,"column":33}},{"start":{"line":201,"column":32},"end":{"line":203,"column":33}}],"line":201},"29":{"loc":{"start":{"line":208,"column":32},"end":{"line":210,"column":33}},"type":"if","locations":[{"start":{"line":208,"column":32},"end":{"line":210,"column":33}},{"start":{"line":208,"column":32},"end":{"line":210,"column":33}}],"line":208},"30":{"loc":{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},{"start":{"line":225,"column":8},"end":{"line":227,"column":9}}],"line":225},"31":{"loc":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"type":"if","locations":[{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},{"start":{"line":271,"column":8},"end":{"line":273,"column":9}}],"line":271},"32":{"loc":{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},"type":"if","locations":[{"start":{"line":275,"column":8},"end":{"line":277,"column":9}},{"start":{"line":275,"column":8},"end":{"line":277,"column":9}}],"line":275},"33":{"loc":{"start":{"line":275,"column":12},"end":{"line":275,"column":79}},"type":"binary-expr","locations":[{"start":{"line":275,"column":12},"end":{"line":275,"column":37}},{"start":{"line":275,"column":41},"end":{"line":275,"column":79}}],"line":275},"34":{"loc":{"start":{"line":293,"column":8},"end":{"line":300,"column":9}},"type":"if","locations":[{"start":{"line":293,"column":8},"end":{"line":300,"column":9}},{"start":{"line":293,"column":8},"end":{"line":300,"column":9}}],"line":293},"35":{"loc":{"start":{"line":294,"column":12},"end":{"line":296,"column":13}},"type":"if","locations":[{"start":{"line":294,"column":12},"end":{"line":296,"column":13}},{"start":{"line":294,"column":12},"end":{"line":296,"column":13}}],"line":294},"36":{"loc":{"start":{"line":294,"column":16},"end":{"line":294,"column":78}},"type":"binary-expr","locations":[{"start":{"line":294,"column":16},"end":{"line":294,"column":45}},{"start":{"line":294,"column":49},"end":{"line":294,"column":78}}],"line":294},"37":{"loc":{"start":{"line":303,"column":8},"end":{"line":305,"column":9}},"type":"if","locations":[{"start":{"line":303,"column":8},"end":{"line":305,"column":9}},{"start":{"line":303,"column":8},"end":{"line":305,"column":9}}],"line":303},"38":{"loc":{"start":{"line":313,"column":8},"end":{"line":325,"column":9}},"type":"if","locations":[{"start":{"line":313,"column":8},"end":{"line":325,"column":9}},{"start":{"line":313,"column":8},"end":{"line":325,"column":9}}],"line":313},"39":{"loc":{"start":{"line":316,"column":12},"end":{"line":318,"column":13}},"type":"if","locations":[{"start":{"line":316,"column":12},"end":{"line":318,"column":13}},{"start":{"line":316,"column":12},"end":{"line":318,"column":13}}],"line":316},"40":{"loc":{"start":{"line":316,"column":16},"end":{"line":316,"column":82}},"type":"binary-expr","locations":[{"start":{"line":316,"column":16},"end":{"line":316,"column":41}},{"start":{"line":316,"column":45},"end":{"line":316,"column":82}}],"line":316},"41":{"loc":{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},"type":"if","locations":[{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},{"start":{"line":322,"column":12},"end":{"line":324,"column":13}}],"line":322},"42":{"loc":{"start":{"line":375,"column":8},"end":{"line":381,"column":9}},"type":"if","locations":[{"start":{"line":375,"column":8},"end":{"line":381,"column":9}},{"start":{"line":375,"column":8},"end":{"line":381,"column":9}}],"line":375},"43":{"loc":{"start":{"line":383,"column":8},"end":{"line":384,"column":105}},"type":"if","locations":[{"start":{"line":383,"column":8},"end":{"line":384,"column":105}},{"start":{"line":383,"column":8},"end":{"line":384,"column":105}}],"line":383},"44":{"loc":{"start":{"line":386,"column":8},"end":{"line":390,"column":9}},"type":"if","locations":[{"start":{"line":386,"column":8},"end":{"line":390,"column":9}},{"start":{"line":386,"column":8},"end":{"line":390,"column":9}}],"line":386},"45":{"loc":{"start":{"line":455,"column":28},"end":{"line":455,"column":44}},"type":"default-arg","locations":[{"start":{"line":455,"column":40},"end":{"line":455,"column":44}}],"line":455}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":107,"18":107,"19":107,"20":107,"21":30,"22":30,"23":30,"24":30,"25":0,"26":30,"27":30,"28":30,"29":0,"30":30,"31":30,"32":30,"33":30,"34":30,"35":30,"36":30,"37":30,"38":30,"39":30,"40":30,"41":30,"42":30,"43":0,"44":30,"45":30,"46":30,"47":30,"48":30,"49":30,"50":30,"51":5110,"52":5110,"53":30,"54":0,"55":54,"56":54,"57":54,"58":54,"59":54,"60":54,"61":54,"62":54,"63":54,"64":54,"65":54,"66":54,"67":54,"68":54,"69":54,"70":54,"71":54,"72":54,"73":54,"74":54,"75":54,"76":52,"77":52,"78":52,"79":2,"80":54,"81":54,"82":54,"83":54,"84":54,"85":54,"86":54,"87":0,"88":54,"89":213,"90":213,"91":213,"92":213,"93":0,"94":0,"95":0,"96":0,"97":213,"98":3,"99":213,"100":213,"101":54,"102":1,"103":54,"104":4,"105":7,"106":0,"107":0,"108":0,"109":0,"110":0,"111":8,"112":0,"113":8,"114":0,"115":8,"116":8,"117":1,"118":7,"119":7,"120":1,"121":6,"122":5,"123":1,"124":1,"125":4,"126":3,"127":4,"128":1,"129":3,"130":1,"131":2,"132":0,"133":0,"134":2,"135":2,"136":1,"137":0,"138":0,"139":17,"140":17,"141":17,"142":60,"143":60,"144":60,"145":60,"146":60,"147":60,"148":60,"149":60,"150":60,"151":60,"152":60,"153":60,"154":60,"155":60,"156":60,"157":60,"158":60,"159":60,"160":0,"161":0,"162":60,"163":60,"164":0,"165":0,"166":60,"167":1,"168":71,"169":60,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":2,"186":4,"187":0,"188":3,"189":3,"190":3,"191":6,"192":6,"193":6,"194":3,"195":1,"196":1,"197":1,"198":1,"199":1,"200":2,"201":2,"202":2,"203":2,"204":1,"205":1},"f":{"0":1,"1":107,"2":30,"3":30,"4":30,"5":30,"6":30,"7":5110,"8":0,"9":54,"10":4,"11":7,"12":0,"13":8,"14":3,"15":1,"16":0,"17":17,"18":17,"19":60,"20":0,"21":71,"22":1,"23":1,"24":2,"25":4,"26":0,"27":3,"28":6,"29":1},"b":{"0":[1,1,1],"1":[0,1],"2":[1,1],"3":[0,30],"4":[30,0,0],"5":[30,0,0],"6":[30,0,0],"7":[30,0,0],"8":[30,0,0],"9":[30,0],"10":[30,0,0],"11":[30,0],"12":[30,0,0],"13":[30,0],"14":[30,0],"15":[0,30],"16":[30,30],"17":[0,0],"18":[30,0],"19":[30,0],"20":[30,0],"21":[5110,0],"22":[49],"23":[52,2],"24":[54,0],"25":[54,0],"26":[0,54],"27":[0,213],"28":[0,0],"29":[3,210],"30":[1,53],"31":[0,8],"32":[0,8],"33":[8,8],"34":[5,1],"35":[1,4],"36":[5,1],"37":[1,3],"38":[2,0],"39":[1,1],"40":[2,1],"41":[0,0],"42":[0,60],"43":[0,60],"44":[1,59],"45":[1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcAccept.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcAccept.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA2C;AAC3C,2CAA6D;AAC7D,6CAA2C;AAE3C,iDAAwC;AACxC,0DAAkC;AAElC,gDAA+D;AAC/D,gEAA6D;AAC7D,gDAA6C;AAC7C,kCAAmD;AACnD,2DAAwD;AACxD,iEAGgC;AAEhC,iDAAiE;AACjE,2DAK6B;AAE7B;;;;;;GAMG;AACH,MAAa,SAAS;IAAtB;QAoQE;;WAEG;QACI,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAE7B,qCAAqC;QAC9B,oBAAe,GAAW,8BAAgB,CAAC,CAAC,sCAAsC;QAalF,kBAAa,GAAmB,EAAE,CAAC;QAkB1C;;;WAGG;QACI,iBAAY,GAAG,KAAK,CAAC;IAiN9B,CAAC;IA3fC;;;;OAIG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QAEjC,6FAA6F;QAC7F,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAU,EAAE;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE7C,4CAA4C;YAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC3B,OAAO,SAAS,CAAC;aAClB;YAED,uDAAuD;YACvD,IAAI;gBACF,MAAM,MAAM,GAAG,mBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5B;YAAC,OAAO,EAAE,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;aACzD;QACH,CAAC,CAAC;QAEF,6DAA6D;QAC7D,QAAQ,CAAC,eAAe;YACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,IAAI,8BAAgB,CAAC;QACpE,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACxC,IAAI,CAAC,mBAAmB;YACtB,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,qBAAqB,EAC5B,KAAK,CACN,CAAC;QAEF,QAAQ,CAAC,gBAAgB,GAAG,IAAA,eAAQ,EAClC,IAAI,CAAC,gBAAgB;YACnB,IAAI,CAAC,wBAAwB;YAC7B,IAAI,CAAC,iBAAiB,CACzB,CAAC;QAEF,+CAA+C;QAC/C,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAClC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAC/D,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAC9B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EACnD,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,cAAc,GAAG,IAAA,eAAQ,EAChC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAC7C,CAAC;QAEF,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAC9B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EACnD,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,cAAc,GAAG,IAAA,eAAQ,EAChC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAC7C,CAAC;QAEF,sBAAsB;QACtB,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,0BAA0B,CAC3D,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAChD,CAAC;QAEF,+BAA+B;QAC/B,QAAQ,CAAC,oBAAoB,GAAG,SAAS,CAAC,iCAAiC,CACzE,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,sBAAsB,CACzD,CAAC;QAEF,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACnE,QAAQ,CAAC,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE3D,oCAAoC;QACpC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACrD,QAAQ,CAAC,iBAAiB,GAAG,SAAS,CAAC,8BAA8B,CACnE,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,CAClD,CAAC;SACH;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,0BAA0B;IACvC,8DAA8D;IAC9D,iBAAwB;QAExB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,8FAA8F;YAC9F,OAAO,2BAAY,CAAC,QAAQ,CAAC,SAAS,CAAiB,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,iCAAiC;IAC9C,8DAA8D;IAC9D,WAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAE5C,IACE,WAAW,CAAC,sBAAsB;YAClC,WAAW,CAAC,wBAAwB,EACpC;YACA,MAAM,SAAS,GACb,WAAW,CAAC,sBAAsB;gBAClC,WAAW,CAAC,wBAAwB,CAAC;YACvC,8DAA8D;YAC9D,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACzC,8FAA8F;gBAC9F,oFAAoF;gBACpF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACpD,OAAO;oBACL,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACpC,SAAS,EACP,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,yBAAyB;iBACjG,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,8BAA8B;IAC3C,8DAA8D;IAC9D,eAAoB;QAEpB,OAAO,qCAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;QACrD,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QAEnC,qCAAqC;QACrC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACpD,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAClD,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEhD,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,kFAAkF;YAClF,MAAM,YAAY,GAAG,2BAAY,CAAC,eAAe,CAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;YACF,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC/D,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC;SACvC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEhD,IAAI,SAAS,EAAE;YACb,mFAAmF;YACnF,QAAQ,CAAC,oBAAoB,GAAG,2CAAoB,CAAC,WAAW,CAC9D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;YAEF,oDAAoD;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;YACnE,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;SAC9B;aAAM;YACL,QAAQ,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;SAC5D;QAED,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEhD,6DAA6D;QAC7D,uFAAuF;QACvF,oGAAoG;QACpG,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE9D,IAAI,cAAc,GAAG,CAAC,EAAE;YACtB,4EAA4E;YAC5E,0DAA0D;YAC1D,IAAI,cAAc,IAAI,CAAC,EAAE;gBACvB,IAAI;oBACF,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,oBAAoB,KAAK,IAAI,EAAE;wBACjC,QAAQ,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,WAAW,CACxD,IAAA,eAAM,EAAC,MAAM,CAAC,CACf,CAAC;qBACH;oBAED,2CAA2C;oBAC3C,+EAA+E;oBAC/E,OAAO,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC7C,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;wBAC3B,MAAM,SAAS,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;wBACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC;wBAE3C,QAAQ,MAAM,CAAC,IAAI,CAAC,EAAE;4BACpB,KAAK,yBAAW,CAAC,iBAAiB;gCAChC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;oCAChC,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;iCAClC;gCACD,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAC9B,qCAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CACnC,CAAC;gCACF,MAAM;4BACR;gCACE,8CAA8C;gCAC9C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oCACzB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;iCAC3B;gCACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gCAC7D,MAAM;yBACT;qBACF;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,iFAAiF;oBACjF,wEAAwE;oBACxE,4DAA4D;iBAC7D;aACF;SACF;QAED,mEAAmE;QACnE,uEAAuE;QACvE,IAAI,QAAQ,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;YAC3C,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;SAC9B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IA6CD;;;OAGG;IACI,kBAAkB;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAAuB;QACzC,MAAM,UAAU,GAAG,gBAAM,CAAC,UAAU,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC9D,SAAS,EAAE;aACX,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,MAAM,cAAc,GAAG,uBAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO;YACL,cAAc;YACd,aAAa;YACb,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,QAAQ;QACb,wCAAwC;QACxC,iCAAiC;QACjC,IAAI,IAAI,CAAC,eAAe,KAAK,8BAAgB,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,eAAe,eAAe,8BAAgB,EAAE,CACvF,CAAC;SACH;QAED,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,EAAE,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,+DAA+D;QAC/D,IAAI;YACF,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,IAAI;YACF,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,0EAA0E;QAC1E,gGAAgG;QAEhG,IAAI,mBAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;YAC9D,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC3C,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAC7C,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,sCAAsC;QACtC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtE,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACpE,MAAM,KAAK,GAAG,YAA4B,CAAC;YAC3C,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACjE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,wEAAwE;YACxE,+EAA+E;YAC/E,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;gBACtE,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;aACH;SACF;aAAM;YACL,0EAA0E;YAC1E,IAAI,IAAI,CAAC,gBAAgB,IAAI,aAAa,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;aACxE;SACF;IACH,CAAC;IAED;;OAEG;IACI,MAAM;QACX,uEAAuE;QACvE,MAAM,kBAAkB,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3E,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7D,gBAAgB,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,gBAAgB,CAAC;YACvD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,cAAc,CAAC;YACnD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,cAAc,CAAC;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YACxD,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE;SACpD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,qCAAqC;QACrC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE/C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,4GAA4G;YAC5G,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;SACjD;QAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAExC,6DAA6D;QAC7D,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;YACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;SACvD;aAAM;YACL,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACnC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,kBAAkB;YACzB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9C,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAC3C,CAAC;QAEJ,+CAA+C;QAC/C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;;AA7fH,8BA8fC;AA7fe,cAAI,GAAG,yBAAW,CAAC,SAAS,CAAC;AA+f7C,MAAa,oBAAoB;IAC/B,YACW,eAAuB,EACvB,mBAA2B,EAC3B,gBAAwB,EACxB,aAAqB,EACrB,SAAiB,EACjB,cAAsB,EACtB,aAA6B,EAC7B,SAAiB,EACjB,cAAsB,EACtB,iBAAqC,EACrC,kBAAwC;QAVxC,oBAAe,GAAf,eAAe,CAAQ;QACvB,wBAAmB,GAAnB,mBAAmB,CAAQ;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;QACtB,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,uBAAkB,GAAlB,kBAAkB,CAAsB;IAChD,CAAC;CACL;AAdD,oDAcC;AA0BD,MAAa,kBAAkB;IAA/B;QACU,YAAO,GAAgB,EAAE,CAAC;IAqDpC,CAAC;IAnDC;;;OAGG;IACI,SAAS,CAAC,MAAiB;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,sCAAsC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5C,oFAAoF;YACpF,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,SAAS,GAAG,IAAI;QACrD,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3D,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtDD,gDAsDC","sourcesContent":["import { Script } from '@node-dlc/bitcoin';\nimport { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { hash160 } from '@node-dlc/crypto';\nimport { BitcoinNetwork } from 'bitcoin-networks';\nimport { address } from 'bitcoinjs-lib';\nimport secp256k1 from 'secp256k1';\n\nimport { MessageType, PROTOCOL_VERSION } from '../MessageType';\nimport { deserializeTlv } from '../serialize/deserializeTlv';\nimport { getTlv } from '../serialize/getTlv';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { BatchFundingGroup } from './BatchFundingGroup';\nimport {\n CetAdaptorSignatures,\n ICetAdaptorSignaturesJSON,\n} from './CetAdaptorSignatures';\nimport { IDlcMessage } from './DlcMessage';\nimport { FundingInput, IFundingInputJSON } from './FundingInput';\nimport {\n INegotiationFieldsV0JSON,\n INegotiationFieldsV1JSON,\n INegotiationFieldsV2JSON,\n NegotiationFields,\n} from './NegotiationFields';\n\n/**\n * DlcAccept contains information about a node and indicates its\n * acceptance of the new DLC, as well as its CET and refund\n * transaction signatures. This is the second step toward creating\n * the funding transaction and closing transactions.\n * Updated to support dlcspecs PR #163 format.\n */\nexport class DlcAccept implements IDlcMessage {\n public static type = MessageType.DlcAccept;\n\n /**\n * Creates a DlcAccept from JSON data (e.g., from test vectors)\n * Handles both our internal format and external test vector formats\n * @param json JSON object representing a DLC accept\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DlcAccept {\n const instance = new DlcAccept();\n\n // Helper function to parse DER-encoded signature and extract raw r,s values (64 bytes total)\n const parseDerSignature = (hexSig: string): Buffer => {\n const sigBuffer = Buffer.from(hexSig, 'hex');\n\n // If it's already 64 bytes, assume it's raw\n if (sigBuffer.length === 64) {\n return sigBuffer;\n }\n\n // Use secp256k1.signatureImport to parse DER signature\n try {\n const rawSig = secp256k1.signatureImport(sigBuffer);\n return Buffer.from(rawSig);\n } catch (ex) {\n throw new Error(`Invalid DER signature: ${ex.message}`);\n }\n };\n\n // Handle both internal and external field naming conventions\n instance.protocolVersion =\n json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;\n instance.temporaryContractId = Buffer.from(\n json.temporaryContractId ||\n json.tempContractId ||\n json.temporary_contract_id,\n 'hex',\n );\n\n instance.acceptCollateral = toBigInt(\n json.acceptCollateral ||\n json.acceptCollateralSatoshis ||\n json.accept_collateral,\n );\n\n // Handle field name variations between formats\n instance.fundingPubkey = Buffer.from(\n json.fundingPubkey || json.fundingPubKey || json.funding_pubkey,\n 'hex',\n );\n instance.payoutSpk = Buffer.from(\n json.payoutSpk || json.payoutSPK || json.payout_spk,\n 'hex',\n );\n instance.payoutSerialId = toBigInt(\n json.payoutSerialId || json.payout_serial_id,\n );\n\n instance.changeSpk = Buffer.from(\n json.changeSpk || json.changeSPK || json.change_spk,\n 'hex',\n );\n instance.changeSerialId = toBigInt(\n json.changeSerialId || json.change_serial_id,\n );\n\n // Parse FundingInputs\n instance.fundingInputs = DlcAccept.parseFundingInputsFromJSON(\n json.fundingInputs || json.funding_inputs || [],\n );\n\n // Parse CET adaptor signatures\n instance.cetAdaptorSignatures = DlcAccept.parseCetAdaptorSignaturesFromJSON(\n json.cetAdaptorSignatures || json.cet_adaptor_signatures,\n );\n\n // Parse refund signature - handle DER encoding\n const refundSigHex = json.refundSignature || json.refund_signature;\n instance.refundSignature = parseDerSignature(refundSigHex);\n\n // Parse optional negotiation fields\n if (json.negotiationFields || json.negotiation_fields) {\n instance.negotiationFields = DlcAccept.parseNegotiationFieldsFromJSON(\n json.negotiationFields || json.negotiation_fields,\n );\n }\n\n return instance;\n }\n\n /**\n * Parses FundingInputs from JSON\n * @param fundingInputsJson Array of JSON objects representing funding inputs\n */\n private static parseFundingInputsFromJSON(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fundingInputsJson: any[],\n ): FundingInput[] {\n return fundingInputsJson.map((inputJson) => {\n // Use the existing FundingInput.fromJSON method which handles all the field mapping correctly\n return FundingInput.fromJSON(inputJson) as FundingInput;\n });\n }\n\n /**\n * Parses CetAdaptorSignatures from JSON\n * @param cetSigsJson JSON object representing CET adaptor signatures\n */\n private static parseCetAdaptorSignaturesFromJSON(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n cetSigsJson: any,\n ): CetAdaptorSignatures {\n const instance = new CetAdaptorSignatures();\n\n if (\n cetSigsJson.ecdsaAdaptorSignatures ||\n cetSigsJson.ecdsa_adaptor_signatures\n ) {\n const ecdsaSigs =\n cetSigsJson.ecdsaAdaptorSignatures ||\n cetSigsJson.ecdsa_adaptor_signatures;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.sigs = ecdsaSigs.map((sig: any) => {\n // The test vectors use 'signature' field, but our internal format uses encryptedSig/dleqProof\n // Adaptor signatures have different format than regular ECDSA (65 bytes + 97 bytes)\n const sigBuffer = Buffer.from(sig.signature, 'hex');\n return {\n encryptedSig: sigBuffer.slice(0, 65), // First 65 bytes\n dleqProof:\n sigBuffer.length > 65 ? sigBuffer.slice(65, 162) : Buffer.alloc(97), // Next 97 bytes or empty\n };\n });\n }\n\n return instance;\n }\n\n /**\n * Parses NegotiationFields from JSON\n * @param negotiationJson JSON object representing negotiation fields\n */\n private static parseNegotiationFieldsFromJSON(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n negotiationJson: any,\n ): NegotiationFields {\n return NegotiationFields.fromJSON(negotiationJson);\n }\n\n /**\n * Deserializes an accept_dlc message\n * @param buf\n */\n public static deserialize(buf: Buffer, parseCets = true): DlcAccept {\n const instance = new DlcAccept();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n\n // New fields as per dlcspecs PR #163\n instance.protocolVersion = reader.readUInt32BE();\n instance.temporaryContractId = reader.readBytes(32);\n instance.acceptCollateral = reader.readUInt64BE();\n instance.fundingPubkey = reader.readBytes(33);\n const payoutSpkLen = reader.readUInt16BE();\n instance.payoutSpk = reader.readBytes(payoutSpkLen);\n instance.payoutSerialId = reader.readUInt64BE();\n\n // Changed from u16 to bigsize as per dlcspecs PR #163\n const fundingInputsLen = Number(reader.readBigSize());\n for (let i = 0; i < fundingInputsLen; i++) {\n // FundingInput body is serialized directly without TLV wrapper in rust-dlc format\n const fundingInput = FundingInput.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n instance.fundingInputs.push(fundingInput);\n\n // Skip past the FundingInput we just read\n const fundingInputLength = fundingInput.serializeBody().length;\n reader.position += fundingInputLength;\n }\n\n const changeSpkLen = reader.readUInt16BE();\n instance.changeSpk = reader.readBytes(changeSpkLen);\n instance.changeSerialId = reader.readUInt64BE();\n\n if (parseCets) {\n // Read CET adaptor signatures directly to match serialize format (no TLV wrapping)\n instance.cetAdaptorSignatures = CetAdaptorSignatures.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n // Skip past the CET adaptor signatures we just read\n const cetLength = instance.cetAdaptorSignatures.serialize().length;\n reader.position += cetLength;\n } else {\n instance.cetAdaptorSignatures = new CetAdaptorSignatures();\n }\n\n instance.refundSignature = reader.readBytes(64);\n\n // negotiation_fields is now optional as per dlcspecs PR #163\n // Check if there's enough data left for the new format fields (backward compatibility)\n // The old format ends exactly after refundSignature. If there's more data, it should be new format.\n const remainingBytes = reader.buffer.length - reader.position;\n\n if (remainingBytes > 0) {\n // Only try to parse new fields if we have a reasonable amount of extra data\n // A single stray byte is likely not valid new format data\n if (remainingBytes >= 1) {\n try {\n const hasNegotiationFields = reader.readUInt8();\n if (hasNegotiationFields === 0x01) {\n instance.negotiationFields = NegotiationFields.deserialize(\n getTlv(reader),\n );\n }\n\n // Parse TLV stream as per dlcspecs PR #163\n // Only continue if there's still data left after the hasNegotiationFields flag\n while (reader.position < reader.buffer.length) {\n const buf = getTlv(reader);\n const tlvReader = new BufferReader(buf);\n const { type } = deserializeTlv(tlvReader);\n\n switch (Number(type)) {\n case MessageType.BatchFundingGroup:\n if (!instance.batchFundingGroups) {\n instance.batchFundingGroups = [];\n }\n instance.batchFundingGroups.push(\n BatchFundingGroup.deserialize(buf),\n );\n break;\n default:\n // Store unknown TLVs for future compatibility\n if (!instance.unknownTlvs) {\n instance.unknownTlvs = [];\n }\n instance.unknownTlvs.push({ type: Number(type), data: buf });\n break;\n }\n }\n } catch (error) {\n // If parsing new format fails, assume it's old format and ignore the extra bytes\n // This provides backward compatibility for malformed or old format data\n // Silently ignore parsing errors for backward compatibility\n }\n }\n }\n\n // Auto-detect single funded DLCs based on minimal acceptCollateral\n // In single funded DLCs, acceptCollateral is typically 0 or very small\n if (instance.acceptCollateral === BigInt(0)) {\n instance.singleFunded = true;\n }\n\n return instance;\n }\n\n /**\n * The type for accept_dlc message. accept_dlc = 42780\n */\n public type = DlcAccept.type;\n\n // New fields as per dlcspecs PR #163\n public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version\n\n // Existing fields\n public temporaryContractId: Buffer;\n\n public acceptCollateral: bigint;\n\n public fundingPubkey: Buffer;\n\n public payoutSpk: Buffer;\n\n public payoutSerialId: bigint;\n\n public fundingInputs: FundingInput[] = [];\n\n public changeSpk: Buffer;\n\n public changeSerialId: bigint;\n\n public cetAdaptorSignatures: CetAdaptorSignatures;\n\n public refundSignature: Buffer;\n\n // negotiation_fields is now optional\n public negotiationFields?: NegotiationFields;\n\n public batchFundingGroups?: BatchFundingGroup[];\n\n // Store unknown TLVs for forward compatibility\n public unknownTlvs?: Array<{ type: number; data: Buffer }>;\n\n /**\n * Flag to indicate if this is a single funded DLC\n * In single funded DLCs, the acceptor provides minimal or no collateral\n */\n public singleFunded = false;\n\n /**\n * Marks this DLC accept as single funded\n * For single funded DLCs, acceptCollateral is typically 0 or minimal\n */\n public markAsSingleFunded(): void {\n this.singleFunded = true;\n }\n\n /**\n * Checks if this DLC accept is for a single funded DLC\n * @returns True if this is a single funded DLC\n */\n public isSingleFunded(): boolean {\n return this.singleFunded;\n }\n\n /**\n * Get funding, change and payout address from DlcAccept\n * @param network Bitcoin Network\n * @returns {IDlcAcceptAddresses}\n */\n public getAddresses(network: BitcoinNetwork): IDlcAcceptAddresses {\n const fundingSPK = Script.p2wpkhLock(hash160(this.fundingPubkey))\n .serialize()\n .slice(1);\n const fundingAddress = address.fromOutputScript(fundingSPK, network);\n const changeAddress = address.fromOutputScript(this.changeSpk, network);\n const payoutAddress = address.fromOutputScript(this.payoutSpk, network);\n\n return {\n fundingAddress,\n changeAddress,\n payoutAddress,\n };\n }\n\n /**\n * Validates correctness of all fields\n * Updated validation rules as per dlcspecs PR #163\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#the-accept_dlc-message\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // 1. Type is set automatically in class\n // 2. protocol_version validation\n if (this.protocolVersion !== PROTOCOL_VERSION) {\n throw new Error(\n `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,\n );\n }\n\n // 3. temporary_contract_id must match the one from offer_dlc\n if (!this.temporaryContractId || this.temporaryContractId.length !== 32) {\n throw new Error('temporaryContractId must be 32 bytes');\n }\n\n // 4. payout_spk and change_spk must be standard script pubkeys\n try {\n address.fromOutputScript(this.payoutSpk);\n } catch (e) {\n throw new Error('payoutSpk is invalid');\n }\n\n try {\n address.fromOutputScript(this.changeSpk);\n } catch (e) {\n throw new Error('changeSpk is invalid');\n }\n\n // 5. funding_pubkey must be a valid secp256k1 pubkey in compressed format\n // https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki#background-on-ecdsa-signatures\n\n if (secp256k1.publicKeyVerify(Buffer.from(this.fundingPubkey))) {\n if (this.fundingPubkey[0] != 0x02 && this.fundingPubkey[0] != 0x03) {\n throw new Error('fundingPubkey must be in compressed format');\n }\n } else {\n throw new Error('fundingPubkey is not a valid secp256k1 key');\n }\n\n // 6. inputSerialId must be unique for each input\n const inputSerialIds = this.fundingInputs.map(\n (input: FundingInput) => input.inputSerialId,\n );\n\n if (new Set(inputSerialIds).size !== inputSerialIds.length) {\n throw new Error('inputSerialIds must be unique');\n }\n\n // 7. Ensure funding inputs are segwit\n this.fundingInputs.forEach((input: FundingInput) => input.validate());\n\n // 8. validate funding amount\n const fundingAmount = this.fundingInputs.reduce((acc, fundingInput) => {\n const input = fundingInput as FundingInput;\n return acc + input.prevTx.outputs[input.prevTxVout].value.sats;\n }, BigInt(0));\n\n if (this.isSingleFunded()) {\n // For single funded DLCs, acceptor may provide minimal or no collateral\n // fundingAmount should be >= acceptCollateral (allowing for 0 collateral case)\n if (this.acceptCollateral > 0 && fundingAmount < this.acceptCollateral) {\n throw new Error(\n 'For single funded DLCs, fundingAmount must be at least acceptCollateral',\n );\n }\n } else {\n // For regular DLCs, funding amount must be greater than accept collateral\n if (this.acceptCollateral >= fundingAmount) {\n throw new Error('fundingAmount must be greater than acceptCollateral');\n }\n }\n }\n\n /**\n * Converts accept_dlc to JSON (canonical rust-dlc format)\n */\n public toJSON(): IDlcAcceptJSON {\n // Convert raw signature back to DER format for canonical rust-dlc JSON\n const derRefundSignature = secp256k1.signatureExport(this.refundSignature);\n\n return {\n protocolVersion: this.protocolVersion,\n temporaryContractId: this.temporaryContractId.toString('hex'),\n acceptCollateral: bigIntToNumber(this.acceptCollateral),\n fundingPubkey: this.fundingPubkey.toString('hex'), // lowercase 'k'\n payoutSpk: this.payoutSpk.toString('hex'), // lowercase\n payoutSerialId: bigIntToNumber(this.payoutSerialId),\n fundingInputs: this.fundingInputs.map((input) => input.toJSON()),\n changeSpk: this.changeSpk.toString('hex'), // lowercase\n changeSerialId: bigIntToNumber(this.changeSerialId),\n cetAdaptorSignatures: this.cetAdaptorSignatures.toJSON(),\n refundSignature: Buffer.from(derRefundSignature).toString('hex'),\n negotiationFields: this.negotiationFields?.toJSON(),\n };\n }\n\n /**\n * Serializes the accept_dlc message into a Buffer\n * Updated serialization format as per dlcspecs PR #163\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n\n // New fields as per dlcspecs PR #163\n writer.writeUInt32BE(this.protocolVersion);\n writer.writeBytes(this.temporaryContractId);\n writer.writeUInt64BE(this.acceptCollateral);\n writer.writeBytes(this.fundingPubkey);\n writer.writeUInt16BE(this.payoutSpk.length);\n writer.writeBytes(this.payoutSpk);\n writer.writeUInt64BE(this.payoutSerialId);\n\n // Changed from u16 to bigsize as per dlcspecs PR #163\n writer.writeBigSize(this.fundingInputs.length);\n\n for (const fundingInput of this.fundingInputs) {\n // Use serializeBody() to match rust-dlc behavior - funding inputs in vec are serialized without TLV wrapper\n writer.writeBytes(fundingInput.serializeBody());\n }\n\n writer.writeUInt16BE(this.changeSpk.length);\n writer.writeBytes(this.changeSpk);\n writer.writeUInt64BE(this.changeSerialId);\n writer.writeBytes(this.cetAdaptorSignatures.serialize());\n writer.writeBytes(this.refundSignature);\n\n // negotiation_fields is now optional as per dlcspecs PR #163\n if (this.negotiationFields) {\n writer.writeUInt8(0x01); // present\n writer.writeBytes(this.negotiationFields.serialize());\n } else {\n writer.writeUInt8(0x00); // absent\n }\n\n // TLV stream as per dlcspecs PR #163\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n writer.writeBytes(fundingInfo.serialize()),\n );\n\n // Write unknown TLVs for forward compatibility\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) => {\n writer.writeBytes(tlv.data);\n });\n }\n\n return writer.toBuffer();\n }\n\n public withoutSigs(): DlcAcceptWithoutSigs {\n return new DlcAcceptWithoutSigs(\n this.protocolVersion,\n this.temporaryContractId,\n this.acceptCollateral,\n this.fundingPubkey,\n this.payoutSpk,\n this.payoutSerialId,\n this.fundingInputs,\n this.changeSpk,\n this.changeSerialId,\n this.negotiationFields,\n this.batchFundingGroups,\n );\n }\n}\n\nexport class DlcAcceptWithoutSigs {\n constructor(\n readonly protocolVersion: number,\n readonly temporaryContractId: Buffer,\n readonly acceptCollateral: bigint,\n readonly fundingPubkey: Buffer,\n readonly payoutSpk: Buffer,\n readonly payoutSerialId: bigint,\n readonly fundingInputs: FundingInput[],\n readonly changeSpk: Buffer,\n readonly changeSerialId: bigint,\n readonly negotiationFields?: NegotiationFields,\n readonly batchFundingGroups?: BatchFundingGroup[],\n ) {}\n}\n\nexport interface IDlcAcceptJSON {\n protocolVersion: number;\n temporaryContractId: string;\n acceptCollateral: number;\n fundingPubkey: string;\n payoutSpk: string;\n payoutSerialId: number;\n fundingInputs: IFundingInputJSON[];\n changeSpk: string;\n changeSerialId: number;\n cetAdaptorSignatures: ICetAdaptorSignaturesJSON;\n refundSignature: string;\n negotiationFields?: // Now optional\n | INegotiationFieldsV0JSON\n | INegotiationFieldsV1JSON\n | INegotiationFieldsV2JSON;\n}\n\nexport interface IDlcAcceptAddresses {\n fundingAddress: string;\n changeAddress: string;\n payoutAddress: string;\n}\n\nexport class DlcAcceptContainer {\n private accepts: DlcAccept[] = [];\n\n /**\n * Adds a DlcAccept to the container.\n * @param accept The DlcAccept to add.\n */\n public addAccept(accept: DlcAccept): void {\n this.accepts.push(accept);\n }\n\n /**\n * Returns all DlcAccepts in the container.\n * @returns An array of DlcAccept instances.\n */\n public getAccepts(): DlcAccept[] {\n return this.accepts;\n }\n\n /**\n * Serializes all DlcAccepts in the container to a Buffer.\n * @returns A Buffer containing the serialized DlcAccepts.\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // Write the number of accepts in the container first.\n writer.writeBigSize(this.accepts.length);\n // Serialize each accept and write it.\n this.accepts.forEach((accept) => {\n const serializedAccept = accept.serialize();\n // Optionally, write the length of the serialized accept for easier deserialization.\n writer.writeBigSize(serializedAccept.length);\n writer.writeBytes(serializedAccept);\n });\n return writer.toBuffer();\n }\n\n /**\n * Deserializes a Buffer into a DlcAcceptContainer with DlcAccepts.\n * @param buf The Buffer to deserialize.\n * @returns A DlcAcceptContainer instance.\n */\n public static deserialize(buf: Buffer, parseCets = true): DlcAcceptContainer {\n const reader = new BufferReader(buf);\n const container = new DlcAcceptContainer();\n const acceptsCount = reader.readBigSize();\n for (let i = 0; i < acceptsCount; i++) {\n const acceptLength = reader.readBigSize();\n const acceptBuf = reader.readBytes(Number(acceptLength));\n const accept = DlcAccept.deserialize(acceptBuf, parseCets);\n container.addAccept(accept);\n }\n return container;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"82b7267b0b34cd800843d23fda1f1c78ab67d01b","contentHash":"865a9270f28574ca94d7b01c4ea29056aa56878829de1c8c90026803561948e2"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/deserializeTlv.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/deserializeTlv.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":32}},"2":{"start":{"line":5,"column":17},"end":{"line":5,"column":37}},"3":{"start":{"line":6,"column":19},"end":{"line":6,"column":39}},"4":{"start":{"line":7,"column":17},"end":{"line":7,"column":49}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":34}},"6":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}}},"fnMap":{"0":{"name":"deserializeTlv","decl":{"start":{"line":4,"column":9},"end":{"line":4,"column":23}},"loc":{"start":{"line":4,"column":32},"end":{"line":9,"column":1}},"line":4}},"branchMap":{},"s":{"0":1,"1":1,"2":218,"3":218,"4":218,"5":218,"6":1},"f":{"0":218},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/deserializeTlv.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/deserializeTlv.ts"],"names":[],"mappings":";;;AAEA,SAAgB,cAAc,CAAC,MAAoB;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAND,wCAMC","sourcesContent":["import { BufferReader } from '@node-dlc/bufio';\n\nexport function deserializeTlv(reader: BufferReader): ITlv {\n const type = reader.readBigSize();\n const length = reader.readBigSize();\n const body = reader.readBytes(Number(length));\n\n return { type, length, body };\n}\n\ninterface ITlv {\n type: bigint;\n length: bigint;\n body: Buffer;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"85b7da89e4d407cce4522b7c84469852e792cf51","contentHash":"971ddcbe650257068480be207ab95950fb5d54bec4f2dcc209fcf59da65020ea"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/getTlv.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/getTlv.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":42}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":7,"column":17},"end":{"line":7,"column":37}},"4":{"start":{"line":8,"column":19},"end":{"line":8,"column":39}},"5":{"start":{"line":9,"column":17},"end":{"line":9,"column":49}},"6":{"start":{"line":10,"column":19},"end":{"line":10,"column":45}},"7":{"start":{"line":11,"column":4},"end":{"line":11,"column":30}},"8":{"start":{"line":12,"column":4},"end":{"line":12,"column":32}},"9":{"start":{"line":13,"column":4},"end":{"line":13,"column":28}},"10":{"start":{"line":14,"column":4},"end":{"line":14,"column":29}},"11":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}},"12":{"start":{"line":18,"column":4},"end":{"line":18,"column":25}},"13":{"start":{"line":19,"column":19},"end":{"line":19,"column":39}},"14":{"start":{"line":20,"column":4},"end":{"line":20,"column":37}},"15":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}}},"fnMap":{"0":{"name":"getTlv","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":15}},"loc":{"start":{"line":6,"column":24},"end":{"line":15,"column":1}},"line":6},"1":{"name":"skipTlv","decl":{"start":{"line":17,"column":9},"end":{"line":17,"column":16}},"loc":{"start":{"line":17,"column":25},"end":{"line":21,"column":1}},"line":17}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":928,"4":928,"5":928,"6":928,"7":928,"8":928,"9":928,"10":928,"11":1,"12":0,"13":0,"14":0,"15":1},"f":{"0":928,"1":0},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/getTlv.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/serialize/getTlv.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,uBAAuB;AACvB,SAAgB,MAAM,CAAC,MAAoB;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;IAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAXD,wBAWC;AAED,SAAgB,OAAO,CAAC,MAAoB;IAC1C,MAAM,CAAC,WAAW,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AAJD,0BAIC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\n// TODO: add unit tests\nexport function getTlv(reader: BufferReader): Buffer {\n const type = reader.readBigSize();\n const length = reader.readBigSize();\n const body = reader.readBytes(Number(length));\n\n const writer = new BufferWriter();\n writer.writeBigSize(type);\n writer.writeBigSize(length);\n writer.writeBytes(body);\n\n return writer.toBuffer();\n}\n\nexport function skipTlv(reader: BufferReader): void {\n reader.readBigSize();\n const length = reader.readBigSize();\n reader.readBytes(Number(length));\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e14e7938ecce3482c703552fbd065c3da38e9cf5","contentHash":"ae16f2f8721a52d940b4f70071e9afd50fdfd7bd9a1defe200ad903920ebf303"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingInput.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingInput.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":42}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":15},"end":{"line":7,"column":33}},"6":{"start":{"line":8,"column":19},"end":{"line":8,"column":40}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":38}},"8":{"start":{"line":27,"column":25},"end":{"line":27,"column":43}},"9":{"start":{"line":28,"column":8},"end":{"line":28,"column":98}},"10":{"start":{"line":30,"column":26},"end":{"line":30,"column":53}},"11":{"start":{"line":31,"column":8},"end":{"line":47,"column":9}},"12":{"start":{"line":32,"column":12},"end":{"line":32,"column":114}},"13":{"start":{"line":37,"column":27},"end":{"line":37,"column":53}},"14":{"start":{"line":38,"column":12},"end":{"line":38,"column":36}},"15":{"start":{"line":39,"column":12},"end":{"line":39,"column":33}},"16":{"start":{"line":40,"column":12},"end":{"line":40,"column":33}},"17":{"start":{"line":41,"column":12},"end":{"line":41,"column":52}},"18":{"start":{"line":42,"column":12},"end":{"line":42,"column":34}},"19":{"start":{"line":43,"column":12},"end":{"line":43,"column":48}},"20":{"start":{"line":44,"column":12},"end":{"line":44,"column":36}},"21":{"start":{"line":45,"column":28},"end":{"line":45,"column":45}},"22":{"start":{"line":46,"column":12},"end":{"line":46,"column":92}},"23":{"start":{"line":48,"column":8},"end":{"line":48,"column":72}},"24":{"start":{"line":49,"column":8},"end":{"line":49,"column":80}},"25":{"start":{"line":50,"column":8},"end":{"line":50,"column":83}},"26":{"start":{"line":51,"column":29},"end":{"line":51,"column":74}},"27":{"start":{"line":52,"column":8},"end":{"line":52,"column":65}},"28":{"start":{"line":54,"column":25},"end":{"line":54,"column":56}},"29":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"30":{"start":{"line":56,"column":12},"end":{"line":56,"column":71}},"31":{"start":{"line":58,"column":8},"end":{"line":58,"column":24}},"32":{"start":{"line":65,"column":25},"end":{"line":65,"column":43}},"33":{"start":{"line":66,"column":23},"end":{"line":66,"column":52}},"34":{"start":{"line":67,"column":8},"end":{"line":67,"column":29}},"35":{"start":{"line":68,"column":8},"end":{"line":68,"column":47}},"36":{"start":{"line":69,"column":8},"end":{"line":69,"column":55}},"37":{"start":{"line":70,"column":26},"end":{"line":70,"column":47}},"38":{"start":{"line":71,"column":8},"end":{"line":71,"column":108}},"39":{"start":{"line":72,"column":8},"end":{"line":72,"column":52}},"40":{"start":{"line":73,"column":8},"end":{"line":73,"column":74}},"41":{"start":{"line":74,"column":8},"end":{"line":74,"column":55}},"42":{"start":{"line":75,"column":32},"end":{"line":75,"column":53}},"43":{"start":{"line":76,"column":8},"end":{"line":76,"column":66}},"44":{"start":{"line":78,"column":8},"end":{"line":83,"column":9}},"45":{"start":{"line":79,"column":33},"end":{"line":79,"column":54}},"46":{"start":{"line":80,"column":12},"end":{"line":82,"column":13}},"47":{"start":{"line":81,"column":16},"end":{"line":81,"column":86}},"48":{"start":{"line":84,"column":8},"end":{"line":84,"column":24}},"49":{"start":{"line":92,"column":25},"end":{"line":92,"column":43}},"50":{"start":{"line":93,"column":23},"end":{"line":93,"column":52}},"51":{"start":{"line":95,"column":8},"end":{"line":95,"column":55}},"52":{"start":{"line":97,"column":26},"end":{"line":97,"column":54}},"53":{"start":{"line":98,"column":8},"end":{"line":98,"column":108}},"54":{"start":{"line":99,"column":8},"end":{"line":99,"column":52}},"55":{"start":{"line":100,"column":8},"end":{"line":100,"column":74}},"56":{"start":{"line":101,"column":8},"end":{"line":101,"column":55}},"57":{"start":{"line":103,"column":32},"end":{"line":103,"column":53}},"58":{"start":{"line":104,"column":8},"end":{"line":104,"column":66}},"59":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"60":{"start":{"line":107,"column":33},"end":{"line":107,"column":54}},"61":{"start":{"line":108,"column":12},"end":{"line":110,"column":13}},"62":{"start":{"line":109,"column":16},"end":{"line":109,"column":86}},"63":{"start":{"line":112,"column":8},"end":{"line":112,"column":24}},"64":{"start":{"line":115,"column":8},"end":{"line":120,"column":9}},"65":{"start":{"line":116,"column":12},"end":{"line":116,"column":48}},"66":{"start":{"line":119,"column":12},"end":{"line":119,"column":21}},"67":{"start":{"line":129,"column":8},"end":{"line":130,"column":59}},"68":{"start":{"line":130,"column":12},"end":{"line":130,"column":59}},"69":{"start":{"line":136,"column":23},"end":{"line":143,"column":9}},"70":{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},"71":{"start":{"line":145,"column":12},"end":{"line":145,"column":53}},"72":{"start":{"line":147,"column":8},"end":{"line":147,"column":22}},"73":{"start":{"line":153,"column":23},"end":{"line":153,"column":49}},"74":{"start":{"line":154,"column":8},"end":{"line":154,"column":39}},"75":{"start":{"line":155,"column":27},"end":{"line":155,"column":53}},"76":{"start":{"line":156,"column":8},"end":{"line":156,"column":53}},"77":{"start":{"line":157,"column":8},"end":{"line":157,"column":65}},"78":{"start":{"line":158,"column":8},"end":{"line":158,"column":55}},"79":{"start":{"line":159,"column":8},"end":{"line":159,"column":50}},"80":{"start":{"line":160,"column":8},"end":{"line":160,"column":54}},"81":{"start":{"line":161,"column":8},"end":{"line":161,"column":53}},"82":{"start":{"line":162,"column":8},"end":{"line":162,"column":59}},"83":{"start":{"line":163,"column":8},"end":{"line":163,"column":49}},"84":{"start":{"line":165,"column":29},"end":{"line":165,"column":81}},"85":{"start":{"line":166,"column":8},"end":{"line":166,"column":47}},"86":{"start":{"line":167,"column":8},"end":{"line":167,"column":45}},"87":{"start":{"line":168,"column":8},"end":{"line":168,"column":49}},"88":{"start":{"line":169,"column":8},"end":{"line":169,"column":33}},"89":{"start":{"line":174,"column":23},"end":{"line":174,"column":49}},"90":{"start":{"line":175,"column":8},"end":{"line":175,"column":49}},"91":{"start":{"line":177,"column":8},"end":{"line":177,"column":60}},"92":{"start":{"line":178,"column":8},"end":{"line":178,"column":51}},"93":{"start":{"line":179,"column":8},"end":{"line":179,"column":46}},"94":{"start":{"line":180,"column":8},"end":{"line":180,"column":50}},"95":{"start":{"line":181,"column":8},"end":{"line":181,"column":49}},"96":{"start":{"line":183,"column":8},"end":{"line":183,"column":55}},"97":{"start":{"line":184,"column":8},"end":{"line":184,"column":45}},"98":{"start":{"line":186,"column":29},"end":{"line":186,"column":81}},"99":{"start":{"line":187,"column":8},"end":{"line":187,"column":43}},"100":{"start":{"line":188,"column":8},"end":{"line":188,"column":33}},"101":{"start":{"line":191,"column":0},"end":{"line":191,"column":36}},"102":{"start":{"line":192,"column":0},"end":{"line":192,"column":59}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":18},"end":{"line":20,"column":5}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":26,"column":4},"end":{"line":26,"column":5}},"loc":{"start":{"line":26,"column":26},"end":{"line":59,"column":5}},"line":26},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":4},"end":{"line":64,"column":5}},"loc":{"start":{"line":64,"column":28},"end":{"line":85,"column":5}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":91,"column":4},"end":{"line":91,"column":5}},"loc":{"start":{"line":91,"column":32},"end":{"line":113,"column":5}},"line":91},"4":{"name":"(anonymous_4)","decl":{"start":{"line":114,"column":4},"end":{"line":114,"column":5}},"loc":{"start":{"line":114,"column":22},"end":{"line":121,"column":5}},"line":114},"5":{"name":"(anonymous_5)","decl":{"start":{"line":126,"column":4},"end":{"line":126,"column":5}},"loc":{"start":{"line":126,"column":15},"end":{"line":131,"column":5}},"line":126},"6":{"name":"(anonymous_6)","decl":{"start":{"line":135,"column":4},"end":{"line":135,"column":5}},"loc":{"start":{"line":135,"column":13},"end":{"line":148,"column":5}},"line":135},"7":{"name":"(anonymous_7)","decl":{"start":{"line":152,"column":4},"end":{"line":152,"column":5}},"loc":{"start":{"line":152,"column":16},"end":{"line":170,"column":5}},"line":152},"8":{"name":"(anonymous_8)","decl":{"start":{"line":171,"column":4},"end":{"line":171,"column":5}},"loc":{"start":{"line":171,"column":20},"end":{"line":189,"column":5}},"line":171}},"branchMap":{"0":{"loc":{"start":{"line":28,"column":54},"end":{"line":28,"column":96}},"type":"binary-expr","locations":[{"start":{"line":28,"column":54},"end":{"line":28,"column":72}},{"start":{"line":28,"column":76},"end":{"line":28,"column":96}}],"line":28},"1":{"loc":{"start":{"line":30,"column":26},"end":{"line":30,"column":53}},"type":"binary-expr","locations":[{"start":{"line":30,"column":26},"end":{"line":30,"column":37}},{"start":{"line":30,"column":41},"end":{"line":30,"column":53}}],"line":30},"2":{"loc":{"start":{"line":31,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":31,"column":8},"end":{"line":47,"column":9}},{"start":{"line":31,"column":8},"end":{"line":47,"column":9}}],"line":31},"3":{"loc":{"start":{"line":48,"column":30},"end":{"line":48,"column":71}},"type":"binary-expr","locations":[{"start":{"line":48,"column":30},"end":{"line":48,"column":45}},{"start":{"line":48,"column":49},"end":{"line":48,"column":66}},{"start":{"line":48,"column":70},"end":{"line":48,"column":71}}],"line":48},"4":{"loc":{"start":{"line":49,"column":51},"end":{"line":49,"column":78}},"type":"binary-expr","locations":[{"start":{"line":49,"column":51},"end":{"line":49,"column":64}},{"start":{"line":49,"column":68},"end":{"line":49,"column":78}}],"line":49},"5":{"loc":{"start":{"line":50,"column":33},"end":{"line":50,"column":82}},"type":"binary-expr","locations":[{"start":{"line":50,"column":33},"end":{"line":50,"column":51}},{"start":{"line":50,"column":55},"end":{"line":50,"column":75}},{"start":{"line":50,"column":79},"end":{"line":50,"column":82}}],"line":50},"6":{"loc":{"start":{"line":51,"column":29},"end":{"line":51,"column":74}},"type":"binary-expr","locations":[{"start":{"line":51,"column":29},"end":{"line":51,"column":46}},{"start":{"line":51,"column":50},"end":{"line":51,"column":68}},{"start":{"line":51,"column":72},"end":{"line":51,"column":74}}],"line":51},"7":{"loc":{"start":{"line":54,"column":25},"end":{"line":54,"column":56}},"type":"binary-expr","locations":[{"start":{"line":54,"column":25},"end":{"line":54,"column":38}},{"start":{"line":54,"column":42},"end":{"line":54,"column":56}}],"line":54},"8":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{"line":55,"column":8},"end":{"line":57,"column":9}}],"line":55},"9":{"loc":{"start":{"line":78,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":83,"column":9}},{"start":{"line":78,"column":8},"end":{"line":83,"column":9}}],"line":78},"10":{"loc":{"start":{"line":80,"column":12},"end":{"line":82,"column":13}},"type":"if","locations":[{"start":{"line":80,"column":12},"end":{"line":82,"column":13}},{"start":{"line":80,"column":12},"end":{"line":82,"column":13}}],"line":80},"11":{"loc":{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},"type":"if","locations":[{"start":{"line":106,"column":8},"end":{"line":111,"column":9}},{"start":{"line":106,"column":8},"end":{"line":111,"column":9}}],"line":106},"12":{"loc":{"start":{"line":108,"column":12},"end":{"line":110,"column":13}},"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":110,"column":13}},{"start":{"line":108,"column":12},"end":{"line":110,"column":13}}],"line":108},"13":{"loc":{"start":{"line":115,"column":8},"end":{"line":120,"column":9}},"type":"if","locations":[{"start":{"line":115,"column":8},"end":{"line":120,"column":9}},{"start":{"line":115,"column":8},"end":{"line":120,"column":9}}],"line":115},"14":{"loc":{"start":{"line":129,"column":8},"end":{"line":130,"column":59}},"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":130,"column":59}},{"start":{"line":129,"column":8},"end":{"line":130,"column":59}}],"line":129},"15":{"loc":{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},"type":"if","locations":[{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},{"start":{"line":144,"column":8},"end":{"line":146,"column":9}}],"line":144},"16":{"loc":{"start":{"line":165,"column":29},"end":{"line":165,"column":81}},"type":"cond-expr","locations":[{"start":{"line":165,"column":45},"end":{"line":165,"column":74}},{"start":{"line":165,"column":77},"end":{"line":165,"column":81}}],"line":165},"17":{"loc":{"start":{"line":186,"column":29},"end":{"line":186,"column":81}},"type":"cond-expr","locations":[{"start":{"line":186,"column":45},"end":{"line":186,"column":74}},{"start":{"line":186,"column":77},"end":{"line":186,"column":81}}],"line":186}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":259,"8":85,"9":85,"10":85,"11":85,"12":85,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":85,"24":85,"25":85,"26":85,"27":85,"28":85,"29":85,"30":2,"31":85,"32":67,"33":67,"34":67,"35":67,"36":67,"37":67,"38":67,"39":67,"40":67,"41":67,"42":67,"43":67,"44":67,"45":3,"46":3,"47":1,"48":67,"49":107,"50":107,"51":107,"52":107,"53":107,"54":107,"55":107,"56":107,"57":107,"58":107,"59":107,"60":107,"61":107,"62":1,"63":107,"64":0,"65":0,"66":0,"67":3,"68":2,"69":39,"70":39,"71":0,"72":39,"73":3,"74":3,"75":3,"76":3,"77":3,"78":3,"79":3,"80":3,"81":3,"82":3,"83":3,"84":3,"85":3,"86":3,"87":3,"88":3,"89":247,"90":247,"91":247,"92":247,"93":247,"94":247,"95":247,"96":247,"97":247,"98":247,"99":247,"100":247,"101":1,"102":1},"f":{"0":259,"1":85,"2":67,"3":107,"4":0,"5":3,"6":39,"7":3,"8":247},"b":{"0":[85,0],"1":[85,0],"2":[85,0],"3":[85,85,85],"4":[85,0],"5":[85,0,0],"6":[85,85,85],"7":[85,83],"8":[2,83],"9":[3,64],"10":[1,2],"11":[107,0],"12":[1,106],"13":[0,0],"14":[2,1],"15":[0,39],"16":[1,2],"17":[2,245]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingInput.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingInput.ts"],"names":[],"mappings":"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","sourcesContent":["import { Sequence, Tx } from '@node-dlc/bitcoin';\nimport { BufferReader, BufferWriter, StreamReader } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { DlcInput } from './DlcInput';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * FundingInput contains information about a specific input to be used\n * in a funding transaction, as well as its corresponding on-chain UTXO.\n * Matches rust-dlc FundingInput struct.\n */\nexport class FundingInput implements IDlcMessage {\n public static type = MessageType.FundingInput;\n\n /**\n * Creates a FundingInput from JSON data (e.g., from test vectors)\n * @param json JSON object representing funding input\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): FundingInput {\n const instance = new FundingInput();\n\n instance.inputSerialId = toBigInt(\n json.inputSerialId || json.input_serial_id,\n );\n\n // Parse previous transaction\n const prevTxHex = json.prevTx || json.prev_tx;\n if (prevTxHex) {\n instance.prevTx = Tx.decode(\n StreamReader.fromBuffer(Buffer.from(prevTxHex, 'hex')),\n );\n } else {\n // Create a minimal transaction for test purposes\n // TODO: This should be properly implemented when full test vector support is needed\n const writer = new BufferWriter();\n writer.writeUInt32BE(2); // version\n writer.writeUInt8(0); // input count\n writer.writeUInt8(1); // output count\n writer.writeUInt64BE(BigInt(100000000)); // output value\n writer.writeUInt8(25); // script length\n writer.writeBytes(Buffer.alloc(25)); // script\n writer.writeUInt32BE(0); // locktime\n\n const txBytes = writer.toBuffer();\n instance.prevTx = Tx.decode(StreamReader.fromBuffer(txBytes));\n }\n\n instance.prevTxVout = json.prevTxVout || json.prev_tx_vout || 0;\n instance.sequence = new Sequence(json.sequence || 0xffffffff);\n instance.maxWitnessLen = json.maxWitnessLen || json.max_witness_len || 108;\n\n const redeemScript = json.redeemScript || json.redeem_script || '';\n instance.redeemScript = Buffer.from(redeemScript, 'hex');\n\n // Parse optional DLC input\n const dlcInput = json.dlcInput || json.dlc_input;\n if (dlcInput) {\n instance.dlcInput = DlcInput.fromJSON(dlcInput);\n }\n\n return instance;\n }\n\n /**\n * Deserializes a funding_input message\n * @param buf\n */\n public static deserialize(buf: Buffer): FundingInput {\n const instance = new FundingInput();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n instance.inputSerialId = reader.readUInt64BE();\n const prevTxLen = reader.readUInt16BE();\n instance.prevTx = Tx.decode(\n StreamReader.fromBuffer(reader.readBytes(prevTxLen)),\n );\n instance.prevTxVout = reader.readUInt32BE();\n instance.sequence = new Sequence(reader.readUInt32BE());\n instance.maxWitnessLen = reader.readUInt16BE();\n const redeemScriptLen = reader.readUInt16BE();\n instance.redeemScript = reader.readBytes(redeemScriptLen);\n\n // Read optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)\n if (reader.position < reader.buffer.length) {\n const dlcInputData = reader.readOptional();\n if (dlcInputData) {\n instance.dlcInput = DlcInput.deserializeBody(dlcInputData);\n }\n }\n\n return instance;\n }\n\n /**\n * Deserializes a funding_input message without TLV wrapper (for use in DlcOffer)\n * This matches rust-dlc behavior where FundingInput is in a vector without individual TLV wrappers\n * @param buf\n */\n public static deserializeBody(buf: Buffer): FundingInput {\n const instance = new FundingInput();\n const reader = new BufferReader(buf);\n\n // No TLV type/length to read - funding input body is serialized directly\n instance.inputSerialId = reader.readUInt64BE();\n\n // Read prev_tx with BigSize length (to match rust-dlc)\n const prevTxLen = Number(reader.readBigSize());\n instance.prevTx = Tx.decode(\n StreamReader.fromBuffer(reader.readBytes(prevTxLen)),\n );\n\n instance.prevTxVout = reader.readUInt32BE();\n instance.sequence = new Sequence(reader.readUInt32BE());\n instance.maxWitnessLen = reader.readUInt16BE();\n\n // Test: Read redeem_script with simple u16 length (to match rust-bitcoin ScriptBuf)\n const redeemScriptLen = reader.readUInt16BE();\n instance.redeemScript = reader.readBytes(redeemScriptLen);\n\n // Read optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)\n if (reader.position < reader.buffer.length) {\n const dlcInputData = reader.readOptional();\n if (dlcInputData) {\n instance.dlcInput = DlcInput.deserializeBody(dlcInputData);\n }\n }\n\n return instance;\n }\n\n /**\n * The type for funding_input message. funding_input = 42772\n */\n public type = FundingInput.type;\n\n public length: bigint;\n\n public inputSerialId: bigint;\n\n public prevTx: Tx;\n\n public prevTxVout: number;\n\n public sequence: Sequence;\n\n public maxWitnessLen: number;\n\n public redeemScript: Buffer;\n\n public dlcInput?: DlcInput;\n\n public scriptSigLength(): number {\n if (this.redeemScript.length > 0) {\n return 1 + this.redeemScript.length;\n } else {\n return 0;\n }\n }\n\n /**\n * Validates correctness of all fields\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // 1. Type is set automatically in class\n // 2. Ensure inputs are segwit\n if (!this.prevTx.isSegWit) throw new Error('fundingInput must be segwit');\n }\n\n /**\n * Converts funding_input to JSON (canonical rust-dlc format)\n */\n public toJSON(): IFundingInputJSON {\n const result: IFundingInputJSON = {\n inputSerialId: bigIntToNumber(this.inputSerialId),\n prevTx: this.prevTx.serialize().toString('hex'),\n prevTxVout: this.prevTxVout,\n sequence: this.sequence.value,\n maxWitnessLen: this.maxWitnessLen,\n redeemScript: this.redeemScript.toString('hex'),\n };\n\n if (this.dlcInput) {\n result.dlcInput = this.dlcInput.toJSON();\n }\n\n return result;\n }\n\n /**\n * Serializes the funding_input message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt64BE(this.inputSerialId);\n dataWriter.writeUInt16BE(this.prevTx.serialize().length);\n dataWriter.writeBytes(this.prevTx.serialize());\n dataWriter.writeUInt32BE(this.prevTxVout);\n dataWriter.writeUInt32BE(this.sequence.value);\n dataWriter.writeUInt16BE(this.maxWitnessLen);\n dataWriter.writeUInt16BE(this.redeemScript.length);\n dataWriter.writeBytes(this.redeemScript);\n\n // Write optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)\n const dlcInputData = this.dlcInput ? this.dlcInput.serializeBody() : null;\n dataWriter.writeOptional(dlcInputData);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n\n public serializeBody(): Buffer {\n // Serialize funding input body without TLV wrapper (for embedding in DlcOffer)\n // This matches rust-dlc behavior where FundingInput.write() doesn't add type_id\n const writer = new BufferWriter();\n writer.writeUInt64BE(this.inputSerialId);\n\n // Use BigSize for prev_tx length to match rust-dlc (prev_tx, vec)\n writer.writeBigSize(this.prevTx.serialize().length);\n writer.writeBytes(this.prevTx.serialize());\n\n writer.writeUInt32BE(this.prevTxVout);\n writer.writeUInt32BE(this.sequence.value);\n writer.writeUInt16BE(this.maxWitnessLen);\n\n // Test: Use simple u16 length for redeem_script to match rust-bitcoin ScriptBuf\n writer.writeUInt16BE(this.redeemScript.length);\n writer.writeBytes(this.redeemScript);\n\n // Write optional DLC input using rust-dlc Optional format (0x00/0x01 prefix)\n const dlcInputData = this.dlcInput ? this.dlcInput.serializeBody() : null;\n writer.writeOptional(dlcInputData);\n\n return writer.toBuffer();\n }\n}\n\nexport interface IFundingInputJSON {\n inputSerialId: number;\n prevTx: string;\n prevTxVout: number;\n sequence: number;\n maxWitnessLen: number;\n redeemScript: string;\n dlcInput?: {\n localFundPubkey: string;\n remoteFundPubkey: string;\n contractId: string;\n };\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc8b2f95b900bf15170a55cf624f4cc2160f0a59","contentHash":"4d62a51fbb2dfc6b69d408d96b3fe3fde11b96e514d0ebe18a2a1d6cfa2a77fb"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInput.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInput.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":16,"column":8},"end":{"line":16,"column":34}},"5":{"start":{"line":24,"column":25},"end":{"line":24,"column":39}},"6":{"start":{"line":26,"column":32},"end":{"line":26,"column":78}},"7":{"start":{"line":27,"column":8},"end":{"line":32,"column":9}},"8":{"start":{"line":28,"column":12},"end":{"line":28,"column":75}},"9":{"start":{"line":31,"column":12},"end":{"line":31,"column":59}},"10":{"start":{"line":34,"column":33},"end":{"line":34,"column":81}},"11":{"start":{"line":35,"column":8},"end":{"line":40,"column":9}},"12":{"start":{"line":36,"column":12},"end":{"line":36,"column":77}},"13":{"start":{"line":39,"column":12},"end":{"line":39,"column":60}},"14":{"start":{"line":42,"column":27},"end":{"line":42,"column":62}},"15":{"start":{"line":43,"column":8},"end":{"line":48,"column":9}},"16":{"start":{"line":44,"column":12},"end":{"line":44,"column":65}},"17":{"start":{"line":47,"column":12},"end":{"line":47,"column":54}},"18":{"start":{"line":49,"column":8},"end":{"line":49,"column":24}},"19":{"start":{"line":56,"column":25},"end":{"line":56,"column":39}},"20":{"start":{"line":57,"column":23},"end":{"line":57,"column":52}},"21":{"start":{"line":58,"column":8},"end":{"line":58,"column":29}},"22":{"start":{"line":59,"column":8},"end":{"line":59,"column":47}},"23":{"start":{"line":61,"column":8},"end":{"line":61,"column":56}},"24":{"start":{"line":63,"column":8},"end":{"line":63,"column":57}},"25":{"start":{"line":65,"column":8},"end":{"line":65,"column":51}},"26":{"start":{"line":66,"column":8},"end":{"line":66,"column":24}},"27":{"start":{"line":73,"column":25},"end":{"line":73,"column":39}},"28":{"start":{"line":74,"column":23},"end":{"line":74,"column":52}},"29":{"start":{"line":76,"column":8},"end":{"line":76,"column":56}},"30":{"start":{"line":78,"column":8},"end":{"line":78,"column":57}},"31":{"start":{"line":80,"column":8},"end":{"line":80,"column":51}},"32":{"start":{"line":81,"column":8},"end":{"line":81,"column":24}},"33":{"start":{"line":88,"column":8},"end":{"line":90,"column":9}},"34":{"start":{"line":89,"column":12},"end":{"line":89,"column":59}},"35":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"36":{"start":{"line":92,"column":12},"end":{"line":92,"column":60}},"37":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"38":{"start":{"line":95,"column":12},"end":{"line":95,"column":67}},"39":{"start":{"line":102,"column":8},"end":{"line":106,"column":10}},"40":{"start":{"line":112,"column":23},"end":{"line":112,"column":49}},"41":{"start":{"line":113,"column":8},"end":{"line":113,"column":39}},"42":{"start":{"line":114,"column":27},"end":{"line":114,"column":53}},"43":{"start":{"line":115,"column":8},"end":{"line":115,"column":52}},"44":{"start":{"line":116,"column":8},"end":{"line":116,"column":53}},"45":{"start":{"line":117,"column":8},"end":{"line":117,"column":47}},"46":{"start":{"line":118,"column":8},"end":{"line":118,"column":45}},"47":{"start":{"line":119,"column":8},"end":{"line":119,"column":49}},"48":{"start":{"line":120,"column":8},"end":{"line":120,"column":33}},"49":{"start":{"line":126,"column":23},"end":{"line":126,"column":49}},"50":{"start":{"line":127,"column":8},"end":{"line":127,"column":48}},"51":{"start":{"line":128,"column":8},"end":{"line":128,"column":49}},"52":{"start":{"line":129,"column":8},"end":{"line":129,"column":43}},"53":{"start":{"line":130,"column":8},"end":{"line":130,"column":33}},"54":{"start":{"line":133,"column":0},"end":{"line":133,"column":28}},"55":{"start":{"line":134,"column":0},"end":{"line":134,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":18},"end":{"line":17,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":26},"end":{"line":50,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":55,"column":4},"end":{"line":55,"column":5}},"loc":{"start":{"line":55,"column":28},"end":{"line":67,"column":5}},"line":55},"3":{"name":"(anonymous_3)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":32},"end":{"line":82,"column":5}},"line":72},"4":{"name":"(anonymous_4)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":15},"end":{"line":97,"column":5}},"line":87},"5":{"name":"(anonymous_5)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":13},"end":{"line":107,"column":5}},"line":101},"6":{"name":"(anonymous_6)","decl":{"start":{"line":111,"column":4},"end":{"line":111,"column":5}},"loc":{"start":{"line":111,"column":16},"end":{"line":121,"column":5}},"line":111},"7":{"name":"(anonymous_7)","decl":{"start":{"line":125,"column":4},"end":{"line":125,"column":5}},"loc":{"start":{"line":125,"column":20},"end":{"line":131,"column":5}},"line":125}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":32},"end":{"line":26,"column":78}},"type":"binary-expr","locations":[{"start":{"line":26,"column":32},"end":{"line":26,"column":52}},{"start":{"line":26,"column":56},"end":{"line":26,"column":78}}],"line":26},"1":{"loc":{"start":{"line":27,"column":8},"end":{"line":32,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":32,"column":9}},{"start":{"line":27,"column":8},"end":{"line":32,"column":9}}],"line":27},"2":{"loc":{"start":{"line":34,"column":33},"end":{"line":34,"column":81}},"type":"binary-expr","locations":[{"start":{"line":34,"column":33},"end":{"line":34,"column":54}},{"start":{"line":34,"column":58},"end":{"line":34,"column":81}}],"line":34},"3":{"loc":{"start":{"line":35,"column":8},"end":{"line":40,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":40,"column":9}},{"start":{"line":35,"column":8},"end":{"line":40,"column":9}}],"line":35},"4":{"loc":{"start":{"line":42,"column":27},"end":{"line":42,"column":62}},"type":"binary-expr","locations":[{"start":{"line":42,"column":27},"end":{"line":42,"column":42}},{"start":{"line":42,"column":46},"end":{"line":42,"column":62}}],"line":42},"5":{"loc":{"start":{"line":43,"column":8},"end":{"line":48,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":48,"column":9}},{"start":{"line":43,"column":8},"end":{"line":48,"column":9}}],"line":43},"6":{"loc":{"start":{"line":88,"column":8},"end":{"line":90,"column":9}},"type":"if","locations":[{"start":{"line":88,"column":8},"end":{"line":90,"column":9}},{"start":{"line":88,"column":8},"end":{"line":90,"column":9}}],"line":88},"7":{"loc":{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},"type":"if","locations":[{"start":{"line":91,"column":8},"end":{"line":93,"column":9}},{"start":{"line":91,"column":8},"end":{"line":93,"column":9}}],"line":91},"8":{"loc":{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},"type":"if","locations":[{"start":{"line":94,"column":8},"end":{"line":96,"column":9}},{"start":{"line":94,"column":8},"end":{"line":96,"column":9}}],"line":94},"9":{"loc":{"start":{"line":94,"column":12},"end":{"line":94,"column":61}},"type":"binary-expr","locations":[{"start":{"line":94,"column":12},"end":{"line":94,"column":28}},{"start":{"line":94,"column":32},"end":{"line":94,"column":61}}],"line":94}},"s":{"0":1,"1":1,"2":1,"3":1,"4":17,"5":13,"6":13,"7":13,"8":13,"9":0,"10":13,"11":13,"12":13,"13":0,"14":13,"15":13,"16":13,"17":0,"18":13,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":3,"28":3,"29":3,"30":3,"31":3,"32":3,"33":4,"34":1,"35":3,"36":1,"37":2,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":4,"50":4,"51":4,"52":4,"53":4,"54":1,"55":1},"f":{"0":17,"1":13,"2":1,"3":3,"4":4,"5":1,"6":1,"7":4},"b":{"0":[13,1],"1":[13,0],"2":[13,1],"3":[13,0],"4":[13,1],"5":[13,0],"6":[1,3],"7":[1,2],"8":[1,1],"9":[2,2]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInput.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInput.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * DlcInput contains information about a DLC input to be used in a funding transaction.\n * Contains the local and remote funding public keys and the contract ID of the DLC input.\n * Matches rust-dlc DlcInput struct.\n */\nexport class DlcInput implements IDlcMessage {\n public static type = MessageType.DlcInput;\n\n /**\n * Creates a DlcInput from JSON data\n * @param json JSON object representing DLC input\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DlcInput {\n const instance = new DlcInput();\n\n // Parse local funding public key\n const localFundPubkey = json.localFundPubkey || json.local_fund_pubkey;\n if (typeof localFundPubkey === 'string') {\n instance.localFundPubkey = Buffer.from(localFundPubkey, 'hex');\n } else {\n throw new Error('localFundPubkey is required');\n }\n\n // Parse remote funding public key\n const remoteFundPubkey = json.remoteFundPubkey || json.remote_fund_pubkey;\n if (typeof remoteFundPubkey === 'string') {\n instance.remoteFundPubkey = Buffer.from(remoteFundPubkey, 'hex');\n } else {\n throw new Error('remoteFundPubkey is required');\n }\n\n // Parse contract ID (32 bytes)\n const contractId = json.contractId || json.contract_id;\n if (typeof contractId === 'string') {\n instance.contractId = Buffer.from(contractId, 'hex');\n } else {\n throw new Error('contractId is required');\n }\n\n return instance;\n }\n\n /**\n * Deserializes a dlc_input message\n * @param buf\n */\n public static deserialize(buf: Buffer): DlcInput {\n const instance = new DlcInput();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n // Read local funding public key (33 bytes)\n instance.localFundPubkey = reader.readBytes(33);\n\n // Read remote funding public key (33 bytes)\n instance.remoteFundPubkey = reader.readBytes(33);\n\n // Read contract ID (32 bytes)\n instance.contractId = reader.readBytes(32);\n\n return instance;\n }\n\n /**\n * Deserializes a dlc_input without TLV wrapper (for use in FundingInput)\n * @param buf\n */\n public static deserializeBody(buf: Buffer): DlcInput {\n const instance = new DlcInput();\n const reader = new BufferReader(buf);\n\n // Read local funding public key (33 bytes)\n instance.localFundPubkey = reader.readBytes(33);\n\n // Read remote funding public key (33 bytes)\n instance.remoteFundPubkey = reader.readBytes(33);\n\n // Read contract ID (32 bytes)\n instance.contractId = reader.readBytes(32);\n\n return instance;\n }\n\n /**\n * The type for dlc_input message. dlc_input = 42773\n */\n public type = DlcInput.type;\n\n public length: bigint;\n\n public localFundPubkey: Buffer;\n\n public remoteFundPubkey: Buffer;\n\n public contractId: Buffer;\n\n /**\n * Validates correctness of all fields\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n if (!this.localFundPubkey) {\n throw new Error('localFundPubkey is required');\n }\n if (!this.remoteFundPubkey) {\n throw new Error('remoteFundPubkey is required');\n }\n if (!this.contractId || this.contractId.length !== 32) {\n throw new Error('contractId must be a 32-byte buffer');\n }\n }\n\n /**\n * Converts dlc_input to JSON\n */\n public toJSON(): IDlcInputJSON {\n return {\n localFundPubkey: this.localFundPubkey.toString('hex'),\n remoteFundPubkey: this.remoteFundPubkey.toString('hex'),\n contractId: this.contractId.toString('hex'),\n };\n }\n\n /**\n * Serializes the dlc_input message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBytes(this.localFundPubkey);\n dataWriter.writeBytes(this.remoteFundPubkey);\n dataWriter.writeBytes(this.contractId);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n\n /**\n * Serializes dlc_input body without TLV wrapper (for embedding in FundingInput)\n */\n public serializeBody(): Buffer {\n const writer = new BufferWriter();\n writer.writeBytes(this.localFundPubkey);\n writer.writeBytes(this.remoteFundPubkey);\n writer.writeBytes(this.contractId);\n\n return writer.toBuffer();\n }\n}\n\nexport interface IDlcInputJSON {\n localFundPubkey: string;\n remoteFundPubkey: string;\n contractId: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"19968f184c487bd352fd931996e71c6dff4f788f","contentHash":"c1e464640c9ba2cf5f93b03b5ead05a277732f9676906c618d680842db76b432"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NegotiationFields.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NegotiationFields.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":195}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":28},"end":{"line":5,"column":58}},"4":{"start":{"line":12,"column":23},"end":{"line":12,"column":52}},"5":{"start":{"line":13,"column":30},"end":{"line":13,"column":58}},"6":{"start":{"line":14,"column":8},"end":{"line":21,"column":9}},"7":{"start":{"line":16,"column":16},"end":{"line":16,"column":64}},"8":{"start":{"line":18,"column":16},"end":{"line":18,"column":66}},"9":{"start":{"line":20,"column":16},"end":{"line":20,"column":129}},"10":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"11":{"start":{"line":30,"column":12},"end":{"line":30,"column":72}},"12":{"start":{"line":32,"column":24},"end":{"line":32,"column":36}},"13":{"start":{"line":33,"column":8},"end":{"line":40,"column":9}},"14":{"start":{"line":35,"column":16},"end":{"line":35,"column":62}},"15":{"start":{"line":37,"column":16},"end":{"line":37,"column":64}},"16":{"start":{"line":39,"column":16},"end":{"line":39,"column":114}},"17":{"start":{"line":43,"column":0},"end":{"line":43,"column":46}},"18":{"start":{"line":49,"column":8},"end":{"line":49,"column":28}},"19":{"start":{"line":50,"column":8},"end":{"line":50,"column":32}},"20":{"start":{"line":51,"column":8},"end":{"line":51,"column":31}},"21":{"start":{"line":59,"column":25},"end":{"line":59,"column":54}},"22":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"23":{"start":{"line":61,"column":12},"end":{"line":61,"column":115}},"24":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"25":{"start":{"line":64,"column":12},"end":{"line":64,"column":88}},"26":{"start":{"line":66,"column":8},"end":{"line":66,"column":108}},"27":{"start":{"line":67,"column":8},"end":{"line":67,"column":24}},"28":{"start":{"line":74,"column":25},"end":{"line":74,"column":54}},"29":{"start":{"line":75,"column":23},"end":{"line":75,"column":52}},"30":{"start":{"line":76,"column":8},"end":{"line":76,"column":29}},"31":{"start":{"line":78,"column":31},"end":{"line":78,"column":49}},"32":{"start":{"line":79,"column":8},"end":{"line":79,"column":103}},"33":{"start":{"line":80,"column":8},"end":{"line":80,"column":24}},"34":{"start":{"line":86,"column":8},"end":{"line":89,"column":10}},"35":{"start":{"line":95,"column":23},"end":{"line":95,"column":49}},"36":{"start":{"line":96,"column":8},"end":{"line":96,"column":48}},"37":{"start":{"line":97,"column":8},"end":{"line":97,"column":62}},"38":{"start":{"line":98,"column":8},"end":{"line":98,"column":33}},"39":{"start":{"line":101,"column":0},"end":{"line":101,"column":58}},"40":{"start":{"line":107,"column":8},"end":{"line":107,"column":28}},"41":{"start":{"line":108,"column":8},"end":{"line":108,"column":34}},"42":{"start":{"line":109,"column":8},"end":{"line":109,"column":31}},"43":{"start":{"line":110,"column":8},"end":{"line":110,"column":36}},"44":{"start":{"line":118,"column":25},"end":{"line":118,"column":56}},"45":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"46":{"start":{"line":120,"column":12},"end":{"line":120,"column":119}},"47":{"start":{"line":122,"column":8},"end":{"line":124,"column":9}},"48":{"start":{"line":123,"column":12},"end":{"line":123,"column":90}},"49":{"start":{"line":126,"column":8},"end":{"line":126,"column":118}},"50":{"start":{"line":126,"column":79},"end":{"line":126,"column":116}},"51":{"start":{"line":127,"column":8},"end":{"line":127,"column":24}},"52":{"start":{"line":134,"column":25},"end":{"line":134,"column":56}},"53":{"start":{"line":135,"column":23},"end":{"line":135,"column":52}},"54":{"start":{"line":136,"column":8},"end":{"line":136,"column":29}},"55":{"start":{"line":137,"column":26},"end":{"line":137,"column":54}},"56":{"start":{"line":138,"column":8},"end":{"line":159,"column":9}},"57":{"start":{"line":138,"column":21},"end":{"line":138,"column":22}},"58":{"start":{"line":141,"column":29},"end":{"line":141,"column":44}},"59":{"start":{"line":142,"column":34},"end":{"line":142,"column":62}},"60":{"start":{"line":143,"column":12},"end":{"line":158,"column":13}},"61":{"start":{"line":146,"column":42},"end":{"line":146,"column":111}},"62":{"start":{"line":148,"column":16},"end":{"line":148,"column":43}},"63":{"start":{"line":149,"column":36},"end":{"line":149,"column":76}},"64":{"start":{"line":150,"column":34},"end":{"line":150,"column":63}},"65":{"start":{"line":151,"column":16},"end":{"line":151,"column":90}},"66":{"start":{"line":153,"column":17},"end":{"line":158,"column":13}},"67":{"start":{"line":154,"column":16},"end":{"line":154,"column":76}},"68":{"start":{"line":157,"column":16},"end":{"line":157,"column":75}},"69":{"start":{"line":160,"column":8},"end":{"line":160,"column":24}},"70":{"start":{"line":166,"column":8},"end":{"line":169,"column":10}},"71":{"start":{"line":168,"column":69},"end":{"line":168,"column":83}},"72":{"start":{"line":175,"column":23},"end":{"line":175,"column":49}},"73":{"start":{"line":176,"column":8},"end":{"line":176,"column":48}},"74":{"start":{"line":177,"column":8},"end":{"line":177,"column":59}},"75":{"start":{"line":178,"column":8},"end":{"line":180,"column":9}},"76":{"start":{"line":179,"column":12},"end":{"line":179,"column":60}},"77":{"start":{"line":181,"column":8},"end":{"line":181,"column":33}},"78":{"start":{"line":184,"column":0},"end":{"line":184,"column":62}},"79":{"start":{"line":186,"column":0},"end":{"line":186,"column":54}},"80":{"start":{"line":187,"column":0},"end":{"line":187,"column":54}},"81":{"start":{"line":188,"column":0},"end":{"line":188,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":28},"end":{"line":22,"column":5}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":26},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":4},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":18},"end":{"line":52,"column":5}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":26},"end":{"line":68,"column":5}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":73,"column":4},"end":{"line":73,"column":5}},"loc":{"start":{"line":73,"column":28},"end":{"line":81,"column":5}},"line":73},"5":{"name":"(anonymous_5)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":13},"end":{"line":90,"column":5}},"line":85},"6":{"name":"(anonymous_6)","decl":{"start":{"line":94,"column":4},"end":{"line":94,"column":5}},"loc":{"start":{"line":94,"column":16},"end":{"line":99,"column":5}},"line":94},"7":{"name":"(anonymous_7)","decl":{"start":{"line":106,"column":4},"end":{"line":106,"column":5}},"loc":{"start":{"line":106,"column":18},"end":{"line":111,"column":5}},"line":106},"8":{"name":"(anonymous_8)","decl":{"start":{"line":117,"column":4},"end":{"line":117,"column":5}},"loc":{"start":{"line":117,"column":26},"end":{"line":128,"column":5}},"line":117},"9":{"name":"(anonymous_9)","decl":{"start":{"line":126,"column":64},"end":{"line":126,"column":65}},"loc":{"start":{"line":126,"column":79},"end":{"line":126,"column":116}},"line":126},"10":{"name":"(anonymous_10)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":28},"end":{"line":161,"column":5}},"line":133},"11":{"name":"(anonymous_11)","decl":{"start":{"line":165,"column":4},"end":{"line":165,"column":5}},"loc":{"start":{"line":165,"column":13},"end":{"line":170,"column":5}},"line":165},"12":{"name":"(anonymous_12)","decl":{"start":{"line":168,"column":58},"end":{"line":168,"column":59}},"loc":{"start":{"line":168,"column":69},"end":{"line":168,"column":83}},"line":168},"13":{"name":"(anonymous_13)","decl":{"start":{"line":174,"column":4},"end":{"line":174,"column":5}},"loc":{"start":{"line":174,"column":16},"end":{"line":182,"column":5}},"line":174}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":8},"end":{"line":21,"column":9}},"type":"switch","locations":[{"start":{"line":15,"column":12},"end":{"line":16,"column":64}},{"start":{"line":17,"column":12},"end":{"line":18,"column":66}},{"start":{"line":19,"column":12},"end":{"line":20,"column":129}}],"line":14},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{"line":29,"column":8},"end":{"line":31,"column":9}}],"line":29},"2":{"loc":{"start":{"line":29,"column":12},"end":{"line":29,"column":45}},"type":"binary-expr","locations":[{"start":{"line":29,"column":12},"end":{"line":29,"column":17}},{"start":{"line":29,"column":21},"end":{"line":29,"column":45}}],"line":29},"3":{"loc":{"start":{"line":33,"column":8},"end":{"line":40,"column":9}},"type":"switch","locations":[{"start":{"line":34,"column":12},"end":{"line":35,"column":62}},{"start":{"line":36,"column":12},"end":{"line":37,"column":64}},{"start":{"line":38,"column":12},"end":{"line":39,"column":114}}],"line":33},"4":{"loc":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},{"start":{"line":60,"column":8},"end":{"line":62,"column":9}}],"line":60},"5":{"loc":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},{"start":{"line":63,"column":8},"end":{"line":65,"column":9}}],"line":63},"6":{"loc":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"type":"if","locations":[{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},{"start":{"line":119,"column":8},"end":{"line":121,"column":9}}],"line":119},"7":{"loc":{"start":{"line":122,"column":8},"end":{"line":124,"column":9}},"type":"if","locations":[{"start":{"line":122,"column":8},"end":{"line":124,"column":9}},{"start":{"line":122,"column":8},"end":{"line":124,"column":9}}],"line":122},"8":{"loc":{"start":{"line":122,"column":12},"end":{"line":122,"column":77}},"type":"binary-expr","locations":[{"start":{"line":122,"column":12},"end":{"line":122,"column":35}},{"start":{"line":122,"column":39},"end":{"line":122,"column":77}}],"line":122},"9":{"loc":{"start":{"line":143,"column":12},"end":{"line":158,"column":13}},"type":"if","locations":[{"start":{"line":143,"column":12},"end":{"line":158,"column":13}},{"start":{"line":143,"column":12},"end":{"line":158,"column":13}}],"line":143},"10":{"loc":{"start":{"line":153,"column":17},"end":{"line":158,"column":13}},"type":"if","locations":[{"start":{"line":153,"column":17},"end":{"line":158,"column":13}},{"start":{"line":153,"column":17},"end":{"line":158,"column":13}}],"line":153}},"s":{"0":1,"1":1,"2":1,"3":1,"4":7,"5":7,"6":7,"7":5,"8":2,"9":0,"10":4,"11":0,"12":4,"13":4,"14":3,"15":1,"16":0,"17":1,"18":19,"19":19,"20":19,"21":4,"22":4,"23":0,"24":4,"25":0,"26":4,"27":4,"28":5,"29":5,"30":5,"31":5,"32":5,"33":5,"34":2,"35":8,"36":8,"37":8,"38":8,"39":1,"40":8,"41":8,"42":8,"43":8,"44":2,"45":2,"46":0,"47":2,"48":0,"49":2,"50":2,"51":2,"52":2,"53":2,"54":2,"55":2,"56":2,"57":2,"58":3,"59":3,"60":3,"61":3,"62":3,"63":3,"64":3,"65":3,"66":0,"67":0,"68":0,"69":2,"70":1,"71":1,"72":3,"73":3,"74":3,"75":3,"76":5,"77":3,"78":1,"79":1,"80":1,"81":1},"f":{"0":7,"1":4,"2":19,"3":4,"4":5,"5":2,"6":8,"7":8,"8":2,"9":2,"10":2,"11":1,"12":1,"13":3},"b":{"0":[5,2,0],"1":[0,4],"2":[4,4],"3":[3,1,0],"4":[0,4],"5":[0,4],"6":[0,2],"7":[0,2],"8":[2,2],"9":[3,0],"10":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NegotiationFields.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NegotiationFields.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,2DAAwD;AAGxD;;;GAGG;AACH,MAAsB,iBAAiB;IAC9B,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnD,QAAQ,aAAa,EAAE;YACrB,KAAK,CAAC;gBACJ,OAAO,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClD,KAAK,CAAC;gBACJ,OAAO,yBAAyB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACpD;gBACE,MAAM,IAAI,KAAK,CACb,4CAA4C,aAAa,sCAAsC,CAChG,CAAC;SACL;IACH,CAAC;IAED;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,QAAQ,OAAO,EAAE;YACf,KAAK,QAAQ;gBACX,OAAO,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,UAAU;gBACb,OAAO,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD;gBACE,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,kCAAkC,CACjF,CAAC;SACL;IACH,CAAC;CAMF;AA7CD,8CA6CC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,iBAAiB;IAA9D;;QA6CS,YAAO,GAAG,QAAiB,CAAC;QAC5B,kBAAa,GAAG,CAAC,CAAC;IAuB3B,CAAC;IApEC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7B,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,OAAO,EAAE,CACtF,CAAC;SACH;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;SACH;QAED,QAAQ,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,QAAQ,CACrD,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,yBAAyB;QAE/C,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,QAAQ,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE3E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;SACnD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AArED,0DAqEC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,iBAAiB;IAAhE;;QAuES,YAAO,GAAG,UAAmB,CAAC;QAC9B,kBAAa,GAAG,CAAC,CAAC;QAClB,sBAAiB,GAAwB,EAAE,CAAC;IA0BrD,CAAC;IAlGC;;;OAGG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;YAC/B,MAAM,IAAI,KAAK,CACb,2EAA2E,IAAI,CAAC,OAAO,EAAE,CAC1F,CAAC;SACH;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACrE,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;SACH;QAED,8DAA8D;QAC9D,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CACzE,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CACtC,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,yBAAyB;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,+DAA+D;YAC/D,qDAAqD;YACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAEnD,IAAI,aAAa,KAAK,CAAC,EAAE;gBACvB,uDAAuD;gBACvD,+DAA+D;gBAC/D,MAAM,iBAAiB,GAAG,qCAAiB,CAAC,WAAW,CACrD,MAAM,CAAC,SAAS,EAAE,CACnB,CAAC;gBAEF,oCAAoC;gBACpC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC3B,MAAM,WAAW,GAAG,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,8BAA8B;gBAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAEhD,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAC7B,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CACzC,CAAC;aACH;iBAAM,IAAI,aAAa,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;aAC5D;SACF;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEnD,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACrD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC;SACjD;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAnGD,8DAmGC;AAgBD,mEAAmE;AACtD,QAAA,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,mCAAmC;AAClF,QAAA,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,4BAA4B;AAC3E,QAAA,mBAAmB,GAAG,yBAAyB,CAAC,CAAC,wBAAwB","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { RoundingIntervals } from './RoundingIntervals';\nimport { IRoundingIntervalsJSON } from './RoundingIntervals';\n\n/**\n * Negotiation fields for DLC contract negotiation.\n * Follows the Rust enum pattern with Single and Disjoint variants.\n */\nexport abstract class NegotiationFields {\n public static deserialize(buf: Buffer): NegotiationFields {\n const reader = new BufferReader(buf);\n const discriminator = Number(reader.readBigSize());\n\n switch (discriminator) {\n case 0:\n return SingleNegotiationFields.deserialize(buf);\n case 1:\n return DisjointNegotiationFields.deserialize(buf);\n default:\n throw new Error(\n `Invalid NegotiationFields discriminator: ${discriminator}. Must be 0 (Single) or 1 (Disjoint)`,\n );\n }\n }\n\n /**\n * Creates a NegotiationFields from JSON data\n * @param json JSON object representing negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): NegotiationFields {\n if (!json || typeof json !== 'object') {\n throw new Error('Invalid JSON input for NegotiationFields');\n }\n\n const variant = json.variant;\n\n switch (variant) {\n case 'Single':\n return SingleNegotiationFields.fromJSON(json);\n case 'Disjoint':\n return DisjointNegotiationFields.fromJSON(json);\n default:\n throw new Error(\n `Unknown negotiation fields variant: ${variant}. Must be 'Single' or 'Disjoint'`,\n );\n }\n }\n\n public abstract variant: 'Single' | 'Disjoint';\n public abstract discriminator: number;\n public abstract serialize(): Buffer;\n public abstract toJSON(): INegotiationFieldsJSON;\n}\n\n/**\n * Negotiation fields for contract based on a single event.\n */\nexport class SingleNegotiationFields extends NegotiationFields {\n /**\n * Creates a SingleNegotiationFields from JSON data\n * @param json JSON object representing single negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): SingleNegotiationFields {\n const instance = new SingleNegotiationFields();\n\n if (json.variant !== 'Single') {\n throw new Error(\n `Invalid variant for SingleNegotiationFields: expected 'Single', got ${json.variant}`,\n );\n }\n\n if (!json.roundingIntervals) {\n throw new Error(\n 'SingleNegotiationFields requires roundingIntervals field',\n );\n }\n\n instance.roundingIntervals = RoundingIntervals.fromJSON(\n json.roundingIntervals,\n );\n\n return instance;\n }\n\n /**\n * Deserializes single negotiation fields\n * @param buf\n */\n public static deserialize(buf: Buffer): SingleNegotiationFields {\n const instance = new SingleNegotiationFields();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read discriminator (0)\n\n // Read remaining bytes as raw RoundingIntervals data\n const remainingBytes = reader.readBytes();\n instance.roundingIntervals = RoundingIntervals.deserialize(remainingBytes);\n\n return instance;\n }\n\n public variant = 'Single' as const;\n public discriminator = 0;\n public roundingIntervals: RoundingIntervals;\n\n /**\n * Converts single negotiation fields to JSON\n */\n public toJSON(): ISingleNegotiationFieldsJSON {\n return {\n variant: this.variant,\n roundingIntervals: this.roundingIntervals.toJSON(),\n };\n }\n\n /**\n * Serializes the single negotiation fields into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.discriminator);\n writer.writeBytes(this.roundingIntervals.serialize());\n\n return writer.toBuffer();\n }\n}\n\n/**\n * Negotiation fields for contract based on multiple events.\n */\nexport class DisjointNegotiationFields extends NegotiationFields {\n /**\n * Creates a DisjointNegotiationFields from JSON data\n * @param json JSON object representing disjoint negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DisjointNegotiationFields {\n const instance = new DisjointNegotiationFields();\n\n if (json.variant !== 'Disjoint') {\n throw new Error(\n `Invalid variant for DisjointNegotiationFields: expected 'Disjoint', got ${json.variant}`,\n );\n }\n\n if (!json.negotiationFields || !Array.isArray(json.negotiationFields)) {\n throw new Error(\n 'DisjointNegotiationFields requires negotiationFields array',\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.negotiationFields = json.negotiationFields.map((fieldJson: any) =>\n NegotiationFields.fromJSON(fieldJson),\n );\n\n return instance;\n }\n\n /**\n * Deserializes disjoint negotiation fields\n * @param buf\n */\n public static deserialize(buf: Buffer): DisjointNegotiationFields {\n const instance = new DisjointNegotiationFields();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read discriminator (1)\n const numFields = Number(reader.readBigSize());\n\n for (let i = 0; i < numFields; i++) {\n // For simplicity, let's read the nested field by looking ahead\n // to determine its length based on its discriminator\n const startPos = reader.position;\n const discriminator = Number(reader.readBigSize());\n\n if (discriminator === 0) {\n // Single field: discriminator + RoundingIntervals data\n // RoundingIntervals has its own length, so we need to parse it\n const roundingIntervals = RoundingIntervals.deserialize(\n reader.readBytes(),\n );\n\n // Reset and read the complete field\n reader.position = startPos;\n const fieldLength = 1 + roundingIntervals.serialize().length; // discriminator + data length\n const fieldData = reader.readBytes(fieldLength);\n\n instance.negotiationFields.push(\n NegotiationFields.deserialize(fieldData),\n );\n } else if (discriminator === 1) {\n throw new Error('Nested disjoint fields not yet supported');\n } else {\n throw new Error(`Unknown discriminator: ${discriminator}`);\n }\n }\n\n return instance;\n }\n\n public variant = 'Disjoint' as const;\n public discriminator = 1;\n public negotiationFields: NegotiationFields[] = [];\n\n /**\n * Converts disjoint negotiation fields to JSON\n */\n public toJSON(): IDisjointNegotiationFieldsJSON {\n return {\n variant: this.variant,\n negotiationFields: this.negotiationFields.map((field) => field.toJSON()),\n };\n }\n\n /**\n * Serializes the disjoint negotiation fields into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.discriminator);\n writer.writeBigSize(this.negotiationFields.length);\n\n for (const negotiationField of this.negotiationFields) {\n writer.writeBytes(negotiationField.serialize());\n }\n\n return writer.toBuffer();\n }\n}\n\nexport type INegotiationFieldsJSON =\n | ISingleNegotiationFieldsJSON\n | IDisjointNegotiationFieldsJSON;\n\nexport interface ISingleNegotiationFieldsJSON {\n variant: 'Single';\n roundingIntervals: IRoundingIntervalsJSON;\n}\n\nexport interface IDisjointNegotiationFieldsJSON {\n variant: 'Disjoint';\n negotiationFields: INegotiationFieldsJSON[];\n}\n\n// Legacy exports for backward compatibility - map to new structure\nexport const NegotiationFieldsV0 = SingleNegotiationFields; // V0 was empty, now maps to Single\nexport const NegotiationFieldsV1 = SingleNegotiationFields; // V1 had rounding intervals\nexport const NegotiationFieldsV2 = DisjointNegotiationFields; // V2 had list of fields\n\nexport type INegotiationFieldsV0JSON = ISingleNegotiationFieldsJSON;\nexport type INegotiationFieldsV1JSON = ISingleNegotiationFieldsJSON;\nexport type INegotiationFieldsV2JSON = IDisjointNegotiationFieldsJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f3cc41b8ead6d9e5031f08cd0b53670b00d4e469","contentHash":"27d871c65f19ee6ddf4798a0b53931fb9578266d7f428a83d32d963dc292461b"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcClose.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcClose.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":25},"end":{"line":6,"column":63}},"5":{"start":{"line":7,"column":17},"end":{"line":7,"column":47}},"6":{"start":{"line":8,"column":15},"end":{"line":8,"column":33}},"7":{"start":{"line":9,"column":23},"end":{"line":9,"column":48}},"8":{"start":{"line":10,"column":28},"end":{"line":10,"column":58}},"9":{"start":{"line":11,"column":26},"end":{"line":11,"column":54}},"10":{"start":{"line":22,"column":8},"end":{"line":22,"column":34}},"11":{"start":{"line":24,"column":8},"end":{"line":24,"column":62}},"12":{"start":{"line":25,"column":8},"end":{"line":25,"column":32}},"13":{"start":{"line":34,"column":25},"end":{"line":34,"column":39}},"14":{"start":{"line":36,"column":8},"end":{"line":37,"column":92}},"15":{"start":{"line":39,"column":8},"end":{"line":39,"column":86}},"16":{"start":{"line":40,"column":8},"end":{"line":40,"column":98}},"17":{"start":{"line":42,"column":8},"end":{"line":42,"column":116}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":119}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":111}},"20":{"start":{"line":46,"column":8},"end":{"line":48,"column":81}},"21":{"start":{"line":48,"column":32},"end":{"line":48,"column":79}},"22":{"start":{"line":50,"column":8},"end":{"line":82,"column":9}},"23":{"start":{"line":51,"column":12},"end":{"line":51,"column":85}},"24":{"start":{"line":52,"column":28},"end":{"line":52,"column":77}},"25":{"start":{"line":54,"column":12},"end":{"line":81,"column":13}},"26":{"start":{"line":56,"column":16},"end":{"line":66,"column":26}},"27":{"start":{"line":60,"column":16},"end":{"line":66,"column":24}},"28":{"start":{"line":61,"column":36},"end":{"line":61,"column":75}},"29":{"start":{"line":62,"column":20},"end":{"line":63,"column":85}},"30":{"start":{"line":64,"column":20},"end":{"line":64,"column":77}},"31":{"start":{"line":65,"column":20},"end":{"line":65,"column":35}},"32":{"start":{"line":68,"column":17},"end":{"line":81,"column":13}},"33":{"start":{"line":70,"column":16},"end":{"line":80,"column":26}},"34":{"start":{"line":74,"column":16},"end":{"line":80,"column":24}},"35":{"start":{"line":75,"column":36},"end":{"line":75,"column":75}},"36":{"start":{"line":76,"column":20},"end":{"line":77,"column":85}},"37":{"start":{"line":78,"column":20},"end":{"line":78,"column":77}},"38":{"start":{"line":79,"column":20},"end":{"line":79,"column":35}},"39":{"start":{"line":83,"column":8},"end":{"line":83,"column":24}},"40":{"start":{"line":91,"column":25},"end":{"line":91,"column":39}},"41":{"start":{"line":92,"column":23},"end":{"line":92,"column":52}},"42":{"start":{"line":93,"column":21},"end":{"line":93,"column":42}},"43":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"44":{"start":{"line":96,"column":12},"end":{"line":96,"column":113}},"45":{"start":{"line":99,"column":8},"end":{"line":99,"column":57}},"46":{"start":{"line":100,"column":8},"end":{"line":100,"column":51}},"47":{"start":{"line":101,"column":8},"end":{"line":101,"column":55}},"48":{"start":{"line":102,"column":8},"end":{"line":102,"column":61}},"49":{"start":{"line":103,"column":8},"end":{"line":103,"column":62}},"50":{"start":{"line":104,"column":8},"end":{"line":104,"column":59}},"51":{"start":{"line":106,"column":33},"end":{"line":106,"column":61}},"52":{"start":{"line":107,"column":8},"end":{"line":114,"column":9}},"53":{"start":{"line":107,"column":21},"end":{"line":107,"column":22}},"54":{"start":{"line":109,"column":33},"end":{"line":109,"column":117}},"55":{"start":{"line":110,"column":12},"end":{"line":110,"column":54}},"56":{"start":{"line":112,"column":39},"end":{"line":112,"column":74}},"57":{"start":{"line":113,"column":12},"end":{"line":113,"column":50}},"58":{"start":{"line":116,"column":8},"end":{"line":116,"column":128}},"59":{"start":{"line":118,"column":30},"end":{"line":118,"column":75}},"60":{"start":{"line":119,"column":8},"end":{"line":119,"column":41}},"61":{"start":{"line":121,"column":8},"end":{"line":130,"column":9}},"62":{"start":{"line":122,"column":24},"end":{"line":122,"column":52}},"63":{"start":{"line":123,"column":30},"end":{"line":123,"column":59}},"64":{"start":{"line":124,"column":29},"end":{"line":124,"column":76}},"65":{"start":{"line":126,"column":12},"end":{"line":128,"column":13}},"66":{"start":{"line":127,"column":16},"end":{"line":127,"column":42}},"67":{"start":{"line":129,"column":12},"end":{"line":129,"column":73}},"68":{"start":{"line":131,"column":8},"end":{"line":131,"column":24}},"69":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"70":{"start":{"line":141,"column":12},"end":{"line":141,"column":130}},"71":{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},"72":{"start":{"line":145,"column":12},"end":{"line":145,"column":59}},"73":{"start":{"line":148,"column":8},"end":{"line":150,"column":9}},"74":{"start":{"line":149,"column":12},"end":{"line":149,"column":63}},"75":{"start":{"line":152,"column":31},"end":{"line":152,"column":85}},"76":{"start":{"line":152,"column":65},"end":{"line":152,"column":84}},"77":{"start":{"line":153,"column":8},"end":{"line":155,"column":9}},"78":{"start":{"line":154,"column":12},"end":{"line":154,"column":61}},"79":{"start":{"line":157,"column":8},"end":{"line":157,"column":64}},"80":{"start":{"line":157,"column":46},"end":{"line":157,"column":62}},"81":{"start":{"line":165,"column":21},"end":{"line":165,"column":23}},"82":{"start":{"line":166,"column":8},"end":{"line":168,"column":9}},"83":{"start":{"line":167,"column":12},"end":{"line":167,"column":109}},"84":{"start":{"line":167,"column":46},"end":{"line":167,"column":107}},"85":{"start":{"line":170,"column":8},"end":{"line":179,"column":10}},"86":{"start":{"line":177,"column":61},"end":{"line":177,"column":75}},"87":{"start":{"line":186,"column":23},"end":{"line":186,"column":49}},"88":{"start":{"line":187,"column":8},"end":{"line":187,"column":40}},"89":{"start":{"line":189,"column":8},"end":{"line":189,"column":51}},"90":{"start":{"line":190,"column":8},"end":{"line":190,"column":43}},"91":{"start":{"line":191,"column":8},"end":{"line":191,"column":47}},"92":{"start":{"line":192,"column":8},"end":{"line":192,"column":55}},"93":{"start":{"line":193,"column":8},"end":{"line":193,"column":56}},"94":{"start":{"line":194,"column":8},"end":{"line":194,"column":53}},"95":{"start":{"line":196,"column":8},"end":{"line":196,"column":55}},"96":{"start":{"line":197,"column":8},"end":{"line":200,"column":9}},"97":{"start":{"line":199,"column":12},"end":{"line":199,"column":60}},"98":{"start":{"line":202,"column":8},"end":{"line":202,"column":62}},"99":{"start":{"line":204,"column":8},"end":{"line":208,"column":9}},"100":{"start":{"line":205,"column":12},"end":{"line":207,"column":15}},"101":{"start":{"line":206,"column":16},"end":{"line":206,"column":44}},"102":{"start":{"line":209,"column":8},"end":{"line":209,"column":33}},"103":{"start":{"line":212,"column":0},"end":{"line":212,"column":28}},"104":{"start":{"line":213,"column":0},"end":{"line":213,"column":51}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":4},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":18},"end":{"line":26,"column":5}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":26},"end":{"line":84,"column":5}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":17},"end":{"line":48,"column":18}},"loc":{"start":{"line":48,"column":32},"end":{"line":48,"column":79}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":17}},"loc":{"start":{"line":60,"column":16},"end":{"line":66,"column":24}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":41},"end":{"line":60,"column":42}},"loc":{"start":{"line":60,"column":51},"end":{"line":66,"column":17}},"line":60},"5":{"name":"(anonymous_5)","decl":{"start":{"line":72,"column":16},"end":{"line":72,"column":17}},"loc":{"start":{"line":74,"column":16},"end":{"line":80,"column":24}},"line":74},"6":{"name":"(anonymous_6)","decl":{"start":{"line":74,"column":41},"end":{"line":74,"column":42}},"loc":{"start":{"line":74,"column":51},"end":{"line":80,"column":17}},"line":74},"7":{"name":"(anonymous_7)","decl":{"start":{"line":90,"column":4},"end":{"line":90,"column":5}},"loc":{"start":{"line":90,"column":28},"end":{"line":132,"column":5}},"line":90},"8":{"name":"(anonymous_8)","decl":{"start":{"line":137,"column":4},"end":{"line":137,"column":5}},"loc":{"start":{"line":137,"column":15},"end":{"line":159,"column":5}},"line":137},"9":{"name":"(anonymous_9)","decl":{"start":{"line":152,"column":54},"end":{"line":152,"column":55}},"loc":{"start":{"line":152,"column":65},"end":{"line":152,"column":84}},"line":152},"10":{"name":"(anonymous_10)","decl":{"start":{"line":157,"column":35},"end":{"line":157,"column":36}},"loc":{"start":{"line":157,"column":46},"end":{"line":157,"column":62}},"line":157},"11":{"name":"(anonymous_11)","decl":{"start":{"line":163,"column":4},"end":{"line":163,"column":5}},"loc":{"start":{"line":163,"column":13},"end":{"line":180,"column":5}},"line":163},"12":{"name":"(anonymous_12)","decl":{"start":{"line":167,"column":37},"end":{"line":167,"column":38}},"loc":{"start":{"line":167,"column":46},"end":{"line":167,"column":107}},"line":167},"13":{"name":"(anonymous_13)","decl":{"start":{"line":177,"column":50},"end":{"line":177,"column":51}},"loc":{"start":{"line":177,"column":61},"end":{"line":177,"column":75}},"line":177},"14":{"name":"(anonymous_14)","decl":{"start":{"line":185,"column":4},"end":{"line":185,"column":5}},"loc":{"start":{"line":185,"column":16},"end":{"line":210,"column":5}},"line":185},"15":{"name":"(anonymous_15)","decl":{"start":{"line":205,"column":37},"end":{"line":205,"column":38}},"loc":{"start":{"line":205,"column":46},"end":{"line":207,"column":13}},"line":205}},"branchMap":{"0":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":91}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":32}},{"start":{"line":37,"column":36},"end":{"line":37,"column":57}},{"start":{"line":37,"column":61},"end":{"line":37,"column":91}}],"line":37},"1":{"loc":{"start":{"line":39,"column":42},"end":{"line":39,"column":77}},"type":"binary-expr","locations":[{"start":{"line":39,"column":42},"end":{"line":39,"column":57}},{"start":{"line":39,"column":61},"end":{"line":39,"column":77}}],"line":39},"2":{"loc":{"start":{"line":40,"column":46},"end":{"line":40,"column":89}},"type":"binary-expr","locations":[{"start":{"line":40,"column":46},"end":{"line":40,"column":65}},{"start":{"line":40,"column":69},"end":{"line":40,"column":89}}],"line":40},"3":{"loc":{"start":{"line":42,"column":60},"end":{"line":42,"column":114}},"type":"binary-expr","locations":[{"start":{"line":42,"column":60},"end":{"line":42,"column":84}},{"start":{"line":42,"column":88},"end":{"line":42,"column":114}}],"line":42},"4":{"loc":{"start":{"line":43,"column":61},"end":{"line":43,"column":117}},"type":"binary-expr","locations":[{"start":{"line":43,"column":61},"end":{"line":43,"column":86}},{"start":{"line":43,"column":90},"end":{"line":43,"column":117}}],"line":43},"5":{"loc":{"start":{"line":44,"column":58},"end":{"line":44,"column":109}},"type":"binary-expr","locations":[{"start":{"line":44,"column":58},"end":{"line":44,"column":80}},{"start":{"line":44,"column":84},"end":{"line":44,"column":109}}],"line":44},"6":{"loc":{"start":{"line":46,"column":34},"end":{"line":46,"column":81}},"type":"binary-expr","locations":[{"start":{"line":46,"column":34},"end":{"line":46,"column":52}},{"start":{"line":46,"column":56},"end":{"line":46,"column":75}},{"start":{"line":46,"column":79},"end":{"line":46,"column":81}}],"line":46},"7":{"loc":{"start":{"line":50,"column":8},"end":{"line":82,"column":9}},"type":"if","locations":[{"start":{"line":50,"column":8},"end":{"line":82,"column":9}},{"start":{"line":50,"column":8},"end":{"line":82,"column":9}}],"line":50},"8":{"loc":{"start":{"line":50,"column":12},"end":{"line":50,"column":61}},"type":"binary-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":34}},{"start":{"line":50,"column":38},"end":{"line":50,"column":61}}],"line":50},"9":{"loc":{"start":{"line":52,"column":28},"end":{"line":52,"column":77}},"type":"binary-expr","locations":[{"start":{"line":52,"column":28},"end":{"line":52,"column":50}},{"start":{"line":52,"column":54},"end":{"line":52,"column":77}}],"line":52},"10":{"loc":{"start":{"line":54,"column":12},"end":{"line":81,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":81,"column":13}},{"start":{"line":54,"column":12},"end":{"line":81,"column":13}}],"line":54},"11":{"loc":{"start":{"line":60,"column":16},"end":{"line":66,"column":24}},"type":"binary-expr","locations":[{"start":{"line":60,"column":16},"end":{"line":66,"column":18}},{"start":{"line":66,"column":22},"end":{"line":66,"column":24}}],"line":60},"12":{"loc":{"start":{"line":63,"column":24},"end":{"line":63,"column":84}},"type":"binary-expr","locations":[{"start":{"line":63,"column":24},"end":{"line":63,"column":35}},{"start":{"line":63,"column":39},"end":{"line":63,"column":84}}],"line":63},"13":{"loc":{"start":{"line":63,"column":51},"end":{"line":63,"column":69}},"type":"binary-expr","locations":[{"start":{"line":63,"column":51},"end":{"line":63,"column":63}},{"start":{"line":63,"column":67},"end":{"line":63,"column":69}}],"line":63},"14":{"loc":{"start":{"line":64,"column":50},"end":{"line":64,"column":68}},"type":"binary-expr","locations":[{"start":{"line":64,"column":50},"end":{"line":64,"column":62}},{"start":{"line":64,"column":66},"end":{"line":64,"column":68}}],"line":64},"15":{"loc":{"start":{"line":68,"column":17},"end":{"line":81,"column":13}},"type":"if","locations":[{"start":{"line":68,"column":17},"end":{"line":81,"column":13}},{"start":{"line":68,"column":17},"end":{"line":81,"column":13}}],"line":68},"16":{"loc":{"start":{"line":74,"column":16},"end":{"line":80,"column":24}},"type":"binary-expr","locations":[{"start":{"line":74,"column":16},"end":{"line":80,"column":18}},{"start":{"line":80,"column":22},"end":{"line":80,"column":24}}],"line":74},"17":{"loc":{"start":{"line":77,"column":24},"end":{"line":77,"column":84}},"type":"binary-expr","locations":[{"start":{"line":77,"column":24},"end":{"line":77,"column":35}},{"start":{"line":77,"column":39},"end":{"line":77,"column":84}}],"line":77},"18":{"loc":{"start":{"line":77,"column":51},"end":{"line":77,"column":69}},"type":"binary-expr","locations":[{"start":{"line":77,"column":51},"end":{"line":77,"column":63}},{"start":{"line":77,"column":67},"end":{"line":77,"column":69}}],"line":77},"19":{"loc":{"start":{"line":78,"column":50},"end":{"line":78,"column":68}},"type":"binary-expr","locations":[{"start":{"line":78,"column":50},"end":{"line":78,"column":62}},{"start":{"line":78,"column":66},"end":{"line":78,"column":68}}],"line":78},"20":{"loc":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},{"start":{"line":95,"column":8},"end":{"line":97,"column":9}}],"line":95},"21":{"loc":{"start":{"line":126,"column":12},"end":{"line":128,"column":13}},"type":"if","locations":[{"start":{"line":126,"column":12},"end":{"line":128,"column":13}},{"start":{"line":126,"column":12},"end":{"line":128,"column":13}}],"line":126},"22":{"loc":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"type":"if","locations":[{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},{"start":{"line":140,"column":8},"end":{"line":142,"column":9}}],"line":140},"23":{"loc":{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},"type":"if","locations":[{"start":{"line":144,"column":8},"end":{"line":146,"column":9}},{"start":{"line":144,"column":8},"end":{"line":146,"column":9}}],"line":144},"24":{"loc":{"start":{"line":144,"column":12},"end":{"line":144,"column":61}},"type":"binary-expr","locations":[{"start":{"line":144,"column":12},"end":{"line":144,"column":28}},{"start":{"line":144,"column":32},"end":{"line":144,"column":61}}],"line":144},"25":{"loc":{"start":{"line":148,"column":8},"end":{"line":150,"column":9}},"type":"if","locations":[{"start":{"line":148,"column":8},"end":{"line":150,"column":9}},{"start":{"line":148,"column":8},"end":{"line":150,"column":9}}],"line":148},"26":{"loc":{"start":{"line":148,"column":12},"end":{"line":148,"column":69}},"type":"binary-expr","locations":[{"start":{"line":148,"column":12},"end":{"line":148,"column":32}},{"start":{"line":148,"column":36},"end":{"line":148,"column":69}}],"line":148},"27":{"loc":{"start":{"line":153,"column":8},"end":{"line":155,"column":9}},"type":"if","locations":[{"start":{"line":153,"column":8},"end":{"line":155,"column":9}},{"start":{"line":153,"column":8},"end":{"line":155,"column":9}}],"line":153},"28":{"loc":{"start":{"line":166,"column":8},"end":{"line":168,"column":9}},"type":"if","locations":[{"start":{"line":166,"column":8},"end":{"line":168,"column":9}},{"start":{"line":166,"column":8},"end":{"line":168,"column":9}}],"line":166},"29":{"loc":{"start":{"line":204,"column":8},"end":{"line":208,"column":9}},"type":"if","locations":[{"start":{"line":204,"column":8},"end":{"line":208,"column":9}},{"start":{"line":204,"column":8},"end":{"line":208,"column":9}}],"line":204}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":26,"11":26,"12":26,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":4,"29":4,"30":4,"31":4,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":2,"40":5,"41":5,"42":5,"43":5,"44":1,"45":4,"46":4,"47":4,"48":4,"49":4,"50":4,"51":4,"52":4,"53":4,"54":0,"55":0,"56":0,"57":0,"58":4,"59":4,"60":4,"61":4,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":4,"69":4,"70":0,"71":4,"72":1,"73":3,"74":1,"75":2,"76":3,"77":2,"78":1,"79":1,"80":1,"81":3,"82":3,"83":0,"84":0,"85":3,"86":3,"87":9,"88":9,"89":9,"90":9,"91":9,"92":9,"93":9,"94":9,"95":9,"96":9,"97":4,"98":9,"99":9,"100":0,"101":0,"102":9,"103":1,"104":1},"f":{"0":26,"1":2,"2":2,"3":2,"4":4,"5":0,"6":0,"7":5,"8":4,"9":3,"10":1,"11":3,"12":0,"13":3,"14":9,"15":0},"b":{"0":[2,1,1],"1":[2,0],"2":[2,0],"3":[2,0],"4":[2,0],"5":[2,0],"6":[2,0,0],"7":[2,0],"8":[2,0],"9":[2,0],"10":[2,0],"11":[2,0],"12":[4,2],"13":[2,0],"14":[4,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[1,4],"21":[0,0],"22":[0,4],"23":[1,3],"24":[4,4],"25":[1,2],"26":[3,3],"27":[1,1],"28":[0,3],"29":[0,9]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcClose.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcClose.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType, PROTOCOL_VERSION } from '../MessageType';\nimport { deserializeTlv } from '../serialize/deserializeTlv';\nimport { getTlv } from '../serialize/getTlv';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { IDlcMessage } from './DlcMessage';\nimport { FundingInput, IFundingInputJSON } from './FundingInput';\nimport { FundingSignatures, IFundingSignaturesJSON } from './FundingSignatures';\nimport { ScriptWitnessV0 } from './ScriptWitnessV0';\n\n/**\n * DlcClose message contains information about a node and indicates its\n * desire to close an existing contract.\n * Updated to follow DlcOffer architectural patterns.\n */\nexport class DlcClose implements IDlcMessage {\n public static type = MessageType.DlcClose;\n\n /**\n * Creates a DlcClose from JSON data (e.g., from test vectors)\n * Handles both our internal format and external test vector formats\n * @param json JSON object representing a DLC close message\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DlcClose {\n const instance = new DlcClose();\n\n // Basic fields with field name variations\n instance.protocolVersion =\n json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;\n\n // Basic fields with field name variations\n instance.contractId = Buffer.from(\n json.contractId || json.contract_id,\n 'hex',\n );\n instance.closeSignature = Buffer.from(\n json.closeSignature || json.close_signature,\n 'hex',\n );\n\n // Use toBigInt helper to handle BigInt values from json-bigint\n instance.offerPayoutSatoshis = toBigInt(\n json.offerPayoutSatoshis || json.offer_payout_satoshis,\n );\n instance.acceptPayoutSatoshis = toBigInt(\n json.acceptPayoutSatoshis || json.accept_payout_satoshis,\n );\n instance.fundInputSerialId = toBigInt(\n json.fundInputSerialId || json.fund_input_serial_id,\n );\n\n // Use FundingInput.fromJSON() for each funding input - proper delegation\n instance.fundingInputs = (json.fundingInputs || json.funding_inputs || [])\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((inputJson: any) => FundingInput.fromJSON(inputJson));\n\n // Create FundingSignatures manually since it doesn't have fromJSON\n if (json.fundingSignatures || json.funding_signatures) {\n instance.fundingSignatures = new FundingSignatures();\n const sigData = json.fundingSignatures || json.funding_signatures;\n\n // Handle different possible structures\n if (sigData.fundingSignatures) {\n // Standard format\n instance.fundingSignatures.witnessElements = sigData.fundingSignatures.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sig: any) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sig.witnessElements?.map((elem: any) => {\n const witness = new ScriptWitnessV0();\n witness.length =\n elem.length || Buffer.from(elem.witness || '', 'hex').length;\n witness.witness = Buffer.from(elem.witness || '', 'hex');\n return witness;\n }) || [],\n );\n } else if (Array.isArray(sigData)) {\n // Array format\n instance.fundingSignatures.witnessElements = sigData.map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sig: any) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sig.witnessElements?.map((elem: any) => {\n const witness = new ScriptWitnessV0();\n witness.length =\n elem.length || Buffer.from(elem.witness || '', 'hex').length;\n witness.witness = Buffer.from(elem.witness || '', 'hex');\n return witness;\n }) || [],\n );\n }\n }\n\n return instance;\n }\n\n /**\n * Deserializes a close_dlc message with backward compatibility\n * Detects old format (without protocol_version) vs new format (with protocol_version)\n * @param buf\n */\n public static deserialize(buf: Buffer): DlcClose {\n const instance = new DlcClose();\n const reader = new BufferReader(buf);\n\n const type = reader.readUInt16BE(); // read type\n\n // Validate type matches expected DlcClose type\n if (type !== MessageType.DlcClose) {\n throw new Error(\n `Invalid message type. Expected ${MessageType.DlcClose}, got ${type}`,\n );\n }\n\n // Read protocol version\n instance.protocolVersion = reader.readUInt32BE();\n instance.contractId = reader.readBytes(32);\n instance.closeSignature = reader.readBytes(64);\n instance.offerPayoutSatoshis = reader.readUInt64BE();\n instance.acceptPayoutSatoshis = reader.readUInt64BE();\n instance.fundInputSerialId = reader.readUInt64BE();\n\n // Changed from u16 to bigsize for consistency with DlcOffer\n const fundingInputsLen = Number(reader.readBigSize());\n\n for (let i = 0; i < fundingInputsLen; i++) {\n // FundingInput body is serialized directly without TLV wrapper in rust-dlc format\n const fundingInput = FundingInput.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n instance.fundingInputs.push(fundingInput);\n\n // Skip past the FundingInput we just read\n const fundingInputLength = fundingInput.serializeBody().length;\n reader.position += fundingInputLength;\n }\n\n // Handle FundingSignatures - deserialize raw data (no TLV wrapper) like DlcSign\n instance.fundingSignatures = FundingSignatures.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n // Skip past the funding signatures we just read\n const fundingLength = instance.fundingSignatures.serialize().length;\n reader.position += fundingLength;\n\n // Parse any additional TLV stream (for future extensibility)\n while (!reader.eof) {\n const buf = getTlv(reader);\n const tlvReader = new BufferReader(buf);\n const { type } = deserializeTlv(tlvReader);\n\n // Store unknown TLVs for future compatibility\n if (!instance.unknownTlvs) {\n instance.unknownTlvs = [];\n }\n instance.unknownTlvs.push({ type: Number(type), data: buf });\n }\n\n return instance;\n }\n\n /**\n * The type for close_dlc message. close_dlc = 52170\n */\n public type = DlcClose.type;\n\n // New fields as per dlcspecs PR #163\n public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version\n\n public contractId: Buffer;\n\n public closeSignature: Buffer;\n\n public offerPayoutSatoshis: bigint;\n\n public acceptPayoutSatoshis: bigint;\n\n public fundInputSerialId: bigint;\n\n public fundingInputs: FundingInput[] = [];\n\n public fundingSignatures: FundingSignatures;\n\n // Store unknown TLVs for forward compatibility\n public unknownTlvs?: Array<{ type: number; data: Buffer }>;\n\n /**\n * Validates correctness of all fields\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // Type is set automatically in class\n\n // protocol_version validation\n if (this.protocolVersion !== PROTOCOL_VERSION) {\n throw new Error(\n `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,\n );\n }\n\n // contractId validation\n if (!this.contractId || this.contractId.length !== 32) {\n throw new Error('contractId must be 32 bytes');\n }\n\n // closeSignature validation\n if (!this.closeSignature || this.closeSignature.length !== 64) {\n throw new Error('closeSignature must be 64 bytes');\n }\n\n // Ensure input serial ids are unique\n const inputSerialIds = this.fundingInputs.map(\n (input: FundingInput) => input.inputSerialId,\n );\n\n if (new Set(inputSerialIds).size !== inputSerialIds.length) {\n throw new Error('inputSerialIds must be unique');\n }\n\n // Ensure funding inputs are segwit\n this.fundingInputs.forEach((input: FundingInput) => input.validate());\n\n // Note: FundingSignatures doesn't have a validate method, so we skip validation\n }\n\n /**\n * Converts dlc_close to JSON (canonical rust-dlc format)\n */\n public toJSON(): IDlcCloseJSON {\n // Include unknown TLVs for debugging\n const tlvs = [];\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) =>\n tlvs.push({ type: tlv.type, data: tlv.data.toString('hex') }),\n );\n }\n\n // Return canonical rust-dlc format\n return {\n protocolVersion: this.protocolVersion,\n contractId: this.contractId.toString('hex'),\n closeSignature: this.closeSignature.toString('hex'),\n offerPayoutSatoshis: bigIntToNumber(this.offerPayoutSatoshis),\n acceptPayoutSatoshis: bigIntToNumber(this.acceptPayoutSatoshis),\n fundInputSerialId: bigIntToNumber(this.fundInputSerialId),\n fundingInputs: this.fundingInputs.map((input) => input.toJSON()),\n fundingSignatures: this.fundingSignatures.toJSON(),\n }; // Allow different field names from interface\n }\n\n /**\n * Serializes the close_dlc message into a Buffer\n * Updated serialization format to match DlcOffer patterns\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n\n // New fields as per dlcspecs PR #163\n writer.writeUInt32BE(this.protocolVersion);\n writer.writeBytes(this.contractId);\n writer.writeBytes(this.closeSignature);\n writer.writeUInt64BE(this.offerPayoutSatoshis);\n writer.writeUInt64BE(this.acceptPayoutSatoshis);\n writer.writeUInt64BE(this.fundInputSerialId);\n\n // Changed from u16 to bigsize for consistency with DlcOffer\n writer.writeBigSize(this.fundingInputs.length);\n\n for (const fundingInput of this.fundingInputs) {\n // Use serializeBody() to match rust-dlc behavior - funding inputs in vec are serialized without TLV wrapper\n writer.writeBytes(fundingInput.serializeBody());\n }\n\n // Serialize FundingSignatures directly (no TLV wrapper) like DlcSign\n writer.writeBytes(this.fundingSignatures.serialize());\n\n // Write unknown TLVs for forward compatibility\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) => {\n writer.writeBytes(tlv.data);\n });\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IDlcCloseJSON {\n type?: number; // Made optional for rust-dlc compatibility\n protocolVersion: number;\n contractId: string;\n closeSignature: string;\n offerPayoutSatoshis: number;\n acceptPayoutSatoshis: number;\n fundInputSerialId: number;\n fundingInputs: IFundingInputJSON[];\n fundingSignatures: IFundingSignaturesJSON;\n serialized?: string; // Made optional - hex serialization for compatibility testing\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tlvs?: any[]; // Made optional - for unknown TLVs\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c72d9d93ef50876cfea2d3dc1ccccd891ce4d0a6","contentHash":"b1418c3477f14bfc9852da6ee77b80e9988e244a0a599da33edaacfe68d76457"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingSignatures.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingSignatures.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":26},"end":{"line":6,"column":54}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":43}},"6":{"start":{"line":17,"column":8},"end":{"line":17,"column":34}},"7":{"start":{"line":24,"column":25},"end":{"line":24,"column":48}},"8":{"start":{"line":25,"column":23},"end":{"line":25,"column":52}},"9":{"start":{"line":28,"column":29},"end":{"line":28,"column":57}},"10":{"start":{"line":29,"column":8},"end":{"line":42,"column":9}},"11":{"start":{"line":29,"column":21},"end":{"line":29,"column":22}},"12":{"start":{"line":30,"column":39},"end":{"line":30,"column":67}},"13":{"start":{"line":31,"column":36},"end":{"line":31,"column":38}},"14":{"start":{"line":32,"column":12},"end":{"line":40,"column":13}},"15":{"start":{"line":32,"column":25},"end":{"line":32,"column":26}},"16":{"start":{"line":34,"column":38},"end":{"line":34,"column":66}},"17":{"start":{"line":35,"column":37},"end":{"line":35,"column":68}},"18":{"start":{"line":36,"column":32},"end":{"line":36,"column":71}},"19":{"start":{"line":37,"column":16},"end":{"line":37,"column":47}},"20":{"start":{"line":38,"column":16},"end":{"line":38,"column":47}},"21":{"start":{"line":39,"column":16},"end":{"line":39,"column":46}},"22":{"start":{"line":41,"column":12},"end":{"line":41,"column":59}},"23":{"start":{"line":43,"column":8},"end":{"line":43,"column":24}},"24":{"start":{"line":49,"column":8},"end":{"line":55,"column":10}},"25":{"start":{"line":51,"column":16},"end":{"line":53,"column":18}},"26":{"start":{"line":52,"column":69},"end":{"line":52,"column":85}},"27":{"start":{"line":61,"column":23},"end":{"line":61,"column":49}},"28":{"start":{"line":63,"column":27},"end":{"line":63,"column":53}},"29":{"start":{"line":64,"column":8},"end":{"line":64,"column":61}},"30":{"start":{"line":65,"column":8},"end":{"line":70,"column":9}},"31":{"start":{"line":66,"column":12},"end":{"line":66,"column":60}},"32":{"start":{"line":67,"column":12},"end":{"line":69,"column":13}},"33":{"start":{"line":68,"column":16},"end":{"line":68,"column":66}},"34":{"start":{"line":72,"column":8},"end":{"line":72,"column":49}},"35":{"start":{"line":73,"column":8},"end":{"line":73,"column":33}},"36":{"start":{"line":76,"column":0},"end":{"line":76,"column":46}},"37":{"start":{"line":77,"column":0},"end":{"line":77,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":18},"end":{"line":18,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":28},"end":{"line":44,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":4},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":13},"end":{"line":56,"column":5}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":56},"end":{"line":50,"column":57}},"loc":{"start":{"line":50,"column":76},"end":{"line":54,"column":13}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":56},"end":{"line":52,"column":57}},"loc":{"start":{"line":52,"column":69},"end":{"line":52,"column":85}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":16},"end":{"line":74,"column":5}},"line":60}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":110,"6":110,"7":52,"8":52,"9":52,"10":52,"11":52,"12":49,"13":49,"14":49,"15":49,"16":97,"17":97,"18":97,"19":97,"20":97,"21":97,"22":49,"23":52,"24":21,"25":22,"26":43,"27":114,"28":114,"29":114,"30":114,"31":106,"32":106,"33":211,"34":114,"35":114,"36":1,"37":1},"f":{"0":110,"1":52,"2":21,"3":22,"4":43,"5":114},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingSignatures.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/FundingSignatures.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAE7C,uDAA0E;AAE1E;;;GAGG;AACH,MAAa,iBAAiB;IAA9B;QAkCE;;WAEG;QACI,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAI9B,oBAAe,GAAwB,EAAE,CAAC;IAsCnD,CAAC;IA5EC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,qCAAqC;QACrC,0CAA0C;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACxD,MAAM,eAAe,GAAsB,EAAE,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBAC3C,iEAAiE;gBACjE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAErD,MAAM,OAAO,GAAG,IAAI,iCAAe,EAAE,CAAC;gBACtC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAChD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;gBAC7D,OAAO;oBACL,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,kCAAkC;QAElC,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QAEtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE;YAClD,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAChD,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;gBAC5C,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;aACnD;SACF;QAED,wCAAwC;QACxC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA9EH,8CA+EC;AA9Ee,sBAAI,GAAG,yBAAW,CAAC,iBAAiB,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\nimport { IScriptWitnessV0JSON, ScriptWitnessV0 } from './ScriptWitnessV0';\n\n/**\n * FundingSignatures contains signatures of the funding transaction\n * and any necessary information linking the signatures to their inputs.\n */\nexport class FundingSignatures implements IDlcMessage {\n public static type = MessageType.FundingSignatures;\n\n /**\n * Deserializes a funding_signatures message\n * @param buf\n */\n public static deserialize(buf: Buffer): FundingSignatures {\n const instance = new FundingSignatures();\n const reader = new BufferReader(buf);\n\n // reader.readBigSize(); // read type\n // instance.length = reader.readBigSize();\n const numWitnesses = Number(reader.readBigSize());\n\n for (let i = 0; i < numWitnesses; i++) {\n const numWitnessElements = Number(reader.readBigSize());\n const witnessElements: ScriptWitnessV0[] = [];\n for (let j = 0; j < numWitnessElements; j++) {\n // Read witness element directly: [bigsize:len][len*byte:witness]\n const witnessLength = Number(reader.readBigSize());\n const witnessBytes = reader.readBytes(witnessLength);\n\n const witness = new ScriptWitnessV0();\n witness.length = witnessLength;\n witness.witness = witnessBytes;\n witnessElements.push(witness);\n }\n instance.witnessElements.push(witnessElements);\n }\n\n return instance;\n }\n\n /**\n * The type for funding_signatures message. funding_signatures = 42776\n */\n public type = FundingSignatures.type;\n\n public length: bigint;\n\n public witnessElements: ScriptWitnessV0[][] = [];\n\n /**\n * Converts funding_signatures to JSON (canonical rust-dlc format)\n */\n public toJSON(): IFundingSignaturesJSON {\n return {\n fundingSignatures: this.witnessElements.map((witnessElement) => {\n return {\n witnessElements: witnessElement.map((witness) => witness.toJSON()),\n };\n }),\n };\n }\n\n /**\n * Serializes the funding_signatures message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n\n dataWriter.writeBigSize(this.witnessElements.length);\n\n for (const witnessElements of this.witnessElements) {\n dataWriter.writeBigSize(witnessElements.length);\n for (const witnessElement of witnessElements) {\n dataWriter.writeBytes(witnessElement.serialize());\n }\n }\n\n // writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IFundingSignaturesJSON {\n fundingSignatures: IFundingSignatureJSON[];\n}\n\nexport interface IFundingSignatureJSON {\n witnessElements: IScriptWitnessV0JSON[];\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7d2c638edaee152dabf2a0920ef144238ce79cc6","contentHash":"26261ede4ed87d1da297124fe1c4f1c353a20e8b5c3447ad13bc28f44828cbb5"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ScriptWitnessV0.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ScriptWitnessV0.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":17,"column":25},"end":{"line":17,"column":46}},"4":{"start":{"line":18,"column":23},"end":{"line":18,"column":52}},"5":{"start":{"line":19,"column":8},"end":{"line":19,"column":55}},"6":{"start":{"line":20,"column":8},"end":{"line":20,"column":61}},"7":{"start":{"line":21,"column":8},"end":{"line":21,"column":24}},"8":{"start":{"line":24,"column":23},"end":{"line":24,"column":51}},"9":{"start":{"line":25,"column":21},"end":{"line":25,"column":53}},"10":{"start":{"line":26,"column":23},"end":{"line":26,"column":49}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":36}},"12":{"start":{"line":28,"column":8},"end":{"line":28,"column":32}},"13":{"start":{"line":29,"column":8},"end":{"line":29,"column":33}},"14":{"start":{"line":35,"column":8},"end":{"line":37,"column":10}},"15":{"start":{"line":43,"column":23},"end":{"line":43,"column":49}},"16":{"start":{"line":44,"column":8},"end":{"line":44,"column":49}},"17":{"start":{"line":45,"column":8},"end":{"line":45,"column":40}},"18":{"start":{"line":46,"column":8},"end":{"line":46,"column":33}},"19":{"start":{"line":49,"column":0},"end":{"line":49,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":28},"end":{"line":22,"column":5}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":30},"end":{"line":30,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":13},"end":{"line":38,"column":5}},"line":34},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":16},"end":{"line":47,"column":5}},"line":42}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":43,"15":211,"16":211,"17":211,"18":211,"19":1},"f":{"0":0,"1":0,"2":43,"3":211},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ScriptWitnessV0.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/ScriptWitnessV0.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D;;;;;GAKG;AACH,MAAa,eAAe;IAC1B;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,MAAoB;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAMD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAElC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAlDD,0CAkDC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\n/**\n * ScriptWitness is the data for a witness element in a witness stack.\n * An empty witness_stack is an error, as every input must be Segwit.\n * Witness elements should not include their length as part of the witness\n * data.\n */\nexport class ScriptWitnessV0 {\n /**\n * Deserializes an script_witness_v0 message\n * @param buf\n */\n public static deserialize(buf: Buffer): ScriptWitnessV0 {\n const instance = new ScriptWitnessV0();\n const reader = new BufferReader(buf);\n\n instance.length = Number(reader.readBigSize());\n instance.witness = reader.readBytes(instance.length);\n\n return instance;\n }\n\n public static getWitness(reader: BufferReader): Buffer {\n const length = Number(reader.readBigSize());\n const body = reader.readBytes(Number(length));\n\n const writer = new BufferWriter();\n writer.writeBigSize(length);\n writer.writeBytes(body);\n\n return writer.toBuffer();\n }\n\n public length: number;\n\n public witness: Buffer;\n\n /**\n * Converts script_witness_v0 to JSON\n */\n public toJSON(): IScriptWitnessV0JSON {\n return {\n witness: this.witness.toString('hex'),\n };\n }\n\n /**\n * Serializes the script_witness_v0 message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n\n writer.writeBigSize(this.witness.length);\n writer.writeBytes(this.witness);\n\n return writer.toBuffer();\n }\n}\n\nexport interface IScriptWitnessV0JSON {\n witness: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"686720024f2e584397aa6e31c5ac0457eb3e2ad7","contentHash":"8e315442b3cb4ccb468c50d5a3a1bce01942a8e2b22192731770a6aef92aa910"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcOffer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcOffer.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"4":{"start":{"line":7,"column":18},"end":{"line":7,"column":46}},"5":{"start":{"line":8,"column":16},"end":{"line":8,"column":42}},"6":{"start":{"line":9,"column":17},"end":{"line":9,"column":44}},"7":{"start":{"line":10,"column":24},"end":{"line":10,"column":48}},"8":{"start":{"line":11,"column":20},"end":{"line":11,"column":57}},"9":{"start":{"line":12,"column":22},"end":{"line":12,"column":47}},"10":{"start":{"line":13,"column":25},"end":{"line":13,"column":63}},"11":{"start":{"line":14,"column":17},"end":{"line":14,"column":47}},"12":{"start":{"line":15,"column":15},"end":{"line":15,"column":33}},"13":{"start":{"line":16,"column":28},"end":{"line":16,"column":58}},"14":{"start":{"line":17,"column":23},"end":{"line":17,"column":48}},"15":{"start":{"line":18,"column":23},"end":{"line":18,"column":48}},"16":{"start":{"line":19,"column":23},"end":{"line":19,"column":48}},"17":{"start":{"line":20,"column":24},"end":{"line":20,"column":50}},"18":{"start":{"line":21,"column":28},"end":{"line":21,"column":58}},"19":{"start":{"line":22,"column":0},"end":{"line":22,"column":39}},"20":{"start":{"line":34,"column":8},"end":{"line":34,"column":34}},"21":{"start":{"line":36,"column":8},"end":{"line":36,"column":62}},"22":{"start":{"line":37,"column":8},"end":{"line":37,"column":32}},"23":{"start":{"line":42,"column":8},"end":{"line":42,"column":34}},"24":{"start":{"line":51,"column":25},"end":{"line":51,"column":39}},"25":{"start":{"line":53,"column":8},"end":{"line":54,"column":92}},"26":{"start":{"line":55,"column":8},"end":{"line":55,"column":103}},"27":{"start":{"line":56,"column":8},"end":{"line":56,"column":83}},"28":{"start":{"line":57,"column":8},"end":{"line":57,"column":114}},"29":{"start":{"line":58,"column":8},"end":{"line":58,"column":117}},"30":{"start":{"line":59,"column":8},"end":{"line":59,"column":101}},"31":{"start":{"line":61,"column":8},"end":{"line":61,"column":101}},"32":{"start":{"line":62,"column":8},"end":{"line":64,"column":35}},"33":{"start":{"line":65,"column":8},"end":{"line":65,"column":101}},"34":{"start":{"line":66,"column":8},"end":{"line":66,"column":101}},"35":{"start":{"line":67,"column":8},"end":{"line":67,"column":114}},"36":{"start":{"line":68,"column":8},"end":{"line":68,"column":96}},"37":{"start":{"line":69,"column":8},"end":{"line":69,"column":74}},"38":{"start":{"line":70,"column":8},"end":{"line":70,"column":83}},"39":{"start":{"line":72,"column":8},"end":{"line":72,"column":110}},"40":{"start":{"line":74,"column":8},"end":{"line":76,"column":81}},"41":{"start":{"line":76,"column":32},"end":{"line":76,"column":79}},"42":{"start":{"line":77,"column":8},"end":{"line":77,"column":24}},"43":{"start":{"line":85,"column":25},"end":{"line":85,"column":39}},"44":{"start":{"line":86,"column":23},"end":{"line":86,"column":52}},"45":{"start":{"line":87,"column":21},"end":{"line":87,"column":42}},"46":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"47":{"start":{"line":90,"column":12},"end":{"line":90,"column":113}},"48":{"start":{"line":95,"column":26},"end":{"line":95,"column":86}},"49":{"start":{"line":96,"column":40},"end":{"line":96,"column":65}},"50":{"start":{"line":97,"column":38},"end":{"line":97,"column":60}},"51":{"start":{"line":100,"column":28},"end":{"line":102,"column":39}},"52":{"start":{"line":103,"column":8},"end":{"line":112,"column":9}},"53":{"start":{"line":105,"column":12},"end":{"line":105,"column":61}},"54":{"start":{"line":106,"column":12},"end":{"line":106,"column":57}},"55":{"start":{"line":110,"column":12},"end":{"line":110,"column":41}},"56":{"start":{"line":111,"column":12},"end":{"line":111,"column":57}},"57":{"start":{"line":113,"column":8},"end":{"line":113,"column":50}},"58":{"start":{"line":114,"column":8},"end":{"line":114,"column":60}},"59":{"start":{"line":116,"column":8},"end":{"line":116,"column":113}},"60":{"start":{"line":118,"column":35},"end":{"line":118,"column":75}},"61":{"start":{"line":119,"column":8},"end":{"line":119,"column":46}},"62":{"start":{"line":120,"column":8},"end":{"line":120,"column":54}},"63":{"start":{"line":121,"column":29},"end":{"line":121,"column":50}},"64":{"start":{"line":122,"column":8},"end":{"line":122,"column":60}},"65":{"start":{"line":123,"column":8},"end":{"line":123,"column":56}},"66":{"start":{"line":124,"column":8},"end":{"line":124,"column":57}},"67":{"start":{"line":126,"column":33},"end":{"line":126,"column":61}},"68":{"start":{"line":127,"column":8},"end":{"line":134,"column":9}},"69":{"start":{"line":127,"column":21},"end":{"line":127,"column":22}},"70":{"start":{"line":129,"column":33},"end":{"line":129,"column":117}},"71":{"start":{"line":130,"column":12},"end":{"line":130,"column":54}},"72":{"start":{"line":132,"column":39},"end":{"line":132,"column":74}},"73":{"start":{"line":133,"column":12},"end":{"line":133,"column":50}},"74":{"start":{"line":135,"column":29},"end":{"line":135,"column":50}},"75":{"start":{"line":136,"column":8},"end":{"line":136,"column":60}},"76":{"start":{"line":137,"column":8},"end":{"line":137,"column":56}},"77":{"start":{"line":138,"column":8},"end":{"line":138,"column":60}},"78":{"start":{"line":139,"column":8},"end":{"line":139,"column":54}},"79":{"start":{"line":140,"column":8},"end":{"line":140,"column":53}},"80":{"start":{"line":141,"column":8},"end":{"line":141,"column":56}},"81":{"start":{"line":143,"column":8},"end":{"line":171,"column":9}},"82":{"start":{"line":144,"column":24},"end":{"line":144,"column":52}},"83":{"start":{"line":145,"column":30},"end":{"line":145,"column":59}},"84":{"start":{"line":146,"column":29},"end":{"line":146,"column":76}},"85":{"start":{"line":147,"column":12},"end":{"line":170,"column":13}},"86":{"start":{"line":149,"column":20},"end":{"line":149,"column":89}},"87":{"start":{"line":150,"column":20},"end":{"line":150,"column":26}},"88":{"start":{"line":152,"column":20},"end":{"line":152,"column":86}},"89":{"start":{"line":153,"column":20},"end":{"line":153,"column":26}},"90":{"start":{"line":155,"column":20},"end":{"line":155,"column":99}},"91":{"start":{"line":156,"column":20},"end":{"line":156,"column":26}},"92":{"start":{"line":158,"column":20},"end":{"line":160,"column":21}},"93":{"start":{"line":159,"column":24},"end":{"line":159,"column":57}},"94":{"start":{"line":161,"column":20},"end":{"line":161,"column":109}},"95":{"start":{"line":162,"column":20},"end":{"line":162,"column":26}},"96":{"start":{"line":165,"column":20},"end":{"line":167,"column":21}},"97":{"start":{"line":166,"column":24},"end":{"line":166,"column":50}},"98":{"start":{"line":168,"column":20},"end":{"line":168,"column":81}},"99":{"start":{"line":169,"column":20},"end":{"line":169,"column":26}},"100":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"101":{"start":{"line":174,"column":12},"end":{"line":174,"column":41}},"102":{"start":{"line":176,"column":8},"end":{"line":176,"column":24}},"103":{"start":{"line":183,"column":32},"end":{"line":183,"column":70}},"104":{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},"105":{"start":{"line":185,"column":12},"end":{"line":185,"column":151}},"106":{"start":{"line":187,"column":8},"end":{"line":187,"column":33}},"107":{"start":{"line":194,"column":8},"end":{"line":195,"column":77}},"108":{"start":{"line":203,"column":27},"end":{"line":205,"column":21}},"109":{"start":{"line":206,"column":31},"end":{"line":206,"column":92}},"110":{"start":{"line":207,"column":30},"end":{"line":207,"column":95}},"111":{"start":{"line":208,"column":30},"end":{"line":208,"column":95}},"112":{"start":{"line":209,"column":8},"end":{"line":213,"column":10}},"113":{"start":{"line":223,"column":8},"end":{"line":225,"column":9}},"114":{"start":{"line":224,"column":12},"end":{"line":224,"column":130}},"115":{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},"116":{"start":{"line":228,"column":12},"end":{"line":228,"column":68}},"117":{"start":{"line":233,"column":8},"end":{"line":238,"column":9}},"118":{"start":{"line":234,"column":12},"end":{"line":234,"column":69}},"119":{"start":{"line":237,"column":12},"end":{"line":237,"column":61}},"120":{"start":{"line":239,"column":8},"end":{"line":244,"column":9}},"121":{"start":{"line":240,"column":12},"end":{"line":240,"column":69}},"122":{"start":{"line":243,"column":12},"end":{"line":243,"column":61}},"123":{"start":{"line":247,"column":8},"end":{"line":254,"column":9}},"124":{"start":{"line":248,"column":12},"end":{"line":250,"column":13}},"125":{"start":{"line":249,"column":16},"end":{"line":249,"column":78}},"126":{"start":{"line":253,"column":12},"end":{"line":253,"column":74}},"127":{"start":{"line":256,"column":8},"end":{"line":258,"column":9}},"128":{"start":{"line":257,"column":12},"end":{"line":257,"column":86}},"129":{"start":{"line":259,"column":8},"end":{"line":261,"column":9}},"130":{"start":{"line":260,"column":12},"end":{"line":260,"column":79}},"131":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"132":{"start":{"line":263,"column":12},"end":{"line":263,"column":82}},"133":{"start":{"line":269,"column":8},"end":{"line":274,"column":9}},"134":{"start":{"line":273,"column":12},"end":{"line":273,"column":84}},"135":{"start":{"line":276,"column":8},"end":{"line":278,"column":9}},"136":{"start":{"line":277,"column":12},"end":{"line":277,"column":76}},"137":{"start":{"line":280,"column":31},"end":{"line":280,"column":85}},"138":{"start":{"line":280,"column":65},"end":{"line":280,"column":84}},"139":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"140":{"start":{"line":282,"column":12},"end":{"line":282,"column":61}},"141":{"start":{"line":285,"column":8},"end":{"line":287,"column":9}},"142":{"start":{"line":286,"column":12},"end":{"line":286,"column":87}},"143":{"start":{"line":289,"column":8},"end":{"line":289,"column":37}},"144":{"start":{"line":292,"column":8},"end":{"line":301,"column":9}},"145":{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},"146":{"start":{"line":294,"column":16},"end":{"line":294,"column":102}},"147":{"start":{"line":298,"column":12},"end":{"line":300,"column":13}},"148":{"start":{"line":299,"column":16},"end":{"line":299,"column":90}},"149":{"start":{"line":303,"column":30},"end":{"line":306,"column":21}},"150":{"start":{"line":304,"column":26},"end":{"line":304,"column":38}},"151":{"start":{"line":305,"column":12},"end":{"line":305,"column":75}},"152":{"start":{"line":307,"column":8},"end":{"line":318,"column":9}},"153":{"start":{"line":309,"column":12},"end":{"line":311,"column":13}},"154":{"start":{"line":310,"column":16},"end":{"line":310,"column":106}},"155":{"start":{"line":315,"column":12},"end":{"line":317,"column":13}},"156":{"start":{"line":316,"column":16},"end":{"line":316,"column":86}},"157":{"start":{"line":324,"column":21},"end":{"line":324,"column":23}},"158":{"start":{"line":325,"column":8},"end":{"line":326,"column":46}},"159":{"start":{"line":326,"column":12},"end":{"line":326,"column":46}},"160":{"start":{"line":327,"column":8},"end":{"line":328,"column":45}},"161":{"start":{"line":328,"column":12},"end":{"line":328,"column":45}},"162":{"start":{"line":329,"column":8},"end":{"line":330,"column":50}},"163":{"start":{"line":330,"column":12},"end":{"line":330,"column":50}},"164":{"start":{"line":331,"column":8},"end":{"line":332,"column":94}},"165":{"start":{"line":332,"column":12},"end":{"line":332,"column":94}},"166":{"start":{"line":332,"column":61},"end":{"line":332,"column":92}},"167":{"start":{"line":334,"column":8},"end":{"line":336,"column":9}},"168":{"start":{"line":335,"column":12},"end":{"line":335,"column":109}},"169":{"start":{"line":335,"column":46},"end":{"line":335,"column":107}},"170":{"start":{"line":338,"column":8},"end":{"line":355,"column":10}},"171":{"start":{"line":348,"column":61},"end":{"line":348,"column":75}},"172":{"start":{"line":362,"column":23},"end":{"line":362,"column":49}},"173":{"start":{"line":363,"column":8},"end":{"line":363,"column":40}},"174":{"start":{"line":365,"column":8},"end":{"line":365,"column":51}},"175":{"start":{"line":366,"column":8},"end":{"line":366,"column":46}},"176":{"start":{"line":367,"column":8},"end":{"line":367,"column":42}},"177":{"start":{"line":368,"column":8},"end":{"line":368,"column":52}},"178":{"start":{"line":369,"column":8},"end":{"line":369,"column":57}},"179":{"start":{"line":370,"column":8},"end":{"line":370,"column":46}},"180":{"start":{"line":371,"column":8},"end":{"line":371,"column":52}},"181":{"start":{"line":372,"column":8},"end":{"line":372,"column":42}},"182":{"start":{"line":373,"column":8},"end":{"line":373,"column":50}},"183":{"start":{"line":374,"column":8},"end":{"line":374,"column":51}},"184":{"start":{"line":376,"column":8},"end":{"line":376,"column":55}},"185":{"start":{"line":377,"column":8},"end":{"line":380,"column":9}},"186":{"start":{"line":379,"column":12},"end":{"line":379,"column":60}},"187":{"start":{"line":381,"column":8},"end":{"line":381,"column":52}},"188":{"start":{"line":382,"column":8},"end":{"line":382,"column":42}},"189":{"start":{"line":383,"column":8},"end":{"line":383,"column":50}},"190":{"start":{"line":384,"column":8},"end":{"line":384,"column":54}},"191":{"start":{"line":385,"column":8},"end":{"line":385,"column":48}},"192":{"start":{"line":386,"column":8},"end":{"line":386,"column":47}},"193":{"start":{"line":387,"column":8},"end":{"line":387,"column":50}},"194":{"start":{"line":389,"column":8},"end":{"line":390,"column":57}},"195":{"start":{"line":390,"column":12},"end":{"line":390,"column":57}},"196":{"start":{"line":391,"column":8},"end":{"line":392,"column":56}},"197":{"start":{"line":392,"column":12},"end":{"line":392,"column":56}},"198":{"start":{"line":393,"column":8},"end":{"line":394,"column":61}},"199":{"start":{"line":394,"column":12},"end":{"line":394,"column":61}},"200":{"start":{"line":395,"column":8},"end":{"line":396,"column":105}},"201":{"start":{"line":396,"column":12},"end":{"line":396,"column":105}},"202":{"start":{"line":396,"column":61},"end":{"line":396,"column":103}},"203":{"start":{"line":398,"column":8},"end":{"line":402,"column":9}},"204":{"start":{"line":399,"column":12},"end":{"line":401,"column":15}},"205":{"start":{"line":400,"column":16},"end":{"line":400,"column":44}},"206":{"start":{"line":403,"column":8},"end":{"line":403,"column":33}},"207":{"start":{"line":406,"column":0},"end":{"line":406,"column":28}},"208":{"start":{"line":407,"column":0},"end":{"line":407,"column":51}},"209":{"start":{"line":410,"column":8},"end":{"line":410,"column":25}},"210":{"start":{"line":417,"column":8},"end":{"line":417,"column":32}},"211":{"start":{"line":424,"column":8},"end":{"line":424,"column":27}},"212":{"start":{"line":431,"column":23},"end":{"line":431,"column":49}},"213":{"start":{"line":433,"column":8},"end":{"line":433,"column":48}},"214":{"start":{"line":435,"column":8},"end":{"line":440,"column":11}},"215":{"start":{"line":436,"column":36},"end":{"line":436,"column":53}},"216":{"start":{"line":438,"column":12},"end":{"line":438,"column":56}},"217":{"start":{"line":439,"column":12},"end":{"line":439,"column":47}},"218":{"start":{"line":441,"column":8},"end":{"line":441,"column":33}},"219":{"start":{"line":449,"column":23},"end":{"line":449,"column":52}},"220":{"start":{"line":450,"column":26},"end":{"line":450,"column":49}},"221":{"start":{"line":451,"column":28},"end":{"line":451,"column":48}},"222":{"start":{"line":452,"column":8},"end":{"line":458,"column":9}},"223":{"start":{"line":452,"column":21},"end":{"line":452,"column":22}},"224":{"start":{"line":454,"column":32},"end":{"line":454,"column":52}},"225":{"start":{"line":455,"column":29},"end":{"line":455,"column":66}},"226":{"start":{"line":456,"column":26},"end":{"line":456,"column":56}},"227":{"start":{"line":457,"column":12},"end":{"line":457,"column":38}},"228":{"start":{"line":459,"column":8},"end":{"line":459,"column":25}},"229":{"start":{"line":462,"column":0},"end":{"line":462,"column":46}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":18},"end":{"line":43,"column":5}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":26},"end":{"line":78,"column":5}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":76,"column":17},"end":{"line":76,"column":18}},"loc":{"start":{"line":76,"column":32},"end":{"line":76,"column":79}},"line":76},"4":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":4},"end":{"line":84,"column":5}},"loc":{"start":{"line":84,"column":28},"end":{"line":177,"column":5}},"line":84},"5":{"name":"(anonymous_5)","decl":{"start":{"line":182,"column":4},"end":{"line":182,"column":5}},"loc":{"start":{"line":182,"column":25},"end":{"line":188,"column":5}},"line":182},"6":{"name":"(anonymous_6)","decl":{"start":{"line":193,"column":4},"end":{"line":193,"column":5}},"loc":{"start":{"line":193,"column":21},"end":{"line":196,"column":5}},"line":193},"7":{"name":"(anonymous_7)","decl":{"start":{"line":202,"column":4},"end":{"line":202,"column":5}},"loc":{"start":{"line":202,"column":26},"end":{"line":214,"column":5}},"line":202},"8":{"name":"(anonymous_8)","decl":{"start":{"line":220,"column":4},"end":{"line":220,"column":5}},"loc":{"start":{"line":220,"column":15},"end":{"line":319,"column":5}},"line":220},"9":{"name":"(anonymous_9)","decl":{"start":{"line":280,"column":54},"end":{"line":280,"column":55}},"loc":{"start":{"line":280,"column":65},"end":{"line":280,"column":84}},"line":280},"10":{"name":"(anonymous_10)","decl":{"start":{"line":303,"column":56},"end":{"line":303,"column":57}},"loc":{"start":{"line":303,"column":79},"end":{"line":306,"column":9}},"line":303},"11":{"name":"(anonymous_11)","decl":{"start":{"line":323,"column":4},"end":{"line":323,"column":5}},"loc":{"start":{"line":323,"column":13},"end":{"line":356,"column":5}},"line":323},"12":{"name":"(anonymous_12)","decl":{"start":{"line":332,"column":44},"end":{"line":332,"column":45}},"loc":{"start":{"line":332,"column":61},"end":{"line":332,"column":92}},"line":332},"13":{"name":"(anonymous_13)","decl":{"start":{"line":335,"column":37},"end":{"line":335,"column":38}},"loc":{"start":{"line":335,"column":46},"end":{"line":335,"column":107}},"line":335},"14":{"name":"(anonymous_14)","decl":{"start":{"line":348,"column":50},"end":{"line":348,"column":51}},"loc":{"start":{"line":348,"column":61},"end":{"line":348,"column":75}},"line":348},"15":{"name":"(anonymous_15)","decl":{"start":{"line":361,"column":4},"end":{"line":361,"column":5}},"loc":{"start":{"line":361,"column":16},"end":{"line":404,"column":5}},"line":361},"16":{"name":"(anonymous_16)","decl":{"start":{"line":396,"column":44},"end":{"line":396,"column":45}},"loc":{"start":{"line":396,"column":61},"end":{"line":396,"column":103}},"line":396},"17":{"name":"(anonymous_17)","decl":{"start":{"line":399,"column":37},"end":{"line":399,"column":38}},"loc":{"start":{"line":399,"column":46},"end":{"line":401,"column":13}},"line":399},"18":{"name":"(anonymous_18)","decl":{"start":{"line":409,"column":4},"end":{"line":409,"column":5}},"loc":{"start":{"line":409,"column":18},"end":{"line":411,"column":5}},"line":409},"19":{"name":"(anonymous_19)","decl":{"start":{"line":416,"column":4},"end":{"line":416,"column":5}},"loc":{"start":{"line":416,"column":20},"end":{"line":418,"column":5}},"line":416},"20":{"name":"(anonymous_20)","decl":{"start":{"line":423,"column":4},"end":{"line":423,"column":5}},"loc":{"start":{"line":423,"column":16},"end":{"line":425,"column":5}},"line":423},"21":{"name":"(anonymous_21)","decl":{"start":{"line":430,"column":4},"end":{"line":430,"column":5}},"loc":{"start":{"line":430,"column":16},"end":{"line":442,"column":5}},"line":430},"22":{"name":"(anonymous_22)","decl":{"start":{"line":435,"column":28},"end":{"line":435,"column":29}},"loc":{"start":{"line":435,"column":39},"end":{"line":440,"column":9}},"line":435},"23":{"name":"(anonymous_23)","decl":{"start":{"line":448,"column":4},"end":{"line":448,"column":5}},"loc":{"start":{"line":448,"column":28},"end":{"line":460,"column":5}},"line":448}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":54,"column":12},"end":{"line":54,"column":91}},"type":"binary-expr","locations":[{"start":{"line":54,"column":12},"end":{"line":54,"column":32}},{"start":{"line":54,"column":36},"end":{"line":54,"column":57}},{"start":{"line":54,"column":61},"end":{"line":54,"column":91}}],"line":54},"4":{"loc":{"start":{"line":55,"column":45},"end":{"line":55,"column":94}},"type":"binary-expr","locations":[{"start":{"line":55,"column":45},"end":{"line":55,"column":63}},{"start":{"line":55,"column":67},"end":{"line":55,"column":86}},{"start":{"line":55,"column":90},"end":{"line":55,"column":94}}],"line":55},"5":{"loc":{"start":{"line":56,"column":41},"end":{"line":56,"column":74}},"type":"binary-expr","locations":[{"start":{"line":56,"column":41},"end":{"line":56,"column":55}},{"start":{"line":56,"column":59},"end":{"line":56,"column":74}}],"line":56},"6":{"loc":{"start":{"line":57,"column":51},"end":{"line":57,"column":105}},"type":"binary-expr","locations":[{"start":{"line":57,"column":51},"end":{"line":57,"column":75}},{"start":{"line":57,"column":79},"end":{"line":57,"column":105}}],"line":57},"7":{"loc":{"start":{"line":58,"column":45},"end":{"line":58,"column":108}},"type":"binary-expr","locations":[{"start":{"line":58,"column":45},"end":{"line":58,"column":63}},{"start":{"line":58,"column":67},"end":{"line":58,"column":85}},{"start":{"line":58,"column":89},"end":{"line":58,"column":108}}],"line":58},"8":{"loc":{"start":{"line":59,"column":41},"end":{"line":59,"column":92}},"type":"binary-expr","locations":[{"start":{"line":59,"column":41},"end":{"line":59,"column":55}},{"start":{"line":59,"column":59},"end":{"line":59,"column":73}},{"start":{"line":59,"column":77},"end":{"line":59,"column":92}}],"line":59},"9":{"loc":{"start":{"line":61,"column":55},"end":{"line":61,"column":99}},"type":"binary-expr","locations":[{"start":{"line":61,"column":55},"end":{"line":61,"column":74}},{"start":{"line":61,"column":78},"end":{"line":61,"column":99}}],"line":61},"10":{"loc":{"start":{"line":62,"column":56},"end":{"line":64,"column":33}},"type":"binary-expr","locations":[{"start":{"line":62,"column":56},"end":{"line":62,"column":76}},{"start":{"line":63,"column":12},"end":{"line":63,"column":40}},{"start":{"line":64,"column":12},"end":{"line":64,"column":33}}],"line":62},"11":{"loc":{"start":{"line":65,"column":41},"end":{"line":65,"column":92}},"type":"binary-expr","locations":[{"start":{"line":65,"column":41},"end":{"line":65,"column":55}},{"start":{"line":65,"column":59},"end":{"line":65,"column":73}},{"start":{"line":65,"column":77},"end":{"line":65,"column":92}}],"line":65},"12":{"loc":{"start":{"line":66,"column":55},"end":{"line":66,"column":99}},"type":"binary-expr","locations":[{"start":{"line":66,"column":55},"end":{"line":66,"column":74}},{"start":{"line":66,"column":78},"end":{"line":66,"column":99}}],"line":66},"13":{"loc":{"start":{"line":67,"column":59},"end":{"line":67,"column":112}},"type":"binary-expr","locations":[{"start":{"line":67,"column":59},"end":{"line":67,"column":82}},{"start":{"line":67,"column":86},"end":{"line":67,"column":112}}],"line":67},"14":{"loc":{"start":{"line":68,"column":53},"end":{"line":68,"column":94}},"type":"binary-expr","locations":[{"start":{"line":68,"column":53},"end":{"line":68,"column":70}},{"start":{"line":68,"column":74},"end":{"line":68,"column":94}}],"line":68},"15":{"loc":{"start":{"line":69,"column":31},"end":{"line":69,"column":73}},"type":"binary-expr","locations":[{"start":{"line":69,"column":31},"end":{"line":69,"column":47}},{"start":{"line":69,"column":51},"end":{"line":69,"column":68}},{"start":{"line":69,"column":72},"end":{"line":69,"column":73}}],"line":69},"16":{"loc":{"start":{"line":70,"column":34},"end":{"line":70,"column":82}},"type":"binary-expr","locations":[{"start":{"line":70,"column":34},"end":{"line":70,"column":53}},{"start":{"line":70,"column":57},"end":{"line":70,"column":77}},{"start":{"line":70,"column":81},"end":{"line":70,"column":82}}],"line":70},"17":{"loc":{"start":{"line":72,"column":69},"end":{"line":72,"column":108}},"type":"binary-expr","locations":[{"start":{"line":72,"column":69},"end":{"line":72,"column":86}},{"start":{"line":72,"column":90},"end":{"line":72,"column":108}}],"line":72},"18":{"loc":{"start":{"line":74,"column":34},"end":{"line":74,"column":81}},"type":"binary-expr","locations":[{"start":{"line":74,"column":34},"end":{"line":74,"column":52}},{"start":{"line":74,"column":56},"end":{"line":74,"column":75}},{"start":{"line":74,"column":79},"end":{"line":74,"column":81}}],"line":74},"19":{"loc":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"type":"if","locations":[{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},{"start":{"line":89,"column":8},"end":{"line":91,"column":9}}],"line":89},"20":{"loc":{"start":{"line":100,"column":28},"end":{"line":102,"column":39}},"type":"binary-expr","locations":[{"start":{"line":100,"column":28},"end":{"line":100,"column":56}},{"start":{"line":101,"column":12},"end":{"line":101,"column":41}},{"start":{"line":102,"column":12},"end":{"line":102,"column":39}}],"line":100},"21":{"loc":{"start":{"line":103,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":103,"column":8},"end":{"line":112,"column":9}},{"start":{"line":103,"column":8},"end":{"line":112,"column":9}}],"line":103},"22":{"loc":{"start":{"line":147,"column":12},"end":{"line":170,"column":13}},"type":"switch","locations":[{"start":{"line":148,"column":16},"end":{"line":150,"column":26}},{"start":{"line":151,"column":16},"end":{"line":153,"column":26}},{"start":{"line":154,"column":16},"end":{"line":156,"column":26}},{"start":{"line":157,"column":16},"end":{"line":162,"column":26}},{"start":{"line":163,"column":16},"end":{"line":169,"column":26}}],"line":147},"23":{"loc":{"start":{"line":158,"column":20},"end":{"line":160,"column":21}},"type":"if","locations":[{"start":{"line":158,"column":20},"end":{"line":160,"column":21}},{"start":{"line":158,"column":20},"end":{"line":160,"column":21}}],"line":158},"24":{"loc":{"start":{"line":165,"column":20},"end":{"line":167,"column":21}},"type":"if","locations":[{"start":{"line":165,"column":20},"end":{"line":167,"column":21}},{"start":{"line":165,"column":20},"end":{"line":167,"column":21}}],"line":165},"25":{"loc":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},{"start":{"line":173,"column":8},"end":{"line":175,"column":9}}],"line":173},"26":{"loc":{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},"type":"if","locations":[{"start":{"line":184,"column":8},"end":{"line":186,"column":9}},{"start":{"line":184,"column":8},"end":{"line":186,"column":9}}],"line":184},"27":{"loc":{"start":{"line":194,"column":16},"end":{"line":195,"column":75}},"type":"binary-expr","locations":[{"start":{"line":194,"column":16},"end":{"line":194,"column":33}},{"start":{"line":195,"column":12},"end":{"line":195,"column":75}}],"line":194},"28":{"loc":{"start":{"line":223,"column":8},"end":{"line":225,"column":9}},"type":"if","locations":[{"start":{"line":223,"column":8},"end":{"line":225,"column":9}},{"start":{"line":223,"column":8},"end":{"line":225,"column":9}}],"line":223},"29":{"loc":{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},"type":"if","locations":[{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},{"start":{"line":227,"column":8},"end":{"line":229,"column":9}}],"line":227},"30":{"loc":{"start":{"line":227,"column":12},"end":{"line":227,"column":79}},"type":"binary-expr","locations":[{"start":{"line":227,"column":12},"end":{"line":227,"column":37}},{"start":{"line":227,"column":41},"end":{"line":227,"column":79}}],"line":227},"31":{"loc":{"start":{"line":247,"column":8},"end":{"line":254,"column":9}},"type":"if","locations":[{"start":{"line":247,"column":8},"end":{"line":254,"column":9}},{"start":{"line":247,"column":8},"end":{"line":254,"column":9}}],"line":247},"32":{"loc":{"start":{"line":248,"column":12},"end":{"line":250,"column":13}},"type":"if","locations":[{"start":{"line":248,"column":12},"end":{"line":250,"column":13}},{"start":{"line":248,"column":12},"end":{"line":250,"column":13}}],"line":248},"33":{"loc":{"start":{"line":248,"column":16},"end":{"line":248,"column":78}},"type":"binary-expr","locations":[{"start":{"line":248,"column":16},"end":{"line":248,"column":45}},{"start":{"line":248,"column":49},"end":{"line":248,"column":78}}],"line":248},"34":{"loc":{"start":{"line":256,"column":8},"end":{"line":258,"column":9}},"type":"if","locations":[{"start":{"line":256,"column":8},"end":{"line":258,"column":9}},{"start":{"line":256,"column":8},"end":{"line":258,"column":9}}],"line":256},"35":{"loc":{"start":{"line":259,"column":8},"end":{"line":261,"column":9}},"type":"if","locations":[{"start":{"line":259,"column":8},"end":{"line":261,"column":9}},{"start":{"line":259,"column":8},"end":{"line":261,"column":9}}],"line":259},"36":{"loc":{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},"type":"if","locations":[{"start":{"line":262,"column":8},"end":{"line":264,"column":9}},{"start":{"line":262,"column":8},"end":{"line":264,"column":9}}],"line":262},"37":{"loc":{"start":{"line":269,"column":8},"end":{"line":274,"column":9}},"type":"if","locations":[{"start":{"line":269,"column":8},"end":{"line":274,"column":9}},{"start":{"line":269,"column":8},"end":{"line":274,"column":9}}],"line":269},"38":{"loc":{"start":{"line":269,"column":14},"end":{"line":272,"column":66}},"type":"binary-expr","locations":[{"start":{"line":269,"column":15},"end":{"line":269,"column":60}},{"start":{"line":270,"column":12},"end":{"line":270,"column":60}},{"start":{"line":271,"column":13},"end":{"line":271,"column":59}},{"start":{"line":272,"column":16},"end":{"line":272,"column":65}}],"line":269},"39":{"loc":{"start":{"line":276,"column":8},"end":{"line":278,"column":9}},"type":"if","locations":[{"start":{"line":276,"column":8},"end":{"line":278,"column":9}},{"start":{"line":276,"column":8},"end":{"line":278,"column":9}}],"line":276},"40":{"loc":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},{"start":{"line":281,"column":8},"end":{"line":283,"column":9}}],"line":281},"41":{"loc":{"start":{"line":285,"column":8},"end":{"line":287,"column":9}},"type":"if","locations":[{"start":{"line":285,"column":8},"end":{"line":287,"column":9}},{"start":{"line":285,"column":8},"end":{"line":287,"column":9}}],"line":285},"42":{"loc":{"start":{"line":292,"column":8},"end":{"line":301,"column":9}},"type":"if","locations":[{"start":{"line":292,"column":8},"end":{"line":301,"column":9}},{"start":{"line":292,"column":8},"end":{"line":301,"column":9}}],"line":292},"43":{"loc":{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},"type":"if","locations":[{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},{"start":{"line":293,"column":12},"end":{"line":295,"column":13}}],"line":293},"44":{"loc":{"start":{"line":298,"column":12},"end":{"line":300,"column":13}},"type":"if","locations":[{"start":{"line":298,"column":12},"end":{"line":300,"column":13}},{"start":{"line":298,"column":12},"end":{"line":300,"column":13}}],"line":298},"45":{"loc":{"start":{"line":307,"column":8},"end":{"line":318,"column":9}},"type":"if","locations":[{"start":{"line":307,"column":8},"end":{"line":318,"column":9}},{"start":{"line":307,"column":8},"end":{"line":318,"column":9}}],"line":307},"46":{"loc":{"start":{"line":309,"column":12},"end":{"line":311,"column":13}},"type":"if","locations":[{"start":{"line":309,"column":12},"end":{"line":311,"column":13}},{"start":{"line":309,"column":12},"end":{"line":311,"column":13}}],"line":309},"47":{"loc":{"start":{"line":315,"column":12},"end":{"line":317,"column":13}},"type":"if","locations":[{"start":{"line":315,"column":12},"end":{"line":317,"column":13}},{"start":{"line":315,"column":12},"end":{"line":317,"column":13}}],"line":315},"48":{"loc":{"start":{"line":325,"column":8},"end":{"line":326,"column":46}},"type":"if","locations":[{"start":{"line":325,"column":8},"end":{"line":326,"column":46}},{"start":{"line":325,"column":8},"end":{"line":326,"column":46}}],"line":325},"49":{"loc":{"start":{"line":327,"column":8},"end":{"line":328,"column":45}},"type":"if","locations":[{"start":{"line":327,"column":8},"end":{"line":328,"column":45}},{"start":{"line":327,"column":8},"end":{"line":328,"column":45}}],"line":327},"50":{"loc":{"start":{"line":329,"column":8},"end":{"line":330,"column":50}},"type":"if","locations":[{"start":{"line":329,"column":8},"end":{"line":330,"column":50}},{"start":{"line":329,"column":8},"end":{"line":330,"column":50}}],"line":329},"51":{"loc":{"start":{"line":331,"column":8},"end":{"line":332,"column":94}},"type":"if","locations":[{"start":{"line":331,"column":8},"end":{"line":332,"column":94}},{"start":{"line":331,"column":8},"end":{"line":332,"column":94}}],"line":331},"52":{"loc":{"start":{"line":334,"column":8},"end":{"line":336,"column":9}},"type":"if","locations":[{"start":{"line":334,"column":8},"end":{"line":336,"column":9}},{"start":{"line":334,"column":8},"end":{"line":336,"column":9}}],"line":334},"53":{"loc":{"start":{"line":389,"column":8},"end":{"line":390,"column":57}},"type":"if","locations":[{"start":{"line":389,"column":8},"end":{"line":390,"column":57}},{"start":{"line":389,"column":8},"end":{"line":390,"column":57}}],"line":389},"54":{"loc":{"start":{"line":391,"column":8},"end":{"line":392,"column":56}},"type":"if","locations":[{"start":{"line":391,"column":8},"end":{"line":392,"column":56}},{"start":{"line":391,"column":8},"end":{"line":392,"column":56}}],"line":391},"55":{"loc":{"start":{"line":393,"column":8},"end":{"line":394,"column":61}},"type":"if","locations":[{"start":{"line":393,"column":8},"end":{"line":394,"column":61}},{"start":{"line":393,"column":8},"end":{"line":394,"column":61}}],"line":393},"56":{"loc":{"start":{"line":395,"column":8},"end":{"line":396,"column":105}},"type":"if","locations":[{"start":{"line":395,"column":8},"end":{"line":396,"column":105}},{"start":{"line":395,"column":8},"end":{"line":396,"column":105}}],"line":395},"57":{"loc":{"start":{"line":398,"column":8},"end":{"line":402,"column":9}},"type":"if","locations":[{"start":{"line":398,"column":8},"end":{"line":402,"column":9}},{"start":{"line":398,"column":8},"end":{"line":402,"column":9}}],"line":398}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":120,"21":120,"22":120,"23":120,"24":30,"25":30,"26":30,"27":30,"28":30,"29":30,"30":30,"31":30,"32":30,"33":30,"34":30,"35":30,"36":30,"37":30,"38":30,"39":30,"40":30,"41":30,"42":30,"43":52,"44":52,"45":52,"46":52,"47":1,"48":51,"49":51,"50":51,"51":51,"52":51,"53":51,"54":51,"55":0,"56":0,"57":51,"58":51,"59":51,"60":51,"61":51,"62":51,"63":51,"64":51,"65":51,"66":51,"67":51,"68":51,"69":51,"70":51,"71":51,"72":51,"73":51,"74":51,"75":51,"76":51,"77":51,"78":51,"79":51,"80":51,"81":51,"82":5,"83":5,"84":5,"85":5,"86":1,"87":1,"88":1,"89":1,"90":2,"91":2,"92":1,"93":1,"94":1,"95":1,"96":0,"97":0,"98":0,"99":0,"100":51,"101":1,"102":51,"103":6,"104":6,"105":1,"106":5,"107":18,"108":1,"109":1,"110":1,"111":1,"112":1,"113":21,"114":1,"115":20,"116":1,"117":19,"118":19,"119":1,"120":18,"121":18,"122":1,"123":17,"124":16,"125":1,"126":1,"127":15,"128":1,"129":14,"130":1,"131":13,"132":1,"133":12,"134":1,"135":11,"136":2,"137":9,"138":10,"139":9,"140":1,"141":8,"142":1,"143":7,"144":7,"145":3,"146":0,"147":4,"148":1,"149":6,"150":6,"151":6,"152":6,"153":3,"154":1,"155":3,"156":0,"157":19,"158":19,"159":2,"160":19,"161":2,"162":19,"163":2,"164":19,"165":2,"166":2,"167":19,"168":0,"169":0,"170":19,"171":19,"172":74,"173":74,"174":74,"175":74,"176":74,"177":74,"178":74,"179":74,"180":74,"181":74,"182":74,"183":74,"184":74,"185":74,"186":74,"187":74,"188":74,"189":74,"190":74,"191":74,"192":74,"193":74,"194":74,"195":1,"196":74,"197":1,"198":74,"199":3,"200":74,"201":1,"202":1,"203":74,"204":0,"205":0,"206":74,"207":1,"208":1,"209":2,"210":4,"211":0,"212":3,"213":3,"214":3,"215":6,"216":6,"217":6,"218":3,"219":1,"220":1,"221":1,"222":1,"223":1,"224":2,"225":2,"226":2,"227":2,"228":1,"229":1},"f":{"0":1,"1":120,"2":30,"3":30,"4":52,"5":6,"6":18,"7":1,"8":21,"9":10,"10":6,"11":19,"12":2,"13":0,"14":19,"15":74,"16":1,"17":0,"18":2,"19":4,"20":0,"21":3,"22":6,"23":1},"b":{"0":[1,1,1],"1":[0,1],"2":[1,1],"3":[30,0,0],"4":[30,30,30],"5":[30,0],"6":[30,0],"7":[30,0,0],"8":[30,0,0],"9":[30,0],"10":[30,0,0],"11":[30,0,0],"12":[30,0],"13":[30,0],"14":[30,0],"15":[30,0,0],"16":[30,0,0],"17":[30,0],"18":[30,0,0],"19":[1,51],"20":[51,51,51],"21":[51,0],"22":[1,1,2,1,0],"23":[1,0],"24":[0,0],"25":[1,50],"26":[1,5],"27":[18,10],"28":[1,20],"29":[1,19],"30":[20,20],"31":[16,1],"32":[1,15],"33":[16,16],"34":[1,14],"35":[1,13],"36":[1,12],"37":[1,11],"38":[12,11,2,1],"39":[2,9],"40":[1,8],"41":[1,7],"42":[3,4],"43":[0,3],"44":[1,3],"45":[3,3],"46":[1,2],"47":[0,3],"48":[2,17],"49":[2,17],"50":[2,17],"51":[2,17],"52":[0,19],"53":[1,73],"54":[1,73],"55":[3,71],"56":[1,73],"57":[0,74]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcOffer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcOffer.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA2C;AAC3C,2CAA6D;AAC7D,6CAA2C;AAE3C,iDAAwC;AACxC,0DAAkC;AAElC,gDAA+D;AAC/D,gEAA6D;AAC7D,gDAA6C;AAC7C,kCAAmD;AACnD,2DAAgF;AAChF,iDAIwB;AAExB,iDAAiE;AACjE,iDAIwB;AACxB,mDAIyB;AACzB,2DAAgF;AAEnE,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAE5C;;;;;GAKG;AACH,MAAa,QAAQ;IAArB;QAuME;;WAEG;QACI,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE5B,qCAAqC;QAC9B,oBAAe,GAAW,8BAAgB,CAAC,CAAC,sCAAsC;QAmBlF,kBAAa,GAAmB,EAAE,CAAC;QAyB1C;;;WAGG;QACI,iBAAY,GAAG,KAAK,CAAC;IAyR9B,CAAC;IAnhBC;;;;OAIG;IACH,iHAAiH;IAC1G,MAAM,CAAC,QAAQ,CAAC,IAAS;QAC9B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,0CAA0C;QAC1C,QAAQ,CAAC,eAAe;YACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,IAAI,8BAAgB,CAAC;QACpE,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAClC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EACjD,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC3E,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CACxC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,qBAAqB,EACtD,KAAK,CACN,CAAC;QAEF,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAClC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAC/D,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAC9B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EACnD,KAAK,CACN,CAAC;QAEF,+DAA+D;QAC/D,QAAQ,CAAC,cAAc,GAAG,IAAA,eAAQ,EAChC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAC7C,CAAC;QAEF,QAAQ,CAAC,eAAe,GAAG,IAAA,eAAQ,EACjC,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,uBAAuB;YAC5B,IAAI,CAAC,gBAAgB,CACxB,CAAC;QAEF,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAC9B,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EACnD,KAAK,CACN,CAAC;QACF,QAAQ,CAAC,cAAc,GAAG,IAAA,eAAQ,EAChC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAC7C,CAAC;QACF,QAAQ,CAAC,kBAAkB,GAAG,IAAA,eAAQ,EACpC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,qBAAqB,CACtD,CAAC;QACF,QAAQ,CAAC,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5E,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QAClE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAE3E,kDAAkD;QAClD,QAAQ,CAAC,YAAY,GAAG,2BAAY,CAAC,QAAQ,CAC3C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CACxC,CAAC;QAEF,yEAAyE;QACzE,QAAQ,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YACxE,8DAA8D;aAC7D,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,2BAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAE7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QAEhD,+CAA+C;QAC/C,IAAI,IAAI,KAAK,yBAAW,CAAC,QAAQ,EAAE;YACjC,MAAM,IAAI,KAAK,CACb,kCAAkC,yBAAW,CAAC,QAAQ,SAAS,IAAI,EAAE,CACtE,CAAC;SACH;QAED,mDAAmD;QACnD,8FAA8F;QAC9F,mEAAmE;QAEnE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CACtC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,GAAG,CAAC,CACpB,CAAC;QACF,MAAM,uBAAuB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,qBAAqB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAErD,sEAAsE;QACtE,gGAAgG;QAChG,MAAM,WAAW,GACf,uBAAuB,IAAI,CAAC;YAC5B,uBAAuB,IAAI,EAAE;YAC7B,qBAAqB,KAAK,CAAC,CAAC;QAE9B,IAAI,WAAW,EAAE;YACf,mCAAmC;YACnC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YACjD,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC9C;aAAM;YACL,sCAAsC;YACtC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,uBAAuB;YACrD,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC9C;QAED,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC1C,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEpD,wEAAwE;QACxE,QAAQ,CAAC,YAAY,GAAG,2BAAY,CAAC,WAAW,CAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;QACF,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;QACpE,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC;QACtC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAChD,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEjD,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,kFAAkF;YAClF,MAAM,YAAY,GAAG,2BAAY,CAAC,eAAe,CAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxC,CAAC;YACF,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,0CAA0C;YAC1C,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC/D,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC;SACvC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAChD,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACpD,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEhD,2CAA2C;QAC3C,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YAClB,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAc,EAAC,SAAS,CAAC,CAAC;YAE3C,QAAQ,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpB,KAAK,yBAAW,CAAC,eAAe;oBAC9B,QAAQ,CAAC,QAAQ,GAAG,+BAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACrD,MAAM;gBACR,KAAK,yBAAW,CAAC,cAAc;oBAC7B,QAAQ,CAAC,OAAO,GAAG,6BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,yBAAW,CAAC,iBAAiB;oBAChC,QAAQ,CAAC,YAAY,GAAG,qCAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,yBAAW,CAAC,iBAAiB;oBAChC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;wBAChC,QAAQ,CAAC,kBAAkB,GAAG,EAAE,CAAC;qBAClC;oBACD,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,qCAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACR;oBACE,8CAA8C;oBAC9C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;wBACzB,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;qBAC3B;oBACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7D,MAAM;aACT;SACF;QAED,iCAAiC;QACjC,IACE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,QAAQ,CAAC,eAAe,EACvE;YACA,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;SAC9B;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IA0DD;;;OAGG;IACI,kBAAkB;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC/D,IAAI,eAAe,KAAK,IAAI,CAAC,eAAe,EAAE;YAC5C,MAAM,IAAI,KAAK,CACb,kDAAkD,eAAe,iCAAiC,IAAI,CAAC,eAAe,GAAG,CAC1H,CAAC;SACH;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,CACL,IAAI,CAAC,YAAY;YACjB,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,eAAe,CAChE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,OAAuB;QACzC,MAAM,UAAU,GAAG,gBAAM,CAAC,UAAU,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC9D,SAAS,EAAE;aACX,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,MAAM,cAAc,GAAG,uBAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO;YACL,cAAc;YACd,aAAa;YACb,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACb,wCAAwC;QACxC,iCAAiC;QACjC,IAAI,IAAI,CAAC,eAAe,KAAK,8BAAgB,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,eAAe,eAAe,8BAAgB,EAAE,CACvF,CAAC;SACH;QAED,sCAAsC;QACtC,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,KAAK,EAAE,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,qCAAqC;QACrC,uDAAuD;QACvD,+DAA+D;QAE/D,IAAI;YACF,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,IAAI;YACF,uBAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,0EAA0E;QAC1E,gGAAgG;QAEhG,IAAI,mBAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;YAC9D,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,4DAA4D;QAC5D,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;SAC3E;QAED,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QAED,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QAED,qGAAqG;QACrG,uCAAuC;QACvC,wFAAwF;QACxF,yEAAyE;QACzE,IACE,CAAC,CACC,CAAC,IAAI,CAAC,WAAW,GAAG,0BAAkB;YACpC,IAAI,CAAC,cAAc,GAAG,0BAAkB,CAAC;YAC3C,CAAC,IAAI,CAAC,WAAW,IAAI,0BAAkB;gBACrC,IAAI,CAAC,cAAc,IAAI,0BAAkB,CAAC,CAC7C,EACD;YACA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,kDAAkD;QAElD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC3C,CAAC,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAC7C,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE;YAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,8DAA8D;QAE9D,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACnD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;SACH;QAED,wBAAwB;QACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE7B,mEAAmE;QACnE,mFAAmF;QACnF,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,eAAe,EAAE;gBACnE,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;aACH;SACF;aAAM;YACL,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE;gBAClE,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;aACH;SACF;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACpE,MAAM,KAAK,GAAG,YAA4B,CAAC;YAC3C,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QACjE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEd,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,wFAAwF;YACxF,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE;gBAC1D,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;aACH;SACF;aAAM;YACL,yEAAyE;YACzE,IAAI,IAAI,CAAC,eAAe,IAAI,aAAa,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;aACvE;SACF;IACH,CAAC;IAED;;OAEG;IACI,MAAM;QACX,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,kBAAkB;YACzB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAChC,CAAC;QAEJ,qCAAqC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAC9D,CAAC;SACH;QAED,wCAAwC;QACxC,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7D,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,cAAc,CAAC;YACnD,eAAe,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,eAAe,CAAC;YACrD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,cAAc,CAAC;YACnD,kBAAkB,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,kBAAkB,CAAC;YAC3D,YAAY,EAAE,IAAA,qBAAc,EAAC,IAAI,CAAC,YAAY,CAAC;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC,6CAA6C;IAClD,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,qCAAqC;QACrC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY;QAEzD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3C,sDAAsD;QACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE/C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,4GAA4G;YAC5G,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;SACjD;QAED,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1C,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY;YAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,kBAAkB;YACzB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9C,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAC3C,CAAC;QAEJ,+CAA+C;QAC/C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AArhBH,4BAshBC;AArhBe,aAAI,GAAG,yBAAW,CAAC,QAAQ,CAAC;AAyjB5C,MAAa,iBAAiB;IAA9B;QACU,WAAM,GAAe,EAAE,CAAC;IAsDlC,CAAC;IApDC;;;OAGG;IACI,QAAQ,CAAC,KAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,qDAAqD;QACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,qCAAqC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1C,mFAAmF;YACnF,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YACpC,8FAA8F;YAC9F,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAvDD,8CAuDC","sourcesContent":["import { Script } from '@node-dlc/bitcoin';\nimport { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { hash160 } from '@node-dlc/crypto';\nimport { BitcoinNetwork } from 'bitcoin-networks';\nimport { address } from 'bitcoinjs-lib';\nimport secp256k1 from 'secp256k1';\n\nimport { MessageType, PROTOCOL_VERSION } from '../MessageType';\nimport { deserializeTlv } from '../serialize/deserializeTlv';\nimport { getTlv } from '../serialize/getTlv';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { BatchFundingGroup, IBatchFundingGroupJSON } from './BatchFundingGroup';\nimport {\n ContractInfo,\n IDisjointContractInfoJSON,\n ISingleContractInfoJSON,\n} from './ContractInfo';\nimport { IDlcMessage } from './DlcMessage';\nimport { FundingInput, IFundingInputJSON } from './FundingInput';\nimport {\n IOrderIrcInfoJSON,\n OrderIrcInfo,\n OrderIrcInfoV0,\n} from './OrderIrcInfo';\nimport {\n IOrderMetadataJSON,\n OrderMetadata,\n OrderMetadataV0,\n} from './OrderMetadata';\nimport { IOrderPositionInfoJSON, OrderPositionInfo } from './OrderPositionInfo';\n\nexport const LOCKTIME_THRESHOLD = 500000000;\n\n/**\n * DlcOffer message contains information about a node and indicates its\n * desire to enter into a new contract. This is the first step toward\n * creating the funding transaction and CETs.\n * Updated to support dlcspecs PR #163 format.\n */\nexport class DlcOffer implements IDlcMessage {\n public static type = MessageType.DlcOffer;\n\n /**\n * Creates a DlcOffer from JSON data (e.g., from test vectors)\n * Handles both our internal format and external test vector formats\n * @param json JSON object representing a DLC offer\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DlcOffer {\n const instance = new DlcOffer();\n\n // Basic fields with field name variations\n instance.protocolVersion =\n json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;\n instance.contractFlags = Buffer.from(\n json.contractFlags || json.contract_flags || '00',\n 'hex',\n );\n instance.chainHash = Buffer.from(json.chainHash || json.chain_hash, 'hex');\n instance.temporaryContractId = Buffer.from(\n json.temporaryContractId || json.temporary_contract_id,\n 'hex',\n );\n\n instance.fundingPubkey = Buffer.from(\n json.fundingPubkey || json.fundingPubKey || json.funding_pubkey,\n 'hex',\n );\n instance.payoutSpk = Buffer.from(\n json.payoutSpk || json.payoutSPK || json.payout_spk,\n 'hex',\n );\n\n // Use toBigInt helper to handle BigInt values from json-bigint\n instance.payoutSerialId = toBigInt(\n json.payoutSerialId || json.payout_serial_id,\n );\n\n instance.offerCollateral = toBigInt(\n json.offerCollateral ||\n json.offerCollateralSatoshis ||\n json.offer_collateral,\n );\n\n instance.changeSpk = Buffer.from(\n json.changeSpk || json.changeSPK || json.change_spk,\n 'hex',\n );\n instance.changeSerialId = toBigInt(\n json.changeSerialId || json.change_serial_id,\n );\n instance.fundOutputSerialId = toBigInt(\n json.fundOutputSerialId || json.fund_output_serial_id,\n );\n instance.feeRatePerVb = toBigInt(json.feeRatePerVb || json.fee_rate_per_vb);\n instance.cetLocktime = json.cetLocktime || json.cet_locktime || 0;\n instance.refundLocktime = json.refundLocktime || json.refund_locktime || 0;\n\n // Use ContractInfo.fromJSON() - proper delegation\n instance.contractInfo = ContractInfo.fromJSON(\n json.contractInfo || json.contract_info,\n );\n\n // Use FundingInput.fromJSON() for each funding input - proper delegation\n instance.fundingInputs = (json.fundingInputs || json.funding_inputs || [])\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .map((inputJson: any) => FundingInput.fromJSON(inputJson));\n\n return instance;\n }\n\n /**\n * Deserializes an offer_dlc message with backward compatibility\n * Detects old format (without protocol_version) vs new format (with protocol_version)\n * @param buf\n */\n public static deserialize(buf: Buffer): DlcOffer {\n const instance = new DlcOffer();\n const reader = new BufferReader(buf);\n\n const type = reader.readUInt16BE(); // read type\n\n // Validate type matches expected DlcOffer type\n if (type !== MessageType.DlcOffer) {\n throw new Error(\n `Invalid message type. Expected ${MessageType.DlcOffer}, got ${type}`,\n );\n }\n\n // BACKWARD COMPATIBILITY: Detect old vs new format\n // New format: [type][protocol_version: 4 bytes][contract_flags: 1 byte][chain_hash: 32 bytes]\n // Old format: [type][contract_flags: 1 byte][chain_hash: 32 bytes]\n\n const nextBytes = reader.buffer.subarray(\n reader.position,\n reader.position + 5,\n );\n const possibleProtocolVersion = nextBytes.readUInt32BE(0);\n const possibleContractFlags = nextBytes.readUInt8(4);\n\n // Heuristic: protocol_version should be 1, contract_flags should be 0\n // If first 4 bytes are reasonable protocol version (1-10) and next byte is 0, assume new format\n const isNewFormat =\n possibleProtocolVersion >= 1 &&\n possibleProtocolVersion <= 10 &&\n possibleContractFlags === 0;\n\n if (isNewFormat) {\n // New format with protocol_version\n instance.protocolVersion = reader.readUInt32BE();\n instance.contractFlags = reader.readBytes(1);\n } else {\n // Old format without protocol_version\n instance.protocolVersion = 1; // Default to version 1\n instance.contractFlags = reader.readBytes(1);\n }\n\n instance.chainHash = reader.readBytes(32);\n instance.temporaryContractId = reader.readBytes(32);\n\n // ContractInfo is serialized as sibling type in dlcspecs PR #163 format\n instance.contractInfo = ContractInfo.deserialize(\n reader.buffer.subarray(reader.position),\n );\n // Skip past the ContractInfo we just read\n const contractInfoLength = instance.contractInfo.serialize().length;\n reader.position += contractInfoLength;\n instance.fundingPubkey = reader.readBytes(33);\n const payoutSpkLen = reader.readUInt16BE();\n instance.payoutSpk = reader.readBytes(payoutSpkLen);\n instance.payoutSerialId = reader.readUInt64BE();\n instance.offerCollateral = reader.readUInt64BE();\n\n // Changed from u16 to bigsize as per dlcspecs PR #163\n const fundingInputsLen = Number(reader.readBigSize());\n\n for (let i = 0; i < fundingInputsLen; i++) {\n // FundingInput body is serialized directly without TLV wrapper in rust-dlc format\n const fundingInput = FundingInput.deserializeBody(\n reader.buffer.subarray(reader.position),\n );\n instance.fundingInputs.push(fundingInput);\n\n // Skip past the FundingInput we just read\n const fundingInputLength = fundingInput.serializeBody().length;\n reader.position += fundingInputLength;\n }\n\n const changeSpkLen = reader.readUInt16BE();\n instance.changeSpk = reader.readBytes(changeSpkLen);\n instance.changeSerialId = reader.readUInt64BE();\n instance.fundOutputSerialId = reader.readUInt64BE();\n instance.feeRatePerVb = reader.readUInt64BE();\n instance.cetLocktime = reader.readUInt32BE();\n instance.refundLocktime = reader.readUInt32BE();\n\n // Parse TLV stream as per dlcspecs PR #163\n while (!reader.eof) {\n const buf = getTlv(reader);\n const tlvReader = new BufferReader(buf);\n const { type } = deserializeTlv(tlvReader);\n\n switch (Number(type)) {\n case MessageType.OrderMetadataV0:\n instance.metadata = OrderMetadataV0.deserialize(buf);\n break;\n case MessageType.OrderIrcInfoV0:\n instance.ircInfo = OrderIrcInfoV0.deserialize(buf);\n break;\n case MessageType.OrderPositionInfo:\n instance.positionInfo = OrderPositionInfo.deserialize(buf);\n break;\n case MessageType.BatchFundingGroup:\n if (!instance.batchFundingGroups) {\n instance.batchFundingGroups = [];\n }\n instance.batchFundingGroups.push(BatchFundingGroup.deserialize(buf));\n break;\n default:\n // Store unknown TLVs for future compatibility\n if (!instance.unknownTlvs) {\n instance.unknownTlvs = [];\n }\n instance.unknownTlvs.push({ type: Number(type), data: buf });\n break;\n }\n }\n\n // Auto-detect single funded DLCs\n if (\n instance.contractInfo.getTotalCollateral() === instance.offerCollateral\n ) {\n instance.singleFunded = true;\n }\n\n return instance;\n }\n\n /**\n * The type for offer_dlc message. offer_dlc = 42778\n */\n public type = DlcOffer.type;\n\n // New fields as per dlcspecs PR #163\n public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version\n\n public temporaryContractId: Buffer; // New field for contract identification\n\n // Existing fields\n public contractFlags: Buffer;\n\n public chainHash: Buffer;\n\n public contractInfo: ContractInfo;\n\n public fundingPubkey: Buffer;\n\n public payoutSpk: Buffer;\n\n public payoutSerialId: bigint;\n\n public offerCollateral: bigint;\n\n public fundingInputs: FundingInput[] = [];\n\n public changeSpk: Buffer;\n\n public changeSerialId: bigint;\n\n public fundOutputSerialId: bigint;\n\n public feeRatePerVb: bigint;\n\n public cetLocktime: number;\n\n public refundLocktime: number;\n\n public metadata?: OrderMetadata;\n\n public ircInfo?: OrderIrcInfo;\n\n public positionInfo?: OrderPositionInfo;\n\n public batchFundingGroups?: BatchFundingGroup[];\n\n // Store unknown TLVs for forward compatibility\n public unknownTlvs?: Array<{ type: number; data: Buffer }>;\n\n /**\n * Flag to indicate if this is a single funded DLC\n * In single funded DLCs, totalCollateral equals offerCollateral\n */\n public singleFunded = false;\n\n /**\n * Marks this DLC offer as single funded and validates that collateral amounts are correct\n * @throws Will throw an error if totalCollateral doesn't equal offerCollateral\n */\n public markAsSingleFunded(): void {\n const totalCollateral = this.contractInfo.getTotalCollateral();\n if (totalCollateral !== this.offerCollateral) {\n throw new Error(\n `Cannot mark as single funded: totalCollateral (${totalCollateral}) must equal offerCollateral (${this.offerCollateral})`,\n );\n }\n this.singleFunded = true;\n }\n\n /**\n * Checks if this DLC offer is single funded (totalCollateral == offerCollateral)\n * @returns True if this is a single funded DLC\n */\n public isSingleFunded(): boolean {\n return (\n this.singleFunded ||\n this.contractInfo.getTotalCollateral() === this.offerCollateral\n );\n }\n\n /**\n * Get funding, change and payout address from DlcOffer\n * @param network Bitcoin Network\n * @returns {IDlcOfferAddresses}\n */\n public getAddresses(network: BitcoinNetwork): IDlcOfferAddresses {\n const fundingSPK = Script.p2wpkhLock(hash160(this.fundingPubkey))\n .serialize()\n .slice(1);\n const fundingAddress = address.fromOutputScript(fundingSPK, network);\n const changeAddress = address.fromOutputScript(this.changeSpk, network);\n const payoutAddress = address.fromOutputScript(this.payoutSpk, network);\n\n return {\n fundingAddress,\n changeAddress,\n payoutAddress,\n };\n }\n\n /**\n * Validates correctness of all fields in DlcOffer\n * Updated validation rules as per dlcspecs PR #163\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // 1. Type is set automatically in class\n // 2. protocol_version validation\n if (this.protocolVersion !== PROTOCOL_VERSION) {\n throw new Error(\n `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,\n );\n }\n\n // 3. temporary_contract_id validation\n if (!this.temporaryContractId || this.temporaryContractId.length !== 32) {\n throw new Error('temporaryContractId must be 32 bytes');\n }\n\n // 4. contract_flags field is ignored\n // 5. chain_hash must be validated as input by end user\n // 6. payout_spk and change_spk must be standard script pubkeys\n\n try {\n address.fromOutputScript(this.payoutSpk);\n } catch (e) {\n throw new Error('DlcOffer payoutSpk is invalid');\n }\n\n try {\n address.fromOutputScript(this.changeSpk);\n } catch (e) {\n throw new Error('DlcOffer changeSpk is invalid');\n }\n\n // 7. funding_pubkey must be a valid secp256k1 pubkey in compressed format\n // https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki#background-on-ecdsa-signatures\n\n if (secp256k1.publicKeyVerify(Buffer.from(this.fundingPubkey))) {\n if (this.fundingPubkey[0] != 0x02 && this.fundingPubkey[0] != 0x03) {\n throw new Error('fundingPubkey must be in compressed format');\n }\n } else {\n throw new Error('fundingPubkey is not a valid secp256k1 key');\n }\n\n // 8. offer_collateral must be greater than or equal to 1000\n if (this.offerCollateral < 1000) {\n throw new Error('offer_collateral must be greater than or equal to 1000');\n }\n\n if (this.cetLocktime < 0) {\n throw new Error('cet_locktime must be greater than or equal to 0');\n }\n\n if (this.refundLocktime < 0) {\n throw new Error('refund_locktime must be greater than or equal to 0');\n }\n\n // 9. cet_locktime and refund_locktime must either both be unix timestamps, or both be block heights.\n // https://en.bitcoin.it/wiki/NLockTime\n // https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki#detailed-specification\n // https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h#L39\n if (\n !(\n (this.cetLocktime < LOCKTIME_THRESHOLD &&\n this.refundLocktime < LOCKTIME_THRESHOLD) ||\n (this.cetLocktime >= LOCKTIME_THRESHOLD &&\n this.refundLocktime >= LOCKTIME_THRESHOLD)\n )\n ) {\n throw new Error('cetLocktime and refundLocktime must be in same units');\n }\n\n // 10. cetLocktime must be less than refundLocktime\n if (this.cetLocktime >= this.refundLocktime) {\n throw new Error('cetLocktime must be less than refundLocktime');\n }\n\n // 11. inputSerialId must be unique for each input\n\n const inputSerialIds = this.fundingInputs.map(\n (input: FundingInput) => input.inputSerialId,\n );\n\n if (new Set(inputSerialIds).size !== inputSerialIds.length) {\n throw new Error('inputSerialIds must be unique');\n }\n\n // 12. changeSerialId and fundOutputSerialID must be different\n\n if (this.changeSerialId === this.fundOutputSerialId) {\n throw new Error(\n 'changeSerialId and fundOutputSerialId must be different',\n );\n }\n\n // validate contractInfo\n this.contractInfo.validate();\n\n // totalCollateral should be > offerCollateral (logical validation)\n // Exception: for single funded DLCs, totalCollateral == offerCollateral is allowed\n if (this.isSingleFunded()) {\n if (this.contractInfo.getTotalCollateral() !== this.offerCollateral) {\n throw new Error(\n 'For single funded DLCs, totalCollateral must equal offerCollateral',\n );\n }\n } else {\n if (this.contractInfo.getTotalCollateral() <= this.offerCollateral) {\n throw new Error(\n 'totalCollateral should be greater than offerCollateral',\n );\n }\n }\n\n // validate funding amount\n const fundingAmount = this.fundingInputs.reduce((acc, fundingInput) => {\n const input = fundingInput as FundingInput;\n return acc + input.prevTx.outputs[input.prevTxVout].value.sats;\n }, BigInt(0));\n\n if (this.isSingleFunded()) {\n // For single funded DLCs, funding amount must cover the full total collateral plus fees\n if (fundingAmount < this.contractInfo.getTotalCollateral()) {\n throw new Error(\n 'For single funded DLCs, fundingAmount must be at least totalCollateral',\n );\n }\n } else {\n // For regular DLCs, funding amount must be greater than offer collateral\n if (this.offerCollateral >= fundingAmount) {\n throw new Error('fundingAmount must be greater than offerCollateral');\n }\n }\n }\n\n /**\n * Converts dlc_offer to JSON (canonical rust-dlc format)\n */\n public toJSON(): IDlcOfferJSON {\n const tlvs = [];\n\n if (this.metadata) tlvs.push(this.metadata.toJSON());\n if (this.ircInfo) tlvs.push(this.ircInfo.toJSON());\n if (this.positionInfo) tlvs.push(this.positionInfo.toJSON());\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n tlvs.push(fundingInfo.toJSON()),\n );\n\n // Include unknown TLVs for debugging\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) =>\n tlvs.push({ type: tlv.type, data: tlv.data.toString('hex') }),\n );\n }\n\n // Return canonical rust-dlc format only\n return {\n protocolVersion: this.protocolVersion,\n temporaryContractId: this.temporaryContractId.toString('hex'),\n contractFlags: Number(this.contractFlags[0]),\n chainHash: this.chainHash.toString('hex'),\n contractInfo: this.contractInfo.toJSON(),\n fundingPubkey: this.fundingPubkey.toString('hex'), // lowercase 'k'\n payoutSpk: this.payoutSpk.toString('hex'), // lowercase\n payoutSerialId: bigIntToNumber(this.payoutSerialId),\n offerCollateral: bigIntToNumber(this.offerCollateral), // no \"Satoshis\"\n fundingInputs: this.fundingInputs.map((input) => input.toJSON()),\n changeSpk: this.changeSpk.toString('hex'), // lowercase\n changeSerialId: bigIntToNumber(this.changeSerialId),\n fundOutputSerialId: bigIntToNumber(this.fundOutputSerialId),\n feeRatePerVb: bigIntToNumber(this.feeRatePerVb),\n cetLocktime: this.cetLocktime,\n refundLocktime: this.refundLocktime,\n }; // Allow different field names from interface\n }\n\n /**\n * Serializes the offer_dlc message into a Buffer\n * Updated serialization format as per dlcspecs PR #163\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n\n // New fields as per dlcspecs PR #163\n writer.writeUInt32BE(this.protocolVersion);\n writer.writeBytes(this.contractFlags);\n writer.writeBytes(this.chainHash);\n writer.writeBytes(this.temporaryContractId); // New field\n\n writer.writeBytes(this.contractInfo.serialize());\n writer.writeBytes(this.fundingPubkey);\n writer.writeUInt16BE(this.payoutSpk.length);\n writer.writeBytes(this.payoutSpk);\n writer.writeUInt64BE(this.payoutSerialId);\n writer.writeUInt64BE(this.offerCollateral);\n\n // Changed from u16 to bigsize as per dlcspecs PR #163\n writer.writeBigSize(this.fundingInputs.length);\n\n for (const fundingInput of this.fundingInputs) {\n // Use serializeBody() to match rust-dlc behavior - funding inputs in vec are serialized without TLV wrapper\n writer.writeBytes(fundingInput.serializeBody());\n }\n\n writer.writeUInt16BE(this.changeSpk.length);\n writer.writeBytes(this.changeSpk);\n writer.writeUInt64BE(this.changeSerialId);\n writer.writeUInt64BE(this.fundOutputSerialId);\n writer.writeUInt64BE(this.feeRatePerVb);\n writer.writeUInt32BE(this.cetLocktime);\n writer.writeUInt32BE(this.refundLocktime);\n\n // TLV stream as per dlcspecs PR #163\n if (this.metadata) writer.writeBytes(this.metadata.serialize());\n if (this.ircInfo) writer.writeBytes(this.ircInfo.serialize());\n if (this.positionInfo) writer.writeBytes(this.positionInfo.serialize());\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n writer.writeBytes(fundingInfo.serialize()),\n );\n\n // Write unknown TLVs for forward compatibility\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) => {\n writer.writeBytes(tlv.data);\n });\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IDlcOfferJSON {\n type?: number; // Made optional for rust-dlc compatibility\n protocolVersion: number;\n temporaryContractId: string;\n contractFlags: number;\n chainHash: string;\n contractInfo: ISingleContractInfoJSON | IDisjointContractInfoJSON;\n fundingPubkey: string;\n payoutSpk: string;\n payoutSerialId: number;\n offerCollateral: number;\n fundingInputs: IFundingInputJSON[];\n changeSpk: string;\n changeSerialId: number;\n fundOutputSerialId: number;\n feeRatePerVb: number;\n cetLocktime: number;\n refundLocktime: number;\n serialized?: string; // Made optional - hex serialization for compatibility testing\n tlvs?: (\n | IOrderMetadataJSON\n | IOrderIrcInfoJSON\n | IOrderPositionInfoJSON\n | IBatchFundingGroupJSON\n | unknown\n )[]; // Made optional - for unknown TLVs\n}\n\nexport interface IDlcOfferAddresses {\n fundingAddress: string;\n changeAddress: string;\n payoutAddress: string;\n}\n\nexport class DlcOfferContainer {\n private offers: DlcOffer[] = [];\n\n /**\n * Adds a DlcOffer to the container.\n * @param offer The DlcOffer to add.\n */\n public addOffer(offer: DlcOffer): void {\n this.offers.push(offer);\n }\n\n /**\n * Returns all DlcOffers in the container.\n * @returns An array of DlcOffer instances.\n */\n public getOffers(): DlcOffer[] {\n return this.offers;\n }\n\n /**\n * Serializes all DlcOffers in the container to a Buffer.\n * @returns A Buffer containing the serialized DlcOffers.\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // Write the number of offers in the container first.\n writer.writeBigSize(this.offers.length);\n // Serialize each offer and write it.\n this.offers.forEach((offer) => {\n const serializedOffer = offer.serialize();\n // Optionally, write the length of the serialized offer for easier deserialization.\n writer.writeBigSize(serializedOffer.length);\n writer.writeBytes(serializedOffer);\n });\n return writer.toBuffer();\n }\n\n /**\n * Deserializes a Buffer into a DlcOfferContainer with DlcOffers.\n * @param buf The Buffer to deserialize.\n * @returns A DlcOfferContainer instance.\n */\n public static deserialize(buf: Buffer): DlcOfferContainer {\n const reader = new BufferReader(buf);\n const container = new DlcOfferContainer();\n const offersCount = reader.readBigSize();\n for (let i = 0; i < offersCount; i++) {\n // Optionally, read the length of the serialized offer if it was written during serialization.\n const offerLength = reader.readBigSize();\n const offerBuf = reader.readBytes(Number(offerLength));\n const offer = DlcOffer.deserialize(offerBuf);\n container.addOffer(offer);\n }\n return container;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c6632d1d04e6dce119bc0c540dd00aeb03be95bf","contentHash":"9e9b851873efa7c6ed427907a7cfc08b5039d7d812c004272513f6fa964a29c8"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderIrcInfo.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderIrcInfo.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":8,"column":23},"end":{"line":8,"column":52}},"5":{"start":{"line":9,"column":21},"end":{"line":9,"column":49}},"6":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"7":{"start":{"line":12,"column":16},"end":{"line":12,"column":55}},"8":{"start":{"line":14,"column":16},"end":{"line":14,"column":82}},"9":{"start":{"line":18,"column":0},"end":{"line":18,"column":36}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":28}},"11":{"start":{"line":30,"column":8},"end":{"line":30,"column":40}},"12":{"start":{"line":37,"column":25},"end":{"line":37,"column":45}},"13":{"start":{"line":38,"column":23},"end":{"line":38,"column":52}},"14":{"start":{"line":39,"column":8},"end":{"line":39,"column":29}},"15":{"start":{"line":40,"column":8},"end":{"line":40,"column":47}},"16":{"start":{"line":41,"column":27},"end":{"line":41,"column":47}},"17":{"start":{"line":42,"column":24},"end":{"line":42,"column":60}},"18":{"start":{"line":43,"column":8},"end":{"line":43,"column":43}},"19":{"start":{"line":44,"column":8},"end":{"line":44,"column":47}},"20":{"start":{"line":45,"column":8},"end":{"line":45,"column":24}},"21":{"start":{"line":51,"column":8},"end":{"line":55,"column":10}},"22":{"start":{"line":61,"column":23},"end":{"line":61,"column":49}},"23":{"start":{"line":62,"column":8},"end":{"line":62,"column":39}},"24":{"start":{"line":63,"column":27},"end":{"line":63,"column":53}},"25":{"start":{"line":64,"column":8},"end":{"line":64,"column":50}},"26":{"start":{"line":65,"column":8},"end":{"line":65,"column":54}},"27":{"start":{"line":66,"column":8},"end":{"line":66,"column":43}},"28":{"start":{"line":67,"column":8},"end":{"line":67,"column":45}},"29":{"start":{"line":68,"column":8},"end":{"line":68,"column":49}},"30":{"start":{"line":69,"column":8},"end":{"line":69,"column":33}},"31":{"start":{"line":72,"column":0},"end":{"line":72,"column":40}},"32":{"start":{"line":73,"column":0},"end":{"line":73,"column":63}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":28},"end":{"line":16,"column":5}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":18},"end":{"line":31,"column":5}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":28},"end":{"line":46,"column":5}},"line":36},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":13},"end":{"line":56,"column":5}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":16},"end":{"line":70,"column":5}},"line":60}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"type":"switch","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":55}},{"start":{"line":13,"column":12},"end":{"line":14,"column":82}}],"line":10}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":2,"11":2,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":2,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1},"f":{"0":0,"1":2,"2":1,"3":2,"4":1},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderIrcInfo.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderIrcInfo.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C,MAAsB,YAAY;IACzB,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,cAAc;gBAC7B,OAAO,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC;gBACE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;IACH,CAAC;CAOF;AAnBD,oCAmBC;AAED;;;;GAIG;AACH,MAAa,cAAe,SAAQ,YAAY;IAAhD;;QAuBE;;WAEG;QACI,SAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAoCpC,CAAC;IA3DC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEnC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAaD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA7DH,wCA8DC;AA7De,mBAAI,GAAG,yBAAW,CAAC,cAAc,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\nexport abstract class OrderIrcInfo {\n public static deserialize(buf: Buffer): OrderIrcInfo {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readBigSize());\n\n switch (type) {\n case MessageType.OrderIrcInfoV0:\n return OrderIrcInfoV0.deserialize(buf);\n default:\n throw new Error(`Order irc info TLV type must be OrderIrcInfoV0`);\n }\n }\n\n public abstract type: number;\n\n public abstract toJSON(): IOrderIrcInfoJSON;\n\n public abstract serialize(): Buffer;\n}\n\n/**\n * OrderMetadata message contains information about a node and indicates its\n * desire to enter into a new contract. This is the first step toward\n * order negotiation.\n */\nexport class OrderIrcInfoV0 extends OrderIrcInfo implements IDlcMessage {\n public static type = MessageType.OrderIrcInfoV0;\n\n /**\n * Deserializes an offer_dlc_v0 message\n * @param buf\n */\n public static deserialize(buf: Buffer): OrderIrcInfoV0 {\n const instance = new OrderIrcInfoV0();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n const nickLength = reader.readBigSize();\n const nickBuf = reader.readBytes(Number(nickLength));\n instance.nick = nickBuf.toString();\n\n instance.pubKey = reader.readBytes(33);\n\n return instance;\n }\n\n /**\n * The type for order_metadata_v0 message. order_metadata_v0 = 62774\n */\n public type = OrderIrcInfoV0.type;\n\n public length: bigint;\n\n public nick: string;\n\n public pubKey: Buffer;\n\n /**\n * Converts order_metadata_v0 to JSON\n */\n public toJSON(): IOrderIrcInfoJSON {\n return {\n type: this.type,\n nick: this.nick,\n pubKey: this.pubKey.toString('hex'),\n };\n }\n\n /**\n * Serializes the oracle_event message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.nick.length);\n dataWriter.writeBytes(Buffer.from(this.nick));\n dataWriter.writeBytes(this.pubKey);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOrderIrcInfoJSON {\n type: number;\n nick: string;\n pubKey: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"056f497606b4b0e1a73960f6ce163ef336b0877e","contentHash":"48145cc847b82b905f61f080e43bb9e140c12d5386dff98e802c628cdb7d49d4"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderMetadata.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderMetadata.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":8,"column":23},"end":{"line":8,"column":52}},"5":{"start":{"line":9,"column":21},"end":{"line":9,"column":49}},"6":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"7":{"start":{"line":12,"column":16},"end":{"line":12,"column":56}},"8":{"start":{"line":14,"column":16},"end":{"line":14,"column":83}},"9":{"start":{"line":18,"column":0},"end":{"line":18,"column":38}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":28}},"11":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"12":{"start":{"line":34,"column":8},"end":{"line":34,"column":27}},"13":{"start":{"line":38,"column":8},"end":{"line":38,"column":26}},"14":{"start":{"line":45,"column":25},"end":{"line":45,"column":46}},"15":{"start":{"line":46,"column":23},"end":{"line":46,"column":52}},"16":{"start":{"line":47,"column":8},"end":{"line":47,"column":29}},"17":{"start":{"line":48,"column":8},"end":{"line":48,"column":47}},"18":{"start":{"line":49,"column":30},"end":{"line":49,"column":50}},"19":{"start":{"line":50,"column":27},"end":{"line":50,"column":66}},"20":{"start":{"line":51,"column":8},"end":{"line":51,"column":49}},"21":{"start":{"line":52,"column":8},"end":{"line":55,"column":9}},"22":{"start":{"line":53,"column":12},"end":{"line":53,"column":55}},"23":{"start":{"line":54,"column":12},"end":{"line":54,"column":54}},"24":{"start":{"line":56,"column":8},"end":{"line":56,"column":24}},"25":{"start":{"line":62,"column":8},"end":{"line":67,"column":10}},"26":{"start":{"line":73,"column":23},"end":{"line":73,"column":49}},"27":{"start":{"line":74,"column":8},"end":{"line":74,"column":39}},"28":{"start":{"line":75,"column":27},"end":{"line":75,"column":53}},"29":{"start":{"line":76,"column":8},"end":{"line":76,"column":53}},"30":{"start":{"line":77,"column":8},"end":{"line":77,"column":57}},"31":{"start":{"line":78,"column":8},"end":{"line":78,"column":49}},"32":{"start":{"line":79,"column":8},"end":{"line":79,"column":48}},"33":{"start":{"line":80,"column":8},"end":{"line":80,"column":45}},"34":{"start":{"line":81,"column":8},"end":{"line":81,"column":49}},"35":{"start":{"line":82,"column":8},"end":{"line":82,"column":33}},"36":{"start":{"line":85,"column":0},"end":{"line":85,"column":42}},"37":{"start":{"line":86,"column":0},"end":{"line":86,"column":65}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":28},"end":{"line":16,"column":5}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":18},"end":{"line":39,"column":5}},"line":25},"2":{"name":"(anonymous_2)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":28},"end":{"line":57,"column":5}},"line":44},"3":{"name":"(anonymous_3)","decl":{"start":{"line":61,"column":4},"end":{"line":61,"column":5}},"loc":{"start":{"line":61,"column":13},"end":{"line":68,"column":5}},"line":61},"4":{"name":"(anonymous_4)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":16},"end":{"line":83,"column":5}},"line":72}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":15,"column":9}},"type":"switch","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":56}},{"start":{"line":13,"column":12},"end":{"line":14,"column":83}}],"line":10},"1":{"loc":{"start":{"line":52,"column":8},"end":{"line":55,"column":9}},"type":"if","locations":[{"start":{"line":52,"column":8},"end":{"line":55,"column":9}},{"start":{"line":52,"column":8},"end":{"line":55,"column":9}}],"line":52}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":2,"11":2,"12":2,"13":2,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":2,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1},"f":{"0":0,"1":2,"2":1,"3":2,"4":1},"b":{"0":[0,0],"1":[1,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderMetadata.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderMetadata.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C,MAAsB,aAAa;IAC1B,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,eAAe;gBAC9B,OAAO,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C;gBACE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACtE;IACH,CAAC;CAOF;AAnBD,sCAmBC;AAED;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,aAAa;IAAlD;;QAyBE;;WAEG;QACI,SAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAYnC;;WAEG;QACI,cAAS,GAAG,CAAC,CAAC;QAErB;;WAEG;QACI,aAAQ,GAAG,CAAC,CAAC;IAgCtB,CAAC;IA7EC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3C,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;SAC3C;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IA2BD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA/EH,0CAgFC;AA/Ee,oBAAI,GAAG,yBAAW,CAAC,eAAe,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\nexport abstract class OrderMetadata {\n public static deserialize(buf: Buffer): OrderMetadata {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readBigSize());\n\n switch (type) {\n case MessageType.OrderMetadataV0:\n return OrderMetadataV0.deserialize(buf);\n default:\n throw new Error(`Order metadata TLV type must be OrderMetadataV0`);\n }\n }\n\n public abstract type: number;\n\n public abstract toJSON(): IOrderMetadataJSON;\n\n public abstract serialize(): Buffer;\n}\n\n/**\n * OrderMetadata message contains information about a node and indicates its\n * desire to enter into a new contract. This is the first step toward\n * order negotiation.\n */\nexport class OrderMetadataV0 extends OrderMetadata implements IDlcMessage {\n public static type = MessageType.OrderMetadataV0;\n\n /**\n * Deserializes an offer_dlc_v0 message\n * @param buf\n */\n public static deserialize(buf: Buffer): OrderMetadataV0 {\n const instance = new OrderMetadataV0();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n const offerIdLength = reader.readBigSize();\n const offerIdBuf = reader.readBytes(Number(offerIdLength));\n instance.offerId = offerIdBuf.toString();\n\n if (!reader.eof) {\n instance.createdAt = reader.readUInt32BE();\n instance.goodTill = reader.readUInt32BE();\n }\n\n return instance;\n }\n\n /**\n * The type for order_metadata_v0 message. order_metadata_v0 = 62774\n */\n public type = OrderMetadataV0.type;\n\n public length: bigint;\n\n /**\n * offerId is a unique identifier for an offer\n * It can be used for updating liquidity for a particular category\n * For example, how much liquidity is remaining for a particular strategy\n * which a market maker is providing liquidity for\n */\n public offerId: string;\n\n /**\n * Timestamp for order creation\n */\n public createdAt = 0;\n\n /**\n * Amount of time order is good untill\n */\n public goodTill = 0;\n\n /**\n * Converts order_metadata_v0 to JSON\n */\n public toJSON(): IOrderMetadataJSON {\n return {\n type: this.type,\n offerId: this.offerId,\n createdAt: this.createdAt,\n goodTill: this.goodTill,\n };\n }\n\n /**\n * Serializes the oracle_event message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.offerId.length);\n dataWriter.writeBytes(Buffer.from(this.offerId));\n dataWriter.writeUInt32BE(this.createdAt);\n dataWriter.writeUInt32BE(this.goodTill);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOrderMetadataJSON {\n type: number;\n offerId: string;\n createdAt: number;\n goodTill: number;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4602f0c36fce2873b642b8763188db6adc4ed0d7","contentHash":"3d9e6e8c64abf3519be600668fe43f285917729bbb79c7c8bbb4e8b217d646f1"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderPositionInfo.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderPositionInfo.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":43}},"5":{"start":{"line":15,"column":8},"end":{"line":15,"column":38}},"6":{"start":{"line":16,"column":8},"end":{"line":16,"column":30}},"7":{"start":{"line":17,"column":8},"end":{"line":17,"column":40}},"8":{"start":{"line":18,"column":8},"end":{"line":18,"column":38}},"9":{"start":{"line":19,"column":8},"end":{"line":19,"column":35}},"10":{"start":{"line":20,"column":8},"end":{"line":20,"column":31}},"11":{"start":{"line":21,"column":8},"end":{"line":21,"column":32}},"12":{"start":{"line":28,"column":25},"end":{"line":28,"column":48}},"13":{"start":{"line":29,"column":23},"end":{"line":29,"column":52}},"14":{"start":{"line":30,"column":8},"end":{"line":30,"column":29}},"15":{"start":{"line":31,"column":8},"end":{"line":31,"column":47}},"16":{"start":{"line":32,"column":36},"end":{"line":32,"column":54}},"17":{"start":{"line":33,"column":8},"end":{"line":44,"column":9}},"18":{"start":{"line":34,"column":12},"end":{"line":34,"column":46}},"19":{"start":{"line":36,"column":13},"end":{"line":44,"column":9}},"20":{"start":{"line":37,"column":12},"end":{"line":37,"column":46}},"21":{"start":{"line":39,"column":13},"end":{"line":44,"column":9}},"22":{"start":{"line":40,"column":12},"end":{"line":40,"column":47}},"23":{"start":{"line":43,"column":12},"end":{"line":43,"column":84}},"24":{"start":{"line":45,"column":8},"end":{"line":45,"column":46}},"25":{"start":{"line":46,"column":8},"end":{"line":66,"column":9}},"26":{"start":{"line":47,"column":41},"end":{"line":47,"column":61}},"27":{"start":{"line":48,"column":35},"end":{"line":48,"column":81}},"28":{"start":{"line":49,"column":12},"end":{"line":49,"column":64}},"29":{"start":{"line":50,"column":12},"end":{"line":50,"column":58}},"30":{"start":{"line":51,"column":30},"end":{"line":51,"column":48}},"31":{"start":{"line":52,"column":12},"end":{"line":63,"column":13}},"32":{"start":{"line":53,"column":16},"end":{"line":53,"column":47}},"33":{"start":{"line":55,"column":17},"end":{"line":63,"column":13}},"34":{"start":{"line":56,"column":16},"end":{"line":56,"column":43}},"35":{"start":{"line":58,"column":17},"end":{"line":63,"column":13}},"36":{"start":{"line":59,"column":16},"end":{"line":59,"column":44}},"37":{"start":{"line":62,"column":16},"end":{"line":62,"column":73}},"38":{"start":{"line":64,"column":12},"end":{"line":64,"column":51}},"39":{"start":{"line":65,"column":12},"end":{"line":65,"column":60}},"40":{"start":{"line":67,"column":8},"end":{"line":67,"column":24}},"41":{"start":{"line":73,"column":8},"end":{"line":81,"column":10}},"42":{"start":{"line":87,"column":23},"end":{"line":87,"column":49}},"43":{"start":{"line":88,"column":8},"end":{"line":88,"column":39}},"44":{"start":{"line":89,"column":27},"end":{"line":89,"column":53}},"45":{"start":{"line":90,"column":8},"end":{"line":94,"column":21}},"46":{"start":{"line":95,"column":8},"end":{"line":95,"column":44}},"47":{"start":{"line":96,"column":8},"end":{"line":103,"column":9}},"48":{"start":{"line":97,"column":12},"end":{"line":97,"column":64}},"49":{"start":{"line":98,"column":12},"end":{"line":98,"column":68}},"50":{"start":{"line":99,"column":12},"end":{"line":99,"column":56}},"51":{"start":{"line":100,"column":12},"end":{"line":100,"column":103}},"52":{"start":{"line":101,"column":12},"end":{"line":101,"column":49}},"53":{"start":{"line":102,"column":12},"end":{"line":102,"column":58}},"54":{"start":{"line":104,"column":8},"end":{"line":104,"column":45}},"55":{"start":{"line":105,"column":8},"end":{"line":105,"column":49}},"56":{"start":{"line":106,"column":8},"end":{"line":106,"column":33}},"57":{"start":{"line":109,"column":0},"end":{"line":109,"column":46}},"58":{"start":{"line":110,"column":0},"end":{"line":110,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":18},"end":{"line":22,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":27,"column":4},"end":{"line":27,"column":5}},"loc":{"start":{"line":27,"column":28},"end":{"line":68,"column":5}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":13},"end":{"line":82,"column":5}},"line":72},"3":{"name":"(anonymous_3)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":16},"end":{"line":107,"column":5}},"line":86}},"branchMap":{"0":{"loc":{"start":{"line":33,"column":8},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":33,"column":8},"end":{"line":44,"column":9}},{"start":{"line":33,"column":8},"end":{"line":44,"column":9}}],"line":33},"1":{"loc":{"start":{"line":36,"column":13},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":36,"column":13},"end":{"line":44,"column":9}},{"start":{"line":36,"column":13},"end":{"line":44,"column":9}}],"line":36},"2":{"loc":{"start":{"line":39,"column":13},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":13},"end":{"line":44,"column":9}},{"start":{"line":39,"column":13},"end":{"line":44,"column":9}}],"line":39},"3":{"loc":{"start":{"line":46,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":46,"column":8},"end":{"line":66,"column":9}},{"start":{"line":46,"column":8},"end":{"line":66,"column":9}}],"line":46},"4":{"loc":{"start":{"line":52,"column":12},"end":{"line":63,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":63,"column":13}},{"start":{"line":52,"column":12},"end":{"line":63,"column":13}}],"line":52},"5":{"loc":{"start":{"line":55,"column":17},"end":{"line":63,"column":13}},"type":"if","locations":[{"start":{"line":55,"column":17},"end":{"line":63,"column":13}},{"start":{"line":55,"column":17},"end":{"line":63,"column":13}}],"line":55},"6":{"loc":{"start":{"line":58,"column":17},"end":{"line":63,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":17},"end":{"line":63,"column":13}},{"start":{"line":58,"column":17},"end":{"line":63,"column":13}}],"line":58},"7":{"loc":{"start":{"line":90,"column":30},"end":{"line":94,"column":19}},"type":"cond-expr","locations":[{"start":{"line":91,"column":14},"end":{"line":91,"column":15}},{"start":{"line":92,"column":14},"end":{"line":94,"column":19}}],"line":90},"8":{"loc":{"start":{"line":92,"column":14},"end":{"line":94,"column":19}},"type":"cond-expr","locations":[{"start":{"line":93,"column":18},"end":{"line":93,"column":19}},{"start":{"line":94,"column":18},"end":{"line":94,"column":19}}],"line":92},"9":{"loc":{"start":{"line":96,"column":8},"end":{"line":103,"column":9}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":103,"column":9}},{"start":{"line":96,"column":8},"end":{"line":103,"column":9}}],"line":96},"10":{"loc":{"start":{"line":100,"column":34},"end":{"line":100,"column":101}},"type":"cond-expr","locations":[{"start":{"line":100,"column":65},"end":{"line":100,"column":66}},{"start":{"line":100,"column":69},"end":{"line":100,"column":101}}],"line":100},"11":{"loc":{"start":{"line":100,"column":69},"end":{"line":100,"column":101}},"type":"cond-expr","locations":[{"start":{"line":100,"column":96},"end":{"line":100,"column":97}},{"start":{"line":100,"column":100},"end":{"line":100,"column":101}}],"line":100}},"s":{"0":1,"1":1,"2":1,"3":1,"4":13,"5":13,"6":13,"7":13,"8":13,"9":13,"10":13,"11":13,"12":5,"13":5,"14":5,"15":5,"16":5,"17":5,"18":0,"19":5,"20":2,"21":3,"22":2,"23":1,"24":4,"25":4,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":0,"33":1,"34":1,"35":0,"36":0,"37":0,"38":1,"39":1,"40":4,"41":3,"42":6,"43":6,"44":6,"45":6,"46":6,"47":6,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":6,"55":6,"56":6,"57":1,"58":1},"f":{"0":13,"1":5,"2":3,"3":6},"b":{"0":[0,5],"1":[2,3],"2":[2,1],"3":[1,3],"4":[0,1],"5":[1,0],"6":[0,0],"7":[0,6],"8":[1,5],"9":[1,5],"10":[0,1],"11":[1,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderPositionInfo.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderPositionInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\nexport type DlcParty = 'offeror' | 'acceptor' | 'neither';\n\n/**\n * OrderPositionInfo message\n */\nexport class OrderPositionInfo implements IDlcMessage {\n public static type = MessageType.OrderPositionInfo;\n\n /**\n * Deserializes an OrderPositionInfo message\n * @param buf\n */\n public static deserialize(buf: Buffer): OrderPositionInfo {\n const instance = new OrderPositionInfo();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n const encodedShiftForFees = reader.readUInt8();\n if (encodedShiftForFees === 0) {\n instance.shiftForFees = 'neither';\n } else if (encodedShiftForFees === 1) {\n instance.shiftForFees = 'offeror';\n } else if (encodedShiftForFees === 2) {\n instance.shiftForFees = 'acceptor';\n } else {\n throw new Error(`Invalid shift for fees value: ${encodedShiftForFees}`);\n }\n\n instance.fees = reader.readUInt64BE();\n\n if (!reader.eof) {\n const instrumentNameLength = reader.readBigSize();\n const instrumentName = reader.readBytes(Number(instrumentNameLength));\n instance.instrumentName = instrumentName.toString();\n\n instance.contractSize = reader.readUInt64BE();\n\n const direction = reader.readUInt8();\n if (direction === 0) {\n instance.direction = 'neither';\n } else if (direction === 1) {\n instance.direction = 'buy';\n } else if (direction === 2) {\n instance.direction = 'sell';\n } else {\n throw new Error(`Invalid direction value: ${direction}`);\n }\n\n instance.price = reader.readUInt64BE();\n\n instance.extraPrecision = reader.readUInt16BE();\n }\n\n return instance;\n }\n\n /**\n * The type for OrderPositionInfo message\n */\n public type = OrderPositionInfo.type;\n\n public length: bigint;\n\n public shiftForFees: DlcParty = 'neither';\n\n public fees = BigInt(0);\n\n public instrumentName: string | undefined = undefined;\n\n public contractSize = BigInt(0);\n\n public direction: 'buy' | 'sell' | 'neither' = 'neither';\n\n public price = BigInt(0); // Can be BTC or USD depending on the instrument\n\n public extraPrecision = 0;\n\n /**\n * Converts OrderPositionInfo to JSON\n */\n public toJSON(): IOrderPositionInfoJSON {\n return {\n type: this.type,\n shiftForFees: this.shiftForFees,\n fees: Number(this.fees),\n instrumentName: this.instrumentName,\n direction: this.direction,\n price: Number(this.price),\n extraPrecision: this.extraPrecision,\n };\n }\n\n /**\n * Serializes the OrderPositionInfo message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt8(\n this.shiftForFees === 'neither'\n ? 0\n : this.shiftForFees === 'offeror'\n ? 1\n : 2,\n );\n dataWriter.writeUInt64BE(this.fees);\n\n if (this.instrumentName) {\n dataWriter.writeBigSize(this.instrumentName.length);\n dataWriter.writeBytes(Buffer.from(this.instrumentName));\n\n dataWriter.writeUInt64BE(this.contractSize);\n\n dataWriter.writeUInt8(\n this.direction === 'neither' ? 0 : this.direction === 'buy' ? 1 : 2,\n );\n\n dataWriter.writeUInt64BE(this.price);\n\n dataWriter.writeUInt16BE(this.extraPrecision);\n }\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOrderPositionInfoJSON {\n type: number;\n shiftForFees: string;\n fees: number;\n instrumentName: string;\n direction: string;\n price: number;\n extraPrecision: number;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9f9894ac997efae5ea2fcc6fda7bb7fb39c724d1","contentHash":"1776e15d10cc7f1fde1929fd3d621c5b6cfcbadea8075191ef52f3b94f51ffad"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcSign.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcSign.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":62}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"3":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"4":{"start":{"line":7,"column":16},"end":{"line":7,"column":42}},"5":{"start":{"line":8,"column":20},"end":{"line":8,"column":57}},"6":{"start":{"line":9,"column":22},"end":{"line":9,"column":47}},"7":{"start":{"line":10,"column":25},"end":{"line":10,"column":63}},"8":{"start":{"line":11,"column":17},"end":{"line":11,"column":47}},"9":{"start":{"line":12,"column":28},"end":{"line":12,"column":58}},"10":{"start":{"line":13,"column":31},"end":{"line":13,"column":64}},"11":{"start":{"line":14,"column":28},"end":{"line":14,"column":58}},"12":{"start":{"line":15,"column":26},"end":{"line":15,"column":54}},"13":{"start":{"line":27,"column":8},"end":{"line":27,"column":33}},"14":{"start":{"line":29,"column":8},"end":{"line":29,"column":62}},"15":{"start":{"line":38,"column":25},"end":{"line":38,"column":38}},"16":{"start":{"line":40,"column":34},"end":{"line":54,"column":9}},"17":{"start":{"line":41,"column":30},"end":{"line":41,"column":56}},"18":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"19":{"start":{"line":44,"column":16},"end":{"line":44,"column":33}},"20":{"start":{"line":47,"column":12},"end":{"line":53,"column":13}},"21":{"start":{"line":48,"column":31},"end":{"line":48,"column":77}},"22":{"start":{"line":49,"column":16},"end":{"line":49,"column":43}},"23":{"start":{"line":52,"column":16},"end":{"line":52,"column":72}},"24":{"start":{"line":56,"column":8},"end":{"line":57,"column":92}},"25":{"start":{"line":58,"column":8},"end":{"line":58,"column":86}},"26":{"start":{"line":60,"column":8},"end":{"line":60,"column":140}},"27":{"start":{"line":62,"column":29},"end":{"line":62,"column":74}},"28":{"start":{"line":63,"column":8},"end":{"line":63,"column":67}},"29":{"start":{"line":65,"column":8},"end":{"line":65,"column":127}},"30":{"start":{"line":66,"column":8},"end":{"line":66,"column":24}},"31":{"start":{"line":75,"column":25},"end":{"line":75,"column":74}},"32":{"start":{"line":76,"column":8},"end":{"line":90,"column":9}},"33":{"start":{"line":78,"column":30},"end":{"line":79,"column":52}},"34":{"start":{"line":81,"column":12},"end":{"line":89,"column":15}},"35":{"start":{"line":84,"column":34},"end":{"line":84,"column":67}},"36":{"start":{"line":85,"column":16},"end":{"line":88,"column":18}},"37":{"start":{"line":91,"column":8},"end":{"line":91,"column":24}},"38":{"start":{"line":100,"column":25},"end":{"line":100,"column":68}},"39":{"start":{"line":101,"column":8},"end":{"line":113,"column":9}},"40":{"start":{"line":103,"column":32},"end":{"line":103,"column":103}},"41":{"start":{"line":105,"column":12},"end":{"line":112,"column":16}},"42":{"start":{"line":105,"column":64},"end":{"line":112,"column":14}},"43":{"start":{"line":109,"column":32},"end":{"line":109,"column":71}},"44":{"start":{"line":110,"column":16},"end":{"line":110,"column":81}},"45":{"start":{"line":111,"column":16},"end":{"line":111,"column":31}},"46":{"start":{"line":114,"column":8},"end":{"line":114,"column":24}},"47":{"start":{"line":121,"column":25},"end":{"line":121,"column":38}},"48":{"start":{"line":122,"column":23},"end":{"line":122,"column":52}},"49":{"start":{"line":123,"column":8},"end":{"line":123,"column":30}},"50":{"start":{"line":125,"column":8},"end":{"line":125,"column":57}},"51":{"start":{"line":126,"column":8},"end":{"line":126,"column":51}},"52":{"start":{"line":128,"column":8},"end":{"line":128,"column":137}},"53":{"start":{"line":130,"column":26},"end":{"line":130,"column":74}},"54":{"start":{"line":131,"column":8},"end":{"line":131,"column":37}},"55":{"start":{"line":132,"column":8},"end":{"line":132,"column":56}},"56":{"start":{"line":134,"column":8},"end":{"line":134,"column":128}},"57":{"start":{"line":136,"column":30},"end":{"line":136,"column":75}},"58":{"start":{"line":137,"column":8},"end":{"line":137,"column":41}},"59":{"start":{"line":139,"column":8},"end":{"line":158,"column":9}},"60":{"start":{"line":140,"column":24},"end":{"line":140,"column":52}},"61":{"start":{"line":141,"column":30},"end":{"line":141,"column":59}},"62":{"start":{"line":142,"column":29},"end":{"line":142,"column":76}},"63":{"start":{"line":143,"column":12},"end":{"line":157,"column":13}},"64":{"start":{"line":145,"column":20},"end":{"line":147,"column":21}},"65":{"start":{"line":146,"column":24},"end":{"line":146,"column":57}},"66":{"start":{"line":148,"column":20},"end":{"line":148,"column":109}},"67":{"start":{"line":149,"column":20},"end":{"line":149,"column":26}},"68":{"start":{"line":152,"column":20},"end":{"line":154,"column":21}},"69":{"start":{"line":153,"column":24},"end":{"line":153,"column":50}},"70":{"start":{"line":155,"column":20},"end":{"line":155,"column":81}},"71":{"start":{"line":156,"column":20},"end":{"line":156,"column":26}},"72":{"start":{"line":159,"column":8},"end":{"line":159,"column":24}},"73":{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},"74":{"start":{"line":170,"column":12},"end":{"line":170,"column":130}},"75":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"76":{"start":{"line":174,"column":12},"end":{"line":174,"column":59}},"77":{"start":{"line":184,"column":35},"end":{"line":184,"column":92}},"78":{"start":{"line":185,"column":8},"end":{"line":191,"column":10}},"79":{"start":{"line":198,"column":23},"end":{"line":198,"column":49}},"80":{"start":{"line":199,"column":8},"end":{"line":199,"column":40}},"81":{"start":{"line":201,"column":8},"end":{"line":201,"column":51}},"82":{"start":{"line":202,"column":8},"end":{"line":202,"column":43}},"83":{"start":{"line":203,"column":8},"end":{"line":203,"column":65}},"84":{"start":{"line":204,"column":8},"end":{"line":204,"column":48}},"85":{"start":{"line":205,"column":8},"end":{"line":205,"column":62}},"86":{"start":{"line":207,"column":8},"end":{"line":208,"column":105}},"87":{"start":{"line":208,"column":12},"end":{"line":208,"column":105}},"88":{"start":{"line":208,"column":61},"end":{"line":208,"column":103}},"89":{"start":{"line":210,"column":8},"end":{"line":214,"column":9}},"90":{"start":{"line":211,"column":12},"end":{"line":213,"column":15}},"91":{"start":{"line":212,"column":16},"end":{"line":212,"column":44}},"92":{"start":{"line":215,"column":8},"end":{"line":215,"column":33}},"93":{"start":{"line":218,"column":0},"end":{"line":218,"column":26}},"94":{"start":{"line":219,"column":0},"end":{"line":219,"column":49}},"95":{"start":{"line":222,"column":8},"end":{"line":222,"column":24}},"96":{"start":{"line":229,"column":8},"end":{"line":229,"column":30}},"97":{"start":{"line":236,"column":8},"end":{"line":236,"column":26}},"98":{"start":{"line":243,"column":23},"end":{"line":243,"column":49}},"99":{"start":{"line":245,"column":8},"end":{"line":245,"column":47}},"100":{"start":{"line":247,"column":8},"end":{"line":252,"column":11}},"101":{"start":{"line":248,"column":35},"end":{"line":248,"column":51}},"102":{"start":{"line":250,"column":12},"end":{"line":250,"column":55}},"103":{"start":{"line":251,"column":12},"end":{"line":251,"column":46}},"104":{"start":{"line":253,"column":8},"end":{"line":253,"column":33}},"105":{"start":{"line":261,"column":23},"end":{"line":261,"column":52}},"106":{"start":{"line":262,"column":26},"end":{"line":262,"column":48}},"107":{"start":{"line":263,"column":27},"end":{"line":263,"column":47}},"108":{"start":{"line":264,"column":8},"end":{"line":270,"column":9}},"109":{"start":{"line":264,"column":21},"end":{"line":264,"column":22}},"110":{"start":{"line":266,"column":31},"end":{"line":266,"column":51}},"111":{"start":{"line":267,"column":28},"end":{"line":267,"column":64}},"112":{"start":{"line":268,"column":25},"end":{"line":268,"column":53}},"113":{"start":{"line":269,"column":12},"end":{"line":269,"column":36}},"114":{"start":{"line":271,"column":8},"end":{"line":271,"column":25}},"115":{"start":{"line":274,"column":0},"end":{"line":274,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":56},"end":{"line":2,"column":57}},"loc":{"start":{"line":2,"column":71},"end":{"line":4,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":4},"end":{"line":23,"column":5}},"loc":{"start":{"line":23,"column":18},"end":{"line":30,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":26},"end":{"line":67,"column":5}},"line":37},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":34},"end":{"line":40,"column":35}},"loc":{"start":{"line":40,"column":46},"end":{"line":54,"column":9}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":74,"column":17},"end":{"line":92,"column":5}},"line":74},"5":{"name":"(anonymous_5)","decl":{"start":{"line":81,"column":42},"end":{"line":81,"column":43}},"loc":{"start":{"line":81,"column":51},"end":{"line":89,"column":13}},"line":81},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":4},"end":{"line":97,"column":5}},"loc":{"start":{"line":99,"column":21},"end":{"line":115,"column":5}},"line":99},"7":{"name":"(anonymous_7)","decl":{"start":{"line":105,"column":55},"end":{"line":105,"column":56}},"loc":{"start":{"line":105,"column":64},"end":{"line":112,"column":14}},"line":105},"8":{"name":"(anonymous_8)","decl":{"start":{"line":107,"column":12},"end":{"line":107,"column":13}},"loc":{"start":{"line":107,"column":25},"end":{"line":112,"column":13}},"line":107},"9":{"name":"(anonymous_9)","decl":{"start":{"line":120,"column":4},"end":{"line":120,"column":5}},"loc":{"start":{"line":120,"column":28},"end":{"line":160,"column":5}},"line":120},"10":{"name":"(anonymous_10)","decl":{"start":{"line":166,"column":4},"end":{"line":166,"column":5}},"loc":{"start":{"line":166,"column":15},"end":{"line":178,"column":5}},"line":166},"11":{"name":"(anonymous_11)","decl":{"start":{"line":182,"column":4},"end":{"line":182,"column":5}},"loc":{"start":{"line":182,"column":13},"end":{"line":192,"column":5}},"line":182},"12":{"name":"(anonymous_12)","decl":{"start":{"line":197,"column":4},"end":{"line":197,"column":5}},"loc":{"start":{"line":197,"column":16},"end":{"line":216,"column":5}},"line":197},"13":{"name":"(anonymous_13)","decl":{"start":{"line":208,"column":44},"end":{"line":208,"column":45}},"loc":{"start":{"line":208,"column":61},"end":{"line":208,"column":103}},"line":208},"14":{"name":"(anonymous_14)","decl":{"start":{"line":211,"column":37},"end":{"line":211,"column":38}},"loc":{"start":{"line":211,"column":46},"end":{"line":213,"column":13}},"line":211},"15":{"name":"(anonymous_15)","decl":{"start":{"line":221,"column":4},"end":{"line":221,"column":5}},"loc":{"start":{"line":221,"column":18},"end":{"line":223,"column":5}},"line":221},"16":{"name":"(anonymous_16)","decl":{"start":{"line":228,"column":4},"end":{"line":228,"column":5}},"loc":{"start":{"line":228,"column":18},"end":{"line":230,"column":5}},"line":228},"17":{"name":"(anonymous_17)","decl":{"start":{"line":235,"column":4},"end":{"line":235,"column":5}},"loc":{"start":{"line":235,"column":15},"end":{"line":237,"column":5}},"line":235},"18":{"name":"(anonymous_18)","decl":{"start":{"line":242,"column":4},"end":{"line":242,"column":5}},"loc":{"start":{"line":242,"column":16},"end":{"line":254,"column":5}},"line":242},"19":{"name":"(anonymous_19)","decl":{"start":{"line":247,"column":27},"end":{"line":247,"column":28}},"loc":{"start":{"line":247,"column":37},"end":{"line":252,"column":9}},"line":247},"20":{"name":"(anonymous_20)","decl":{"start":{"line":260,"column":4},"end":{"line":260,"column":5}},"loc":{"start":{"line":260,"column":28},"end":{"line":272,"column":5}},"line":260}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":4,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":56},"end":{"line":4,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":11},"end":{"line":3,"column":61}},"type":"cond-expr","locations":[{"start":{"line":3,"column":37},"end":{"line":3,"column":40}},{"start":{"line":3,"column":43},"end":{"line":3,"column":61}}],"line":3},"2":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":33}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":15}},{"start":{"line":3,"column":19},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},"type":"if","locations":[{"start":{"line":43,"column":12},"end":{"line":45,"column":13}},{"start":{"line":43,"column":12},"end":{"line":45,"column":13}}],"line":43},"4":{"loc":{"start":{"line":57,"column":12},"end":{"line":57,"column":91}},"type":"binary-expr","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":32}},{"start":{"line":57,"column":36},"end":{"line":57,"column":57}},{"start":{"line":57,"column":61},"end":{"line":57,"column":91}}],"line":57},"5":{"loc":{"start":{"line":58,"column":42},"end":{"line":58,"column":77}},"type":"binary-expr","locations":[{"start":{"line":58,"column":42},"end":{"line":58,"column":57}},{"start":{"line":58,"column":61},"end":{"line":58,"column":77}}],"line":58},"6":{"loc":{"start":{"line":60,"column":82},"end":{"line":60,"column":138}},"type":"binary-expr","locations":[{"start":{"line":60,"column":82},"end":{"line":60,"column":107}},{"start":{"line":60,"column":111},"end":{"line":60,"column":138}}],"line":60},"7":{"loc":{"start":{"line":62,"column":29},"end":{"line":62,"column":74}},"type":"binary-expr","locations":[{"start":{"line":62,"column":29},"end":{"line":62,"column":49}},{"start":{"line":62,"column":53},"end":{"line":62,"column":74}}],"line":62},"8":{"loc":{"start":{"line":65,"column":76},"end":{"line":65,"column":125}},"type":"binary-expr","locations":[{"start":{"line":65,"column":76},"end":{"line":65,"column":98}},{"start":{"line":65,"column":102},"end":{"line":65,"column":125}}],"line":65},"9":{"loc":{"start":{"line":76,"column":8},"end":{"line":90,"column":9}},"type":"if","locations":[{"start":{"line":76,"column":8},"end":{"line":90,"column":9}},{"start":{"line":76,"column":8},"end":{"line":90,"column":9}}],"line":76},"10":{"loc":{"start":{"line":76,"column":12},"end":{"line":77,"column":48}},"type":"binary-expr","locations":[{"start":{"line":76,"column":12},"end":{"line":76,"column":46}},{"start":{"line":77,"column":12},"end":{"line":77,"column":48}}],"line":76},"11":{"loc":{"start":{"line":78,"column":30},"end":{"line":79,"column":52}},"type":"binary-expr","locations":[{"start":{"line":78,"column":30},"end":{"line":78,"column":64}},{"start":{"line":79,"column":16},"end":{"line":79,"column":52}}],"line":78},"12":{"loc":{"start":{"line":87,"column":31},"end":{"line":87,"column":98}},"type":"cond-expr","locations":[{"start":{"line":87,"column":55},"end":{"line":87,"column":79}},{"start":{"line":87,"column":82},"end":{"line":87,"column":98}}],"line":87},"13":{"loc":{"start":{"line":101,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":101,"column":8},"end":{"line":113,"column":9}},{"start":{"line":101,"column":8},"end":{"line":113,"column":9}}],"line":101},"14":{"loc":{"start":{"line":101,"column":12},"end":{"line":102,"column":46}},"type":"binary-expr","locations":[{"start":{"line":101,"column":12},"end":{"line":101,"column":45}},{"start":{"line":102,"column":12},"end":{"line":102,"column":46}}],"line":101},"15":{"loc":{"start":{"line":103,"column":32},"end":{"line":103,"column":103}},"type":"binary-expr","locations":[{"start":{"line":103,"column":32},"end":{"line":103,"column":65}},{"start":{"line":103,"column":69},"end":{"line":103,"column":103}}],"line":103},"16":{"loc":{"start":{"line":105,"column":65},"end":{"line":105,"column":114}},"type":"binary-expr","locations":[{"start":{"line":105,"column":65},"end":{"line":105,"column":84}},{"start":{"line":105,"column":88},"end":{"line":105,"column":108}},{"start":{"line":105,"column":112},"end":{"line":105,"column":114}}],"line":105},"17":{"loc":{"start":{"line":110,"column":46},"end":{"line":110,"column":72}},"type":"binary-expr","locations":[{"start":{"line":110,"column":46},"end":{"line":110,"column":61}},{"start":{"line":110,"column":65},"end":{"line":110,"column":72}}],"line":110},"18":{"loc":{"start":{"line":143,"column":12},"end":{"line":157,"column":13}},"type":"switch","locations":[{"start":{"line":144,"column":16},"end":{"line":149,"column":26}},{"start":{"line":150,"column":16},"end":{"line":156,"column":26}}],"line":143},"19":{"loc":{"start":{"line":145,"column":20},"end":{"line":147,"column":21}},"type":"if","locations":[{"start":{"line":145,"column":20},"end":{"line":147,"column":21}},{"start":{"line":145,"column":20},"end":{"line":147,"column":21}}],"line":145},"20":{"loc":{"start":{"line":152,"column":20},"end":{"line":154,"column":21}},"type":"if","locations":[{"start":{"line":152,"column":20},"end":{"line":154,"column":21}},{"start":{"line":152,"column":20},"end":{"line":154,"column":21}}],"line":152},"21":{"loc":{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},{"start":{"line":169,"column":8},"end":{"line":171,"column":9}}],"line":169},"22":{"loc":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},{"start":{"line":173,"column":8},"end":{"line":175,"column":9}}],"line":173},"23":{"loc":{"start":{"line":173,"column":12},"end":{"line":173,"column":61}},"type":"binary-expr","locations":[{"start":{"line":173,"column":12},"end":{"line":173,"column":28}},{"start":{"line":173,"column":32},"end":{"line":173,"column":61}}],"line":173},"24":{"loc":{"start":{"line":207,"column":8},"end":{"line":208,"column":105}},"type":"if","locations":[{"start":{"line":207,"column":8},"end":{"line":208,"column":105}},{"start":{"line":207,"column":8},"end":{"line":208,"column":105}}],"line":207},"25":{"loc":{"start":{"line":210,"column":8},"end":{"line":214,"column":9}},"type":"if","locations":[{"start":{"line":210,"column":8},"end":{"line":214,"column":9}},{"start":{"line":210,"column":8},"end":{"line":214,"column":9}}],"line":210}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":83,"14":83,"15":30,"16":30,"17":30,"18":30,"19":0,"20":30,"21":30,"22":30,"23":0,"24":30,"25":30,"26":30,"27":30,"28":30,"29":30,"30":30,"31":30,"32":30,"33":30,"34":30,"35":5110,"36":5110,"37":30,"38":30,"39":30,"40":30,"41":30,"42":30,"43":60,"44":60,"45":60,"46":30,"47":47,"48":47,"49":47,"50":47,"51":47,"52":47,"53":47,"54":47,"55":47,"56":47,"57":47,"58":47,"59":47,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":47,"73":0,"74":0,"75":0,"76":0,"77":17,"78":17,"79":53,"80":53,"81":53,"82":53,"83":53,"84":53,"85":53,"86":53,"87":0,"88":0,"89":53,"90":0,"91":0,"92":53,"93":1,"94":1,"95":2,"96":4,"97":0,"98":3,"99":3,"100":3,"101":6,"102":6,"103":6,"104":3,"105":1,"106":1,"107":1,"108":1,"109":1,"110":2,"111":2,"112":2,"113":2,"114":1,"115":1},"f":{"0":1,"1":83,"2":30,"3":30,"4":30,"5":5110,"6":30,"7":30,"8":60,"9":47,"10":0,"11":17,"12":53,"13":0,"14":0,"15":2,"16":4,"17":0,"18":3,"19":6,"20":1},"b":{"0":[1,1,1],"1":[0,1],"2":[1,1],"3":[0,30],"4":[30,0,0],"5":[30,0],"6":[30,0],"7":[30,0],"8":[30,0],"9":[30,0],"10":[30,0],"11":[30,0],"12":[5110,0],"13":[30,0],"14":[30,0],"15":[30,0],"16":[30,0,0],"17":[60,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,53],"25":[0,53]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcSign.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcSign.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport secp256k1 from 'secp256k1';\n\nimport { MessageType, PROTOCOL_VERSION } from '../MessageType';\nimport { deserializeTlv } from '../serialize/deserializeTlv';\nimport { getTlv } from '../serialize/getTlv';\nimport { BatchFundingGroup } from './BatchFundingGroup';\nimport {\n CetAdaptorSignatures,\n ICetAdaptorSignaturesJSON,\n} from './CetAdaptorSignatures';\nimport { IDlcMessage } from './DlcMessage';\nimport { FundingSignatures, IFundingSignaturesJSON } from './FundingSignatures';\nimport { ScriptWitnessV0 } from './ScriptWitnessV0';\n\n/**\n * DlcSign gives all of the initiator's signatures, which allows the\n * receiver to broadcast the funding transaction with both parties being\n * fully committed to all closing transactions.\n * Updated to support dlcspecs PR #163 format.\n */\nexport class DlcSign implements IDlcMessage {\n public static type = MessageType.DlcSign;\n\n /**\n * Creates a DlcSign from JSON data (e.g., from test vectors)\n * Handles both our internal format and external test vector formats\n * @param json JSON object representing a DLC sign\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DlcSign {\n const instance = new DlcSign();\n\n // Helper function to parse DER-encoded signature and extract raw r,s values (64 bytes total)\n const parseDerSignature = (hexSig: string): Buffer => {\n const sigBuffer = Buffer.from(hexSig, 'hex');\n\n // If it's already 64 bytes, assume it's raw\n if (sigBuffer.length === 64) {\n return sigBuffer;\n }\n\n // Use secp256k1.signatureImport to parse DER signature\n try {\n const rawSig = secp256k1.signatureImport(sigBuffer);\n return Buffer.from(rawSig);\n } catch (ex) {\n throw new Error(`Invalid DER signature: ${ex.message}`);\n }\n };\n\n // Handle both internal and external field naming conventions\n instance.protocolVersion =\n json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;\n instance.contractId = Buffer.from(\n json.contractId || json.contract_id,\n 'hex',\n );\n\n // Parse CET adaptor signatures\n instance.cetAdaptorSignatures = DlcSign.parseCetAdaptorSignaturesFromJSON(\n json.cetAdaptorSignatures || json.cet_adaptor_signatures,\n );\n\n // Parse refund signature - handle DER encoding\n const refundSigHex = json.refundSignature || json.refund_signature;\n instance.refundSignature = parseDerSignature(refundSigHex);\n\n // Parse funding signatures\n instance.fundingSignatures = DlcSign.parseFundingSignaturesFromJSON(\n json.fundingSignatures || json.funding_signatures,\n );\n\n return instance;\n }\n\n /**\n * Parses CetAdaptorSignatures from JSON\n * @param cetSigsJson JSON object representing CET adaptor signatures\n */\n private static parseCetAdaptorSignaturesFromJSON(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n cetSigsJson: any,\n ): CetAdaptorSignatures {\n const instance = new CetAdaptorSignatures();\n\n if (\n cetSigsJson.ecdsaAdaptorSignatures ||\n cetSigsJson.ecdsa_adaptor_signatures\n ) {\n const ecdsaSigs =\n cetSigsJson.ecdsaAdaptorSignatures ||\n cetSigsJson.ecdsa_adaptor_signatures;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.sigs = ecdsaSigs.map((sig: any) => {\n // The test vectors use 'signature' field, but our internal format uses encryptedSig/dleqProof\n // For now, we'll parse the signature as encryptedSig and leave dleqProof empty\n const sigBuffer = Buffer.from(sig.signature, 'hex');\n return {\n encryptedSig: sigBuffer.slice(0, 65), // First 65 bytes\n dleqProof:\n sigBuffer.length > 65 ? sigBuffer.slice(65, 162) : Buffer.alloc(97), // Next 97 bytes or empty\n };\n });\n }\n\n return instance;\n }\n\n /**\n * Parses FundingSignatures from JSON\n * @param fundingSigsJson JSON object representing funding signatures\n */\n private static parseFundingSignaturesFromJSON(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fundingSigsJson: any,\n ): FundingSignatures {\n const instance = new FundingSignatures();\n\n if (\n fundingSigsJson.fundingSignatures ||\n fundingSigsJson.funding_signatures\n ) {\n const fundingSigs =\n fundingSigsJson.fundingSignatures || fundingSigsJson.funding_signatures;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.witnessElements = fundingSigs.map((sig: any) =>\n (sig.witnessElements || sig.witness_elements || []).map(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (element: any) => {\n // Create a ScriptWitnessV0 instance for each witness element\n const witness = new ScriptWitnessV0();\n witness.witness = Buffer.from(element.witness || element, 'hex');\n return witness;\n },\n ),\n );\n }\n\n return instance;\n }\n\n /**\n * Deserializes a sign_dlc message\n * @param buf\n */\n public static deserialize(buf: Buffer): DlcSign {\n const instance = new DlcSign();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n\n // New fields as per dlcspecs PR #163\n instance.protocolVersion = reader.readUInt32BE();\n instance.contractId = reader.readBytes(32);\n\n // Read CET adaptor signatures directly to match serialize format (no TLV wrapping)\n instance.cetAdaptorSignatures = CetAdaptorSignatures.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n // Skip past the CET adaptor signatures we just read\n const cetLength = instance.cetAdaptorSignatures.serialize().length;\n reader.position += cetLength;\n\n instance.refundSignature = reader.readBytes(64);\n\n // Read funding signatures directly to match serialize format (no TLV wrapping)\n instance.fundingSignatures = FundingSignatures.deserialize(\n reader.buffer.subarray(reader.position),\n );\n\n // Skip past the funding signatures we just read\n const fundingLength = instance.fundingSignatures.serialize().length;\n reader.position += fundingLength;\n\n // Parse TLV stream as per dlcspecs PR #163\n while (!reader.eof) {\n const buf = getTlv(reader);\n const tlvReader = new BufferReader(buf);\n const { type } = deserializeTlv(tlvReader);\n\n switch (Number(type)) {\n case MessageType.BatchFundingGroup:\n if (!instance.batchFundingGroups) {\n instance.batchFundingGroups = [];\n }\n instance.batchFundingGroups.push(BatchFundingGroup.deserialize(buf));\n break;\n default:\n // Store unknown TLVs for future compatibility\n if (!instance.unknownTlvs) {\n instance.unknownTlvs = [];\n }\n instance.unknownTlvs.push({ type: Number(type), data: buf });\n break;\n }\n }\n\n return instance;\n }\n\n /**\n * The type for sign_dlc message. sign_dlc = 42782\n */\n public type = DlcSign.type;\n\n // New fields as per dlcspecs PR #163\n public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version\n\n // Existing fields\n public contractId: Buffer;\n\n public cetAdaptorSignatures: CetAdaptorSignatures;\n\n public refundSignature: Buffer;\n\n public fundingSignatures: FundingSignatures;\n\n public batchFundingGroups?: BatchFundingGroup[];\n\n // Store unknown TLVs for forward compatibility\n public unknownTlvs?: Array<{ type: number; data: Buffer }>;\n\n /**\n * Validates correctness of all fields\n * Updated validation rules as per dlcspecs PR #163\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // 1. Type is set automatically in class\n // 2. protocol_version validation\n if (this.protocolVersion !== PROTOCOL_VERSION) {\n throw new Error(\n `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,\n );\n }\n\n // 3. contract_id must be 32 bytes\n if (!this.contractId || this.contractId.length !== 32) {\n throw new Error('contractId must be 32 bytes');\n }\n\n // 4. Other validations would depend on specific business logic\n // TODO: Add more specific validation rules as needed\n }\n\n /**\n * Converts sign_dlc to JSON (canonical rust-dlc format)\n */\n public toJSON(): IDlcSignJSON {\n // Convert raw signature back to DER format for canonical rust-dlc JSON\n const derRefundSignature = secp256k1.signatureExport(this.refundSignature);\n\n return {\n protocolVersion: this.protocolVersion,\n contractId: this.contractId.toString('hex'),\n cetAdaptorSignatures: this.cetAdaptorSignatures.toJSON(),\n refundSignature: Buffer.from(derRefundSignature).toString('hex'),\n fundingSignatures: this.fundingSignatures.toJSON(),\n };\n }\n\n /**\n * Serializes the sign_dlc message into a Buffer\n * Updated serialization format as per dlcspecs PR #163\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n\n // New fields as per dlcspecs PR #163\n writer.writeUInt32BE(this.protocolVersion);\n writer.writeBytes(this.contractId);\n writer.writeBytes(this.cetAdaptorSignatures.serialize());\n writer.writeBytes(this.refundSignature);\n writer.writeBytes(this.fundingSignatures.serialize());\n\n // TLV stream as per dlcspecs PR #163\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n writer.writeBytes(fundingInfo.serialize()),\n );\n\n // Write unknown TLVs for forward compatibility\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) => {\n writer.writeBytes(tlv.data);\n });\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IDlcSignJSON {\n protocolVersion: number;\n contractId: string;\n cetAdaptorSignatures: ICetAdaptorSignaturesJSON;\n refundSignature: string;\n fundingSignatures: IFundingSignaturesJSON;\n}\n\nexport class DlcSignContainer {\n private signs: DlcSign[] = [];\n\n /**\n * Adds a DlcSign to the container.\n * @param sign The DlcSign to add.\n */\n public addSign(sign: DlcSign): void {\n this.signs.push(sign);\n }\n\n /**\n * Returns all DlcSigns in the container.\n * @returns An array of DlcSign instances.\n */\n public getSigns(): DlcSign[] {\n return this.signs;\n }\n\n /**\n * Serializes all DlcSigns in the container to a Buffer.\n * @returns A Buffer containing the serialized DlcSigns.\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // Write the number of signs in the container first.\n writer.writeBigSize(this.signs.length);\n // Serialize each sign and write it.\n this.signs.forEach((sign) => {\n const serializedSign = sign.serialize();\n // Optionally, write the length of the serialized sign for easier deserialization.\n writer.writeBigSize(serializedSign.length);\n writer.writeBytes(serializedSign);\n });\n return writer.toBuffer();\n }\n\n /**\n * Deserializes a Buffer into a DlcSignContainer with DlcSigns.\n * @param buf The Buffer to deserialize.\n * @returns A DlcSignContainer instance.\n */\n public static deserialize(buf: Buffer): DlcSignContainer {\n const reader = new BufferReader(buf);\n const container = new DlcSignContainer();\n const signsCount = reader.readBigSize();\n for (let i = 0; i < signsCount; i++) {\n // Optionally, read the length of the serialized sign if it was written during serialization.\n const signLength = reader.readBigSize();\n const signBuf = reader.readBytes(Number(signLength));\n const sign = DlcSign.deserialize(signBuf);\n container.addSign(sign);\n }\n return container;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"30e469fa4ab74bfcace4c6903a568b4439e42c56","contentHash":"838a4ea336f66aa7b6443491f682ed11292edfc6da6547bcffc1e01c9b86977e"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NodeAnnouncementMessage.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NodeAnnouncementMessage.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":62}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":41}},"26":{"start":{"line":27,"column":16},"end":{"line":27,"column":42}},"27":{"start":{"line":28,"column":17},"end":{"line":28,"column":44}},"28":{"start":{"line":29,"column":15},"end":{"line":29,"column":56}},"29":{"start":{"line":30,"column":18},"end":{"line":30,"column":46}},"30":{"start":{"line":31,"column":22},"end":{"line":31,"column":47}},"31":{"start":{"line":32,"column":17},"end":{"line":32,"column":47}},"32":{"start":{"line":43,"column":8},"end":{"line":43,"column":63}},"33":{"start":{"line":50,"column":8},"end":{"line":50,"column":28}},"34":{"start":{"line":53,"column":25},"end":{"line":53,"column":54}},"35":{"start":{"line":54,"column":23},"end":{"line":54,"column":56}},"36":{"start":{"line":55,"column":8},"end":{"line":55,"column":30}},"37":{"start":{"line":56,"column":8},"end":{"line":56,"column":50}},"38":{"start":{"line":57,"column":21},"end":{"line":57,"column":42}},"39":{"start":{"line":58,"column":8},"end":{"line":58,"column":81}},"40":{"start":{"line":59,"column":8},"end":{"line":59,"column":51}},"41":{"start":{"line":60,"column":8},"end":{"line":60,"column":47}},"42":{"start":{"line":61,"column":8},"end":{"line":61,"column":48}},"43":{"start":{"line":62,"column":8},"end":{"line":62,"column":46}},"44":{"start":{"line":63,"column":8},"end":{"line":63,"column":32}},"45":{"start":{"line":64,"column":8},"end":{"line":64,"column":30}},"46":{"start":{"line":65,"column":8},"end":{"line":68,"column":9}},"47":{"start":{"line":66,"column":28},"end":{"line":66,"column":87}},"48":{"start":{"line":67,"column":12},"end":{"line":67,"column":45}},"49":{"start":{"line":69,"column":8},"end":{"line":69,"column":24}},"50":{"start":{"line":77,"column":22},"end":{"line":77,"column":47}},"51":{"start":{"line":78,"column":8},"end":{"line":78,"column":37}},"52":{"start":{"line":84,"column":21},"end":{"line":84,"column":54}},"53":{"start":{"line":85,"column":8},"end":{"line":85,"column":65}},"54":{"start":{"line":88,"column":31},"end":{"line":88,"column":55}},"55":{"start":{"line":89,"column":28},"end":{"line":89,"column":49}},"56":{"start":{"line":91,"column":31},"end":{"line":91,"column":33}},"57":{"start":{"line":92,"column":8},"end":{"line":94,"column":9}},"58":{"start":{"line":93,"column":12},"end":{"line":93,"column":53}},"59":{"start":{"line":97,"column":29},"end":{"line":97,"column":97}},"60":{"start":{"line":97,"column":53},"end":{"line":97,"column":61}},"61":{"start":{"line":97,"column":84},"end":{"line":97,"column":93}},"62":{"start":{"line":98,"column":20},"end":{"line":107,"column":24}},"63":{"start":{"line":108,"column":23},"end":{"line":108,"column":66}},"64":{"start":{"line":109,"column":8},"end":{"line":109,"column":40}},"65":{"start":{"line":110,"column":8},"end":{"line":110,"column":42}},"66":{"start":{"line":111,"column":8},"end":{"line":111,"column":42}},"67":{"start":{"line":112,"column":8},"end":{"line":113,"column":46}},"68":{"start":{"line":113,"column":12},"end":{"line":113,"column":46}},"69":{"start":{"line":114,"column":8},"end":{"line":114,"column":45}},"70":{"start":{"line":115,"column":8},"end":{"line":115,"column":39}},"71":{"start":{"line":116,"column":8},"end":{"line":116,"column":41}},"72":{"start":{"line":117,"column":8},"end":{"line":117,"column":38}},"73":{"start":{"line":118,"column":8},"end":{"line":118,"column":43}},"74":{"start":{"line":119,"column":8},"end":{"line":121,"column":9}},"75":{"start":{"line":120,"column":12},"end":{"line":120,"column":45}},"76":{"start":{"line":122,"column":8},"end":{"line":122,"column":33}},"77":{"start":{"line":125,"column":0},"end":{"line":125,"column":58}},"78":{"start":{"line":126,"column":0},"end":{"line":126,"column":74}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":39,"column":4},"end":{"line":39,"column":5}},"loc":{"start":{"line":39,"column":18},"end":{"line":51,"column":5}},"line":39},"7":{"name":"(anonymous_7)","decl":{"start":{"line":52,"column":4},"end":{"line":52,"column":5}},"loc":{"start":{"line":52,"column":32},"end":{"line":70,"column":5}},"line":52},"8":{"name":"(anonymous_8)","decl":{"start":{"line":76,"column":4},"end":{"line":76,"column":5}},"loc":{"start":{"line":76,"column":21},"end":{"line":79,"column":5}},"line":76},"9":{"name":"(anonymous_9)","decl":{"start":{"line":83,"column":4},"end":{"line":83,"column":5}},"loc":{"start":{"line":83,"column":33},"end":{"line":86,"column":5}},"line":83},"10":{"name":"(anonymous_10)","decl":{"start":{"line":87,"column":4},"end":{"line":87,"column":5}},"loc":{"start":{"line":87,"column":16},"end":{"line":123,"column":5}},"line":87},"11":{"name":"(anonymous_11)","decl":{"start":{"line":97,"column":48},"end":{"line":97,"column":49}},"loc":{"start":{"line":97,"column":53},"end":{"line":97,"column":61}},"line":97},"12":{"name":"(anonymous_12)","decl":{"start":{"line":97,"column":70},"end":{"line":97,"column":71}},"loc":{"start":{"line":97,"column":84},"end":{"line":97,"column":93}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{"line":19,"column":4},"end":{"line":19,"column":42}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{"line":21,"column":4},"end":{"line":21,"column":141}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{"line":21,"column":40},"end":{"line":21,"column":141}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":112,"column":8},"end":{"line":113,"column":46}},"type":"if","locations":[{"start":{"line":112,"column":8},"end":{"line":113,"column":46}},{"start":{"line":112,"column":8},"end":{"line":113,"column":46}}],"line":112}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":2,"33":2,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":0,"51":0,"52":0,"53":0,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":0,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":2,"7":1,"8":0,"9":0,"10":1,"11":1,"12":1},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NodeAnnouncementMessage.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/NodeAnnouncementMessage.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { BitField } from '@node-dlc/common';\nimport * as crypto from '@node-dlc/crypto';\nimport { NodeFeatureFlags } from '@node-dlc/wire';\n\nimport { Address } from '../domain/Address';\nimport { MessageType } from '../MessageType';\nimport { getTlv } from '../serialize/getTlv';\nimport { IWireMessage } from './IWireMessage';\n\n/**\n * This gossip message allows a node to indicate extra data associated with it,\n * in addition to its public key. To avoid trivial denial of service attacks,\n * nodes not associated with an already known channel are ignored.\n */\nexport class NodeAnnouncementMessage implements IWireMessage {\n public static type = MessageType.NodeAnnouncement;\n\n public static deserialize(payload: Buffer): NodeAnnouncementMessage {\n const instance = new NodeAnnouncementMessage();\n const reader = new BufferReader(payload);\n reader.readUInt16BE(); // read off type\n\n instance.signature = reader.readBytes(64);\n\n const flen = reader.readUInt16BE();\n instance.features = BitField.fromBuffer(reader.readBytes(flen));\n\n instance.timestamp = reader.readUInt32BE();\n instance.nodeId = reader.readBytes(33);\n instance.rgbColor = reader.readBytes(3);\n instance.alias = reader.readBytes(32);\n instance.addresses = [];\n\n reader.readUInt16BE(); // addr_len\n\n while (!reader.eof) {\n const address = Address.deserialize(getTlv(reader));\n\n instance.addresses.push(address);\n }\n\n return instance;\n }\n\n /**\n * Message hashing is after the first 66 bytes of the message\n * and excludes the type and signature. It performs a double\n * sha-256 hash of the remaining bytes.\n */\n public static hash(msg: NodeAnnouncementMessage): Buffer {\n const bytes = msg.serialize().slice(66); // type + signature\n return crypto.hash256(bytes);\n }\n\n /**\n * Verifies the message signature\n */\n public static verifySignatures(msg: NodeAnnouncementMessage): boolean {\n const hash = NodeAnnouncementMessage.hash(msg);\n return crypto.verifySig(hash, msg.signature, msg.nodeId);\n }\n\n /**\n * Type 257\n */\n public type: MessageType = MessageType.NodeAnnouncement;\n\n /**\n * Signature of the announcement message by the node's public key\n * returned as a 64-byte Buffer.\n */\n public signature: Buffer;\n\n public features: BitField<NodeFeatureFlags>;\n\n public timestamp: number;\n\n /**\n * Compressed public key of the node that is a 33-byte\n * buffer.\n */\n public nodeId: Buffer;\n\n /**\n * Color of the node returned as a 3-byte Buffer.\n */\n public rgbColor: Buffer;\n\n /**\n * Alias of the node returned as a 32-byte Buffer.\n */\n public alias: Buffer;\n\n /**\n * Addresses that the node allow public network connections\n * on. The type indicates how the address is encoded. Addresses\n * are in order of connectivity preference. Currently\n * supported addresses formats are IPv4, IPv6, Tor2 and Tor3\n */\n public addresses: Address[] = [];\n\n public serialize(): Buffer {\n const featuresBuffer = this.features.toBuffer();\n const featuresLen = featuresBuffer.length;\n\n // serialize addresses into buffers so we can obtain the length\n const addressBuffers = [];\n for (const address of this.addresses) {\n addressBuffers.push(address.serialize());\n }\n\n // obtain total address length\n // eslint-disable-next-line\n const addressBytes: number = addressBuffers.map(b => b.length).reduce((sum, val) => sum + val, 0); // prettier-ignore\n\n const len =\n 2 + // type\n 64 + // signature\n 2 + // flen\n featuresLen + // features length\n 4 + // timestamp\n 33 + // node_id\n 3 + // rgb_color\n 32 + // alias\n 2 + // addresses\n addressBytes; // cumulative addr bytes\n const writer = new BufferWriter(Buffer.alloc(len));\n\n writer.writeUInt16BE(this.type);\n writer.writeBytes(this.signature);\n writer.writeUInt16BE(featuresLen);\n if (featuresLen > 0) writer.writeBytes(featuresBuffer);\n writer.writeUInt32BE(this.timestamp);\n writer.writeBytes(this.nodeId);\n writer.writeBytes(this.rgbColor);\n writer.writeBytes(this.alias);\n writer.writeUInt16BE(addressBytes);\n for (const addressBuffer of addressBuffers) {\n writer.writeBytes(addressBuffer);\n }\n\n return writer.toBuffer();\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"da11766c045638d98bbe9cdcb2f39da89fec10cc","contentHash":"82f440f7418bd7eb30f5b3014dadab1ddfe04227fa36675086f591e5c04ffa11"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAnnouncement.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAnnouncement.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":44}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":17},"end":{"line":7,"column":47}},"6":{"start":{"line":8,"column":22},"end":{"line":8,"column":46}},"7":{"start":{"line":29,"column":8},"end":{"line":29,"column":44}},"8":{"start":{"line":37,"column":25},"end":{"line":37,"column":49}},"9":{"start":{"line":39,"column":8},"end":{"line":41,"column":48}},"10":{"start":{"line":42,"column":8},"end":{"line":42,"column":120}},"11":{"start":{"line":43,"column":8},"end":{"line":43,"column":105}},"12":{"start":{"line":44,"column":8},"end":{"line":44,"column":24}},"13":{"start":{"line":51,"column":25},"end":{"line":51,"column":49}},"14":{"start":{"line":52,"column":23},"end":{"line":52,"column":52}},"15":{"start":{"line":53,"column":8},"end":{"line":53,"column":29}},"16":{"start":{"line":54,"column":8},"end":{"line":54,"column":47}},"17":{"start":{"line":55,"column":8},"end":{"line":55,"column":56}},"18":{"start":{"line":56,"column":8},"end":{"line":56,"column":53}},"19":{"start":{"line":57,"column":8},"end":{"line":57,"column":99}},"20":{"start":{"line":58,"column":8},"end":{"line":58,"column":24}},"21":{"start":{"line":67,"column":8},"end":{"line":67,"column":36}},"22":{"start":{"line":69,"column":8},"end":{"line":71,"column":9}},"23":{"start":{"line":70,"column":12},"end":{"line":70,"column":82}},"24":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"25":{"start":{"line":74,"column":12},"end":{"line":74,"column":88}},"26":{"start":{"line":77,"column":8},"end":{"line":83,"column":9}},"27":{"start":{"line":78,"column":24},"end":{"line":78,"column":113}},"28":{"start":{"line":79,"column":12},"end":{"line":79,"column":84}},"29":{"start":{"line":82,"column":12},"end":{"line":82,"column":80}},"30":{"start":{"line":90,"column":8},"end":{"line":90,"column":45}},"31":{"start":{"line":96,"column":8},"end":{"line":96,"column":51}},"32":{"start":{"line":102,"column":8},"end":{"line":102,"column":40}},"33":{"start":{"line":108,"column":8},"end":{"line":112,"column":10}},"34":{"start":{"line":118,"column":23},"end":{"line":118,"column":49}},"35":{"start":{"line":119,"column":8},"end":{"line":119,"column":39}},"36":{"start":{"line":120,"column":27},"end":{"line":120,"column":53}},"37":{"start":{"line":121,"column":8},"end":{"line":121,"column":52}},"38":{"start":{"line":122,"column":8},"end":{"line":122,"column":49}},"39":{"start":{"line":123,"column":8},"end":{"line":123,"column":60}},"40":{"start":{"line":124,"column":8},"end":{"line":124,"column":45}},"41":{"start":{"line":125,"column":8},"end":{"line":125,"column":49}},"42":{"start":{"line":126,"column":8},"end":{"line":126,"column":33}},"43":{"start":{"line":129,"column":0},"end":{"line":129,"column":48}},"44":{"start":{"line":130,"column":0},"end":{"line":130,"column":71}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":25,"column":4},"end":{"line":25,"column":5}},"loc":{"start":{"line":25,"column":18},"end":{"line":30,"column":5}},"line":25},"1":{"name":"(anonymous_1)","decl":{"start":{"line":36,"column":4},"end":{"line":36,"column":5}},"loc":{"start":{"line":36,"column":26},"end":{"line":45,"column":5}},"line":36},"2":{"name":"(anonymous_2)","decl":{"start":{"line":50,"column":4},"end":{"line":50,"column":5}},"loc":{"start":{"line":50,"column":28},"end":{"line":59,"column":5}},"line":50},"3":{"name":"(anonymous_3)","decl":{"start":{"line":65,"column":4},"end":{"line":65,"column":5}},"loc":{"start":{"line":65,"column":15},"end":{"line":84,"column":5}},"line":65},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":16},"end":{"line":91,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":95,"column":4},"end":{"line":95,"column":5}},"loc":{"start":{"line":95,"column":28},"end":{"line":97,"column":5}},"line":95},"6":{"name":"(anonymous_6)","decl":{"start":{"line":101,"column":4},"end":{"line":101,"column":5}},"loc":{"start":{"line":101,"column":17},"end":{"line":103,"column":5}},"line":101},"7":{"name":"(anonymous_7)","decl":{"start":{"line":107,"column":4},"end":{"line":107,"column":5}},"loc":{"start":{"line":107,"column":13},"end":{"line":113,"column":5}},"line":107},"8":{"name":"(anonymous_8)","decl":{"start":{"line":117,"column":4},"end":{"line":117,"column":5}},"loc":{"start":{"line":117,"column":16},"end":{"line":127,"column":5}},"line":117}},"branchMap":{"0":{"loc":{"start":{"line":39,"column":47},"end":{"line":41,"column":39}},"type":"binary-expr","locations":[{"start":{"line":39,"column":47},"end":{"line":39,"column":73}},{"start":{"line":40,"column":12},"end":{"line":40,"column":32}},{"start":{"line":41,"column":12},"end":{"line":41,"column":39}}],"line":39},"1":{"loc":{"start":{"line":42,"column":44},"end":{"line":42,"column":111}},"type":"binary-expr","locations":[{"start":{"line":42,"column":44},"end":{"line":42,"column":64}},{"start":{"line":42,"column":68},"end":{"line":42,"column":85}},{"start":{"line":42,"column":89},"end":{"line":42,"column":111}}],"line":42},"2":{"loc":{"start":{"line":43,"column":66},"end":{"line":43,"column":103}},"type":"binary-expr","locations":[{"start":{"line":43,"column":66},"end":{"line":43,"column":82}},{"start":{"line":43,"column":86},"end":{"line":43,"column":103}}],"line":43},"3":{"loc":{"start":{"line":69,"column":8},"end":{"line":71,"column":9}},"type":"if","locations":[{"start":{"line":69,"column":8},"end":{"line":71,"column":9}},{"start":{"line":69,"column":8},"end":{"line":71,"column":9}}],"line":69},"4":{"loc":{"start":{"line":69,"column":12},"end":{"line":69,"column":65}},"type":"binary-expr","locations":[{"start":{"line":69,"column":12},"end":{"line":69,"column":30}},{"start":{"line":69,"column":34},"end":{"line":69,"column":65}}],"line":69},"5":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"6":{"loc":{"start":{"line":73,"column":12},"end":{"line":73,"column":71}},"type":"binary-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":33}},{"start":{"line":73,"column":37},"end":{"line":73,"column":71}}],"line":73}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":451,"8":148,"9":148,"10":148,"11":148,"12":148,"13":248,"14":248,"15":248,"16":248,"17":248,"18":248,"19":248,"20":248,"21":13,"22":12,"23":0,"24":12,"25":0,"26":12,"27":12,"28":12,"29":1,"30":3,"31":0,"32":16,"33":81,"34":670,"35":670,"36":670,"37":670,"38":670,"39":670,"40":670,"41":670,"42":670,"43":1,"44":1},"f":{"0":451,"1":148,"2":248,"3":13,"4":3,"5":0,"6":16,"7":81,"8":670},"b":{"0":[148,0,0],"1":[148,0,0],"2":[148,0],"3":[0,12],"4":[12,12],"5":[0,12],"6":[12,12]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAnnouncement.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAnnouncement.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { math, verify } from 'bip-schnorr';\n\nimport { MessageType } from '../MessageType';\nimport { getTlv } from '../serialize/getTlv';\nimport { IDlcMessage } from './DlcMessage';\nimport { IOracleEventJSON, OracleEvent } from './OracleEvent';\n\n/**\n * Oracle announcement that describe an event and the way that an oracle will\n * attest to it. Updated to be rust-dlc compliant.\n *\n * In order to make it possible to hold oracles accountable in cases where\n * they do not release a signature for an event outcome, there needs to be\n * a proof that an oracle has committed to a given outcome. This proof is\n * given in a so-called oracle announcement, which contains an oracle event\n * together with the oracle public key and a signature over its serialization,\n * which must be valid with respect to the specified public key.\n *\n * This also makes it possible for users to obtain oracle event information\n * from an un-trusted peer while being guaranteed that it originates from a\n * given oracle.\n */\nexport class OracleAnnouncement implements IDlcMessage {\n public static type = MessageType.OracleAnnouncement;\n\n /**\n * Creates an OracleAnnouncement from JSON data\n * @param json JSON object representing oracle announcement\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OracleAnnouncement {\n const instance = new OracleAnnouncement();\n\n // Handle different field name variations\n instance.announcementSig = Buffer.from(\n json.announcementSignature ||\n json.announcementSig ||\n json.announcement_signature,\n 'hex',\n );\n instance.oraclePubkey = Buffer.from(\n json.oraclePublicKey || json.oraclePubkey || json.oracle_public_key,\n 'hex',\n );\n instance.oracleEvent = OracleEvent.fromJSON(\n json.oracleEvent || json.oracle_event,\n );\n\n return instance;\n }\n\n /**\n * Deserializes an oracle_announcement message\n * @param buf\n */\n public static deserialize(buf: Buffer): OracleAnnouncement {\n const instance = new OracleAnnouncement();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n instance.announcementSig = reader.readBytes(64);\n instance.oraclePubkey = reader.readBytes(32);\n instance.oracleEvent = OracleEvent.deserialize(getTlv(reader));\n\n return instance;\n }\n\n /**\n * The type for oracle_announcement message. oracle_announcement = 55332\n */\n public type = OracleAnnouncement.type;\n\n public length: bigint;\n\n /** The signature enabling verifying the origin of the announcement. */\n public announcementSig: Buffer;\n\n /** The public key of the oracle (32 bytes, x-only). */\n public oraclePubkey: Buffer;\n\n /** The description of the event and attesting. */\n public oracleEvent: OracleEvent;\n\n /**\n * Validates the oracle announcement according to rust-dlc specification.\n * This includes validating the oracle event and verifying the announcement signature.\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // Validate oracle event first\n this.oracleEvent.validate();\n\n // Validate oracle public key format (32 bytes for x-only)\n if (!this.oraclePubkey || this.oraclePubkey.length !== 32) {\n throw new Error('Oracle public key must be 32 bytes (x-only format)');\n }\n\n // Validate announcement signature format (64 bytes for Schnorr)\n if (!this.announcementSig || this.announcementSig.length !== 64) {\n throw new Error(\n 'Announcement signature must be 64 bytes (Schnorr format)',\n );\n }\n\n // Verify announcement signature over the oracle event\n try {\n const msg = math.taggedHash(\n 'DLC/oracle/announcement/v0',\n this.oracleEvent.serialize(),\n );\n verify(this.oraclePubkey, msg, this.announcementSig);\n } catch (error) {\n throw new Error(`Invalid announcement signature: ${error.message}`);\n }\n }\n\n /**\n * Returns the nonces from the oracle event.\n * This is useful for finding matching oracle announcements.\n */\n public getNonces(): Buffer[] {\n return this.oracleEvent.oracleNonces;\n }\n\n /**\n * Returns the event maturity epoch from the oracle event.\n */\n public getEventMaturityEpoch(): number {\n return this.oracleEvent.eventMaturityEpoch;\n }\n\n /**\n * Returns the event ID from the oracle event.\n */\n public getEventId(): string {\n return this.oracleEvent.eventId;\n }\n\n /**\n * Converts oracle_announcement to JSON (canonical rust-dlc format)\n */\n public toJSON(): OracleAnnouncementJSON {\n return {\n announcementSignature: this.announcementSig.toString('hex'),\n oraclePublicKey: this.oraclePubkey.toString('hex'),\n oracleEvent: this.oracleEvent.toJSON(),\n };\n }\n\n /**\n * Serializes the oracle_announcement message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBytes(this.announcementSig);\n dataWriter.writeBytes(this.oraclePubkey);\n dataWriter.writeBytes(this.oracleEvent.serialize());\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface OracleAnnouncementJSON {\n type?: number; // Made optional for rust-dlc compatibility\n announcementSignature: string; // Canonical field name\n oraclePublicKey: string; // Canonical field name\n oracleEvent: IOracleEventJSON;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5e933c1c5ed4a9948132f039fdd1c3c7d3ffea58","contentHash":"339ae40e2f59759b4d13936827ea0605c138bd1dc5b9366736a3ead26bd4488d"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEvent.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEvent.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":26},"end":{"line":7,"column":54}},"6":{"start":{"line":28,"column":8},"end":{"line":28,"column":37}},"7":{"start":{"line":30,"column":8},"end":{"line":30,"column":31}},"8":{"start":{"line":38,"column":25},"end":{"line":38,"column":42}},"9":{"start":{"line":40,"column":23},"end":{"line":40,"column":68}},"10":{"start":{"line":41,"column":8},"end":{"line":41,"column":81}},"11":{"start":{"line":41,"column":54},"end":{"line":41,"column":79}},"12":{"start":{"line":42,"column":8},"end":{"line":43,"column":70}},"13":{"start":{"line":45,"column":8},"end":{"line":45,"column":125}},"14":{"start":{"line":46,"column":8},"end":{"line":46,"column":63}},"15":{"start":{"line":47,"column":8},"end":{"line":47,"column":24}},"16":{"start":{"line":54,"column":25},"end":{"line":54,"column":42}},"17":{"start":{"line":55,"column":23},"end":{"line":55,"column":52}},"18":{"start":{"line":56,"column":8},"end":{"line":56,"column":29}},"19":{"start":{"line":57,"column":8},"end":{"line":57,"column":47}},"20":{"start":{"line":58,"column":27},"end":{"line":58,"column":48}},"21":{"start":{"line":59,"column":8},"end":{"line":61,"column":9}},"22":{"start":{"line":59,"column":21},"end":{"line":59,"column":22}},"23":{"start":{"line":60,"column":12},"end":{"line":60,"column":61}},"24":{"start":{"line":62,"column":8},"end":{"line":62,"column":60}},"25":{"start":{"line":63,"column":8},"end":{"line":63,"column":111}},"26":{"start":{"line":64,"column":30},"end":{"line":64,"column":50}},"27":{"start":{"line":65,"column":27},"end":{"line":65,"column":66}},"28":{"start":{"line":66,"column":8},"end":{"line":66,"column":49}},"29":{"start":{"line":67,"column":8},"end":{"line":67,"column":24}},"30":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"31":{"start":{"line":78,"column":12},"end":{"line":78,"column":85}},"32":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"33":{"start":{"line":82,"column":12},"end":{"line":82,"column":55}},"34":{"start":{"line":85,"column":8},"end":{"line":87,"column":9}},"35":{"start":{"line":86,"column":12},"end":{"line":86,"column":67}},"36":{"start":{"line":88,"column":8},"end":{"line":92,"column":11}},"37":{"start":{"line":89,"column":12},"end":{"line":91,"column":13}},"38":{"start":{"line":90,"column":16},"end":{"line":90,"column":83}},"39":{"start":{"line":94,"column":33},"end":{"line":94,"column":61}},"40":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"41":{"start":{"line":96,"column":12},"end":{"line":96,"column":127}},"42":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"43":{"start":{"line":100,"column":12},"end":{"line":100,"column":44}},"44":{"start":{"line":109,"column":8},"end":{"line":122,"column":9}},"45":{"start":{"line":111,"column":12},"end":{"line":111,"column":21}},"46":{"start":{"line":113,"column":13},"end":{"line":122,"column":9}},"47":{"start":{"line":115,"column":31},"end":{"line":115,"column":51}},"48":{"start":{"line":116,"column":12},"end":{"line":118,"column":38}},"49":{"start":{"line":121,"column":12},"end":{"line":121,"column":61}},"50":{"start":{"line":128,"column":8},"end":{"line":128,"column":85}},"51":{"start":{"line":134,"column":8},"end":{"line":134,"column":99}},"52":{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},"53":{"start":{"line":142,"column":12},"end":{"line":142,"column":58}},"54":{"start":{"line":144,"column":8},"end":{"line":144,"column":36}},"55":{"start":{"line":151,"column":8},"end":{"line":153,"column":9}},"56":{"start":{"line":152,"column":12},"end":{"line":152,"column":72}},"57":{"start":{"line":154,"column":8},"end":{"line":154,"column":36}},"58":{"start":{"line":160,"column":8},"end":{"line":165,"column":10}},"59":{"start":{"line":161,"column":60},"end":{"line":161,"column":82}},"60":{"start":{"line":171,"column":23},"end":{"line":171,"column":49}},"61":{"start":{"line":172,"column":8},"end":{"line":172,"column":39}},"62":{"start":{"line":173,"column":27},"end":{"line":173,"column":53}},"63":{"start":{"line":174,"column":8},"end":{"line":174,"column":59}},"64":{"start":{"line":175,"column":8},"end":{"line":177,"column":9}},"65":{"start":{"line":176,"column":12},"end":{"line":176,"column":41}},"66":{"start":{"line":178,"column":8},"end":{"line":178,"column":58}},"67":{"start":{"line":179,"column":8},"end":{"line":179,"column":64}},"68":{"start":{"line":180,"column":8},"end":{"line":180,"column":53}},"69":{"start":{"line":181,"column":8},"end":{"line":181,"column":57}},"70":{"start":{"line":182,"column":8},"end":{"line":182,"column":45}},"71":{"start":{"line":183,"column":8},"end":{"line":183,"column":49}},"72":{"start":{"line":184,"column":8},"end":{"line":184,"column":33}},"73":{"start":{"line":187,"column":0},"end":{"line":187,"column":34}},"74":{"start":{"line":188,"column":0},"end":{"line":188,"column":57}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":18},"end":{"line":31,"column":5}},"line":24},"1":{"name":"(anonymous_1)","decl":{"start":{"line":37,"column":4},"end":{"line":37,"column":5}},"loc":{"start":{"line":37,"column":26},"end":{"line":48,"column":5}},"line":37},"2":{"name":"(anonymous_2)","decl":{"start":{"line":41,"column":43},"end":{"line":41,"column":44}},"loc":{"start":{"line":41,"column":54},"end":{"line":41,"column":79}},"line":41},"3":{"name":"(anonymous_3)","decl":{"start":{"line":53,"column":4},"end":{"line":53,"column":5}},"loc":{"start":{"line":53,"column":28},"end":{"line":68,"column":5}},"line":53},"4":{"name":"(anonymous_4)","decl":{"start":{"line":75,"column":4},"end":{"line":75,"column":5}},"loc":{"start":{"line":75,"column":15},"end":{"line":103,"column":5}},"line":75},"5":{"name":"(anonymous_5)","decl":{"start":{"line":88,"column":34},"end":{"line":88,"column":35}},"loc":{"start":{"line":88,"column":52},"end":{"line":92,"column":9}},"line":88},"6":{"name":"(anonymous_6)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":28},"end":{"line":123,"column":5}},"line":108},"7":{"name":"(anonymous_7)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":18},"end":{"line":129,"column":5}},"line":127},"8":{"name":"(anonymous_8)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":32},"end":{"line":135,"column":5}},"line":133},"9":{"name":"(anonymous_9)","decl":{"start":{"line":140,"column":4},"end":{"line":140,"column":5}},"loc":{"start":{"line":140,"column":29},"end":{"line":145,"column":5}},"line":140},"10":{"name":"(anonymous_10)","decl":{"start":{"line":150,"column":4},"end":{"line":150,"column":5}},"loc":{"start":{"line":150,"column":43},"end":{"line":155,"column":5}},"line":150},"11":{"name":"(anonymous_11)","decl":{"start":{"line":159,"column":4},"end":{"line":159,"column":5}},"loc":{"start":{"line":159,"column":13},"end":{"line":166,"column":5}},"line":159},"12":{"name":"(anonymous_12)","decl":{"start":{"line":161,"column":48},"end":{"line":161,"column":49}},"loc":{"start":{"line":161,"column":60},"end":{"line":161,"column":82}},"line":161},"13":{"name":"(anonymous_13)","decl":{"start":{"line":170,"column":4},"end":{"line":170,"column":5}},"loc":{"start":{"line":170,"column":16},"end":{"line":185,"column":5}},"line":170}},"branchMap":{"0":{"loc":{"start":{"line":40,"column":23},"end":{"line":40,"column":68}},"type":"binary-expr","locations":[{"start":{"line":40,"column":23},"end":{"line":40,"column":40}},{"start":{"line":40,"column":44},"end":{"line":40,"column":62}},{"start":{"line":40,"column":66},"end":{"line":40,"column":68}}],"line":40},"1":{"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":69}},"type":"binary-expr","locations":[{"start":{"line":43,"column":12},"end":{"line":43,"column":35}},{"start":{"line":43,"column":39},"end":{"line":43,"column":64}},{"start":{"line":43,"column":68},"end":{"line":43,"column":69}}],"line":43},"2":{"loc":{"start":{"line":45,"column":78},"end":{"line":45,"column":123}},"type":"binary-expr","locations":[{"start":{"line":45,"column":78},"end":{"line":45,"column":98}},{"start":{"line":45,"column":102},"end":{"line":45,"column":123}}],"line":45},"3":{"loc":{"start":{"line":46,"column":27},"end":{"line":46,"column":62}},"type":"binary-expr","locations":[{"start":{"line":46,"column":27},"end":{"line":46,"column":39}},{"start":{"line":46,"column":43},"end":{"line":46,"column":56}},{"start":{"line":46,"column":60},"end":{"line":46,"column":62}}],"line":46},"4":{"loc":{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":79,"column":9}},{"start":{"line":77,"column":8},"end":{"line":79,"column":9}}],"line":77},"5":{"loc":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},{"start":{"line":81,"column":8},"end":{"line":83,"column":9}}],"line":81},"6":{"loc":{"start":{"line":81,"column":12},"end":{"line":81,"column":54}},"type":"binary-expr","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":25}},{"start":{"line":81,"column":29},"end":{"line":81,"column":54}}],"line":81},"7":{"loc":{"start":{"line":85,"column":8},"end":{"line":87,"column":9}},"type":"if","locations":[{"start":{"line":85,"column":8},"end":{"line":87,"column":9}},{"start":{"line":85,"column":8},"end":{"line":87,"column":9}}],"line":85},"8":{"loc":{"start":{"line":89,"column":12},"end":{"line":91,"column":13}},"type":"if","locations":[{"start":{"line":89,"column":12},"end":{"line":91,"column":13}},{"start":{"line":89,"column":12},"end":{"line":91,"column":13}}],"line":89},"9":{"loc":{"start":{"line":89,"column":16},"end":{"line":89,"column":45}},"type":"binary-expr","locations":[{"start":{"line":89,"column":16},"end":{"line":89,"column":22}},{"start":{"line":89,"column":26},"end":{"line":89,"column":45}}],"line":89},"10":{"loc":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},{"start":{"line":95,"column":8},"end":{"line":97,"column":9}}],"line":95},"11":{"loc":{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":101,"column":9}},{"start":{"line":99,"column":8},"end":{"line":101,"column":9}}],"line":99},"12":{"loc":{"start":{"line":109,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":109,"column":8},"end":{"line":122,"column":9}},{"start":{"line":109,"column":8},"end":{"line":122,"column":9}}],"line":109},"13":{"loc":{"start":{"line":113,"column":13},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":113,"column":13},"end":{"line":122,"column":9}},{"start":{"line":113,"column":13},"end":{"line":122,"column":9}}],"line":113},"14":{"loc":{"start":{"line":116,"column":19},"end":{"line":118,"column":37}},"type":"cond-expr","locations":[{"start":{"line":117,"column":18},"end":{"line":117,"column":41}},{"start":{"line":118,"column":18},"end":{"line":118,"column":37}}],"line":116},"15":{"loc":{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},{"start":{"line":141,"column":8},"end":{"line":143,"column":9}}],"line":141},"16":{"loc":{"start":{"line":151,"column":8},"end":{"line":153,"column":9}},"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":153,"column":9}},{"start":{"line":151,"column":8},"end":{"line":153,"column":9}}],"line":151}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":454,"7":454,"8":148,"9":148,"10":148,"11":931,"12":148,"13":148,"14":148,"15":148,"16":252,"17":252,"18":252,"19":252,"20":252,"21":252,"22":252,"23":1586,"24":252,"25":252,"26":252,"27":252,"28":252,"29":252,"30":16,"31":1,"32":15,"33":0,"34":15,"35":1,"36":14,"37":80,"38":0,"39":14,"40":14,"41":1,"42":13,"43":3,"44":14,"45":10,"46":4,"47":4,"48":4,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":81,"59":477,"60":684,"61":684,"62":684,"63":684,"64":684,"65":4050,"66":684,"67":684,"68":684,"69":684,"70":684,"71":684,"72":684,"73":1,"74":1},"f":{"0":454,"1":148,"2":931,"3":252,"4":16,"5":80,"6":14,"7":0,"8":0,"9":0,"10":0,"11":81,"12":477,"13":684},"b":{"0":[148,0,0],"1":[148,0,0],"2":[148,0],"3":[148,0,0],"4":[1,15],"5":[0,15],"6":[15,15],"7":[1,14],"8":[0,80],"9":[80,80],"10":[1,13],"11":[3,10],"12":[10,4],"13":[4,0],"14":[0,4],"15":[0,0],"16":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEvent.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEvent.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { getTlv } from '../serialize/getTlv';\nimport { IDlcMessage } from './DlcMessage';\nimport {\n DigitDecompositionEventDescriptor,\n EnumEventDescriptor,\n EventDescriptor,\n IDigitDecompositionEventDescriptorJSON,\n IEnumEventDescriptorJSON,\n} from './EventDescriptor';\n\n/**\n * Oracle event containing information about an event and the way that the\n * oracle will attest to it. Updated to be rust-dlc compliant.\n *\n * For users to be able to create DLCs based on a given event, they also\n * need to obtain information about the oracle and the time at which it\n * plans on releasing a signature over the event outcome. OracleEvent\n * messages contain such information, which includes:\n * - the nonce(s) that will be used to sign the event outcome(s)\n * - the earliest time (UTC) at which it plans on releasing a signature\n * over the event outcome, in epoch seconds\n * - the event descriptor\n * - the event ID which can be a name or categorization associated with\n * the event by the oracle\n */\nexport class OracleEvent implements IDlcMessage {\n public static type = MessageType.OracleEvent;\n\n /**\n * Creates an OracleEvent from JSON data\n * @param json JSON object representing oracle event\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OracleEvent {\n const instance = new OracleEvent();\n\n // Parse oracle nonces array\n const nonces = json.oracleNonces || json.oracle_nonces || [];\n instance.oracleNonces = nonces.map((nonce: string) =>\n Buffer.from(nonce, 'hex'),\n );\n\n instance.eventMaturityEpoch =\n json.eventMaturityEpoch || json.event_maturity_epoch || 0;\n\n // Parse event descriptor\n instance.eventDescriptor = EventDescriptor.fromJSON(\n json.eventDescriptor || json.event_descriptor,\n );\n\n instance.eventId = json.eventId || json.event_id || '';\n\n return instance;\n }\n\n /**\n * Deserializes an oracle_event message\n * @param buf\n */\n public static deserialize(buf: Buffer): OracleEvent {\n const instance = new OracleEvent();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n const nonceCount = reader.readUInt16BE();\n\n for (let i = 0; i < nonceCount; i++) {\n instance.oracleNonces.push(reader.readBytes(32));\n }\n\n instance.eventMaturityEpoch = reader.readUInt32BE();\n instance.eventDescriptor = EventDescriptor.deserialize(getTlv(reader));\n const eventIdLength = reader.readBigSize();\n const eventIdBuf = reader.readBytes(Number(eventIdLength));\n instance.eventId = eventIdBuf.toString();\n\n return instance;\n }\n\n /**\n * The type for oracle_event message. oracle_event = 55330\n */\n public type = OracleEvent.type;\n\n public length: bigint;\n\n /** The nonces that the oracle will use to attest to the event outcome. */\n public oracleNonces: Buffer[] = [];\n\n /** The expected maturity of the contract (Unix timestamp). */\n public eventMaturityEpoch: number;\n\n /** The description of the event. */\n public eventDescriptor: EventDescriptor;\n\n /** The ID of the event. */\n public eventId: string;\n\n /**\n * Validates correctness of all fields in the message according to rust-dlc specification.\n * This includes validating that the number of nonces matches the expected count for the event type.\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Oracle.md\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n // Validate event maturity epoch\n if (this.eventMaturityEpoch < 0) {\n throw new Error('eventMaturityEpoch must be greater than or equal to 0');\n }\n\n // Validate event ID\n if (!this.eventId || this.eventId.length === 0) {\n throw new Error('eventId cannot be empty');\n }\n\n // Validate oracle nonces (must be 32 bytes each)\n if (this.oracleNonces.length === 0) {\n throw new Error('Must have at least one oracle nonce');\n }\n\n this.oracleNonces.forEach((nonce, index) => {\n if (!nonce || nonce.length !== 32) {\n throw new Error(`Oracle nonce at index ${index} must be 32 bytes`);\n }\n });\n\n // Validate expected number of nonces based on event descriptor type\n const expectedNbNonces = this.getExpectedNonceCount();\n\n if (expectedNbNonces !== this.oracleNonces.length) {\n throw new Error(\n `OracleEvent nonce count mismatch: expected ${expectedNbNonces}, got ${this.oracleNonces.length}`,\n );\n }\n\n // Validate the event descriptor itself\n if (this.eventDescriptor instanceof DigitDecompositionEventDescriptor) {\n this.eventDescriptor.validate();\n }\n // EnumEventDescriptorV0 doesn't have validation requirements beyond basic structure\n }\n\n /**\n * Returns the expected number of nonces based on the event descriptor type.\n * This matches the rust-dlc validation logic.\n */\n private getExpectedNonceCount(): number {\n if (this.eventDescriptor instanceof EnumEventDescriptor) {\n // Enum events require exactly 1 nonce\n return 1;\n } else if (\n this.eventDescriptor instanceof DigitDecompositionEventDescriptor\n ) {\n // Digit decomposition events require nbDigits nonces, plus 1 if signed\n const descriptor = this.eventDescriptor;\n return descriptor.isSigned\n ? descriptor.nbDigits + 1\n : descriptor.nbDigits;\n } else {\n throw new Error('Unknown event descriptor type');\n }\n }\n\n /**\n * Returns whether this event is for enumerated outcomes.\n */\n public isEnumEvent(): boolean {\n return this.eventDescriptor instanceof EnumEventDescriptor;\n }\n\n /**\n * Returns whether this event is for numerical outcomes.\n */\n public isDigitDecompositionEvent(): boolean {\n return this.eventDescriptor instanceof DigitDecompositionEventDescriptor;\n }\n\n /**\n * Returns the event descriptor as EnumEventDescriptor if it's an enum event.\n * @throws Error if not an enum event\n */\n public getEnumEventDescriptor(): EnumEventDescriptor {\n if (!this.isEnumEvent()) {\n throw new Error('Event is not an enum event');\n }\n return this.eventDescriptor as EnumEventDescriptor;\n }\n\n /**\n * Returns the event descriptor as DigitDecompositionEventDescriptor if it's a numerical event.\n * @throws Error if not a numerical event\n */\n public getDigitDecompositionEventDescriptor(): DigitDecompositionEventDescriptor {\n if (!this.isDigitDecompositionEvent()) {\n throw new Error('Event is not a digit decomposition event');\n }\n return this.eventDescriptor as DigitDecompositionEventDescriptor;\n }\n\n /**\n * Converts oracle_event to JSON\n */\n public toJSON(): IOracleEventJSON {\n return {\n oracleNonces: this.oracleNonces.map((oracle) => oracle.toString('hex')),\n eventMaturityEpoch: this.eventMaturityEpoch,\n eventDescriptor: this.eventDescriptor.toJSON(),\n eventId: this.eventId,\n };\n }\n\n /**\n * Serializes the oracle_event message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt16BE(this.oracleNonces.length);\n\n for (const nonce of this.oracleNonces) {\n dataWriter.writeBytes(nonce);\n }\n\n dataWriter.writeUInt32BE(this.eventMaturityEpoch);\n dataWriter.writeBytes(this.eventDescriptor.serialize());\n dataWriter.writeBigSize(this.eventId.length);\n dataWriter.writeBytes(Buffer.from(this.eventId));\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOracleEventJSON {\n type?: number; // Made optional for rust-dlc compatibility\n oracleNonces: string[];\n eventMaturityEpoch: number;\n eventDescriptor:\n | IEnumEventDescriptorJSON\n | IDigitDecompositionEventDescriptorJSON;\n eventId: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5a1551bb697ca45c1198b40353dcab2af9e137d3","contentHash":"edca998216fcf0023f829be45733abafd61c587e91407ac115e39ab9549f21ce"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/EventDescriptor.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/EventDescriptor.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":185}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":8,"column":23},"end":{"line":8,"column":52}},"5":{"start":{"line":9,"column":21},"end":{"line":9,"column":49}},"6":{"start":{"line":10,"column":8},"end":{"line":17,"column":9}},"7":{"start":{"line":12,"column":16},"end":{"line":12,"column":60}},"8":{"start":{"line":14,"column":16},"end":{"line":14,"column":74}},"9":{"start":{"line":16,"column":16},"end":{"line":16,"column":127}},"10":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"11":{"start":{"line":26,"column":12},"end":{"line":26,"column":59}},"12":{"start":{"line":29,"column":8},"end":{"line":37,"column":9}},"13":{"start":{"line":30,"column":12},"end":{"line":30,"column":83}},"14":{"start":{"line":32,"column":13},"end":{"line":37,"column":9}},"15":{"start":{"line":33,"column":12},"end":{"line":33,"column":126}},"16":{"start":{"line":36,"column":12},"end":{"line":36,"column":101}},"17":{"start":{"line":40,"column":0},"end":{"line":40,"column":42}},"18":{"start":{"line":47,"column":8},"end":{"line":47,"column":28}},"19":{"start":{"line":51,"column":8},"end":{"line":51,"column":45}},"20":{"start":{"line":52,"column":8},"end":{"line":52,"column":32}},"21":{"start":{"line":53,"column":8},"end":{"line":53,"column":27}},"22":{"start":{"line":61,"column":25},"end":{"line":61,"column":50}},"23":{"start":{"line":62,"column":8},"end":{"line":62,"column":48}},"24":{"start":{"line":63,"column":8},"end":{"line":63,"column":24}},"25":{"start":{"line":70,"column":25},"end":{"line":70,"column":50}},"26":{"start":{"line":71,"column":23},"end":{"line":71,"column":52}},"27":{"start":{"line":72,"column":8},"end":{"line":72,"column":29}},"28":{"start":{"line":73,"column":8},"end":{"line":73,"column":47}},"29":{"start":{"line":74,"column":8},"end":{"line":74,"column":30}},"30":{"start":{"line":75,"column":8},"end":{"line":79,"column":9}},"31":{"start":{"line":76,"column":31},"end":{"line":76,"column":51}},"32":{"start":{"line":77,"column":31},"end":{"line":77,"column":67}},"33":{"start":{"line":78,"column":12},"end":{"line":78,"column":58}},"34":{"start":{"line":80,"column":8},"end":{"line":80,"column":24}},"35":{"start":{"line":86,"column":8},"end":{"line":90,"column":10}},"36":{"start":{"line":96,"column":23},"end":{"line":96,"column":49}},"37":{"start":{"line":97,"column":8},"end":{"line":97,"column":39}},"38":{"start":{"line":98,"column":27},"end":{"line":98,"column":53}},"39":{"start":{"line":99,"column":8},"end":{"line":99,"column":55}},"40":{"start":{"line":100,"column":8},"end":{"line":103,"column":9}},"41":{"start":{"line":101,"column":12},"end":{"line":101,"column":52}},"42":{"start":{"line":102,"column":12},"end":{"line":102,"column":56}},"43":{"start":{"line":104,"column":8},"end":{"line":104,"column":45}},"44":{"start":{"line":105,"column":8},"end":{"line":105,"column":49}},"45":{"start":{"line":106,"column":8},"end":{"line":106,"column":33}},"46":{"start":{"line":109,"column":0},"end":{"line":109,"column":50}},"47":{"start":{"line":110,"column":0},"end":{"line":110,"column":75}},"48":{"start":{"line":112,"column":0},"end":{"line":112,"column":52}},"49":{"start":{"line":119,"column":8},"end":{"line":119,"column":28}},"50":{"start":{"line":123,"column":8},"end":{"line":123,"column":59}},"51":{"start":{"line":131,"column":25},"end":{"line":131,"column":64}},"52":{"start":{"line":132,"column":8},"end":{"line":132,"column":40}},"53":{"start":{"line":133,"column":8},"end":{"line":133,"column":69}},"54":{"start":{"line":134,"column":8},"end":{"line":134,"column":40}},"55":{"start":{"line":135,"column":8},"end":{"line":135,"column":49}},"56":{"start":{"line":136,"column":8},"end":{"line":136,"column":65}},"57":{"start":{"line":137,"column":8},"end":{"line":137,"column":24}},"58":{"start":{"line":144,"column":25},"end":{"line":144,"column":64}},"59":{"start":{"line":145,"column":23},"end":{"line":145,"column":52}},"60":{"start":{"line":146,"column":8},"end":{"line":146,"column":29}},"61":{"start":{"line":147,"column":8},"end":{"line":147,"column":47}},"62":{"start":{"line":153,"column":8},"end":{"line":153,"column":46}},"63":{"start":{"line":154,"column":8},"end":{"line":154,"column":53}},"64":{"start":{"line":155,"column":24},"end":{"line":155,"column":44}},"65":{"start":{"line":156,"column":24},"end":{"line":156,"column":57}},"66":{"start":{"line":157,"column":8},"end":{"line":157,"column":43}},"67":{"start":{"line":158,"column":8},"end":{"line":158,"column":51}},"68":{"start":{"line":159,"column":8},"end":{"line":159,"column":50}},"69":{"start":{"line":160,"column":8},"end":{"line":160,"column":24}},"70":{"start":{"line":168,"column":8},"end":{"line":170,"column":9}},"71":{"start":{"line":169,"column":12},"end":{"line":169,"column":59}},"72":{"start":{"line":172,"column":8},"end":{"line":174,"column":9}},"73":{"start":{"line":173,"column":12},"end":{"line":173,"column":66}},"74":{"start":{"line":180,"column":8},"end":{"line":188,"column":10}},"75":{"start":{"line":194,"column":23},"end":{"line":194,"column":49}},"76":{"start":{"line":195,"column":8},"end":{"line":195,"column":39}},"77":{"start":{"line":196,"column":27},"end":{"line":196,"column":53}},"78":{"start":{"line":197,"column":8},"end":{"line":197,"column":44}},"79":{"start":{"line":198,"column":8},"end":{"line":198,"column":53}},"80":{"start":{"line":199,"column":8},"end":{"line":199,"column":50}},"81":{"start":{"line":200,"column":8},"end":{"line":200,"column":54}},"82":{"start":{"line":201,"column":8},"end":{"line":201,"column":49}},"83":{"start":{"line":202,"column":8},"end":{"line":202,"column":48}},"84":{"start":{"line":203,"column":8},"end":{"line":203,"column":45}},"85":{"start":{"line":204,"column":8},"end":{"line":204,"column":49}},"86":{"start":{"line":205,"column":8},"end":{"line":205,"column":33}},"87":{"start":{"line":208,"column":0},"end":{"line":208,"column":78}},"88":{"start":{"line":209,"column":0},"end":{"line":209,"column":101}},"89":{"start":{"line":211,"column":0},"end":{"line":211,"column":80}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":28},"end":{"line":18,"column":5}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":26},"end":{"line":38,"column":5}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":46,"column":4},"end":{"line":46,"column":5}},"loc":{"start":{"line":46,"column":18},"end":{"line":54,"column":5}},"line":46},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":26},"end":{"line":64,"column":5}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":69,"column":4},"end":{"line":69,"column":5}},"loc":{"start":{"line":69,"column":28},"end":{"line":81,"column":5}},"line":69},"5":{"name":"(anonymous_5)","decl":{"start":{"line":85,"column":4},"end":{"line":85,"column":5}},"loc":{"start":{"line":85,"column":13},"end":{"line":91,"column":5}},"line":85},"6":{"name":"(anonymous_6)","decl":{"start":{"line":95,"column":4},"end":{"line":95,"column":5}},"loc":{"start":{"line":95,"column":16},"end":{"line":107,"column":5}},"line":95},"7":{"name":"(anonymous_7)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":18},"end":{"line":124,"column":5}},"line":118},"8":{"name":"(anonymous_8)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":26},"end":{"line":138,"column":5}},"line":130},"9":{"name":"(anonymous_9)","decl":{"start":{"line":143,"column":4},"end":{"line":143,"column":5}},"loc":{"start":{"line":143,"column":28},"end":{"line":161,"column":5}},"line":143},"10":{"name":"(anonymous_10)","decl":{"start":{"line":167,"column":4},"end":{"line":167,"column":5}},"loc":{"start":{"line":167,"column":15},"end":{"line":175,"column":5}},"line":167},"11":{"name":"(anonymous_11)","decl":{"start":{"line":179,"column":4},"end":{"line":179,"column":5}},"loc":{"start":{"line":179,"column":13},"end":{"line":189,"column":5}},"line":179},"12":{"name":"(anonymous_12)","decl":{"start":{"line":193,"column":4},"end":{"line":193,"column":5}},"loc":{"start":{"line":193,"column":16},"end":{"line":206,"column":5}},"line":193}},"branchMap":{"0":{"loc":{"start":{"line":10,"column":8},"end":{"line":17,"column":9}},"type":"switch","locations":[{"start":{"line":11,"column":12},"end":{"line":12,"column":60}},{"start":{"line":13,"column":12},"end":{"line":14,"column":74}},{"start":{"line":15,"column":12},"end":{"line":16,"column":127}}],"line":10},"1":{"loc":{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":27,"column":9}},{"start":{"line":25,"column":8},"end":{"line":27,"column":9}}],"line":25},"2":{"loc":{"start":{"line":29,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":37,"column":9}},{"start":{"line":29,"column":8},"end":{"line":37,"column":9}}],"line":29},"3":{"loc":{"start":{"line":29,"column":12},"end":{"line":29,"column":45}},"type":"binary-expr","locations":[{"start":{"line":29,"column":12},"end":{"line":29,"column":26}},{"start":{"line":29,"column":30},"end":{"line":29,"column":45}}],"line":29},"4":{"loc":{"start":{"line":30,"column":48},"end":{"line":30,"column":81}},"type":"binary-expr","locations":[{"start":{"line":30,"column":48},"end":{"line":30,"column":62}},{"start":{"line":30,"column":66},"end":{"line":30,"column":81}}],"line":30},"5":{"loc":{"start":{"line":32,"column":13},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":13},"end":{"line":37,"column":9}},{"start":{"line":32,"column":13},"end":{"line":37,"column":9}}],"line":32},"6":{"loc":{"start":{"line":32,"column":17},"end":{"line":32,"column":79}},"type":"binary-expr","locations":[{"start":{"line":32,"column":17},"end":{"line":32,"column":45}},{"start":{"line":32,"column":49},"end":{"line":32,"column":79}}],"line":32},"7":{"loc":{"start":{"line":33,"column":62},"end":{"line":33,"column":124}},"type":"binary-expr","locations":[{"start":{"line":33,"column":62},"end":{"line":33,"column":90}},{"start":{"line":33,"column":94},"end":{"line":33,"column":124}}],"line":33},"8":{"loc":{"start":{"line":62,"column":28},"end":{"line":62,"column":47}},"type":"binary-expr","locations":[{"start":{"line":62,"column":28},"end":{"line":62,"column":41}},{"start":{"line":62,"column":45},"end":{"line":62,"column":47}}],"line":62},"9":{"loc":{"start":{"line":132,"column":24},"end":{"line":132,"column":39}},"type":"binary-expr","locations":[{"start":{"line":132,"column":24},"end":{"line":132,"column":33}},{"start":{"line":132,"column":37},"end":{"line":132,"column":39}}],"line":132},"10":{"loc":{"start":{"line":133,"column":28},"end":{"line":133,"column":68}},"type":"binary-expr","locations":[{"start":{"line":133,"column":28},"end":{"line":133,"column":41}},{"start":{"line":133,"column":45},"end":{"line":133,"column":59}},{"start":{"line":133,"column":63},"end":{"line":133,"column":68}}],"line":133},"11":{"loc":{"start":{"line":134,"column":24},"end":{"line":134,"column":39}},"type":"binary-expr","locations":[{"start":{"line":134,"column":24},"end":{"line":134,"column":33}},{"start":{"line":134,"column":37},"end":{"line":134,"column":39}}],"line":134},"12":{"loc":{"start":{"line":135,"column":29},"end":{"line":135,"column":48}},"type":"binary-expr","locations":[{"start":{"line":135,"column":29},"end":{"line":135,"column":43}},{"start":{"line":135,"column":47},"end":{"line":135,"column":48}}],"line":135},"13":{"loc":{"start":{"line":136,"column":28},"end":{"line":136,"column":64}},"type":"binary-expr","locations":[{"start":{"line":136,"column":28},"end":{"line":136,"column":41}},{"start":{"line":136,"column":45},"end":{"line":136,"column":59}},{"start":{"line":136,"column":63},"end":{"line":136,"column":64}}],"line":136},"14":{"loc":{"start":{"line":168,"column":8},"end":{"line":170,"column":9}},"type":"if","locations":[{"start":{"line":168,"column":8},"end":{"line":170,"column":9}},{"start":{"line":168,"column":8},"end":{"line":170,"column":9}}],"line":168},"15":{"loc":{"start":{"line":172,"column":8},"end":{"line":174,"column":9}},"type":"if","locations":[{"start":{"line":172,"column":8},"end":{"line":174,"column":9}},{"start":{"line":172,"column":8},"end":{"line":174,"column":9}}],"line":172},"16":{"loc":{"start":{"line":198,"column":30},"end":{"line":198,"column":51}},"type":"cond-expr","locations":[{"start":{"line":198,"column":46},"end":{"line":198,"column":47}},{"start":{"line":198,"column":50},"end":{"line":198,"column":51}}],"line":198}},"s":{"0":1,"1":1,"2":1,"3":1,"4":253,"5":253,"6":253,"7":111,"8":142,"9":0,"10":148,"11":0,"12":148,"13":61,"14":87,"15":87,"16":0,"17":1,"18":226,"19":226,"20":226,"21":226,"22":61,"23":61,"24":61,"25":116,"26":116,"27":116,"28":116,"29":116,"30":116,"31":410,"32":410,"33":410,"34":116,"35":37,"36":317,"37":317,"38":317,"39":317,"40":317,"41":1167,"42":1167,"43":317,"44":317,"45":317,"46":1,"47":1,"48":1,"49":238,"50":238,"51":87,"52":87,"53":87,"54":87,"55":87,"56":87,"57":87,"58":144,"59":144,"60":144,"61":144,"62":144,"63":144,"64":144,"65":144,"66":144,"67":144,"68":144,"69":144,"70":7,"71":2,"72":5,"73":1,"74":44,"75":371,"76":371,"77":371,"78":371,"79":371,"80":371,"81":371,"82":371,"83":371,"84":371,"85":371,"86":371,"87":1,"88":1,"89":1},"f":{"0":253,"1":148,"2":226,"3":61,"4":116,"5":37,"6":317,"7":238,"8":87,"9":144,"10":7,"11":44,"12":371},"b":{"0":[111,142,0],"1":[0,148],"2":[61,87],"3":[148,87],"4":[61,0],"5":[87,0],"6":[87,0],"7":[87,0],"8":[61,0],"9":[87,0],"10":[87,87,87],"11":[87,0],"12":[87,87],"13":[87,0,0],"14":[2,5],"15":[1,4],"16":[0,371]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/EventDescriptor.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/EventDescriptor.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\nexport abstract class EventDescriptor {\n public static deserialize(\n buf: Buffer,\n ): EnumEventDescriptor | DigitDecompositionEventDescriptor {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readBigSize());\n\n switch (type) {\n case MessageType.EnumEventDescriptor:\n return EnumEventDescriptor.deserialize(buf);\n case MessageType.DigitDecompositionEventDescriptor:\n return DigitDecompositionEventDescriptor.deserialize(buf);\n default:\n throw new Error(\n `Payout function TLV type must be EnumEventDescriptorV0 or DigitDecompositionEventDescriptor`,\n );\n }\n }\n\n /**\n * Creates an EventDescriptor from JSON data\n * @param json JSON object representing event descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): EventDescriptor {\n if (!json) {\n throw new Error('eventDescriptor is required');\n }\n\n // Check if it's an enum event or digit decomposition event\n if (json.enumEvent || json.enum_event) {\n return EnumEventDescriptor.fromJSON(json.enumEvent || json.enum_event);\n } else if (json.digitDecompositionEvent || json.digit_decomposition_event) {\n return DigitDecompositionEventDescriptor.fromJSON(\n json.digitDecompositionEvent || json.digit_decomposition_event,\n );\n } else {\n throw new Error(\n 'eventDescriptor must have either enumEvent or digitDecompositionEvent',\n );\n }\n }\n\n public abstract type: number;\n\n public abstract length: bigint;\n\n public abstract toJSON():\n | IEnumEventDescriptorJSON\n | IDigitDecompositionEventDescriptorJSON;\n\n public abstract serialize(): Buffer;\n}\n\n/**\n * EnumEventDescriptor message contains the event outcomes for enumerated events.\n * Simplified class name (removed V0 suffix).\n */\nexport class EnumEventDescriptor\n extends EventDescriptor\n implements IDlcMessage {\n public static type = MessageType.EnumEventDescriptorV0;\n\n /**\n * Creates an EnumEventDescriptor from JSON data\n * @param json JSON object representing an enum event descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): EnumEventDescriptor {\n const instance = new EnumEventDescriptor();\n instance.outcomes = json.outcomes || [];\n return instance;\n }\n\n /**\n * Deserializes an enum_event_descriptor_v0 message\n * @param buf\n */\n public static deserialize(buf: Buffer): EnumEventDescriptor {\n const instance = new EnumEventDescriptor();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize(); // need to fix this\n reader.readUInt16BE(); // num_outcomes\n\n while (!reader.eof) {\n const outcomeLen = reader.readBigSize();\n const outcomeBuf = reader.readBytes(Number(outcomeLen));\n instance.outcomes.push(outcomeBuf.toString());\n }\n\n return instance;\n }\n\n /**\n * The type for enum_event_descriptor_v0 message. enum_event_descriptor_v0 = 55302\n */\n public type = EnumEventDescriptor.type;\n\n public length = BigInt(0); // Required by EventDescriptor parent class\n\n public outcomes: string[] = [];\n\n /**\n * Converts enum_event_descriptor to JSON\n */\n public toJSON(): IEnumEventDescriptorJSON {\n return {\n enumEvent: {\n outcomes: this.outcomes,\n },\n };\n }\n\n /**\n * Serializes the enum_event_descriptor_v0 message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt16BE(this.outcomes.length);\n\n for (const outcome of this.outcomes) {\n dataWriter.writeBigSize(outcome.length);\n dataWriter.writeBytes(Buffer.from(outcome));\n }\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keep V0 alias for backward compatibility\nexport const EnumEventDescriptorV0 = EnumEventDescriptor;\nexport type EnumEventDescriptorV0 = EnumEventDescriptor;\n\n/**\n * DigitDecompositionEventDescriptor is a simple enumeration of outcomes.\n * Simplified class name (removed V0 suffix).\n */\nexport class DigitDecompositionEventDescriptor\n extends EventDescriptor\n implements IDlcMessage {\n public static type = MessageType.DigitDecompositionEventDescriptor;\n\n /**\n * Creates a DigitDecompositionEventDescriptor from JSON data\n * @param json JSON object representing digit decomposition event descriptor\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DigitDecompositionEventDescriptor {\n const instance = new DigitDecompositionEventDescriptor();\n instance.base = json.base || 10;\n instance.isSigned = json.isSigned || json.is_signed || false;\n instance.unit = json.unit || '';\n instance.precision = json.precision || 0;\n instance.nbDigits = json.nbDigits || json.nb_digits || 0;\n return instance;\n }\n\n /**\n * Deserializes an digit_decomposition_event_descriptor message\n * @param buf\n */\n public static deserialize(buf: Buffer): DigitDecompositionEventDescriptor {\n const instance = new DigitDecompositionEventDescriptor();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize(); // need to fix this\n\n /**\n * NOTE: BASE IS INCORRECT FORMAT FOR DLC SPEC (SHOULD BE BIGSIZE)\n * Will be fixed in oracle_announcement_v1\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Oracle.md#version-0-digit_decomposition_event_descriptor\n */\n instance.base = reader.readUInt16BE();\n instance.isSigned = reader.readUInt8() === 1;\n const unitLen = reader.readBigSize();\n const unitBuf = reader.readBytes(Number(unitLen));\n instance.unit = unitBuf.toString();\n instance.precision = reader.readUInt32BE();\n instance.nbDigits = reader.readUInt16BE();\n\n return instance;\n }\n\n /**\n * The type for digit_decomposition_event_descriptor message. digit_decomposition_event_descriptor = 55306\n */\n public type = DigitDecompositionEventDescriptor.type;\n\n public length: bigint;\n\n public base: number; // Switch to bigint in oracle_announcement_v1\n\n public isSigned: boolean;\n\n public unit: string;\n\n public precision: number;\n\n public nbDigits: number;\n\n /**\n * Validates correctness of all fields in the message\n * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Oracle.md\n * @throws Will throw an error if validation fails\n */\n public validate(): void {\n if (this.base <= 0) {\n throw new Error('base must be greater than 0');\n }\n\n // TODO: support isSigned according to specifications\n if (this.isSigned) {\n throw new Error('node-dlc does not support isSigned');\n }\n }\n\n /**\n * Converts digit_decomposition_event_descriptor to JSON (canonical rust-dlc format)\n */\n public toJSON(): IDigitDecompositionEventDescriptorJSON {\n return {\n digitDecompositionEvent: {\n base: this.base,\n isSigned: this.isSigned,\n unit: this.unit,\n precision: this.precision,\n nbDigits: this.nbDigits,\n },\n };\n }\n\n /**\n * Serializes the digit_decomposition_event_descriptor message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt16BE(this.base); // Switch to BigSize in oracle_announcement_v1\n dataWriter.writeUInt8(this.isSigned ? 1 : 0);\n dataWriter.writeBigSize(this.unit.length);\n dataWriter.writeBytes(Buffer.from(this.unit));\n dataWriter.writeUInt32BE(this.precision);\n dataWriter.writeUInt16BE(this.nbDigits);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keep V0 alias for backward compatibility\nexport const DigitDecompositionEventDescriptorV0 = DigitDecompositionEventDescriptor;\nexport type DigitDecompositionEventDescriptorV0 = DigitDecompositionEventDescriptor;\n\nexport interface IEnumEventDescriptorJSON {\n enumEvent: {\n outcomes: string[];\n };\n}\n\n// Rust-dlc enum variant format for DigitDecompositionEventDescriptor\nexport interface IDigitDecompositionEventDescriptorJSON {\n digitDecompositionEvent: {\n base: number;\n isSigned: boolean;\n unit: string;\n precision: number;\n nbDigits: number;\n };\n}\n\n// Legacy interface\nexport type IEnumEventDescriptorV0JSON = IEnumEventDescriptorJSON;\n\n// Legacy interface\nexport type IDigitDecompositionEventDescriptorV0JSON = IDigitDecompositionEventDescriptorJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1d13b8eba08080a5365113fbfec423b1bab6a946","contentHash":"7f0a64b579682bbdfa6b74932b6e914cd29834d75dc1c662c600435c6003088d"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAttestation.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAttestation.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":44}},"4":{"start":{"line":6,"column":22},"end":{"line":6,"column":47}},"5":{"start":{"line":20,"column":8},"end":{"line":20,"column":43}},"6":{"start":{"line":22,"column":8},"end":{"line":22,"column":29}},"7":{"start":{"line":24,"column":8},"end":{"line":24,"column":27}},"8":{"start":{"line":31,"column":25},"end":{"line":31,"column":48}},"9":{"start":{"line":32,"column":23},"end":{"line":32,"column":52}},"10":{"start":{"line":33,"column":8},"end":{"line":33,"column":29}},"11":{"start":{"line":34,"column":8},"end":{"line":34,"column":47}},"12":{"start":{"line":36,"column":27},"end":{"line":36,"column":42}},"13":{"start":{"line":37,"column":8},"end":{"line":63,"column":9}},"14":{"start":{"line":39,"column":34},"end":{"line":39,"column":54}},"15":{"start":{"line":41,"column":12},"end":{"line":56,"column":13}},"16":{"start":{"line":42,"column":16},"end":{"line":48,"column":17}},"17":{"start":{"line":43,"column":20},"end":{"line":43,"column":42}},"18":{"start":{"line":46,"column":39},"end":{"line":46,"column":78}},"19":{"start":{"line":47,"column":20},"end":{"line":47,"column":61}},"20":{"start":{"line":49,"column":16},"end":{"line":49,"column":61}},"21":{"start":{"line":53,"column":16},"end":{"line":53,"column":45}},"22":{"start":{"line":54,"column":16},"end":{"line":54,"column":38}},"23":{"start":{"line":55,"column":16},"end":{"line":55,"column":61}},"24":{"start":{"line":60,"column":12},"end":{"line":60,"column":41}},"25":{"start":{"line":61,"column":12},"end":{"line":61,"column":34}},"26":{"start":{"line":62,"column":12},"end":{"line":62,"column":57}},"27":{"start":{"line":64,"column":30},"end":{"line":64,"column":51}},"28":{"start":{"line":65,"column":8},"end":{"line":68,"column":9}},"29":{"start":{"line":65,"column":21},"end":{"line":65,"column":22}},"30":{"start":{"line":66,"column":30},"end":{"line":66,"column":50}},"31":{"start":{"line":67,"column":12},"end":{"line":67,"column":48}},"32":{"start":{"line":71,"column":8},"end":{"line":109,"column":9}},"33":{"start":{"line":72,"column":31},"end":{"line":72,"column":46}},"34":{"start":{"line":73,"column":12},"end":{"line":108,"column":13}},"35":{"start":{"line":75,"column":36},"end":{"line":75,"column":57}},"36":{"start":{"line":79,"column":39},"end":{"line":79,"column":77}},"37":{"start":{"line":80,"column":16},"end":{"line":98,"column":17}},"38":{"start":{"line":84,"column":20},"end":{"line":88,"column":21}},"39":{"start":{"line":84,"column":33},"end":{"line":84,"column":34}},"40":{"start":{"line":85,"column":43},"end":{"line":85,"column":63}},"41":{"start":{"line":86,"column":43},"end":{"line":86,"column":79}},"42":{"start":{"line":87,"column":24},"end":{"line":87,"column":70}},"43":{"start":{"line":92,"column":20},"end":{"line":92,"column":49}},"44":{"start":{"line":93,"column":20},"end":{"line":97,"column":21}},"45":{"start":{"line":94,"column":43},"end":{"line":94,"column":63}},"46":{"start":{"line":95,"column":43},"end":{"line":95,"column":79}},"47":{"start":{"line":96,"column":24},"end":{"line":96,"column":70}},"48":{"start":{"line":102,"column":16},"end":{"line":102,"column":45}},"49":{"start":{"line":103,"column":16},"end":{"line":107,"column":17}},"50":{"start":{"line":104,"column":39},"end":{"line":104,"column":59}},"51":{"start":{"line":105,"column":39},"end":{"line":105,"column":75}},"52":{"start":{"line":106,"column":20},"end":{"line":106,"column":66}},"53":{"start":{"line":110,"column":8},"end":{"line":110,"column":24}},"54":{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},"55":{"start":{"line":121,"column":12},"end":{"line":121,"column":82}},"56":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"57":{"start":{"line":124,"column":12},"end":{"line":124,"column":76}},"58":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"59":{"start":{"line":128,"column":12},"end":{"line":128,"column":56}},"60":{"start":{"line":131,"column":8},"end":{"line":133,"column":9}},"61":{"start":{"line":132,"column":12},"end":{"line":132,"column":82}},"62":{"start":{"line":135,"column":8},"end":{"line":139,"column":11}},"63":{"start":{"line":136,"column":12},"end":{"line":138,"column":13}},"64":{"start":{"line":137,"column":16},"end":{"line":137,"column":97}},"65":{"start":{"line":141,"column":8},"end":{"line":145,"column":11}},"66":{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},"67":{"start":{"line":143,"column":16},"end":{"line":143,"column":77}},"68":{"start":{"line":147,"column":8},"end":{"line":156,"column":11}},"69":{"start":{"line":148,"column":28},"end":{"line":148,"column":48}},"70":{"start":{"line":149,"column":12},"end":{"line":155,"column":13}},"71":{"start":{"line":150,"column":28},"end":{"line":150,"column":95}},"72":{"start":{"line":151,"column":16},"end":{"line":151,"column":71}},"73":{"start":{"line":154,"column":16},"end":{"line":154,"column":114}},"74":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"75":{"start":{"line":159,"column":12},"end":{"line":159,"column":59}},"76":{"start":{"line":170,"column":8},"end":{"line":172,"column":9}},"77":{"start":{"line":171,"column":12},"end":{"line":171,"column":73}},"78":{"start":{"line":174,"column":8},"end":{"line":176,"column":9}},"79":{"start":{"line":175,"column":12},"end":{"line":175,"column":64}},"80":{"start":{"line":178,"column":35},"end":{"line":178,"column":59}},"81":{"start":{"line":179,"column":8},"end":{"line":181,"column":9}},"82":{"start":{"line":180,"column":12},"end":{"line":180,"column":96}},"83":{"start":{"line":184,"column":8},"end":{"line":190,"column":11}},"84":{"start":{"line":185,"column":33},"end":{"line":185,"column":49}},"85":{"start":{"line":186,"column":34},"end":{"line":186,"column":59}},"86":{"start":{"line":187,"column":12},"end":{"line":189,"column":13}},"87":{"start":{"line":188,"column":16},"end":{"line":188,"column":126}},"88":{"start":{"line":198,"column":8},"end":{"line":198,"column":62}},"89":{"start":{"line":198,"column":44},"end":{"line":198,"column":60}},"90":{"start":{"line":204,"column":8},"end":{"line":210,"column":10}},"91":{"start":{"line":208,"column":53},"end":{"line":208,"column":72}},"92":{"start":{"line":216,"column":23},"end":{"line":216,"column":49}},"93":{"start":{"line":217,"column":8},"end":{"line":217,"column":39}},"94":{"start":{"line":218,"column":27},"end":{"line":218,"column":53}},"95":{"start":{"line":219,"column":8},"end":{"line":219,"column":53}},"96":{"start":{"line":220,"column":8},"end":{"line":220,"column":57}},"97":{"start":{"line":221,"column":8},"end":{"line":221,"column":49}},"98":{"start":{"line":222,"column":8},"end":{"line":222,"column":57}},"99":{"start":{"line":223,"column":8},"end":{"line":225,"column":9}},"100":{"start":{"line":224,"column":12},"end":{"line":224,"column":45}},"101":{"start":{"line":227,"column":8},"end":{"line":227,"column":55}},"102":{"start":{"line":228,"column":8},"end":{"line":231,"column":9}},"103":{"start":{"line":229,"column":12},"end":{"line":229,"column":52}},"104":{"start":{"line":230,"column":12},"end":{"line":230,"column":56}},"105":{"start":{"line":232,"column":8},"end":{"line":232,"column":45}},"106":{"start":{"line":233,"column":8},"end":{"line":233,"column":49}},"107":{"start":{"line":234,"column":8},"end":{"line":234,"column":33}},"108":{"start":{"line":237,"column":0},"end":{"line":237,"column":46}},"109":{"start":{"line":238,"column":0},"end":{"line":238,"column":69}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":18},"end":{"line":25,"column":5}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":28},"end":{"line":111,"column":5}},"line":30},"2":{"name":"(anonymous_2)","decl":{"start":{"line":118,"column":4},"end":{"line":118,"column":5}},"loc":{"start":{"line":118,"column":27},"end":{"line":161,"column":5}},"line":118},"3":{"name":"(anonymous_3)","decl":{"start":{"line":135,"column":32},"end":{"line":135,"column":33}},"loc":{"start":{"line":135,"column":48},"end":{"line":139,"column":9}},"line":135},"4":{"name":"(anonymous_4)","decl":{"start":{"line":141,"column":30},"end":{"line":141,"column":31}},"loc":{"start":{"line":141,"column":50},"end":{"line":145,"column":9}},"line":141},"5":{"name":"(anonymous_5)","decl":{"start":{"line":147,"column":32},"end":{"line":147,"column":33}},"loc":{"start":{"line":147,"column":48},"end":{"line":156,"column":9}},"line":147},"6":{"name":"(anonymous_6)","decl":{"start":{"line":168,"column":4},"end":{"line":168,"column":5}},"loc":{"start":{"line":168,"column":46},"end":{"line":191,"column":5}},"line":168},"7":{"name":"(anonymous_7)","decl":{"start":{"line":184,"column":32},"end":{"line":184,"column":33}},"loc":{"start":{"line":184,"column":48},"end":{"line":190,"column":9}},"line":184},"8":{"name":"(anonymous_8)","decl":{"start":{"line":197,"column":4},"end":{"line":197,"column":5}},"loc":{"start":{"line":197,"column":16},"end":{"line":199,"column":5}},"line":197},"9":{"name":"(anonymous_9)","decl":{"start":{"line":198,"column":35},"end":{"line":198,"column":36}},"loc":{"start":{"line":198,"column":44},"end":{"line":198,"column":60}},"line":198},"10":{"name":"(anonymous_10)","decl":{"start":{"line":203,"column":4},"end":{"line":203,"column":5}},"loc":{"start":{"line":203,"column":13},"end":{"line":211,"column":5}},"line":203},"11":{"name":"(anonymous_11)","decl":{"start":{"line":208,"column":44},"end":{"line":208,"column":45}},"loc":{"start":{"line":208,"column":53},"end":{"line":208,"column":72}},"line":208},"12":{"name":"(anonymous_12)","decl":{"start":{"line":215,"column":4},"end":{"line":215,"column":5}},"loc":{"start":{"line":215,"column":16},"end":{"line":235,"column":5}},"line":215}},"branchMap":{"0":{"loc":{"start":{"line":41,"column":12},"end":{"line":56,"column":13}},"type":"if","locations":[{"start":{"line":41,"column":12},"end":{"line":56,"column":13}},{"start":{"line":41,"column":12},"end":{"line":56,"column":13}}],"line":41},"1":{"loc":{"start":{"line":41,"column":16},"end":{"line":41,"column":78}},"type":"binary-expr","locations":[{"start":{"line":41,"column":16},"end":{"line":41,"column":44}},{"start":{"line":41,"column":48},"end":{"line":41,"column":78}}],"line":41},"2":{"loc":{"start":{"line":42,"column":16},"end":{"line":48,"column":17}},"type":"if","locations":[{"start":{"line":42,"column":16},"end":{"line":48,"column":17}},{"start":{"line":42,"column":16},"end":{"line":48,"column":17}}],"line":42},"3":{"loc":{"start":{"line":71,"column":8},"end":{"line":109,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":8},"end":{"line":109,"column":9}},{"start":{"line":71,"column":8},"end":{"line":109,"column":9}}],"line":71},"4":{"loc":{"start":{"line":80,"column":16},"end":{"line":98,"column":17}},"type":"if","locations":[{"start":{"line":80,"column":16},"end":{"line":98,"column":17}},{"start":{"line":80,"column":16},"end":{"line":98,"column":17}}],"line":80},"5":{"loc":{"start":{"line":80,"column":20},"end":{"line":82,"column":53}},"type":"binary-expr","locations":[{"start":{"line":80,"column":20},"end":{"line":80,"column":35}},{"start":{"line":81,"column":20},"end":{"line":81,"column":39}},{"start":{"line":82,"column":20},"end":{"line":82,"column":53}}],"line":80},"6":{"loc":{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":122,"column":9}},{"start":{"line":120,"column":8},"end":{"line":122,"column":9}}],"line":120},"7":{"loc":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},{"start":{"line":123,"column":8},"end":{"line":125,"column":9}}],"line":123},"8":{"loc":{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},"type":"if","locations":[{"start":{"line":127,"column":8},"end":{"line":129,"column":9}},{"start":{"line":127,"column":8},"end":{"line":129,"column":9}}],"line":127},"9":{"loc":{"start":{"line":127,"column":12},"end":{"line":127,"column":54}},"type":"binary-expr","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":25}},{"start":{"line":127,"column":29},"end":{"line":127,"column":54}}],"line":127},"10":{"loc":{"start":{"line":131,"column":8},"end":{"line":133,"column":9}},"type":"if","locations":[{"start":{"line":131,"column":8},"end":{"line":133,"column":9}},{"start":{"line":131,"column":8},"end":{"line":133,"column":9}}],"line":131},"11":{"loc":{"start":{"line":131,"column":12},"end":{"line":131,"column":65}},"type":"binary-expr","locations":[{"start":{"line":131,"column":12},"end":{"line":131,"column":30}},{"start":{"line":131,"column":34},"end":{"line":131,"column":65}}],"line":131},"12":{"loc":{"start":{"line":136,"column":12},"end":{"line":138,"column":13}},"type":"if","locations":[{"start":{"line":136,"column":12},"end":{"line":138,"column":13}},{"start":{"line":136,"column":12},"end":{"line":138,"column":13}}],"line":136},"13":{"loc":{"start":{"line":136,"column":16},"end":{"line":136,"column":41}},"type":"binary-expr","locations":[{"start":{"line":136,"column":16},"end":{"line":136,"column":20}},{"start":{"line":136,"column":24},"end":{"line":136,"column":41}}],"line":136},"14":{"loc":{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},"type":"if","locations":[{"start":{"line":142,"column":12},"end":{"line":144,"column":13}},{"start":{"line":142,"column":12},"end":{"line":144,"column":13}}],"line":142},"15":{"loc":{"start":{"line":142,"column":16},"end":{"line":142,"column":48}},"type":"binary-expr","locations":[{"start":{"line":142,"column":16},"end":{"line":142,"column":24}},{"start":{"line":142,"column":28},"end":{"line":142,"column":48}}],"line":142},"16":{"loc":{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},"type":"if","locations":[{"start":{"line":158,"column":8},"end":{"line":160,"column":9}},{"start":{"line":158,"column":8},"end":{"line":160,"column":9}}],"line":158},"17":{"loc":{"start":{"line":170,"column":8},"end":{"line":172,"column":9}},"type":"if","locations":[{"start":{"line":170,"column":8},"end":{"line":172,"column":9}},{"start":{"line":170,"column":8},"end":{"line":172,"column":9}}],"line":170},"18":{"loc":{"start":{"line":174,"column":8},"end":{"line":176,"column":9}},"type":"if","locations":[{"start":{"line":174,"column":8},"end":{"line":176,"column":9}},{"start":{"line":174,"column":8},"end":{"line":176,"column":9}}],"line":174},"19":{"loc":{"start":{"line":179,"column":8},"end":{"line":181,"column":9}},"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":181,"column":9}},{"start":{"line":179,"column":8},"end":{"line":181,"column":9}}],"line":179},"20":{"loc":{"start":{"line":187,"column":12},"end":{"line":189,"column":13}},"type":"if","locations":[{"start":{"line":187,"column":12},"end":{"line":189,"column":13}},{"start":{"line":187,"column":12},"end":{"line":189,"column":13}}],"line":187}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":20,"6":20,"7":20,"8":14,"9":14,"10":14,"11":14,"12":14,"13":14,"14":14,"15":14,"16":12,"17":1,"18":11,"19":11,"20":12,"21":2,"22":2,"23":2,"24":0,"25":0,"26":0,"27":14,"28":14,"29":14,"30":137,"31":137,"32":14,"33":14,"34":14,"35":14,"36":14,"37":14,"38":12,"39":12,"40":101,"41":101,"42":101,"43":2,"44":2,"45":36,"46":36,"47":36,"48":0,"49":0,"50":0,"51":0,"52":0,"53":14,"54":4,"55":0,"56":4,"57":0,"58":4,"59":0,"60":4,"61":0,"62":4,"63":38,"64":0,"65":4,"66":38,"67":0,"68":4,"69":38,"70":38,"71":38,"72":38,"73":1,"74":3,"75":1,"76":1,"77":0,"78":1,"79":0,"80":1,"81":1,"82":0,"83":1,"84":18,"85":18,"86":18,"87":0,"88":0,"89":0,"90":0,"91":0,"92":8,"93":8,"94":8,"95":8,"96":8,"97":8,"98":8,"99":8,"100":49,"101":8,"102":8,"103":49,"104":49,"105":8,"106":8,"107":8,"108":1,"109":1},"f":{"0":20,"1":14,"2":4,"3":38,"4":38,"5":38,"6":1,"7":18,"8":0,"9":0,"10":0,"11":0,"12":8},"b":{"0":[12,2],"1":[14,14],"2":[1,11],"3":[14,0],"4":[12,2],"5":[14,14,14],"6":[0,4],"7":[0,4],"8":[0,4],"9":[4,4],"10":[0,4],"11":[4,4],"12":[0,38],"13":[38,38],"14":[0,38],"15":[38,38],"16":[1,2],"17":[0,1],"18":[0,1],"19":[0,1],"20":[0,18]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAttestation.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleAttestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\nimport { math, verify } from 'bip-schnorr';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\nimport { OracleAnnouncement } from './OracleAnnouncement';\n\n/**\n * Oracle attestation providing signatures over an outcome value.\n * This represents the oracle's actual attestation to a specific outcome.\n * Updated to match rust-dlc specification with 2-byte count prefixes.\n *\n * An attestation from an oracle providing signatures over an outcome value.\n * This is what the oracle publishes when they want to attest to a specific outcome.\n */\nexport class OracleAttestation implements IDlcMessage {\n public static type = MessageType.OracleAttestation;\n\n /**\n * Deserializes an oracle_attestation message\n * @param buf\n */\n public static deserialize(buf: Buffer): OracleAttestation {\n const instance = new OracleAttestation();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n // Detect format: old rust-dlc 0.4.0 (no event_id) vs new rust-dlc (with event_id)\n const currentPos = reader.position;\n\n try {\n // Try reading as new format (with event_id)\n const eventIdLength = reader.readBigSize();\n\n // If event ID length is reasonable (0-100 bytes), assume new format\n if (eventIdLength >= BigInt('0') && eventIdLength <= BigInt('100')) {\n if (eventIdLength === BigInt('0')) {\n instance.eventId = '';\n } else {\n const eventIdBuf = reader.readBytes(Number(eventIdLength));\n instance.eventId = eventIdBuf.toString();\n }\n instance.oraclePubkey = reader.readBytes(32);\n } else {\n // Event ID length is unreasonable, probably old format without event_id\n reader.position = currentPos;\n instance.eventId = ''; // Default empty event ID for old format\n instance.oraclePubkey = reader.readBytes(32);\n }\n } catch (error) {\n // If reading fails, assume old format without event_id\n reader.position = currentPos;\n instance.eventId = ''; // Default empty event ID for old format\n instance.oraclePubkey = reader.readBytes(32);\n }\n\n const numSignatures = reader.readUInt16BE();\n\n for (let i = 0; i < numSignatures; i++) {\n const signature = reader.readBytes(64);\n instance.signatures.push(signature);\n }\n\n // Handle both rust-dlc format (with u16 count prefix) and DLCSpecs format (no count prefix)\n // Try to detect format by checking if next 2 bytes look like a reasonable outcome count\n if (!reader.eof) {\n const currentPos = reader.position;\n\n try {\n // Try reading as rust-dlc format (with u16 count prefix)\n const numOutcomes = reader.readUInt16BE();\n\n // Validate that this looks like a reasonable count\n // If it's > 1000 or the remaining bytes can't accommodate this many outcomes,\n // it's probably not a count prefix\n const remainingBytes = reader.buffer.length - reader.position;\n\n if (\n numOutcomes > 0 &&\n numOutcomes <= 1000 &&\n remainingBytes >= numOutcomes * 2\n ) {\n // Looks like rust-dlc format with u16 count prefix\n for (let i = 0; i < numOutcomes; i++) {\n const outcomeLen = reader.readBigSize();\n const outcomeBuf = reader.readBytes(Number(outcomeLen));\n instance.outcomes.push(outcomeBuf.toString());\n }\n } else {\n // Reset and try DLCSpecs format (no count prefix)\n reader.position = currentPos;\n while (!reader.eof) {\n const outcomeLen = reader.readBigSize();\n const outcomeBuf = reader.readBytes(Number(outcomeLen));\n instance.outcomes.push(outcomeBuf.toString());\n }\n }\n } catch (error) {\n // If reading as rust-dlc format fails, reset and try DLCSpecs format\n reader.position = currentPos;\n while (!reader.eof) {\n const outcomeLen = reader.readBigSize();\n const outcomeBuf = reader.readBytes(Number(outcomeLen));\n instance.outcomes.push(outcomeBuf.toString());\n }\n }\n }\n\n return instance;\n }\n\n /**\n * The type for oracle_attestation message. oracle_attestation = 55400\n */\n public type = OracleAttestation.type;\n\n public length: bigint;\n\n /** The identifier of the announcement. */\n public eventId: string;\n\n /** The public key of the oracle (32 bytes, x-only). */\n public oraclePubkey: Buffer;\n\n /** The signatures over the event outcome (64 bytes each, Schnorr format). */\n public signatures: Buffer[] = [];\n\n /** The set of strings representing the outcome value. */\n public outcomes: string[] = [];\n\n /**\n * Validates the oracle attestation according to rust-dlc specification.\n * This includes validating signatures and ensuring consistency with announcement.\n * @param announcement The corresponding oracle announcement for validation (optional)\n * @throws Will throw an error if validation fails\n */\n public validate(announcement?: OracleAnnouncement): void {\n // Basic structure validation\n if (this.signatures.length !== this.outcomes.length) {\n throw new Error('Number of signatures must match number of outcomes');\n }\n\n if (this.signatures.length === 0) {\n throw new Error('Must have at least one signature and outcome');\n }\n\n // Validate event ID\n if (!this.eventId || this.eventId.length === 0) {\n throw new Error('Event ID cannot be empty');\n }\n\n // Validate oracle public key format\n if (!this.oraclePubkey || this.oraclePubkey.length !== 32) {\n throw new Error('Oracle public key must be 32 bytes (x-only format)');\n }\n\n // Validate signature formats\n this.signatures.forEach((sig, index) => {\n if (!sig || sig.length !== 64) {\n throw new Error(\n `Signature at index ${index} must be 64 bytes (Schnorr format)`,\n );\n }\n });\n\n // Validate outcomes are not empty\n this.outcomes.forEach((outcome, index) => {\n if (!outcome || outcome.length === 0) {\n throw new Error(`Outcome at index ${index} cannot be empty`);\n }\n });\n\n // Verify signatures over outcomes using tagged hash\n this.signatures.forEach((sig, index) => {\n const outcome = this.outcomes[index];\n try {\n const msg = math.taggedHash('DLC/oracle/attestation/v0', outcome);\n verify(this.oraclePubkey, msg, sig);\n } catch (error) {\n throw new Error(\n `Invalid signature for outcome \"${outcome}\" at index ${index}: ${error.message}`,\n );\n }\n });\n\n // If announcement is provided, validate consistency\n if (announcement) {\n this.validateAgainstAnnouncement(announcement);\n }\n }\n\n /**\n * Validates the attestation against the corresponding oracle announcement.\n * This ensures the attestation is consistent with the original announcement.\n * @param announcement The oracle announcement to validate against\n * @throws Will throw an error if validation fails\n */\n private validateAgainstAnnouncement(announcement: OracleAnnouncement): void {\n // Validate oracle public key matches announcement\n if (!this.oraclePubkey.equals(announcement.oraclePubkey)) {\n throw new Error('Oracle public key must match announcement');\n }\n\n // Validate event ID matches\n if (this.eventId !== announcement.getEventId()) {\n throw new Error('Event ID must match announcement');\n }\n\n // Validate that the number of signatures matches the number of nonces in announcement\n const announcementNonces = announcement.getNonces();\n if (this.signatures.length !== announcementNonces.length) {\n throw new Error(\n 'Number of signatures must match number of nonces in announcement',\n );\n }\n\n // Extract nonces from signatures (first 32 bytes) and compare with announcement nonces\n // This validates that the signatures were created using the committed nonces\n this.signatures.forEach((sig, index) => {\n const nonceFromSig = sig.slice(0, 32);\n const expectedNonce = announcementNonces[index];\n\n if (!nonceFromSig.equals(expectedNonce)) {\n throw new Error(\n `Signature nonce mismatch at index ${index}: signature was not created with announced nonce`,\n );\n }\n });\n }\n\n /**\n * Returns the nonces used by the oracle to sign the event outcome.\n * This is used for finding the matching oracle announcement.\n * The nonce is extracted from the first 32 bytes of each signature.\n */\n public getNonces(): Buffer[] {\n return this.signatures.map((sig) => sig.slice(0, 32));\n }\n\n /**\n * Converts oracle_attestation to JSON\n */\n public toJSON(): OracleAttestationJSON {\n return {\n type: this.type,\n eventId: this.eventId,\n oraclePubkey: this.oraclePubkey.toString('hex'),\n signatures: this.signatures.map((sig) => sig.toString('hex')),\n outcomes: this.outcomes,\n };\n }\n\n /**\n * Serializes the oracle_attestation message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.eventId.length);\n dataWriter.writeBytes(Buffer.from(this.eventId));\n dataWriter.writeBytes(this.oraclePubkey);\n dataWriter.writeUInt16BE(this.signatures.length);\n\n for (const signature of this.signatures) {\n dataWriter.writeBytes(signature);\n }\n\n // Write outcomes with u16 count prefix (matching rust-dlc format)\n dataWriter.writeUInt16BE(this.outcomes.length);\n for (const outcome of this.outcomes) {\n dataWriter.writeBigSize(outcome.length);\n dataWriter.writeBytes(Buffer.from(outcome));\n }\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface OracleAttestationJSON {\n type: number;\n eventId: string;\n oraclePubkey: string;\n signatures: string[];\n outcomes: string[];\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9f7222619f0b169f55a3110403228888ce5bab3e","contentHash":"6758e595084a7c0880998a90d0e579086e8606e9f2c6f0f0a842382f3df97983"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderAccept.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderAccept.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":60}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":33},"end":{"line":6,"column":68}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":37}},"6":{"start":{"line":25,"column":25},"end":{"line":25,"column":42}},"7":{"start":{"line":26,"column":8},"end":{"line":26,"column":90}},"8":{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},"9":{"start":{"line":29,"column":12},"end":{"line":30,"column":66}},"10":{"start":{"line":32,"column":8},"end":{"line":32,"column":24}},"11":{"start":{"line":39,"column":25},"end":{"line":39,"column":42}},"12":{"start":{"line":40,"column":23},"end":{"line":40,"column":52}},"13":{"start":{"line":41,"column":21},"end":{"line":41,"column":42}},"14":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"15":{"start":{"line":44,"column":12},"end":{"line":44,"column":116}},"16":{"start":{"line":46,"column":8},"end":{"line":46,"column":52}},"17":{"start":{"line":48,"column":37},"end":{"line":48,"column":55}},"18":{"start":{"line":49,"column":8},"end":{"line":54,"column":9}},"19":{"start":{"line":51,"column":36},"end":{"line":51,"column":64}},"20":{"start":{"line":52,"column":35},"end":{"line":52,"column":68}},"21":{"start":{"line":53,"column":12},"end":{"line":53,"column":117}},"22":{"start":{"line":55,"column":8},"end":{"line":55,"column":24}},"23":{"start":{"line":61,"column":8},"end":{"line":65,"column":10}},"24":{"start":{"line":71,"column":23},"end":{"line":71,"column":49}},"25":{"start":{"line":72,"column":8},"end":{"line":72,"column":40}},"26":{"start":{"line":73,"column":8},"end":{"line":73,"column":44}},"27":{"start":{"line":75,"column":8},"end":{"line":81,"column":9}},"28":{"start":{"line":76,"column":12},"end":{"line":76,"column":36}},"29":{"start":{"line":77,"column":12},"end":{"line":77,"column":66}},"30":{"start":{"line":80,"column":12},"end":{"line":80,"column":36}},"31":{"start":{"line":82,"column":8},"end":{"line":82,"column":33}},"32":{"start":{"line":85,"column":0},"end":{"line":85,"column":34}},"33":{"start":{"line":86,"column":0},"end":{"line":86,"column":57}},"34":{"start":{"line":89,"column":8},"end":{"line":89,"column":26}},"35":{"start":{"line":96,"column":8},"end":{"line":96,"column":34}},"36":{"start":{"line":103,"column":8},"end":{"line":103,"column":28}},"37":{"start":{"line":110,"column":23},"end":{"line":110,"column":49}},"38":{"start":{"line":112,"column":8},"end":{"line":112,"column":49}},"39":{"start":{"line":114,"column":8},"end":{"line":118,"column":11}},"40":{"start":{"line":115,"column":37},"end":{"line":115,"column":55}},"41":{"start":{"line":116,"column":12},"end":{"line":116,"column":57}},"42":{"start":{"line":117,"column":12},"end":{"line":117,"column":48}},"43":{"start":{"line":119,"column":8},"end":{"line":119,"column":33}},"44":{"start":{"line":127,"column":23},"end":{"line":127,"column":52}},"45":{"start":{"line":128,"column":26},"end":{"line":128,"column":52}},"46":{"start":{"line":129,"column":29},"end":{"line":129,"column":49}},"47":{"start":{"line":130,"column":8},"end":{"line":135,"column":9}},"48":{"start":{"line":130,"column":21},"end":{"line":130,"column":22}},"49":{"start":{"line":131,"column":33},"end":{"line":131,"column":53}},"50":{"start":{"line":132,"column":30},"end":{"line":132,"column":68}},"51":{"start":{"line":133,"column":27},"end":{"line":133,"column":61}},"52":{"start":{"line":134,"column":12},"end":{"line":134,"column":40}},"53":{"start":{"line":136,"column":8},"end":{"line":136,"column":25}},"54":{"start":{"line":139,"column":0},"end":{"line":139,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":18},"end":{"line":18,"column":5}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":26},"end":{"line":33,"column":5}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":4},"end":{"line":38,"column":5}},"loc":{"start":{"line":38,"column":28},"end":{"line":56,"column":5}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":60,"column":4},"end":{"line":60,"column":5}},"loc":{"start":{"line":60,"column":13},"end":{"line":66,"column":5}},"line":60},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":4},"end":{"line":70,"column":5}},"loc":{"start":{"line":70,"column":16},"end":{"line":83,"column":5}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":88,"column":4},"end":{"line":88,"column":5}},"loc":{"start":{"line":88,"column":18},"end":{"line":90,"column":5}},"line":88},"6":{"name":"(anonymous_6)","decl":{"start":{"line":95,"column":4},"end":{"line":95,"column":5}},"loc":{"start":{"line":95,"column":22},"end":{"line":97,"column":5}},"line":95},"7":{"name":"(anonymous_7)","decl":{"start":{"line":102,"column":4},"end":{"line":102,"column":5}},"loc":{"start":{"line":102,"column":17},"end":{"line":104,"column":5}},"line":102},"8":{"name":"(anonymous_8)","decl":{"start":{"line":109,"column":4},"end":{"line":109,"column":5}},"loc":{"start":{"line":109,"column":16},"end":{"line":120,"column":5}},"line":109},"9":{"name":"(anonymous_9)","decl":{"start":{"line":114,"column":29},"end":{"line":114,"column":30}},"loc":{"start":{"line":114,"column":41},"end":{"line":118,"column":9}},"line":114},"10":{"name":"(anonymous_10)","decl":{"start":{"line":126,"column":4},"end":{"line":126,"column":5}},"loc":{"start":{"line":126,"column":28},"end":{"line":137,"column":5}},"line":126}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":43},"end":{"line":26,"column":81}},"type":"binary-expr","locations":[{"start":{"line":26,"column":43},"end":{"line":26,"column":59}},{"start":{"line":26,"column":63},"end":{"line":26,"column":81}}],"line":26},"1":{"loc":{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":28,"column":8},"end":{"line":31,"column":9}},{"start":{"line":28,"column":8},"end":{"line":31,"column":9}}],"line":28},"2":{"loc":{"start":{"line":28,"column":12},"end":{"line":28,"column":61}},"type":"binary-expr","locations":[{"start":{"line":28,"column":12},"end":{"line":28,"column":34}},{"start":{"line":28,"column":38},"end":{"line":28,"column":61}}],"line":28},"3":{"loc":{"start":{"line":30,"column":16},"end":{"line":30,"column":65}},"type":"binary-expr","locations":[{"start":{"line":30,"column":16},"end":{"line":30,"column":38}},{"start":{"line":30,"column":42},"end":{"line":30,"column":65}}],"line":30},"4":{"loc":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},{"start":{"line":43,"column":8},"end":{"line":45,"column":9}}],"line":43},"5":{"loc":{"start":{"line":49,"column":8},"end":{"line":54,"column":9}},"type":"if","locations":[{"start":{"line":49,"column":8},"end":{"line":54,"column":9}},{"start":{"line":49,"column":8},"end":{"line":54,"column":9}}],"line":49},"6":{"loc":{"start":{"line":75,"column":8},"end":{"line":81,"column":9}},"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":81,"column":9}},{"start":{"line":75,"column":8},"end":{"line":81,"column":9}}],"line":75}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":6,"6":0,"7":0,"8":0,"9":0,"10":0,"11":4,"12":4,"13":4,"14":4,"15":0,"16":4,"17":4,"18":4,"19":4,"20":4,"21":4,"22":4,"23":0,"24":8,"25":8,"26":8,"27":8,"28":8,"29":8,"30":0,"31":8,"32":1,"33":1,"34":2,"35":4,"36":0,"37":3,"38":3,"39":3,"40":6,"41":6,"42":6,"43":3,"44":1,"45":1,"46":1,"47":1,"48":1,"49":2,"50":2,"51":2,"52":2,"53":1,"54":1},"f":{"0":6,"1":0,"2":4,"3":0,"4":8,"5":2,"6":4,"7":0,"8":3,"9":6,"10":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,4],"5":[4,0],"6":[8,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderAccept.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderAccept.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\nimport {\n IOrderNegotiationFieldsV0JSON,\n IOrderNegotiationFieldsV1JSON,\n OrderNegotiationFields,\n} from './OrderNegotiationFields';\n\n/**\n * OrderAccept contains information about a node and indicates its\n * acceptance of the new order offer. This is the second step towards\n * order negotiation.\n */\nexport class OrderAccept implements IDlcMessage {\n public static type = MessageType.OrderAccept;\n\n /**\n * Creates an OrderAccept from JSON data\n * @param json JSON object representing an order accept\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OrderAccept {\n const instance = new OrderAccept();\n\n instance.tempOrderId = Buffer.from(\n json.tempOrderId || json.temp_order_id,\n 'hex',\n );\n\n // Handle OrderNegotiationFields - optional field\n if (json.negotiationFields || json.negotiation_fields) {\n instance.negotiationFields =\n json.negotiationFields || json.negotiation_fields;\n }\n\n return instance;\n }\n\n /**\n * Deserializes an order_accept message\n * @param buf\n */\n public static deserialize(buf: Buffer): OrderAccept {\n const instance = new OrderAccept();\n const reader = new BufferReader(buf);\n\n const type = reader.readUInt16BE(); // read type\n\n // Validate type matches expected OrderAccept type\n if (type !== MessageType.OrderAccept) {\n throw new Error(\n `Invalid message type. Expected ${MessageType.OrderAccept}, got ${type}`,\n );\n }\n\n instance.tempOrderId = reader.readBytes(32);\n\n // Check if negotiation_fields is present\n const hasNegotiationFields = reader.readUInt8();\n if (hasNegotiationFields === 0x01) {\n // Read the remaining bytes as negotiationFields (not TLV format)\n const remainingLength = buf.length - reader.position;\n const remainingBytes = reader.readBytes(remainingLength);\n instance.negotiationFields = OrderNegotiationFields.deserialize(\n remainingBytes,\n );\n }\n\n return instance;\n }\n\n /**\n * The type for order_accept message. order_accept = 62772\n */\n public type = OrderAccept.type;\n\n public tempOrderId: Buffer;\n\n public negotiationFields?: OrderNegotiationFields;\n\n /**\n * Converts order_accept to JSON\n */\n public toJSON(): IOrderAcceptJSON {\n return {\n type: this.type,\n tempOrderId: this.tempOrderId.toString('hex'),\n negotiationFields: this.negotiationFields?.toJSON(),\n };\n }\n\n /**\n * Serializes the order_accept message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n writer.writeBytes(this.tempOrderId);\n\n // negotiation_fields is optional\n if (this.negotiationFields) {\n writer.writeUInt8(0x01); // present\n writer.writeBytes(this.negotiationFields.serialize());\n } else {\n writer.writeUInt8(0x00); // absent\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOrderAcceptJSON {\n type: number;\n tempOrderId: string;\n negotiationFields?: // Now optional\n IOrderNegotiationFieldsV0JSON | IOrderNegotiationFieldsV1JSON;\n}\n\nexport class OrderAcceptContainer {\n private accepts: OrderAccept[] = [];\n\n /**\n * Adds an OrderAccept to the container.\n * @param accept The OrderAccept to add.\n */\n public addAccept(accept: OrderAccept): void {\n this.accepts.push(accept);\n }\n\n /**\n * Returns all OrderAccepts in the container.\n * @returns An array of OrderAccept instances.\n */\n public getAccepts(): OrderAccept[] {\n return this.accepts;\n }\n\n /**\n * Serializes all OrderAccepts in the container to a Buffer.\n * @returns A Buffer containing the serialized OrderAccepts.\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // Write the number of accepts in the container first.\n writer.writeBigSize(this.accepts.length);\n // Serialize each accept and write it.\n this.accepts.forEach((accept) => {\n const serializedAccept = accept.serialize();\n writer.writeBigSize(serializedAccept.length);\n writer.writeBytes(serializedAccept);\n });\n return writer.toBuffer();\n }\n\n /**\n * Deserializes a Buffer into an OrderAcceptContainer with OrderAccepts.\n * @param buf The Buffer to deserialize.\n * @returns An OrderAcceptContainer instance.\n */\n public static deserialize(buf: Buffer): OrderAcceptContainer {\n const reader = new BufferReader(buf);\n const container = new OrderAcceptContainer();\n const acceptsCount = reader.readBigSize();\n for (let i = 0; i < acceptsCount; i++) {\n const acceptLength = reader.readBigSize();\n const acceptBuf = reader.readBytes(Number(acceptLength));\n const accept = OrderAccept.deserialize(acceptBuf);\n container.addAccept(accept);\n }\n return container;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8d140c213811fb10b70148ff179e0697a03afcb9","contentHash":"e481d4026db666c77562f93fd876300dc99752e7adcadb73311ae97e3bf2ba7a"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderNegotiationFields.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderNegotiationFields.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":190}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":21},"end":{"line":5,"column":44}},"4":{"start":{"line":12,"column":23},"end":{"line":12,"column":52}},"5":{"start":{"line":13,"column":30},"end":{"line":13,"column":58}},"6":{"start":{"line":14,"column":8},"end":{"line":21,"column":9}},"7":{"start":{"line":16,"column":16},"end":{"line":16,"column":69}},"8":{"start":{"line":18,"column":16},"end":{"line":18,"column":71}},"9":{"start":{"line":20,"column":16},"end":{"line":20,"column":134}},"10":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"11":{"start":{"line":30,"column":12},"end":{"line":30,"column":77}},"12":{"start":{"line":32,"column":24},"end":{"line":32,"column":36}},"13":{"start":{"line":33,"column":8},"end":{"line":40,"column":9}},"14":{"start":{"line":35,"column":16},"end":{"line":35,"column":67}},"15":{"start":{"line":37,"column":16},"end":{"line":37,"column":69}},"16":{"start":{"line":39,"column":16},"end":{"line":39,"column":120}},"17":{"start":{"line":43,"column":0},"end":{"line":43,"column":56}},"18":{"start":{"line":49,"column":8},"end":{"line":49,"column":28}},"19":{"start":{"line":50,"column":8},"end":{"line":50,"column":32}},"20":{"start":{"line":51,"column":8},"end":{"line":51,"column":31}},"21":{"start":{"line":59,"column":25},"end":{"line":59,"column":59}},"22":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"23":{"start":{"line":61,"column":12},"end":{"line":61,"column":120}},"24":{"start":{"line":64,"column":8},"end":{"line":64,"column":24}},"25":{"start":{"line":71,"column":25},"end":{"line":71,"column":59}},"26":{"start":{"line":72,"column":23},"end":{"line":72,"column":52}},"27":{"start":{"line":73,"column":8},"end":{"line":73,"column":29}},"28":{"start":{"line":75,"column":8},"end":{"line":75,"column":24}},"29":{"start":{"line":81,"column":8},"end":{"line":83,"column":10}},"30":{"start":{"line":89,"column":23},"end":{"line":89,"column":49}},"31":{"start":{"line":90,"column":8},"end":{"line":90,"column":48}},"32":{"start":{"line":92,"column":8},"end":{"line":92,"column":33}},"33":{"start":{"line":95,"column":0},"end":{"line":95,"column":68}},"34":{"start":{"line":101,"column":8},"end":{"line":101,"column":28}},"35":{"start":{"line":102,"column":8},"end":{"line":102,"column":34}},"36":{"start":{"line":103,"column":8},"end":{"line":103,"column":31}},"37":{"start":{"line":111,"column":25},"end":{"line":111,"column":61}},"38":{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},"39":{"start":{"line":113,"column":12},"end":{"line":113,"column":124}},"40":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"41":{"start":{"line":116,"column":12},"end":{"line":116,"column":88}},"42":{"start":{"line":118,"column":8},"end":{"line":120,"column":87}},"43":{"start":{"line":121,"column":8},"end":{"line":121,"column":24}},"44":{"start":{"line":128,"column":25},"end":{"line":128,"column":61}},"45":{"start":{"line":129,"column":23},"end":{"line":129,"column":52}},"46":{"start":{"line":130,"column":8},"end":{"line":130,"column":29}},"47":{"start":{"line":131,"column":33},"end":{"line":131,"column":53}},"48":{"start":{"line":132,"column":30},"end":{"line":132,"column":72}},"49":{"start":{"line":133,"column":8},"end":{"line":133,"column":81}},"50":{"start":{"line":134,"column":8},"end":{"line":134,"column":24}},"51":{"start":{"line":140,"column":8},"end":{"line":143,"column":10}},"52":{"start":{"line":149,"column":23},"end":{"line":149,"column":49}},"53":{"start":{"line":150,"column":8},"end":{"line":150,"column":48}},"54":{"start":{"line":151,"column":31},"end":{"line":151,"column":58}},"55":{"start":{"line":152,"column":8},"end":{"line":152,"column":51}},"56":{"start":{"line":153,"column":8},"end":{"line":153,"column":42}},"57":{"start":{"line":154,"column":8},"end":{"line":154,"column":33}},"58":{"start":{"line":157,"column":0},"end":{"line":157,"column":72}},"59":{"start":{"line":159,"column":0},"end":{"line":159,"column":64}},"60":{"start":{"line":160,"column":0},"end":{"line":160,"column":66}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":28},"end":{"line":22,"column":5}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":26},"end":{"line":41,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":48,"column":4},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":18},"end":{"line":52,"column":5}},"line":48},"3":{"name":"(anonymous_3)","decl":{"start":{"line":58,"column":4},"end":{"line":58,"column":5}},"loc":{"start":{"line":58,"column":26},"end":{"line":65,"column":5}},"line":58},"4":{"name":"(anonymous_4)","decl":{"start":{"line":70,"column":4},"end":{"line":70,"column":5}},"loc":{"start":{"line":70,"column":28},"end":{"line":76,"column":5}},"line":70},"5":{"name":"(anonymous_5)","decl":{"start":{"line":80,"column":4},"end":{"line":80,"column":5}},"loc":{"start":{"line":80,"column":13},"end":{"line":84,"column":5}},"line":80},"6":{"name":"(anonymous_6)","decl":{"start":{"line":88,"column":4},"end":{"line":88,"column":5}},"loc":{"start":{"line":88,"column":16},"end":{"line":93,"column":5}},"line":88},"7":{"name":"(anonymous_7)","decl":{"start":{"line":100,"column":4},"end":{"line":100,"column":5}},"loc":{"start":{"line":100,"column":18},"end":{"line":104,"column":5}},"line":100},"8":{"name":"(anonymous_8)","decl":{"start":{"line":110,"column":4},"end":{"line":110,"column":5}},"loc":{"start":{"line":110,"column":26},"end":{"line":122,"column":5}},"line":110},"9":{"name":"(anonymous_9)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":28},"end":{"line":135,"column":5}},"line":127},"10":{"name":"(anonymous_10)","decl":{"start":{"line":139,"column":4},"end":{"line":139,"column":5}},"loc":{"start":{"line":139,"column":13},"end":{"line":144,"column":5}},"line":139},"11":{"name":"(anonymous_11)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":16},"end":{"line":155,"column":5}},"line":148}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":8},"end":{"line":21,"column":9}},"type":"switch","locations":[{"start":{"line":15,"column":12},"end":{"line":16,"column":69}},{"start":{"line":17,"column":12},"end":{"line":18,"column":71}},{"start":{"line":19,"column":12},"end":{"line":20,"column":134}}],"line":14},"1":{"loc":{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":8},"end":{"line":31,"column":9}},{"start":{"line":29,"column":8},"end":{"line":31,"column":9}}],"line":29},"2":{"loc":{"start":{"line":29,"column":12},"end":{"line":29,"column":45}},"type":"binary-expr","locations":[{"start":{"line":29,"column":12},"end":{"line":29,"column":17}},{"start":{"line":29,"column":21},"end":{"line":29,"column":45}}],"line":29},"3":{"loc":{"start":{"line":33,"column":8},"end":{"line":40,"column":9}},"type":"switch","locations":[{"start":{"line":34,"column":12},"end":{"line":35,"column":67}},{"start":{"line":36,"column":12},"end":{"line":37,"column":69}},{"start":{"line":38,"column":12},"end":{"line":39,"column":120}}],"line":33},"4":{"loc":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},{"start":{"line":60,"column":8},"end":{"line":62,"column":9}}],"line":60},"5":{"loc":{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},"type":"if","locations":[{"start":{"line":112,"column":8},"end":{"line":114,"column":9}},{"start":{"line":112,"column":8},"end":{"line":114,"column":9}}],"line":112},"6":{"loc":{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},"type":"if","locations":[{"start":{"line":115,"column":8},"end":{"line":117,"column":9}},{"start":{"line":115,"column":8},"end":{"line":117,"column":9}}],"line":115},"7":{"loc":{"start":{"line":118,"column":30},"end":{"line":120,"column":86}},"type":"cond-expr","locations":[{"start":{"line":119,"column":14},"end":{"line":119,"column":63}},{"start":{"line":120,"column":14},"end":{"line":120,"column":86}}],"line":118}},"s":{"0":1,"1":1,"2":1,"3":1,"4":6,"5":6,"6":6,"7":5,"8":1,"9":0,"10":2,"11":0,"12":2,"13":2,"14":1,"15":1,"16":0,"17":1,"18":10,"19":10,"20":10,"21":1,"22":1,"23":0,"24":1,"25":5,"26":5,"27":5,"28":5,"29":1,"30":10,"31":10,"32":10,"33":1,"34":5,"35":5,"36":5,"37":1,"38":1,"39":0,"40":1,"41":1,"42":0,"43":0,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":2,"53":2,"54":2,"55":2,"56":2,"57":2,"58":1,"59":1,"60":1},"f":{"0":6,"1":2,"2":10,"3":1,"4":5,"5":1,"6":10,"7":5,"8":1,"9":1,"10":1,"11":2},"b":{"0":[5,1,0],"1":[0,2],"2":[2,2],"3":[1,1,0],"4":[0,1],"5":[0,1],"6":[1,0],"7":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderNegotiationFields.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderNegotiationFields.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { IOrderOfferJSON, OrderOffer } from './OrderOffer';\n\n/**\n * Order negotiation fields for order contract negotiation.\n * Follows the same pattern as NegotiationFields with Single and Disjoint variants.\n */\nexport abstract class OrderNegotiationFields {\n public static deserialize(buf: Buffer): OrderNegotiationFields {\n const reader = new BufferReader(buf);\n const discriminator = Number(reader.readBigSize());\n\n switch (discriminator) {\n case 0:\n return SingleOrderNegotiationFields.deserialize(buf);\n case 1:\n return DisjointOrderNegotiationFields.deserialize(buf);\n default:\n throw new Error(\n `Invalid OrderNegotiationFields discriminator: ${discriminator}. Must be 0 (Single) or 1 (Disjoint)`,\n );\n }\n }\n\n /**\n * Creates OrderNegotiationFields from JSON data\n * @param json JSON object representing order negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OrderNegotiationFields {\n if (!json || typeof json !== 'object') {\n throw new Error('Invalid JSON input for OrderNegotiationFields');\n }\n\n const variant = json.variant;\n\n switch (variant) {\n case 'Single':\n return SingleOrderNegotiationFields.fromJSON(json);\n case 'Disjoint':\n return DisjointOrderNegotiationFields.fromJSON(json);\n default:\n throw new Error(\n `Unknown order negotiation fields variant: ${variant}. Must be 'Single' or 'Disjoint'`,\n );\n }\n }\n\n public abstract variant: 'Single' | 'Disjoint';\n public abstract discriminator: number;\n public abstract serialize(): Buffer;\n public abstract toJSON(): IOrderNegotiationFieldsJSON;\n}\n\n/**\n * Order negotiation fields for contract based on a single event (basic/empty).\n */\nexport class SingleOrderNegotiationFields extends OrderNegotiationFields {\n /**\n * Creates a SingleOrderNegotiationFields from JSON data\n * @param json JSON object representing single order negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): SingleOrderNegotiationFields {\n const instance = new SingleOrderNegotiationFields();\n\n if (json.variant !== 'Single') {\n throw new Error(\n `Invalid variant for SingleOrderNegotiationFields: expected 'Single', got ${json.variant}`,\n );\n }\n\n // Single order negotiation fields are currently empty/basic\n return instance;\n }\n\n /**\n * Deserializes single order negotiation fields\n * @param buf\n */\n public static deserialize(buf: Buffer): SingleOrderNegotiationFields {\n const instance = new SingleOrderNegotiationFields();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read discriminator (0)\n // Single order negotiation fields are currently empty\n\n return instance;\n }\n\n public variant = 'Single' as const;\n public discriminator = 0;\n\n /**\n * Converts single order negotiation fields to JSON\n */\n public toJSON(): ISingleOrderNegotiationFieldsJSON {\n return {\n variant: this.variant,\n };\n }\n\n /**\n * Serializes the single order negotiation fields into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.discriminator);\n // Single order negotiation fields are currently empty\n\n return writer.toBuffer();\n }\n}\n\n/**\n * Order negotiation fields for contract based on multiple events.\n */\nexport class DisjointOrderNegotiationFields extends OrderNegotiationFields {\n /**\n * Creates a DisjointOrderNegotiationFields from JSON data\n * @param json JSON object representing disjoint order negotiation fields\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): DisjointOrderNegotiationFields {\n const instance = new DisjointOrderNegotiationFields();\n\n if (json.variant !== 'Disjoint') {\n throw new Error(\n `Invalid variant for DisjointOrderNegotiationFields: expected 'Disjoint', got ${json.variant}`,\n );\n }\n\n if (!json.orderOffer) {\n throw new Error(\n 'DisjointOrderNegotiationFields requires orderOffer field',\n );\n }\n\n instance.orderOffer = OrderOffer.fromJSON\n ? OrderOffer.fromJSON(json.orderOffer)\n : OrderOffer.deserialize(Buffer.from(json.orderOffer, 'hex'));\n\n return instance;\n }\n\n /**\n * Deserializes disjoint order negotiation fields\n * @param buf\n */\n public static deserialize(buf: Buffer): DisjointOrderNegotiationFields {\n const instance = new DisjointOrderNegotiationFields();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read discriminator (1)\n const orderOfferLength = reader.readBigSize();\n const orderOfferBuf = reader.readBytes(Number(orderOfferLength));\n instance.orderOffer = OrderOffer.deserialize(orderOfferBuf);\n\n return instance;\n }\n\n public variant = 'Disjoint' as const;\n public discriminator = 1;\n public orderOffer: OrderOffer;\n\n /**\n * Converts disjoint order negotiation fields to JSON\n */\n public toJSON(): IDisjointOrderNegotiationFieldsJSON {\n return {\n variant: this.variant,\n orderOffer: this.orderOffer.toJSON(),\n };\n }\n\n /**\n * Serializes the disjoint order negotiation fields into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.discriminator);\n\n const orderOfferData = this.orderOffer.serialize();\n writer.writeBigSize(orderOfferData.length);\n writer.writeBytes(orderOfferData);\n\n return writer.toBuffer();\n }\n}\n\nexport type IOrderNegotiationFieldsJSON =\n | ISingleOrderNegotiationFieldsJSON\n | IDisjointOrderNegotiationFieldsJSON;\n\nexport interface ISingleOrderNegotiationFieldsJSON {\n variant: 'Single';\n}\n\nexport interface IDisjointOrderNegotiationFieldsJSON {\n variant: 'Disjoint';\n orderOffer: IOrderOfferJSON;\n}\n\n// Legacy exports for backward compatibility - map to new structure\nexport const OrderNegotiationFieldsV0 = SingleOrderNegotiationFields; // V0 was basic/empty\nexport const OrderNegotiationFieldsV1 = DisjointOrderNegotiationFields; // V1 had OrderOffer\n\nexport type IOrderNegotiationFieldsV0JSON = ISingleOrderNegotiationFieldsJSON;\nexport type IOrderNegotiationFieldsV1JSON = IDisjointOrderNegotiationFieldsJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0a3678a0884c14c3d850bf4ffaeed8c3accb17b0","contentHash":"5b347e2dedf487b9d73528e2d56730742751946c1e562a9055616eb3cdcbc14f"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderOffer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderOffer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":25},"end":{"line":6,"column":63}},"5":{"start":{"line":7,"column":17},"end":{"line":7,"column":47}},"6":{"start":{"line":8,"column":15},"end":{"line":8,"column":33}},"7":{"start":{"line":9,"column":28},"end":{"line":9,"column":58}},"8":{"start":{"line":10,"column":23},"end":{"line":10,"column":48}},"9":{"start":{"line":11,"column":23},"end":{"line":11,"column":48}},"10":{"start":{"line":12,"column":24},"end":{"line":12,"column":50}},"11":{"start":{"line":13,"column":28},"end":{"line":13,"column":58}},"12":{"start":{"line":14,"column":27},"end":{"line":14,"column":36}},"13":{"start":{"line":25,"column":8},"end":{"line":25,"column":36}},"14":{"start":{"line":27,"column":8},"end":{"line":27,"column":62}},"15":{"start":{"line":35,"column":25},"end":{"line":35,"column":41}},"16":{"start":{"line":37,"column":8},"end":{"line":38,"column":92}},"17":{"start":{"line":39,"column":8},"end":{"line":39,"column":103}},"18":{"start":{"line":40,"column":8},"end":{"line":40,"column":83}},"19":{"start":{"line":41,"column":8},"end":{"line":41,"column":114}},"20":{"start":{"line":43,"column":8},"end":{"line":45,"column":35}},"21":{"start":{"line":46,"column":8},"end":{"line":46,"column":96}},"22":{"start":{"line":47,"column":8},"end":{"line":47,"column":74}},"23":{"start":{"line":48,"column":8},"end":{"line":48,"column":83}},"24":{"start":{"line":50,"column":8},"end":{"line":50,"column":110}},"25":{"start":{"line":51,"column":8},"end":{"line":51,"column":24}},"26":{"start":{"line":58,"column":25},"end":{"line":58,"column":41}},"27":{"start":{"line":59,"column":23},"end":{"line":59,"column":52}},"28":{"start":{"line":60,"column":21},"end":{"line":60,"column":42}},"29":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"30":{"start":{"line":63,"column":12},"end":{"line":63,"column":115}},"31":{"start":{"line":66,"column":26},"end":{"line":66,"column":86}},"32":{"start":{"line":67,"column":40},"end":{"line":67,"column":65}},"33":{"start":{"line":68,"column":38},"end":{"line":68,"column":60}},"34":{"start":{"line":70,"column":28},"end":{"line":72,"column":39}},"35":{"start":{"line":73,"column":8},"end":{"line":82,"column":9}},"36":{"start":{"line":75,"column":12},"end":{"line":75,"column":61}},"37":{"start":{"line":76,"column":12},"end":{"line":76,"column":57}},"38":{"start":{"line":80,"column":12},"end":{"line":80,"column":41}},"39":{"start":{"line":81,"column":12},"end":{"line":81,"column":57}},"40":{"start":{"line":83,"column":8},"end":{"line":83,"column":50}},"41":{"start":{"line":84,"column":8},"end":{"line":84,"column":60}},"42":{"start":{"line":86,"column":8},"end":{"line":86,"column":113}},"43":{"start":{"line":88,"column":35},"end":{"line":88,"column":75}},"44":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"45":{"start":{"line":90,"column":8},"end":{"line":90,"column":57}},"46":{"start":{"line":91,"column":8},"end":{"line":91,"column":54}},"47":{"start":{"line":92,"column":8},"end":{"line":92,"column":53}},"48":{"start":{"line":93,"column":8},"end":{"line":93,"column":56}},"49":{"start":{"line":95,"column":8},"end":{"line":123,"column":9}},"50":{"start":{"line":96,"column":24},"end":{"line":96,"column":52}},"51":{"start":{"line":97,"column":30},"end":{"line":97,"column":59}},"52":{"start":{"line":98,"column":29},"end":{"line":98,"column":76}},"53":{"start":{"line":99,"column":12},"end":{"line":122,"column":13}},"54":{"start":{"line":101,"column":20},"end":{"line":101,"column":89}},"55":{"start":{"line":102,"column":20},"end":{"line":102,"column":26}},"56":{"start":{"line":104,"column":20},"end":{"line":104,"column":86}},"57":{"start":{"line":105,"column":20},"end":{"line":105,"column":26}},"58":{"start":{"line":107,"column":20},"end":{"line":107,"column":99}},"59":{"start":{"line":108,"column":20},"end":{"line":108,"column":26}},"60":{"start":{"line":110,"column":20},"end":{"line":112,"column":21}},"61":{"start":{"line":111,"column":24},"end":{"line":111,"column":57}},"62":{"start":{"line":113,"column":20},"end":{"line":113,"column":109}},"63":{"start":{"line":114,"column":20},"end":{"line":114,"column":26}},"64":{"start":{"line":117,"column":20},"end":{"line":119,"column":21}},"65":{"start":{"line":118,"column":24},"end":{"line":118,"column":50}},"66":{"start":{"line":120,"column":20},"end":{"line":120,"column":81}},"67":{"start":{"line":121,"column":20},"end":{"line":121,"column":26}},"68":{"start":{"line":124,"column":8},"end":{"line":124,"column":24}},"69":{"start":{"line":128,"column":8},"end":{"line":128,"column":36}},"70":{"start":{"line":131,"column":8},"end":{"line":131,"column":37}},"71":{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},"72":{"start":{"line":137,"column":12},"end":{"line":137,"column":130}},"73":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"74":{"start":{"line":141,"column":12},"end":{"line":141,"column":68}},"75":{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},"76":{"start":{"line":147,"column":12},"end":{"line":147,"column":86}},"77":{"start":{"line":149,"column":8},"end":{"line":151,"column":9}},"78":{"start":{"line":150,"column":12},"end":{"line":150,"column":79}},"79":{"start":{"line":152,"column":8},"end":{"line":154,"column":9}},"80":{"start":{"line":153,"column":12},"end":{"line":153,"column":82}},"81":{"start":{"line":156,"column":8},"end":{"line":161,"column":9}},"82":{"start":{"line":160,"column":12},"end":{"line":160,"column":84}},"83":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"84":{"start":{"line":164,"column":12},"end":{"line":164,"column":76}},"85":{"start":{"line":167,"column":8},"end":{"line":167,"column":37}},"86":{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},"87":{"start":{"line":170,"column":12},"end":{"line":170,"column":86}},"88":{"start":{"line":177,"column":21},"end":{"line":177,"column":23}},"89":{"start":{"line":178,"column":8},"end":{"line":179,"column":46}},"90":{"start":{"line":179,"column":12},"end":{"line":179,"column":46}},"91":{"start":{"line":180,"column":8},"end":{"line":181,"column":45}},"92":{"start":{"line":181,"column":12},"end":{"line":181,"column":45}},"93":{"start":{"line":182,"column":8},"end":{"line":183,"column":50}},"94":{"start":{"line":183,"column":12},"end":{"line":183,"column":50}},"95":{"start":{"line":184,"column":8},"end":{"line":185,"column":94}},"96":{"start":{"line":185,"column":12},"end":{"line":185,"column":94}},"97":{"start":{"line":185,"column":61},"end":{"line":185,"column":92}},"98":{"start":{"line":187,"column":8},"end":{"line":189,"column":9}},"99":{"start":{"line":188,"column":12},"end":{"line":188,"column":109}},"100":{"start":{"line":188,"column":46},"end":{"line":188,"column":107}},"101":{"start":{"line":190,"column":8},"end":{"line":203,"column":10}},"102":{"start":{"line":209,"column":23},"end":{"line":209,"column":49}},"103":{"start":{"line":210,"column":8},"end":{"line":210,"column":40}},"104":{"start":{"line":212,"column":8},"end":{"line":212,"column":51}},"105":{"start":{"line":213,"column":8},"end":{"line":213,"column":46}},"106":{"start":{"line":214,"column":8},"end":{"line":214,"column":42}},"107":{"start":{"line":215,"column":8},"end":{"line":215,"column":52}},"108":{"start":{"line":216,"column":8},"end":{"line":216,"column":57}},"109":{"start":{"line":217,"column":8},"end":{"line":217,"column":51}},"110":{"start":{"line":218,"column":8},"end":{"line":218,"column":48}},"111":{"start":{"line":219,"column":8},"end":{"line":219,"column":47}},"112":{"start":{"line":220,"column":8},"end":{"line":220,"column":50}},"113":{"start":{"line":222,"column":8},"end":{"line":223,"column":57}},"114":{"start":{"line":223,"column":12},"end":{"line":223,"column":57}},"115":{"start":{"line":224,"column":8},"end":{"line":225,"column":56}},"116":{"start":{"line":225,"column":12},"end":{"line":225,"column":56}},"117":{"start":{"line":226,"column":8},"end":{"line":227,"column":61}},"118":{"start":{"line":227,"column":12},"end":{"line":227,"column":61}},"119":{"start":{"line":228,"column":8},"end":{"line":229,"column":105}},"120":{"start":{"line":229,"column":12},"end":{"line":229,"column":105}},"121":{"start":{"line":229,"column":61},"end":{"line":229,"column":103}},"122":{"start":{"line":231,"column":8},"end":{"line":235,"column":9}},"123":{"start":{"line":232,"column":12},"end":{"line":234,"column":15}},"124":{"start":{"line":233,"column":16},"end":{"line":233,"column":44}},"125":{"start":{"line":236,"column":8},"end":{"line":236,"column":33}},"126":{"start":{"line":239,"column":0},"end":{"line":239,"column":32}},"127":{"start":{"line":240,"column":0},"end":{"line":240,"column":55}},"128":{"start":{"line":243,"column":8},"end":{"line":243,"column":25}},"129":{"start":{"line":250,"column":8},"end":{"line":250,"column":32}},"130":{"start":{"line":257,"column":8},"end":{"line":257,"column":27}},"131":{"start":{"line":264,"column":23},"end":{"line":264,"column":49}},"132":{"start":{"line":266,"column":8},"end":{"line":266,"column":48}},"133":{"start":{"line":268,"column":8},"end":{"line":273,"column":11}},"134":{"start":{"line":269,"column":36},"end":{"line":269,"column":53}},"135":{"start":{"line":271,"column":12},"end":{"line":271,"column":56}},"136":{"start":{"line":272,"column":12},"end":{"line":272,"column":47}},"137":{"start":{"line":274,"column":8},"end":{"line":274,"column":33}},"138":{"start":{"line":282,"column":23},"end":{"line":282,"column":52}},"139":{"start":{"line":283,"column":26},"end":{"line":283,"column":51}},"140":{"start":{"line":284,"column":28},"end":{"line":284,"column":48}},"141":{"start":{"line":285,"column":8},"end":{"line":291,"column":9}},"142":{"start":{"line":285,"column":21},"end":{"line":285,"column":22}},"143":{"start":{"line":287,"column":32},"end":{"line":287,"column":52}},"144":{"start":{"line":288,"column":29},"end":{"line":288,"column":66}},"145":{"start":{"line":289,"column":26},"end":{"line":289,"column":58}},"146":{"start":{"line":290,"column":12},"end":{"line":290,"column":38}},"147":{"start":{"line":292,"column":8},"end":{"line":292,"column":25}},"148":{"start":{"line":295,"column":0},"end":{"line":295,"column":50}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":18},"end":{"line":28,"column":5}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":26},"end":{"line":52,"column":5}},"line":34},"2":{"name":"(anonymous_2)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":28},"end":{"line":125,"column":5}},"line":57},"3":{"name":"(anonymous_3)","decl":{"start":{"line":127,"column":4},"end":{"line":127,"column":5}},"loc":{"start":{"line":127,"column":34},"end":{"line":129,"column":5}},"line":127},"4":{"name":"(anonymous_4)","decl":{"start":{"line":130,"column":4},"end":{"line":130,"column":5}},"loc":{"start":{"line":130,"column":39},"end":{"line":132,"column":5}},"line":130},"5":{"name":"(anonymous_5)","decl":{"start":{"line":133,"column":4},"end":{"line":133,"column":5}},"loc":{"start":{"line":133,"column":15},"end":{"line":172,"column":5}},"line":133},"6":{"name":"(anonymous_6)","decl":{"start":{"line":176,"column":4},"end":{"line":176,"column":5}},"loc":{"start":{"line":176,"column":13},"end":{"line":204,"column":5}},"line":176},"7":{"name":"(anonymous_7)","decl":{"start":{"line":185,"column":44},"end":{"line":185,"column":45}},"loc":{"start":{"line":185,"column":61},"end":{"line":185,"column":92}},"line":185},"8":{"name":"(anonymous_8)","decl":{"start":{"line":188,"column":37},"end":{"line":188,"column":38}},"loc":{"start":{"line":188,"column":46},"end":{"line":188,"column":107}},"line":188},"9":{"name":"(anonymous_9)","decl":{"start":{"line":208,"column":4},"end":{"line":208,"column":5}},"loc":{"start":{"line":208,"column":16},"end":{"line":237,"column":5}},"line":208},"10":{"name":"(anonymous_10)","decl":{"start":{"line":229,"column":44},"end":{"line":229,"column":45}},"loc":{"start":{"line":229,"column":61},"end":{"line":229,"column":103}},"line":229},"11":{"name":"(anonymous_11)","decl":{"start":{"line":232,"column":37},"end":{"line":232,"column":38}},"loc":{"start":{"line":232,"column":46},"end":{"line":234,"column":13}},"line":232},"12":{"name":"(anonymous_12)","decl":{"start":{"line":242,"column":4},"end":{"line":242,"column":5}},"loc":{"start":{"line":242,"column":18},"end":{"line":244,"column":5}},"line":242},"13":{"name":"(anonymous_13)","decl":{"start":{"line":249,"column":4},"end":{"line":249,"column":5}},"loc":{"start":{"line":249,"column":20},"end":{"line":251,"column":5}},"line":249},"14":{"name":"(anonymous_14)","decl":{"start":{"line":256,"column":4},"end":{"line":256,"column":5}},"loc":{"start":{"line":256,"column":16},"end":{"line":258,"column":5}},"line":256},"15":{"name":"(anonymous_15)","decl":{"start":{"line":263,"column":4},"end":{"line":263,"column":5}},"loc":{"start":{"line":263,"column":16},"end":{"line":275,"column":5}},"line":263},"16":{"name":"(anonymous_16)","decl":{"start":{"line":268,"column":28},"end":{"line":268,"column":29}},"loc":{"start":{"line":268,"column":39},"end":{"line":273,"column":9}},"line":268},"17":{"name":"(anonymous_17)","decl":{"start":{"line":281,"column":4},"end":{"line":281,"column":5}},"loc":{"start":{"line":281,"column":28},"end":{"line":293,"column":5}},"line":281}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":12},"end":{"line":38,"column":91}},"type":"binary-expr","locations":[{"start":{"line":38,"column":12},"end":{"line":38,"column":32}},{"start":{"line":38,"column":36},"end":{"line":38,"column":57}},{"start":{"line":38,"column":61},"end":{"line":38,"column":91}}],"line":38},"1":{"loc":{"start":{"line":39,"column":45},"end":{"line":39,"column":94}},"type":"binary-expr","locations":[{"start":{"line":39,"column":45},"end":{"line":39,"column":63}},{"start":{"line":39,"column":67},"end":{"line":39,"column":86}},{"start":{"line":39,"column":90},"end":{"line":39,"column":94}}],"line":39},"2":{"loc":{"start":{"line":40,"column":41},"end":{"line":40,"column":74}},"type":"binary-expr","locations":[{"start":{"line":40,"column":41},"end":{"line":40,"column":55}},{"start":{"line":40,"column":59},"end":{"line":40,"column":74}}],"line":40},"3":{"loc":{"start":{"line":41,"column":51},"end":{"line":41,"column":105}},"type":"binary-expr","locations":[{"start":{"line":41,"column":51},"end":{"line":41,"column":75}},{"start":{"line":41,"column":79},"end":{"line":41,"column":105}}],"line":41},"4":{"loc":{"start":{"line":43,"column":56},"end":{"line":45,"column":33}},"type":"binary-expr","locations":[{"start":{"line":43,"column":56},"end":{"line":43,"column":76}},{"start":{"line":44,"column":12},"end":{"line":44,"column":40}},{"start":{"line":45,"column":12},"end":{"line":45,"column":33}}],"line":43},"5":{"loc":{"start":{"line":46,"column":53},"end":{"line":46,"column":94}},"type":"binary-expr","locations":[{"start":{"line":46,"column":53},"end":{"line":46,"column":70}},{"start":{"line":46,"column":74},"end":{"line":46,"column":94}}],"line":46},"6":{"loc":{"start":{"line":47,"column":31},"end":{"line":47,"column":73}},"type":"binary-expr","locations":[{"start":{"line":47,"column":31},"end":{"line":47,"column":47}},{"start":{"line":47,"column":51},"end":{"line":47,"column":68}},{"start":{"line":47,"column":72},"end":{"line":47,"column":73}}],"line":47},"7":{"loc":{"start":{"line":48,"column":34},"end":{"line":48,"column":82}},"type":"binary-expr","locations":[{"start":{"line":48,"column":34},"end":{"line":48,"column":53}},{"start":{"line":48,"column":57},"end":{"line":48,"column":77}},{"start":{"line":48,"column":81},"end":{"line":48,"column":82}}],"line":48},"8":{"loc":{"start":{"line":50,"column":69},"end":{"line":50,"column":108}},"type":"binary-expr","locations":[{"start":{"line":50,"column":69},"end":{"line":50,"column":86}},{"start":{"line":50,"column":90},"end":{"line":50,"column":108}}],"line":50},"9":{"loc":{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":62,"column":8},"end":{"line":64,"column":9}},{"start":{"line":62,"column":8},"end":{"line":64,"column":9}}],"line":62},"10":{"loc":{"start":{"line":70,"column":28},"end":{"line":72,"column":39}},"type":"binary-expr","locations":[{"start":{"line":70,"column":28},"end":{"line":70,"column":56}},{"start":{"line":71,"column":12},"end":{"line":71,"column":41}},{"start":{"line":72,"column":12},"end":{"line":72,"column":39}}],"line":70},"11":{"loc":{"start":{"line":73,"column":8},"end":{"line":82,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":82,"column":9}},{"start":{"line":73,"column":8},"end":{"line":82,"column":9}}],"line":73},"12":{"loc":{"start":{"line":99,"column":12},"end":{"line":122,"column":13}},"type":"switch","locations":[{"start":{"line":100,"column":16},"end":{"line":102,"column":26}},{"start":{"line":103,"column":16},"end":{"line":105,"column":26}},{"start":{"line":106,"column":16},"end":{"line":108,"column":26}},{"start":{"line":109,"column":16},"end":{"line":114,"column":26}},{"start":{"line":115,"column":16},"end":{"line":121,"column":26}}],"line":99},"13":{"loc":{"start":{"line":110,"column":20},"end":{"line":112,"column":21}},"type":"if","locations":[{"start":{"line":110,"column":20},"end":{"line":112,"column":21}},{"start":{"line":110,"column":20},"end":{"line":112,"column":21}}],"line":110},"14":{"loc":{"start":{"line":117,"column":20},"end":{"line":119,"column":21}},"type":"if","locations":[{"start":{"line":117,"column":20},"end":{"line":119,"column":21}},{"start":{"line":117,"column":20},"end":{"line":119,"column":21}}],"line":117},"15":{"loc":{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},"type":"if","locations":[{"start":{"line":136,"column":8},"end":{"line":138,"column":9}},{"start":{"line":136,"column":8},"end":{"line":138,"column":9}}],"line":136},"16":{"loc":{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},"type":"if","locations":[{"start":{"line":140,"column":8},"end":{"line":142,"column":9}},{"start":{"line":140,"column":8},"end":{"line":142,"column":9}}],"line":140},"17":{"loc":{"start":{"line":140,"column":12},"end":{"line":140,"column":79}},"type":"binary-expr","locations":[{"start":{"line":140,"column":12},"end":{"line":140,"column":37}},{"start":{"line":140,"column":41},"end":{"line":140,"column":79}}],"line":140},"18":{"loc":{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},{"start":{"line":146,"column":8},"end":{"line":148,"column":9}}],"line":146},"19":{"loc":{"start":{"line":149,"column":8},"end":{"line":151,"column":9}},"type":"if","locations":[{"start":{"line":149,"column":8},"end":{"line":151,"column":9}},{"start":{"line":149,"column":8},"end":{"line":151,"column":9}}],"line":149},"20":{"loc":{"start":{"line":152,"column":8},"end":{"line":154,"column":9}},"type":"if","locations":[{"start":{"line":152,"column":8},"end":{"line":154,"column":9}},{"start":{"line":152,"column":8},"end":{"line":154,"column":9}}],"line":152},"21":{"loc":{"start":{"line":156,"column":8},"end":{"line":161,"column":9}},"type":"if","locations":[{"start":{"line":156,"column":8},"end":{"line":161,"column":9}},{"start":{"line":156,"column":8},"end":{"line":161,"column":9}}],"line":156},"22":{"loc":{"start":{"line":156,"column":14},"end":{"line":159,"column":58}},"type":"binary-expr","locations":[{"start":{"line":156,"column":15},"end":{"line":156,"column":52}},{"start":{"line":157,"column":12},"end":{"line":157,"column":52}},{"start":{"line":158,"column":13},"end":{"line":158,"column":51}},{"start":{"line":159,"column":16},"end":{"line":159,"column":57}}],"line":156},"23":{"loc":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},{"start":{"line":163,"column":8},"end":{"line":165,"column":9}}],"line":163},"24":{"loc":{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":171,"column":9}},{"start":{"line":169,"column":8},"end":{"line":171,"column":9}}],"line":169},"25":{"loc":{"start":{"line":178,"column":8},"end":{"line":179,"column":46}},"type":"if","locations":[{"start":{"line":178,"column":8},"end":{"line":179,"column":46}},{"start":{"line":178,"column":8},"end":{"line":179,"column":46}}],"line":178},"26":{"loc":{"start":{"line":180,"column":8},"end":{"line":181,"column":45}},"type":"if","locations":[{"start":{"line":180,"column":8},"end":{"line":181,"column":45}},{"start":{"line":180,"column":8},"end":{"line":181,"column":45}}],"line":180},"27":{"loc":{"start":{"line":182,"column":8},"end":{"line":183,"column":50}},"type":"if","locations":[{"start":{"line":182,"column":8},"end":{"line":183,"column":50}},{"start":{"line":182,"column":8},"end":{"line":183,"column":50}}],"line":182},"28":{"loc":{"start":{"line":184,"column":8},"end":{"line":185,"column":94}},"type":"if","locations":[{"start":{"line":184,"column":8},"end":{"line":185,"column":94}},{"start":{"line":184,"column":8},"end":{"line":185,"column":94}}],"line":184},"29":{"loc":{"start":{"line":187,"column":8},"end":{"line":189,"column":9}},"type":"if","locations":[{"start":{"line":187,"column":8},"end":{"line":189,"column":9}},{"start":{"line":187,"column":8},"end":{"line":189,"column":9}}],"line":187},"30":{"loc":{"start":{"line":222,"column":8},"end":{"line":223,"column":57}},"type":"if","locations":[{"start":{"line":222,"column":8},"end":{"line":223,"column":57}},{"start":{"line":222,"column":8},"end":{"line":223,"column":57}}],"line":222},"31":{"loc":{"start":{"line":224,"column":8},"end":{"line":225,"column":56}},"type":"if","locations":[{"start":{"line":224,"column":8},"end":{"line":225,"column":56}},{"start":{"line":224,"column":8},"end":{"line":225,"column":56}}],"line":224},"32":{"loc":{"start":{"line":226,"column":8},"end":{"line":227,"column":61}},"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":227,"column":61}},{"start":{"line":226,"column":8},"end":{"line":227,"column":61}}],"line":226},"33":{"loc":{"start":{"line":228,"column":8},"end":{"line":229,"column":105}},"type":"if","locations":[{"start":{"line":228,"column":8},"end":{"line":229,"column":105}},{"start":{"line":228,"column":8},"end":{"line":229,"column":105}}],"line":228},"34":{"loc":{"start":{"line":231,"column":8},"end":{"line":235,"column":9}},"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":235,"column":9}},{"start":{"line":231,"column":8},"end":{"line":235,"column":9}}],"line":231}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":8,"14":8,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":2,"27":2,"28":2,"29":2,"30":0,"31":2,"32":2,"33":2,"34":2,"35":2,"36":2,"37":2,"38":0,"39":0,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":2,"69":6,"70":6,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":2,"89":2,"90":0,"91":2,"92":0,"93":2,"94":0,"95":2,"96":0,"97":0,"98":2,"99":0,"100":0,"101":2,"102":3,"103":3,"104":3,"105":3,"106":3,"107":3,"108":3,"109":3,"110":3,"111":3,"112":3,"113":3,"114":0,"115":3,"116":0,"117":3,"118":0,"119":3,"120":0,"121":0,"122":3,"123":0,"124":0,"125":3,"126":1,"127":1,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":1},"f":{"0":8,"1":0,"2":2,"3":6,"4":6,"5":0,"6":2,"7":0,"8":0,"9":3,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0,0],"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0,0],"7":[0,0,0],"8":[0,0],"9":[0,2],"10":[2,2,2],"11":[2,0],"12":[0,0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0,0],"23":[0,0],"24":[0,0],"25":[0,2],"26":[0,2],"27":[0,2],"28":[0,2],"29":[0,2],"30":[0,3],"31":[0,3],"32":[0,3],"33":[0,3],"34":[0,3]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderOffer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OrderOffer.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { IOrderMetadataJSON } from '..';\nimport { MessageType, PROTOCOL_VERSION } from '../MessageType';\nimport { deserializeTlv } from '../serialize/deserializeTlv';\nimport { getTlv } from '../serialize/getTlv';\nimport { bigIntToNumber, toBigInt } from '../util';\nimport { BatchFundingGroup, IBatchFundingGroupJSON } from './BatchFundingGroup';\nimport {\n ContractInfo,\n IContractInfoV0JSON,\n IContractInfoV1JSON,\n} from './ContractInfo';\nimport { IDlcMessage } from './DlcMessage';\nimport {\n IOrderIrcInfoJSON,\n OrderIrcInfo,\n OrderIrcInfoV0,\n} from './OrderIrcInfo';\nimport { OrderMetadata, OrderMetadataV0 } from './OrderMetadata';\nimport { IOrderPositionInfoJSON, OrderPositionInfo } from './OrderPositionInfo';\n\nconst LOCKTIME_THRESHOLD = 500000000;\n\n/**\n * OrderOffer message contains information about a node and indicates its\n * desire to enter into a new contract. This is the first step toward\n * order negotiation. This is a simpler message than DlcOffer.\n */\nexport class OrderOffer implements IDlcMessage {\n public static type = MessageType.OrderOffer;\n\n /**\n * Creates an OrderOffer from JSON data\n * @param json JSON object representing an order offer\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OrderOffer {\n const instance = new OrderOffer();\n\n // Basic fields with field name variations\n instance.protocolVersion =\n json.protocolVersion || json.protocol_version || PROTOCOL_VERSION;\n instance.contractFlags = Buffer.from(\n json.contractFlags || json.contract_flags || '00',\n 'hex',\n );\n instance.chainHash = Buffer.from(json.chainHash || json.chain_hash, 'hex');\n instance.temporaryContractId = Buffer.from(\n json.temporaryContractId || json.temporary_contract_id,\n 'hex',\n );\n\n // Use toBigInt helper to handle BigInt values from json-bigint\n instance.offerCollateral = toBigInt(\n json.offerCollateral ||\n json.offerCollateralSatoshis ||\n json.offer_collateral,\n );\n\n instance.feeRatePerVb = toBigInt(json.feeRatePerVb || json.fee_rate_per_vb);\n instance.cetLocktime = json.cetLocktime || json.cet_locktime || 0;\n instance.refundLocktime = json.refundLocktime || json.refund_locktime || 0;\n\n // Use ContractInfo.fromJSON() - proper delegation\n instance.contractInfo = ContractInfo.fromJSON(\n json.contractInfo || json.contract_info,\n );\n\n return instance;\n }\n\n /**\n * Deserializes an order_offer message\n * @param buf\n */\n public static deserialize(buf: Buffer): OrderOffer {\n const instance = new OrderOffer();\n const reader = new BufferReader(buf);\n\n const type = reader.readUInt16BE(); // read type\n\n // Validate type matches expected OrderOffer type\n if (type !== MessageType.OrderOffer) {\n throw new Error(\n `Invalid message type. Expected ${MessageType.OrderOffer}, got ${type}`,\n );\n }\n\n // BACKWARD COMPATIBILITY: Detect old vs new format\n const nextBytes = reader.buffer.subarray(\n reader.position,\n reader.position + 5,\n );\n const possibleProtocolVersion = nextBytes.readUInt32BE(0);\n const possibleContractFlags = nextBytes.readUInt8(4);\n\n // Heuristic: protocol_version should be 1, contract_flags should be 0\n const isNewFormat =\n possibleProtocolVersion >= 1 &&\n possibleProtocolVersion <= 10 &&\n possibleContractFlags === 0;\n\n if (isNewFormat) {\n // New format with protocol_version\n instance.protocolVersion = reader.readUInt32BE();\n instance.contractFlags = reader.readBytes(1);\n } else {\n // Old format without protocol_version\n instance.protocolVersion = 1; // Default to version 1\n instance.contractFlags = reader.readBytes(1);\n }\n\n instance.chainHash = reader.readBytes(32);\n instance.temporaryContractId = reader.readBytes(32);\n\n // ContractInfo is serialized as sibling type in dlcspecs PR #163 format\n instance.contractInfo = ContractInfo.deserialize(\n reader.buffer.subarray(reader.position),\n );\n // Skip past the ContractInfo we just read\n const contractInfoLength = instance.contractInfo.serialize().length;\n reader.position += contractInfoLength;\n\n instance.offerCollateral = reader.readUInt64BE();\n instance.feeRatePerVb = reader.readUInt64BE();\n instance.cetLocktime = reader.readUInt32BE();\n instance.refundLocktime = reader.readUInt32BE();\n\n // Parse TLV stream as per dlcspecs PR #163\n while (!reader.eof) {\n const buf = getTlv(reader);\n const tlvReader = new BufferReader(buf);\n const { type } = deserializeTlv(tlvReader);\n\n switch (Number(type)) {\n case MessageType.OrderMetadataV0:\n instance.metadata = OrderMetadataV0.deserialize(buf);\n break;\n case MessageType.OrderIrcInfoV0:\n instance.ircInfo = OrderIrcInfoV0.deserialize(buf);\n break;\n case MessageType.OrderPositionInfo:\n instance.positionInfo = OrderPositionInfo.deserialize(buf);\n break;\n case MessageType.BatchFundingGroup:\n if (!instance.batchFundingGroups) {\n instance.batchFundingGroups = [];\n }\n instance.batchFundingGroups.push(BatchFundingGroup.deserialize(buf));\n break;\n default:\n // Store unknown TLVs for future compatibility\n if (!instance.unknownTlvs) {\n instance.unknownTlvs = [];\n }\n instance.unknownTlvs.push({ type: Number(type), data: buf });\n break;\n }\n }\n\n return instance;\n }\n\n /**\n * The type for order_offer message. order_offer = 62770\n */\n public type = OrderOffer.type;\n\n // New fields as per dlcspecs PR #163\n public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version\n\n public temporaryContractId: Buffer; // New field for contract identification\n\n // Existing fields\n public contractFlags: Buffer;\n\n public chainHash: Buffer;\n\n public contractInfo: ContractInfo;\n\n public offerCollateral: bigint;\n\n public feeRatePerVb: bigint;\n\n public cetLocktime: number;\n\n public refundLocktime: number;\n\n public metadata?: OrderMetadata;\n\n public ircInfo?: OrderIrcInfo;\n\n public positionInfo?: OrderPositionInfo;\n\n public batchFundingGroups?: BatchFundingGroup[];\n\n // Store unknown TLVs for forward compatibility\n public unknownTlvs?: Array<{ type: number; data: Buffer }>;\n\n // Legacy property for backward compatibility\n public get offerCollateralSatoshis(): bigint {\n return this.offerCollateral;\n }\n\n public set offerCollateralSatoshis(value: bigint) {\n this.offerCollateral = value;\n }\n\n public validate(): void {\n // 1. Type is set automatically in class\n // 2. protocol_version validation\n if (this.protocolVersion !== PROTOCOL_VERSION) {\n throw new Error(\n `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,\n );\n }\n\n // 3. temporary_contract_id validation\n if (!this.temporaryContractId || this.temporaryContractId.length !== 32) {\n throw new Error('temporaryContractId must be 32 bytes');\n }\n\n // 4. contract_flags field is ignored\n // 5. chain_hash must be validated as input by end user\n\n // 6. offer_collateral must be greater than or equal to 1000\n if (this.offerCollateral < 1000) {\n throw new Error('offer_collateral must be greater than or equal to 1000');\n }\n\n if (this.cetLocktime < 0) {\n throw new Error('cet_locktime must be greater than or equal to 0');\n }\n\n if (this.refundLocktime < 0) {\n throw new Error('refund_locktime must be greater than or equal to 0');\n }\n\n // 7. cet_locktime and refund_locktime must either both be unix timestamps, or both be block heights.\n if (\n !(\n (this.cetLocktime < LOCKTIME_THRESHOLD &&\n this.refundLocktime < LOCKTIME_THRESHOLD) ||\n (this.cetLocktime >= LOCKTIME_THRESHOLD &&\n this.refundLocktime >= LOCKTIME_THRESHOLD)\n )\n ) {\n throw new Error('cetLocktime and refundLocktime must be in same units');\n }\n\n // 8. cetLocktime must be less than refundLocktime\n if (this.cetLocktime >= this.refundLocktime) {\n throw new Error('cetLocktime must be less than refundLocktime');\n }\n\n // validate contractInfo\n this.contractInfo.validate();\n\n // totalCollateral should be > offerCollateral (logical validation)\n if (this.contractInfo.getTotalCollateral() <= this.offerCollateral) {\n throw new Error('totalCollateral should be greater than offerCollateral');\n }\n }\n\n /**\n * Converts order_offer to JSON\n */\n public toJSON(): IOrderOfferJSON {\n const tlvs = [];\n\n if (this.metadata) tlvs.push(this.metadata.toJSON());\n if (this.ircInfo) tlvs.push(this.ircInfo.toJSON());\n if (this.positionInfo) tlvs.push(this.positionInfo.toJSON());\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n tlvs.push(fundingInfo.toJSON()),\n );\n\n // Include unknown TLVs for debugging\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) =>\n tlvs.push({ type: tlv.type, data: tlv.data.toString('hex') }),\n );\n }\n\n return {\n type: this.type,\n protocolVersion: this.protocolVersion,\n temporaryContractId: this.temporaryContractId.toString('hex'),\n contractFlags: Number(this.contractFlags[0]),\n chainHash: this.chainHash.toString('hex'),\n contractInfo: this.contractInfo.toJSON(),\n offerCollateral: bigIntToNumber(this.offerCollateral),\n offerCollateralSatoshis: bigIntToNumber(this.offerCollateral), // Legacy field\n feeRatePerVb: bigIntToNumber(this.feeRatePerVb),\n cetLocktime: this.cetLocktime,\n refundLocktime: this.refundLocktime,\n tlvs,\n };\n }\n\n /**\n * Serializes the order_offer message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n\n // New fields as per dlcspecs PR #163\n writer.writeUInt32BE(this.protocolVersion);\n writer.writeBytes(this.contractFlags);\n writer.writeBytes(this.chainHash);\n writer.writeBytes(this.temporaryContractId); // New field\n\n writer.writeBytes(this.contractInfo.serialize());\n writer.writeUInt64BE(this.offerCollateral);\n writer.writeUInt64BE(this.feeRatePerVb);\n writer.writeUInt32BE(this.cetLocktime);\n writer.writeUInt32BE(this.refundLocktime);\n\n // TLV stream as per dlcspecs PR #163\n if (this.metadata) writer.writeBytes(this.metadata.serialize());\n if (this.ircInfo) writer.writeBytes(this.ircInfo.serialize());\n if (this.positionInfo) writer.writeBytes(this.positionInfo.serialize());\n if (this.batchFundingGroups)\n this.batchFundingGroups.forEach((fundingInfo) =>\n writer.writeBytes(fundingInfo.serialize()),\n );\n\n // Write unknown TLVs for forward compatibility\n if (this.unknownTlvs) {\n this.unknownTlvs.forEach((tlv) => {\n writer.writeBytes(tlv.data);\n });\n }\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOrderOfferJSON {\n type: number;\n protocolVersion: number;\n temporaryContractId: string;\n contractFlags: number;\n chainHash: string;\n contractInfo: IContractInfoV0JSON | IContractInfoV1JSON;\n offerCollateral: number;\n offerCollateralSatoshis: number; // Legacy field for backward compatibility\n feeRatePerVb: number;\n cetLocktime: number;\n refundLocktime: number;\n tlvs: (\n | IOrderMetadataJSON\n | IOrderIrcInfoJSON\n | IOrderPositionInfoJSON\n | IBatchFundingGroupJSON\n | unknown\n )[];\n}\n\nexport class OrderOfferContainer {\n private offers: OrderOffer[] = [];\n\n /**\n * Adds an OrderOffer to the container.\n * @param offer The OrderOffer to add.\n */\n public addOffer(offer: OrderOffer): void {\n this.offers.push(offer);\n }\n\n /**\n * Returns all OrderOffers in the container.\n * @returns An array of OrderOffer instances.\n */\n public getOffers(): OrderOffer[] {\n return this.offers;\n }\n\n /**\n * Serializes all OrderOffers in the container to a Buffer.\n * @returns A Buffer containing the serialized OrderOffers.\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // Write the number of offers in the container first.\n writer.writeBigSize(this.offers.length);\n // Serialize each offer and write it.\n this.offers.forEach((offer) => {\n const serializedOffer = offer.serialize();\n // Optionally, write the length of the serialized offer for easier deserialization.\n writer.writeBigSize(serializedOffer.length);\n writer.writeBytes(serializedOffer);\n });\n return writer.toBuffer();\n }\n\n /**\n * Deserializes a Buffer into an OrderOfferContainer with OrderOffers.\n * @param buf The Buffer to deserialize.\n * @returns An OrderOfferContainer instance.\n */\n public static deserialize(buf: Buffer): OrderOfferContainer {\n const reader = new BufferReader(buf);\n const container = new OrderOfferContainer();\n const offersCount = reader.readBigSize();\n for (let i = 0; i < offersCount; i++) {\n // Optionally, read the length of the serialized offer if it was written during serialization.\n const offerLength = reader.readBigSize();\n const offerBuf = reader.readBytes(Number(offerLength));\n const offer = OrderOffer.deserialize(offerBuf);\n container.addOffer(offer);\n }\n return container;\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2fd3527e2117a473f0bf418be9524a8f772db195","contentHash":"1cb3d834bcbe6e6026b6580845b0e66a73c24aa3bdba4fe8c6705a64439c531c"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleInfo.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleInfo.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":127}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":29},"end":{"line":7,"column":60}},"6":{"start":{"line":14,"column":8},"end":{"line":14,"column":38}},"7":{"start":{"line":22,"column":25},"end":{"line":22,"column":43}},"8":{"start":{"line":23,"column":8},"end":{"line":23,"column":75}},"9":{"start":{"line":24,"column":8},"end":{"line":24,"column":72}},"10":{"start":{"line":25,"column":8},"end":{"line":26,"column":69}},"11":{"start":{"line":27,"column":8},"end":{"line":27,"column":24}},"12":{"start":{"line":33,"column":25},"end":{"line":33,"column":43}},"13":{"start":{"line":34,"column":23},"end":{"line":34,"column":52}},"14":{"start":{"line":35,"column":8},"end":{"line":35,"column":29}},"15":{"start":{"line":36,"column":8},"end":{"line":36,"column":47}},"16":{"start":{"line":37,"column":8},"end":{"line":37,"column":53}},"17":{"start":{"line":38,"column":8},"end":{"line":38,"column":52}},"18":{"start":{"line":39,"column":8},"end":{"line":39,"column":61}},"19":{"start":{"line":40,"column":8},"end":{"line":40,"column":24}},"20":{"start":{"line":46,"column":25},"end":{"line":46,"column":43}},"21":{"start":{"line":47,"column":23},"end":{"line":47,"column":52}},"22":{"start":{"line":49,"column":8},"end":{"line":49,"column":53}},"23":{"start":{"line":50,"column":8},"end":{"line":50,"column":52}},"24":{"start":{"line":51,"column":8},"end":{"line":51,"column":61}},"25":{"start":{"line":52,"column":8},"end":{"line":52,"column":24}},"26":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"27":{"start":{"line":56,"column":12},"end":{"line":56,"column":78}},"28":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"29":{"start":{"line":59,"column":12},"end":{"line":59,"column":77}},"30":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"31":{"start":{"line":62,"column":12},"end":{"line":62,"column":72}},"32":{"start":{"line":66,"column":8},"end":{"line":70,"column":10}},"33":{"start":{"line":73,"column":23},"end":{"line":73,"column":49}},"34":{"start":{"line":74,"column":8},"end":{"line":74,"column":39}},"35":{"start":{"line":75,"column":27},"end":{"line":75,"column":53}},"36":{"start":{"line":76,"column":8},"end":{"line":76,"column":51}},"37":{"start":{"line":77,"column":8},"end":{"line":77,"column":50}},"38":{"start":{"line":78,"column":8},"end":{"line":78,"column":61}},"39":{"start":{"line":79,"column":8},"end":{"line":79,"column":45}},"40":{"start":{"line":80,"column":8},"end":{"line":80,"column":49}},"41":{"start":{"line":81,"column":8},"end":{"line":81,"column":33}},"42":{"start":{"line":87,"column":23},"end":{"line":87,"column":49}},"43":{"start":{"line":88,"column":8},"end":{"line":88,"column":47}},"44":{"start":{"line":89,"column":8},"end":{"line":89,"column":46}},"45":{"start":{"line":90,"column":8},"end":{"line":90,"column":57}},"46":{"start":{"line":91,"column":8},"end":{"line":91,"column":33}},"47":{"start":{"line":94,"column":0},"end":{"line":94,"column":36}},"48":{"start":{"line":95,"column":0},"end":{"line":95,"column":61}},"49":{"start":{"line":101,"column":8},"end":{"line":101,"column":42}},"50":{"start":{"line":109,"column":25},"end":{"line":109,"column":47}},"51":{"start":{"line":110,"column":33},"end":{"line":110,"column":77}},"52":{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},"53":{"start":{"line":112,"column":12},"end":{"line":112,"column":101}},"54":{"start":{"line":115,"column":8},"end":{"line":115,"column":99}},"55":{"start":{"line":116,"column":8},"end":{"line":116,"column":24}},"56":{"start":{"line":122,"column":25},"end":{"line":122,"column":47}},"57":{"start":{"line":123,"column":23},"end":{"line":123,"column":52}},"58":{"start":{"line":125,"column":8},"end":{"line":125,"column":29}},"59":{"start":{"line":126,"column":8},"end":{"line":126,"column":47}},"60":{"start":{"line":128,"column":8},"end":{"line":128,"column":127}},"61":{"start":{"line":129,"column":8},"end":{"line":129,"column":24}},"62":{"start":{"line":135,"column":8},"end":{"line":135,"column":64}},"63":{"start":{"line":138,"column":8},"end":{"line":138,"column":37}},"64":{"start":{"line":142,"column":8},"end":{"line":146,"column":10}},"65":{"start":{"line":149,"column":23},"end":{"line":149,"column":49}},"66":{"start":{"line":150,"column":8},"end":{"line":150,"column":39}},"67":{"start":{"line":151,"column":27},"end":{"line":151,"column":53}},"68":{"start":{"line":152,"column":8},"end":{"line":152,"column":61}},"69":{"start":{"line":153,"column":8},"end":{"line":153,"column":45}},"70":{"start":{"line":154,"column":8},"end":{"line":154,"column":49}},"71":{"start":{"line":155,"column":8},"end":{"line":155,"column":33}},"72":{"start":{"line":162,"column":8},"end":{"line":162,"column":45}},"73":{"start":{"line":169,"column":25},"end":{"line":169,"column":47}},"74":{"start":{"line":171,"column":8},"end":{"line":171,"column":89}},"75":{"start":{"line":172,"column":8},"end":{"line":172,"column":24}},"76":{"start":{"line":175,"column":0},"end":{"line":175,"column":44}},"77":{"start":{"line":176,"column":0},"end":{"line":176,"column":67}},"78":{"start":{"line":182,"column":8},"end":{"line":182,"column":41}},"79":{"start":{"line":184,"column":8},"end":{"line":184,"column":32}},"80":{"start":{"line":192,"column":25},"end":{"line":192,"column":46}},"81":{"start":{"line":193,"column":8},"end":{"line":193,"column":49}},"82":{"start":{"line":195,"column":30},"end":{"line":195,"column":89}},"83":{"start":{"line":197,"column":8},"end":{"line":197,"column":141}},"84":{"start":{"line":197,"column":73},"end":{"line":197,"column":139}},"85":{"start":{"line":199,"column":33},"end":{"line":199,"column":72}},"86":{"start":{"line":200,"column":8},"end":{"line":207,"column":9}},"87":{"start":{"line":202,"column":12},"end":{"line":202,"column":76}},"88":{"start":{"line":206,"column":12},"end":{"line":206,"column":46}},"89":{"start":{"line":208,"column":8},"end":{"line":208,"column":24}},"90":{"start":{"line":214,"column":25},"end":{"line":214,"column":46}},"91":{"start":{"line":215,"column":23},"end":{"line":215,"column":52}},"92":{"start":{"line":217,"column":8},"end":{"line":217,"column":29}},"93":{"start":{"line":218,"column":8},"end":{"line":218,"column":47}},"94":{"start":{"line":220,"column":8},"end":{"line":220,"column":51}},"95":{"start":{"line":221,"column":33},"end":{"line":221,"column":61}},"96":{"start":{"line":222,"column":8},"end":{"line":224,"column":9}},"97":{"start":{"line":222,"column":21},"end":{"line":222,"column":22}},"98":{"start":{"line":223,"column":12},"end":{"line":223,"column":123}},"99":{"start":{"line":226,"column":33},"end":{"line":226,"column":54}},"100":{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},"101":{"start":{"line":228,"column":12},"end":{"line":228,"column":83}},"102":{"start":{"line":230,"column":8},"end":{"line":230,"column":24}},"103":{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},"104":{"start":{"line":234,"column":12},"end":{"line":234,"column":64}},"105":{"start":{"line":236,"column":8},"end":{"line":238,"column":9}},"106":{"start":{"line":237,"column":12},"end":{"line":237,"column":88}},"107":{"start":{"line":239,"column":8},"end":{"line":241,"column":9}},"108":{"start":{"line":240,"column":12},"end":{"line":240,"column":67}},"109":{"start":{"line":243,"column":8},"end":{"line":243,"column":78}},"110":{"start":{"line":243,"column":53},"end":{"line":243,"column":76}},"111":{"start":{"line":245,"column":8},"end":{"line":247,"column":9}},"112":{"start":{"line":246,"column":12},"end":{"line":246,"column":41}},"113":{"start":{"line":253,"column":8},"end":{"line":253,"column":92}},"114":{"start":{"line":253,"column":57},"end":{"line":253,"column":89}},"115":{"start":{"line":257,"column":8},"end":{"line":263,"column":10}},"116":{"start":{"line":260,"column":67},"end":{"line":260,"column":77}},"117":{"start":{"line":266,"column":23},"end":{"line":266,"column":49}},"118":{"start":{"line":268,"column":27},"end":{"line":268,"column":53}},"119":{"start":{"line":269,"column":8},"end":{"line":269,"column":49}},"120":{"start":{"line":270,"column":8},"end":{"line":270,"column":59}},"121":{"start":{"line":271,"column":8},"end":{"line":273,"column":9}},"122":{"start":{"line":272,"column":12},"end":{"line":272,"column":60}},"123":{"start":{"line":275,"column":33},"end":{"line":277,"column":18}},"124":{"start":{"line":278,"column":8},"end":{"line":278,"column":51}},"125":{"start":{"line":280,"column":8},"end":{"line":280,"column":49}},"126":{"start":{"line":281,"column":8},"end":{"line":281,"column":33}},"127":{"start":{"line":288,"column":23},"end":{"line":288,"column":49}},"128":{"start":{"line":289,"column":8},"end":{"line":289,"column":45}},"129":{"start":{"line":290,"column":8},"end":{"line":290,"column":55}},"130":{"start":{"line":291,"column":8},"end":{"line":293,"column":9}},"131":{"start":{"line":292,"column":12},"end":{"line":292,"column":56}},"132":{"start":{"line":295,"column":33},"end":{"line":297,"column":18}},"133":{"start":{"line":298,"column":8},"end":{"line":298,"column":47}},"134":{"start":{"line":299,"column":8},"end":{"line":299,"column":33}},"135":{"start":{"line":306,"column":25},"end":{"line":306,"column":46}},"136":{"start":{"line":307,"column":23},"end":{"line":307,"column":52}},"137":{"start":{"line":309,"column":8},"end":{"line":309,"column":51}},"138":{"start":{"line":310,"column":33},"end":{"line":310,"column":61}},"139":{"start":{"line":311,"column":8},"end":{"line":313,"column":9}},"140":{"start":{"line":311,"column":21},"end":{"line":311,"column":22}},"141":{"start":{"line":312,"column":12},"end":{"line":312,"column":123}},"142":{"start":{"line":315,"column":33},"end":{"line":315,"column":54}},"143":{"start":{"line":316,"column":8},"end":{"line":318,"column":9}},"144":{"start":{"line":317,"column":12},"end":{"line":317,"column":83}},"145":{"start":{"line":319,"column":8},"end":{"line":319,"column":24}},"146":{"start":{"line":322,"column":0},"end":{"line":322,"column":42}},"147":{"start":{"line":323,"column":0},"end":{"line":323,"column":65}},"148":{"start":{"line":331,"column":23},"end":{"line":331,"column":52}},"149":{"start":{"line":332,"column":21},"end":{"line":332,"column":49}},"150":{"start":{"line":333,"column":8},"end":{"line":340,"column":9}},"151":{"start":{"line":335,"column":16},"end":{"line":335,"column":57}},"152":{"start":{"line":337,"column":16},"end":{"line":337,"column":56}},"153":{"start":{"line":339,"column":16},"end":{"line":339,"column":69}},"154":{"start":{"line":348,"column":8},"end":{"line":350,"column":9}},"155":{"start":{"line":349,"column":12},"end":{"line":349,"column":54}},"156":{"start":{"line":352,"column":8},"end":{"line":365,"column":9}},"157":{"start":{"line":353,"column":12},"end":{"line":353,"column":51}},"158":{"start":{"line":356,"column":13},"end":{"line":365,"column":9}},"159":{"start":{"line":357,"column":12},"end":{"line":357,"column":58}},"160":{"start":{"line":360,"column":13},"end":{"line":365,"column":9}},"161":{"start":{"line":361,"column":12},"end":{"line":361,"column":56}},"162":{"start":{"line":364,"column":12},"end":{"line":364,"column":90}},"163":{"start":{"line":371,"column":8},"end":{"line":376,"column":9}},"164":{"start":{"line":372,"column":12},"end":{"line":372,"column":68}},"165":{"start":{"line":374,"column":13},"end":{"line":376,"column":9}},"166":{"start":{"line":375,"column":12},"end":{"line":375,"column":49}},"167":{"start":{"line":377,"column":8},"end":{"line":377,"column":52}},"168":{"start":{"line":380,"column":0},"end":{"line":380,"column":32}},"169":{"start":{"line":389,"column":8},"end":{"line":389,"column":47}},"170":{"start":{"line":392,"column":0},"end":{"line":392,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":18},"end":{"line":15,"column":5}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":4},"end":{"line":21,"column":5}},"loc":{"start":{"line":21,"column":26},"end":{"line":28,"column":5}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":32,"column":4},"end":{"line":32,"column":5}},"loc":{"start":{"line":32,"column":28},"end":{"line":41,"column":5}},"line":32},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":32},"end":{"line":53,"column":5}},"line":45},"4":{"name":"(anonymous_4)","decl":{"start":{"line":54,"column":4},"end":{"line":54,"column":5}},"loc":{"start":{"line":54,"column":15},"end":{"line":64,"column":5}},"line":54},"5":{"name":"(anonymous_5)","decl":{"start":{"line":65,"column":4},"end":{"line":65,"column":5}},"loc":{"start":{"line":65,"column":13},"end":{"line":71,"column":5}},"line":65},"6":{"name":"(anonymous_6)","decl":{"start":{"line":72,"column":4},"end":{"line":72,"column":5}},"loc":{"start":{"line":72,"column":16},"end":{"line":82,"column":5}},"line":72},"7":{"name":"(anonymous_7)","decl":{"start":{"line":86,"column":4},"end":{"line":86,"column":5}},"loc":{"start":{"line":86,"column":20},"end":{"line":92,"column":5}},"line":86},"8":{"name":"(anonymous_8)","decl":{"start":{"line":100,"column":4},"end":{"line":100,"column":5}},"loc":{"start":{"line":100,"column":18},"end":{"line":102,"column":5}},"line":100},"9":{"name":"(anonymous_9)","decl":{"start":{"line":108,"column":4},"end":{"line":108,"column":5}},"loc":{"start":{"line":108,"column":26},"end":{"line":117,"column":5}},"line":108},"10":{"name":"(anonymous_10)","decl":{"start":{"line":121,"column":4},"end":{"line":121,"column":5}},"loc":{"start":{"line":121,"column":28},"end":{"line":130,"column":5}},"line":121},"11":{"name":"(anonymous_11)","decl":{"start":{"line":134,"column":4},"end":{"line":134,"column":5}},"loc":{"start":{"line":134,"column":29},"end":{"line":136,"column":5}},"line":134},"12":{"name":"(anonymous_12)","decl":{"start":{"line":137,"column":4},"end":{"line":137,"column":5}},"loc":{"start":{"line":137,"column":15},"end":{"line":139,"column":5}},"line":137},"13":{"name":"(anonymous_13)","decl":{"start":{"line":140,"column":4},"end":{"line":140,"column":5}},"loc":{"start":{"line":140,"column":13},"end":{"line":147,"column":5}},"line":140},"14":{"name":"(anonymous_14)","decl":{"start":{"line":148,"column":4},"end":{"line":148,"column":5}},"loc":{"start":{"line":148,"column":16},"end":{"line":156,"column":5}},"line":148},"15":{"name":"(anonymous_15)","decl":{"start":{"line":161,"column":4},"end":{"line":161,"column":5}},"loc":{"start":{"line":161,"column":20},"end":{"line":163,"column":5}},"line":161},"16":{"name":"(anonymous_16)","decl":{"start":{"line":168,"column":4},"end":{"line":168,"column":5}},"loc":{"start":{"line":168,"column":32},"end":{"line":173,"column":5}},"line":168},"17":{"name":"(anonymous_17)","decl":{"start":{"line":181,"column":4},"end":{"line":181,"column":5}},"loc":{"start":{"line":181,"column":18},"end":{"line":185,"column":5}},"line":181},"18":{"name":"(anonymous_18)","decl":{"start":{"line":191,"column":4},"end":{"line":191,"column":5}},"loc":{"start":{"line":191,"column":26},"end":{"line":209,"column":5}},"line":191},"19":{"name":"(anonymous_19)","decl":{"start":{"line":197,"column":51},"end":{"line":197,"column":52}},"loc":{"start":{"line":197,"column":73},"end":{"line":197,"column":139}},"line":197},"20":{"name":"(anonymous_20)","decl":{"start":{"line":213,"column":4},"end":{"line":213,"column":5}},"loc":{"start":{"line":213,"column":28},"end":{"line":231,"column":5}},"line":213},"21":{"name":"(anonymous_21)","decl":{"start":{"line":232,"column":4},"end":{"line":232,"column":5}},"loc":{"start":{"line":232,"column":15},"end":{"line":248,"column":5}},"line":232},"22":{"name":"(anonymous_22)","decl":{"start":{"line":243,"column":35},"end":{"line":243,"column":36}},"loc":{"start":{"line":243,"column":53},"end":{"line":243,"column":76}},"line":243},"23":{"name":"(anonymous_23)","decl":{"start":{"line":252,"column":4},"end":{"line":252,"column":5}},"loc":{"start":{"line":252,"column":29},"end":{"line":254,"column":5}},"line":252},"24":{"name":"(anonymous_24)","decl":{"start":{"line":253,"column":50},"end":{"line":253,"column":51}},"loc":{"start":{"line":253,"column":57},"end":{"line":253,"column":89}},"line":253},"25":{"name":"(anonymous_25)","decl":{"start":{"line":255,"column":4},"end":{"line":255,"column":5}},"loc":{"start":{"line":255,"column":13},"end":{"line":264,"column":5}},"line":255},"26":{"name":"(anonymous_26)","decl":{"start":{"line":260,"column":60},"end":{"line":260,"column":61}},"loc":{"start":{"line":260,"column":67},"end":{"line":260,"column":77}},"line":260},"27":{"name":"(anonymous_27)","decl":{"start":{"line":265,"column":4},"end":{"line":265,"column":5}},"loc":{"start":{"line":265,"column":16},"end":{"line":282,"column":5}},"line":265},"28":{"name":"(anonymous_28)","decl":{"start":{"line":287,"column":4},"end":{"line":287,"column":5}},"loc":{"start":{"line":287,"column":20},"end":{"line":300,"column":5}},"line":287},"29":{"name":"(anonymous_29)","decl":{"start":{"line":305,"column":4},"end":{"line":305,"column":5}},"loc":{"start":{"line":305,"column":32},"end":{"line":320,"column":5}},"line":305},"30":{"name":"(anonymous_30)","decl":{"start":{"line":330,"column":4},"end":{"line":330,"column":5}},"loc":{"start":{"line":330,"column":28},"end":{"line":341,"column":5}},"line":330},"31":{"name":"(anonymous_31)","decl":{"start":{"line":347,"column":4},"end":{"line":347,"column":5}},"loc":{"start":{"line":347,"column":26},"end":{"line":366,"column":5}},"line":347},"32":{"name":"(anonymous_32)","decl":{"start":{"line":370,"column":4},"end":{"line":370,"column":5}},"loc":{"start":{"line":370,"column":29},"end":{"line":378,"column":5}},"line":370},"33":{"name":"(anonymous_33)","decl":{"start":{"line":388,"column":4},"end":{"line":388,"column":5}},"loc":{"start":{"line":388,"column":26},"end":{"line":390,"column":5}},"line":388}},"branchMap":{"0":{"loc":{"start":{"line":23,"column":31},"end":{"line":23,"column":74}},"type":"binary-expr","locations":[{"start":{"line":23,"column":31},"end":{"line":23,"column":47}},{"start":{"line":23,"column":51},"end":{"line":23,"column":69}},{"start":{"line":23,"column":73},"end":{"line":23,"column":74}}],"line":23},"1":{"loc":{"start":{"line":24,"column":30},"end":{"line":24,"column":71}},"type":"binary-expr","locations":[{"start":{"line":24,"column":30},"end":{"line":24,"column":45}},{"start":{"line":24,"column":49},"end":{"line":24,"column":66}},{"start":{"line":24,"column":70},"end":{"line":24,"column":71}}],"line":24},"2":{"loc":{"start":{"line":26,"column":12},"end":{"line":26,"column":68}},"type":"binary-expr","locations":[{"start":{"line":26,"column":12},"end":{"line":26,"column":33}},{"start":{"line":26,"column":37},"end":{"line":26,"column":59}},{"start":{"line":26,"column":63},"end":{"line":26,"column":68}}],"line":26},"3":{"loc":{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":8},"end":{"line":57,"column":9}},{"start":{"line":55,"column":8},"end":{"line":57,"column":9}}],"line":55},"4":{"loc":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},{"start":{"line":58,"column":8},"end":{"line":60,"column":9}}],"line":58},"5":{"loc":{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":8},"end":{"line":63,"column":9}},{"start":{"line":61,"column":8},"end":{"line":63,"column":9}}],"line":61},"6":{"loc":{"start":{"line":78,"column":30},"end":{"line":78,"column":59}},"type":"cond-expr","locations":[{"start":{"line":78,"column":54},"end":{"line":78,"column":55}},{"start":{"line":78,"column":58},"end":{"line":78,"column":59}}],"line":78},"7":{"loc":{"start":{"line":90,"column":26},"end":{"line":90,"column":55}},"type":"cond-expr","locations":[{"start":{"line":90,"column":50},"end":{"line":90,"column":51}},{"start":{"line":90,"column":54},"end":{"line":90,"column":55}}],"line":90},"8":{"loc":{"start":{"line":110,"column":33},"end":{"line":110,"column":77}},"type":"binary-expr","locations":[{"start":{"line":110,"column":33},"end":{"line":110,"column":50}},{"start":{"line":110,"column":54},"end":{"line":110,"column":77}}],"line":110},"9":{"loc":{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":111,"column":8},"end":{"line":113,"column":9}},{"start":{"line":111,"column":8},"end":{"line":113,"column":9}}],"line":111},"10":{"loc":{"start":{"line":193,"column":29},"end":{"line":193,"column":48}},"type":"binary-expr","locations":[{"start":{"line":193,"column":29},"end":{"line":193,"column":43}},{"start":{"line":193,"column":47},"end":{"line":193,"column":48}}],"line":193},"11":{"loc":{"start":{"line":195,"column":30},"end":{"line":195,"column":89}},"type":"binary-expr","locations":[{"start":{"line":195,"column":30},"end":{"line":195,"column":54}},{"start":{"line":195,"column":58},"end":{"line":195,"column":83}},{"start":{"line":195,"column":87},"end":{"line":195,"column":89}}],"line":195},"12":{"loc":{"start":{"line":199,"column":33},"end":{"line":199,"column":72}},"type":"binary-expr","locations":[{"start":{"line":199,"column":33},"end":{"line":199,"column":50}},{"start":{"line":199,"column":54},"end":{"line":199,"column":72}}],"line":199},"13":{"loc":{"start":{"line":200,"column":8},"end":{"line":207,"column":9}},"type":"if","locations":[{"start":{"line":200,"column":8},"end":{"line":207,"column":9}},{"start":{"line":200,"column":8},"end":{"line":207,"column":9}}],"line":200},"14":{"loc":{"start":{"line":200,"column":12},"end":{"line":200,"column":71}},"type":"binary-expr","locations":[{"start":{"line":200,"column":12},"end":{"line":200,"column":37}},{"start":{"line":200,"column":41},"end":{"line":200,"column":71}}],"line":200},"15":{"loc":{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},"type":"if","locations":[{"start":{"line":227,"column":8},"end":{"line":229,"column":9}},{"start":{"line":227,"column":8},"end":{"line":229,"column":9}}],"line":227},"16":{"loc":{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},"type":"if","locations":[{"start":{"line":233,"column":8},"end":{"line":235,"column":9}},{"start":{"line":233,"column":8},"end":{"line":235,"column":9}}],"line":233},"17":{"loc":{"start":{"line":236,"column":8},"end":{"line":238,"column":9}},"type":"if","locations":[{"start":{"line":236,"column":8},"end":{"line":238,"column":9}},{"start":{"line":236,"column":8},"end":{"line":238,"column":9}}],"line":236},"18":{"loc":{"start":{"line":239,"column":8},"end":{"line":241,"column":9}},"type":"if","locations":[{"start":{"line":239,"column":8},"end":{"line":241,"column":9}},{"start":{"line":239,"column":8},"end":{"line":241,"column":9}}],"line":239},"19":{"loc":{"start":{"line":245,"column":8},"end":{"line":247,"column":9}},"type":"if","locations":[{"start":{"line":245,"column":8},"end":{"line":247,"column":9}},{"start":{"line":245,"column":8},"end":{"line":247,"column":9}}],"line":245},"20":{"loc":{"start":{"line":275,"column":33},"end":{"line":277,"column":18}},"type":"cond-expr","locations":[{"start":{"line":276,"column":14},"end":{"line":276,"column":47}},{"start":{"line":277,"column":14},"end":{"line":277,"column":18}}],"line":275},"21":{"loc":{"start":{"line":295,"column":33},"end":{"line":297,"column":18}},"type":"cond-expr","locations":[{"start":{"line":296,"column":14},"end":{"line":296,"column":47}},{"start":{"line":297,"column":14},"end":{"line":297,"column":18}}],"line":295},"22":{"loc":{"start":{"line":316,"column":8},"end":{"line":318,"column":9}},"type":"if","locations":[{"start":{"line":316,"column":8},"end":{"line":318,"column":9}},{"start":{"line":316,"column":8},"end":{"line":318,"column":9}}],"line":316},"23":{"loc":{"start":{"line":333,"column":8},"end":{"line":340,"column":9}},"type":"switch","locations":[{"start":{"line":334,"column":12},"end":{"line":335,"column":57}},{"start":{"line":336,"column":12},"end":{"line":337,"column":56}},{"start":{"line":338,"column":12},"end":{"line":339,"column":69}}],"line":333},"24":{"loc":{"start":{"line":348,"column":8},"end":{"line":350,"column":9}},"type":"if","locations":[{"start":{"line":348,"column":8},"end":{"line":350,"column":9}},{"start":{"line":348,"column":8},"end":{"line":350,"column":9}}],"line":348},"25":{"loc":{"start":{"line":352,"column":8},"end":{"line":365,"column":9}},"type":"if","locations":[{"start":{"line":352,"column":8},"end":{"line":365,"column":9}},{"start":{"line":352,"column":8},"end":{"line":365,"column":9}}],"line":352},"26":{"loc":{"start":{"line":356,"column":13},"end":{"line":365,"column":9}},"type":"if","locations":[{"start":{"line":356,"column":13},"end":{"line":365,"column":9}},{"start":{"line":356,"column":13},"end":{"line":365,"column":9}}],"line":356},"27":{"loc":{"start":{"line":360,"column":13},"end":{"line":365,"column":9}},"type":"if","locations":[{"start":{"line":360,"column":13},"end":{"line":365,"column":9}},{"start":{"line":360,"column":13},"end":{"line":365,"column":9}}],"line":360},"28":{"loc":{"start":{"line":371,"column":8},"end":{"line":376,"column":9}},"type":"if","locations":[{"start":{"line":371,"column":8},"end":{"line":376,"column":9}},{"start":{"line":371,"column":8},"end":{"line":376,"column":9}}],"line":371},"29":{"loc":{"start":{"line":374,"column":13},"end":{"line":376,"column":9}},"type":"if","locations":[{"start":{"line":374,"column":13},"end":{"line":376,"column":9}},{"start":{"line":374,"column":13},"end":{"line":376,"column":9}}],"line":374}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":25,"7":10,"8":10,"9":10,"10":10,"11":10,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":15,"21":15,"22":15,"23":15,"24":15,"25":15,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":5,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":41,"43":41,"44":41,"45":41,"46":41,"47":1,"48":1,"49":80,"50":7,"51":7,"52":7,"53":0,"54":7,"55":7,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":0,"63":9,"64":9,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":55,"73":21,"74":21,"75":21,"76":1,"77":1,"78":76,"79":76,"80":31,"81":31,"82":31,"83":31,"84":141,"85":31,"86":31,"87":10,"88":21,"89":31,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":16,"116":72,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":130,"128":130,"129":130,"130":130,"131":606,"132":130,"133":130,"134":130,"135":45,"136":45,"137":45,"138":45,"139":45,"140":45,"141":207,"142":45,"143":45,"144":15,"145":45,"146":1,"147":1,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":38,"155":0,"156":38,"157":0,"158":38,"159":7,"160":31,"161":31,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":1,"169":0,"170":1},"f":{"0":25,"1":10,"2":0,"3":15,"4":0,"5":5,"6":0,"7":41,"8":80,"9":7,"10":1,"11":0,"12":9,"13":9,"14":1,"15":55,"16":21,"17":76,"18":31,"19":141,"20":0,"21":0,"22":0,"23":0,"24":0,"25":16,"26":72,"27":0,"28":130,"29":45,"30":0,"31":38,"32":0,"33":0},"b":{"0":[10,0,0],"1":[10,0,0],"2":[10,10,10],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,41],"8":[7,7],"9":[0,7],"10":[31,0],"11":[31,0,0],"12":[31,21],"13":[10,21],"14":[31,31],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[41,89],"22":[15,30],"23":[0,0,0],"24":[0,38],"25":[0,38],"26":[7,31],"27":[31,0],"28":[0,0],"29":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleInfo.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { getTlv } from '../serialize/getTlv';\nimport { IDlcMessage } from './DlcMessage';\nimport {\n OracleAnnouncement,\n OracleAnnouncementJSON,\n} from './OracleAnnouncement';\n\n/**\n * OracleParams describe allowed differences between oracles in\n * numerical outcome contracts, as per rust-dlc specification.\n */\nexport class OracleParams implements IDlcMessage {\n public static type = MessageType.OracleParamsV0;\n\n /**\n * Creates an OracleParams from JSON data\n * @param json JSON object representing oracle params\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OracleParams {\n const instance = new OracleParams();\n instance.maxErrorExp = json.maxErrorExp || json.max_error_exp || 0;\n instance.minFailExp = json.minFailExp || json.min_fail_exp || 0;\n instance.maximizeCoverage =\n json.maximizeCoverage || json.maximize_coverage || false;\n return instance;\n }\n\n /**\n * Deserializes oracle_params_v0 message\n */\n public static deserialize(buf: Buffer): OracleParams {\n const instance = new OracleParams();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n instance.maxErrorExp = reader.readUInt16BE();\n instance.minFailExp = reader.readUInt16BE();\n instance.maximizeCoverage = reader.readUInt8() === 1;\n\n return instance;\n }\n\n /**\n * Deserializes oracle params body without TLV wrapper (for optional deserialization)\n */\n public static deserializeBody(buf: Buffer): OracleParams {\n const instance = new OracleParams();\n const reader = new BufferReader(buf);\n\n // No type/length to read - just the body content\n instance.maxErrorExp = reader.readUInt16BE();\n instance.minFailExp = reader.readUInt16BE();\n instance.maximizeCoverage = reader.readUInt8() === 1;\n\n return instance;\n }\n\n public type = OracleParams.type;\n public length: bigint;\n\n /** The maximum allowed difference between oracle expressed as a power of 2. */\n public maxErrorExp: number;\n\n /** The minimum allowed difference that should be supported by the contract expressed as a power of 2. */\n public minFailExp: number;\n\n /** Whether to maximize coverage of the interval between maxErrorExp and minFailExp. */\n public maximizeCoverage: boolean;\n\n public validate(): void {\n if (this.maxErrorExp < 0) {\n throw new Error('maxErrorExp must be greater than or equal to 0');\n }\n if (this.minFailExp < 0) {\n throw new Error('minFailExp must be greater than or equal to 0');\n }\n if (this.maxErrorExp >= this.minFailExp) {\n throw new Error('maxErrorExp must be less than minFailExp');\n }\n }\n\n public toJSON(): OracleParamsJSON {\n return {\n maxErrorExp: this.maxErrorExp,\n minFailExp: this.minFailExp,\n maximizeCoverage: this.maximizeCoverage,\n };\n }\n\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt16BE(this.maxErrorExp);\n dataWriter.writeUInt16BE(this.minFailExp);\n dataWriter.writeUInt8(this.maximizeCoverage ? 1 : 0);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n\n /**\n * Serializes the oracle params body without TLV wrapper (for optional serialization)\n */\n public serializeBody(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.maxErrorExp);\n writer.writeUInt16BE(this.minFailExp);\n writer.writeUInt8(this.maximizeCoverage ? 1 : 0);\n return writer.toBuffer();\n }\n}\n\n/**\n * SingleOracleInfo contains information about a single oracle.\n */\nexport class SingleOracleInfo implements IDlcMessage {\n public static type = MessageType.SingleOracleInfo;\n\n /**\n * Creates a SingleOracleInfo from JSON data\n * @param json JSON object representing single oracle info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): SingleOracleInfo {\n const instance = new SingleOracleInfo();\n\n const announcementData = json.announcement || json.oracleAnnouncement;\n if (!announcementData) {\n throw new Error(\n 'announcement or oracleAnnouncement is required for single oracle info',\n );\n }\n\n // Parse announcement using proper fromJSON method\n instance.announcement = OracleAnnouncement.fromJSON(announcementData);\n\n return instance;\n }\n\n /**\n * Deserializes single oracle info\n */\n public static deserialize(buf: Buffer): SingleOracleInfo {\n const instance = new SingleOracleInfo();\n const reader = new BufferReader(buf);\n\n // Read the type and length that serialize() writes\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize(); // read length\n\n // Read the announcement data\n instance.announcement = OracleAnnouncement.deserialize(\n reader.readBytes(Number(instance.length)),\n );\n\n return instance;\n }\n\n public type = SingleOracleInfo.type;\n public length: bigint;\n\n /** The oracle announcement from the oracle. */\n public announcement: OracleAnnouncement;\n\n /**\n * Returns the closest maturity date amongst all events\n */\n public getClosestMaturityDate(): number {\n return this.announcement.oracleEvent.eventMaturityEpoch;\n }\n\n public validate(): void {\n this.announcement.validate();\n }\n\n public toJSON(): SingleOracleInfoJSON {\n // Return enum variant format for Rust compatibility\n return {\n single: {\n oracleAnnouncement: this.announcement.toJSON(),\n },\n };\n }\n\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBytes(this.announcement.serialize());\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n\n /**\n * Serializes the body without TLV wrapper (for embedding in ContractInfo)\n * This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id\n */\n public serializeBody(): Buffer {\n return this.announcement.serialize();\n }\n\n /**\n * Deserializes the body without TLV wrapper (for embedding in ContractInfo)\n * This matches rust-dlc behavior where OracleInfo is read without type_id\n */\n public static deserializeBody(buf: Buffer): SingleOracleInfo {\n const instance = new SingleOracleInfo();\n // No type/length to read - just the announcement data directly\n instance.announcement = OracleAnnouncement.deserialize(buf);\n return instance;\n }\n}\n\n/**\n * MultiOracleInfo contains information about multiple oracles used in multi-oracle based contracts.\n */\nexport class MultiOracleInfo implements IDlcMessage {\n public static type = MessageType.MultiOracleInfo;\n\n /**\n * Creates a MultiOracleInfo from JSON data\n * @param json JSON object representing multi oracle info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): MultiOracleInfo {\n const instance = new MultiOracleInfo();\n\n instance.threshold = json.threshold || 1;\n\n // Parse oracle announcements using proper fromJSON method\n const announcements =\n json.oracleAnnouncements || json.oracle_announcements || [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instance.announcements = announcements.map((announcementJson: any) =>\n OracleAnnouncement.fromJSON(announcementJson),\n );\n\n // Parse oracle params if present (null means explicitly absent)\n const oracleParamsData = json.oracleParams || json.oracle_params;\n if (oracleParamsData !== null && oracleParamsData !== undefined) {\n // Create OracleParams from JSON data using the fromJSON method\n instance.oracleParams = OracleParams.fromJSON(oracleParamsData);\n } else {\n // Explicitly null/undefined - will serialize as 00 (not present)\n instance.oracleParams = undefined;\n }\n\n return instance;\n }\n\n /**\n * Deserializes multi oracle info\n */\n public static deserialize(buf: Buffer): MultiOracleInfo {\n const instance = new MultiOracleInfo();\n const reader = new BufferReader(buf);\n\n // Read the type and length that serialize() writes\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize(); // read length\n\n // In rust-dlc format, MultiOracleInfo body is: threshold + announcements + optional oracle params\n instance.threshold = reader.readUInt16BE();\n\n const numAnnouncements = Number(reader.readBigSize()); // Changed from readUInt16BE to readBigSize to match rust-dlc vec_cb\n for (let i = 0; i < numAnnouncements; i++) {\n instance.announcements.push(\n OracleAnnouncement.deserialize(getTlv(reader)),\n );\n }\n\n // Optional oracle params using Optional sub-type format\n const oracleParamsData = reader.readOptional();\n if (oracleParamsData) {\n instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);\n }\n\n return instance;\n }\n\n public type = MultiOracleInfo.type;\n public length: bigint;\n\n /** The threshold to be used for the contract (e.g. 2 of 3). */\n public threshold: number;\n\n /** The set of oracle announcements. */\n public announcements: OracleAnnouncement[] = [];\n\n /** The parameters to be used when allowing differences between oracle outcomes in numerical outcome contracts. */\n public oracleParams?: OracleParams;\n\n public validate(): void {\n if (this.threshold <= 0) {\n throw new Error('threshold must be greater than 0');\n }\n if (this.threshold > this.announcements.length) {\n throw new Error(\n 'threshold cannot be greater than number of announcements',\n );\n }\n if (this.announcements.length === 0) {\n throw new Error('must have at least one announcement');\n }\n\n // Validate all announcements\n this.announcements.forEach((announcement) => announcement.validate());\n\n // Validate oracle params if present\n if (this.oracleParams) {\n this.oracleParams.validate();\n }\n }\n\n /**\n * Returns the closest maturity date amongst all events\n */\n public getClosestMaturityDate(): number {\n return Math.min(\n ...this.announcements.map((a) => a.oracleEvent.eventMaturityEpoch),\n );\n }\n\n public toJSON(): MultiOracleInfoJSON {\n // Return enum variant format for Rust compatibility\n return {\n multi: {\n threshold: this.threshold,\n oracleAnnouncements: this.announcements.map((a) => a.toJSON()),\n oracleParams: this.oracleParams?.toJSON(),\n },\n };\n }\n\n public serialize(): Buffer {\n const writer = new BufferWriter();\n // writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeUInt16BE(this.threshold);\n dataWriter.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb\n\n for (const announcement of this.announcements) {\n dataWriter.writeBytes(announcement.serialize());\n }\n\n // Use Optional serialization for oracle params (body content only, not TLV wrapped)\n const oracleParamsData = this.oracleParams\n ? this.oracleParams.serializeBody()\n : null;\n dataWriter.writeOptional(oracleParamsData);\n\n // writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n\n /**\n * Serializes the body without TLV wrapper (for embedding in ContractInfo)\n * This matches rust-dlc behavior where OracleInfo.write() doesn't add type_id\n */\n public serializeBody(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.threshold);\n writer.writeBigSize(this.announcements.length); // Changed from writeUInt16BE to writeBigSize to match rust-dlc vec_cb\n\n for (const announcement of this.announcements) {\n writer.writeBytes(announcement.serialize());\n }\n\n // Use Optional serialization for oracle params (body content only, not TLV wrapped)\n const oracleParamsData = this.oracleParams\n ? this.oracleParams.serializeBody()\n : null;\n writer.writeOptional(oracleParamsData);\n\n return writer.toBuffer();\n }\n\n /**\n * Deserializes the body without TLV wrapper (for embedding in ContractInfo)\n * This matches rust-dlc behavior where OracleInfo is read without type_id\n */\n public static deserializeBody(buf: Buffer): MultiOracleInfo {\n const instance = new MultiOracleInfo();\n const reader = new BufferReader(buf);\n\n // No type/length to read - directly read the multi-oracle body\n instance.threshold = reader.readUInt16BE();\n\n const numAnnouncements = Number(reader.readBigSize()); // BigSize for announcements count\n for (let i = 0; i < numAnnouncements; i++) {\n instance.announcements.push(\n OracleAnnouncement.deserialize(getTlv(reader)),\n );\n }\n\n // Optional oracle params using Optional sub-type format\n const oracleParamsData = reader.readOptional();\n if (oracleParamsData) {\n instance.oracleParams = OracleParams.deserializeBody(oracleParamsData);\n }\n\n return instance;\n }\n}\n\n/**\n * OracleInfo contains information about the oracles to be used in\n * executing a DLC. Updated to support both single and multi-oracle\n * patterns as per rust-dlc specification.\n */\nexport abstract class OracleInfo implements IDlcMessage {\n public static deserialize(buf: Buffer): SingleOracleInfo | MultiOracleInfo {\n const reader = new BufferReader(buf);\n const type = Number(reader.readBigSize());\n\n switch (type) {\n case MessageType.SingleOracleInfo:\n return SingleOracleInfo.deserialize(buf);\n case MessageType.MultiOracleInfo:\n return MultiOracleInfo.deserialize(buf);\n default:\n throw new Error(`Unknown oracle info type: ${type}`);\n }\n }\n\n /**\n * Creates an OracleInfo from JSON data (e.g., from test vectors)\n * @param json JSON object representing oracle info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OracleInfo {\n if (!json) {\n throw new Error('oracleInfo is required');\n }\n\n // Handle direct single oracle (legacy format)\n if (json.announcement) {\n return SingleOracleInfo.fromJSON(json);\n }\n // Handle wrapped single oracle\n else if (json.single) {\n return SingleOracleInfo.fromJSON(json.single);\n }\n // Handle multi oracle\n else if (json.multi) {\n return MultiOracleInfo.fromJSON(json.multi);\n } else {\n throw new Error(\n 'oracleInfo must have either announcement, single, or multi',\n );\n }\n }\n\n public abstract type: number;\n public abstract validate(): void;\n public abstract toJSON(): SingleOracleInfoJSON | MultiOracleInfoJSON;\n public abstract serialize(): Buffer;\n public abstract serializeBody(): Buffer;\n\n /**\n * Returns the closest maturity date amongst all events\n */\n public getClosestMaturityDate(): number {\n if (this instanceof SingleOracleInfo) {\n return this.announcement.oracleEvent.eventMaturityEpoch;\n } else if (this instanceof MultiOracleInfo) {\n return this.getClosestMaturityDate();\n }\n throw new Error('Unknown oracle info type');\n }\n}\n\n// For backward compatibility, keep the V0 class as alias to SingleOracleInfo\nexport class OracleInfoV0 extends SingleOracleInfo {\n /**\n * Creates an OracleInfoV0 from JSON data (alias for SingleOracleInfo.fromJSON)\n * @param json JSON object representing oracle info\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n public static fromJSON(json: any): OracleInfoV0 {\n return SingleOracleInfo.fromJSON(json) as OracleInfoV0;\n }\n}\n\n// JSON interfaces\nexport interface OracleParamsJSON {\n type?: number; // Made optional for rust-dlc compatibility\n maxErrorExp: number;\n minFailExp: number;\n maximizeCoverage: boolean;\n}\n\n// Rust-dlc enum variant format for SingleOracleInfo\nexport interface SingleOracleInfoJSON {\n single: {\n oracleAnnouncement: OracleAnnouncementJSON;\n };\n}\n\n// Rust-dlc enum variant format for MultiOracleInfo\nexport interface MultiOracleInfoJSON {\n multi: {\n threshold: number;\n oracleAnnouncements: OracleAnnouncementJSON[];\n oracleParams?: OracleParamsJSON;\n };\n}\n\n// Backward compatibility type alias\nexport type OracleInfoV0JSON = SingleOracleInfoJSON;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"faf6369bc5960c2c851f10859fd512fa77aaf7a0","contentHash":"a0e2271aaa0c9d5bbdc59b5942ed46aefb26e85375e9e1fa7e176d0650b51057"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCancel.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCancel.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":70}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":15,"column":8},"end":{"line":15,"column":35}},"5":{"start":{"line":16,"column":8},"end":{"line":16,"column":28}},"6":{"start":{"line":23,"column":25},"end":{"line":23,"column":40}},"7":{"start":{"line":24,"column":23},"end":{"line":24,"column":52}},"8":{"start":{"line":25,"column":8},"end":{"line":25,"column":30}},"9":{"start":{"line":26,"column":8},"end":{"line":26,"column":51}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":49}},"11":{"start":{"line":28,"column":8},"end":{"line":28,"column":24}},"12":{"start":{"line":34,"column":23},"end":{"line":34,"column":49}},"13":{"start":{"line":35,"column":8},"end":{"line":35,"column":40}},"14":{"start":{"line":36,"column":8},"end":{"line":36,"column":43}},"15":{"start":{"line":37,"column":8},"end":{"line":37,"column":43}},"16":{"start":{"line":38,"column":8},"end":{"line":38,"column":33}},"17":{"start":{"line":41,"column":0},"end":{"line":41,"column":30}},"18":{"start":{"line":42,"column":0},"end":{"line":42,"column":53}},"19":{"start":{"line":44,"column":0},"end":{"line":48,"column":65}},"20":{"start":{"line":45,"column":4},"end":{"line":45,"column":54}},"21":{"start":{"line":46,"column":4},"end":{"line":46,"column":52}},"22":{"start":{"line":47,"column":4},"end":{"line":47,"column":50}},"23":{"start":{"line":50,"column":0},"end":{"line":50,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":4},"end":{"line":11,"column":5}},"loc":{"start":{"line":11,"column":18},"end":{"line":17,"column":5}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":4},"end":{"line":22,"column":5}},"loc":{"start":{"line":22,"column":28},"end":{"line":29,"column":5}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":4},"end":{"line":33,"column":5}},"loc":{"start":{"line":33,"column":16},"end":{"line":39,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":1},"end":{"line":44,"column":2}},"loc":{"start":{"line":44,"column":23},"end":{"line":48,"column":1}},"line":44}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":16},"end":{"line":48,"column":63}},"type":"binary-expr","locations":[{"start":{"line":48,"column":16},"end":{"line":48,"column":34}},{"start":{"line":48,"column":39},"end":{"line":48,"column":62}}],"line":48}},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1},"f":{"0":2,"1":1,"2":1,"3":1},"b":{"0":[1,1]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCancel.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCancel.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;;GAGG;AACH,MAAa,SAAS;IAAtB;QAkBE;;WAEG;QACI,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAItB,eAAU,GAAe,CAAC,CAAC;IAapC,CAAC;IAnCC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QACnC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3C,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAWD;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AArCH,8BAsCC;AArCe,cAAI,GAAG,yBAAW,CAAC,SAAS,CAAC;AAuC7C,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,6CAAS,CAAA;AACX,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,+BAA+B;AAClB,QAAA,WAAW,GAAG,SAAS,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * DlcCancel message contains information about a node's desire to cancel\n * a DLC contract negotiation.\n */\nexport class DlcCancel implements IDlcMessage {\n public static type = MessageType.DlcCancel;\n\n /**\n * Deserializes a dlc_cancel message\n * @param buf\n */\n public static deserialize(buf: Buffer): DlcCancel {\n const instance = new DlcCancel();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n instance.contractId = reader.readBytes(32);\n instance.cancelType = reader.readUInt8();\n\n return instance;\n }\n\n /**\n * The type for dlc_cancel message. dlc_cancel = 52172\n */\n public type = DlcCancel.type;\n\n public contractId: Buffer;\n\n public cancelType: CancelType = 0;\n\n /**\n * Serializes the dlc_cancel message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n writer.writeBytes(this.contractId);\n writer.writeUInt8(this.cancelType);\n\n return writer.toBuffer();\n }\n}\n\nexport enum CancelType {\n Unknown = 0,\n Market = 1,\n Error = 2,\n}\n\n// Backward compatibility alias\nexport const DlcCancelV0 = DlcCancel;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2af77da8e3df358a9918810edfc1f4cc087d181b","contentHash":"50a5d24703e0a7e0dcd3d4f8511bbc493eabbe50ba8914c62aa65b5fe0ae3ad9"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCloseMetadata.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCloseMetadata.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"2":{"start":{"line":4,"column":18},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":12},"end":{"line":5,"column":25}},"4":{"start":{"line":16,"column":25},"end":{"line":16,"column":47}},"5":{"start":{"line":17,"column":8},"end":{"line":17,"column":82}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":84}},"7":{"start":{"line":19,"column":8},"end":{"line":19,"column":74}},"8":{"start":{"line":20,"column":8},"end":{"line":20,"column":76}},"9":{"start":{"line":21,"column":8},"end":{"line":21,"column":72}},"10":{"start":{"line":22,"column":8},"end":{"line":22,"column":74}},"11":{"start":{"line":23,"column":8},"end":{"line":23,"column":58}},"12":{"start":{"line":24,"column":8},"end":{"line":24,"column":60}},"13":{"start":{"line":25,"column":8},"end":{"line":25,"column":46}},"14":{"start":{"line":26,"column":8},"end":{"line":26,"column":24}},"15":{"start":{"line":29,"column":25},"end":{"line":29,"column":47}},"16":{"start":{"line":30,"column":8},"end":{"line":30,"column":61}},"17":{"start":{"line":31,"column":8},"end":{"line":31,"column":63}},"18":{"start":{"line":32,"column":8},"end":{"line":32,"column":53}},"19":{"start":{"line":33,"column":8},"end":{"line":33,"column":55}},"20":{"start":{"line":34,"column":8},"end":{"line":34,"column":63}},"21":{"start":{"line":35,"column":8},"end":{"line":35,"column":65}},"22":{"start":{"line":36,"column":8},"end":{"line":36,"column":54}},"23":{"start":{"line":37,"column":8},"end":{"line":37,"column":40}},"24":{"start":{"line":38,"column":8},"end":{"line":38,"column":48}},"25":{"start":{"line":39,"column":8},"end":{"line":39,"column":24}},"26":{"start":{"line":45,"column":8},"end":{"line":55,"column":10}},"27":{"start":{"line":58,"column":25},"end":{"line":58,"column":43}},"28":{"start":{"line":59,"column":26},"end":{"line":59,"column":45}},"29":{"start":{"line":60,"column":23},"end":{"line":60,"column":48}},"30":{"start":{"line":61,"column":8},"end":{"line":61,"column":57}},"31":{"start":{"line":62,"column":8},"end":{"line":62,"column":59}},"32":{"start":{"line":63,"column":8},"end":{"line":63,"column":49}},"33":{"start":{"line":64,"column":8},"end":{"line":64,"column":51}},"34":{"start":{"line":65,"column":8},"end":{"line":65,"column":59}},"35":{"start":{"line":66,"column":8},"end":{"line":66,"column":61}},"36":{"start":{"line":67,"column":8},"end":{"line":67,"column":50}},"37":{"start":{"line":68,"column":8},"end":{"line":68,"column":36}},"38":{"start":{"line":69,"column":8},"end":{"line":69,"column":44}},"39":{"start":{"line":70,"column":8},"end":{"line":70,"column":47}},"40":{"start":{"line":73,"column":0},"end":{"line":73,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":4},"end":{"line":15,"column":5}},"loc":{"start":{"line":15,"column":26},"end":{"line":27,"column":5}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":56},"end":{"line":40,"column":5}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":13},"end":{"line":56,"column":5}},"line":44},"3":{"name":"(anonymous_3)","decl":{"start":{"line":57,"column":4},"end":{"line":57,"column":5}},"loc":{"start":{"line":57,"column":20},"end":{"line":71,"column":5}},"line":57}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":1},"f":{"0":0,"1":0,"2":0,"3":0},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCloseMetadata.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcCloseMetadata.ts"],"names":[],"mappings":";;;AAAA,+CAAuC;AAEvC,0BAA0D;AAE1D;;;GAGG;AACH,MAAa,gBAAgB;IAC3B;;;OAGG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA2B;QAChD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAExC,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC1E,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC5E,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAClE,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACpE,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,QAAQ,CAAC,MAAM,GAAG,YAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,eAAe,CAC3B,QAAkB,EAClB,SAAoB,EACpB,MAAuB;QAEvB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAExC,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC;QACrD,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC;QACvD,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC7C,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;QAC/C,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC;QACvD,QAAQ,CAAC,oBAAoB,GAAG,SAAS,CAAC,cAAc,CAAC;QACzD,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC9C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAExC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAoBD;;OAEG;IACI,MAAM;QACX,OAAO;YACL,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7D,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnD,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrD,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACrD,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACvD,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAEM,aAAa;QAKlB,MAAM,QAAQ,GAAG,IAAI,YAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,aAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,mBAAe,EAAE,CAAC;QAErC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACjD,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACnD,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3C,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACnD,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACrD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC;CACF;AAjGD,4CAiGC","sourcesContent":["import { Tx } from '@node-dlc/bitcoin';\n\nimport { DlcAccept, DlcOffer, DlcTransactions } from '..';\n\n/**\n * DlcClose Metadata object contains information required for verifying DlcClose\n * message.\n */\nexport class DlcCloseMetadata {\n /**\n * Convert JSON to DlcCloseMetadata\n * @param json\n */\n public static fromJSON(json: IDlcCloseMetadataJSON): DlcCloseMetadata {\n const instance = new DlcCloseMetadata();\n\n instance.offerFundingPubKey = Buffer.from(json.offerFundingPubKey, 'hex');\n instance.acceptFundingPubKey = Buffer.from(json.acceptFundingPubKey, 'hex');\n instance.offerPayoutSPK = Buffer.from(json.offerPayoutSPK, 'hex');\n instance.acceptPayoutSPK = Buffer.from(json.acceptPayoutSPK, 'hex');\n instance.offerPayoutSerialId = BigInt(json.offerPayoutSerialId);\n instance.acceptPayoutSerialId = BigInt(json.acceptPayoutSerialId);\n instance.feeRatePerVb = BigInt(json.feeRatePerVb);\n instance.fundTx = Tx.fromHex(json.fundTx);\n instance.fundTxVout = json.fundTxVout;\n\n return instance;\n }\n\n public static fromDlcMessages(\n dlcOffer: DlcOffer,\n dlcAccept: DlcAccept,\n dlcTxs: DlcTransactions,\n ): DlcCloseMetadata {\n const instance = new DlcCloseMetadata();\n\n instance.offerFundingPubKey = dlcOffer.fundingPubkey;\n instance.acceptFundingPubKey = dlcAccept.fundingPubkey;\n instance.offerPayoutSPK = dlcOffer.payoutSpk;\n instance.acceptPayoutSPK = dlcAccept.payoutSpk;\n instance.offerPayoutSerialId = dlcOffer.payoutSerialId;\n instance.acceptPayoutSerialId = dlcAccept.payoutSerialId;\n instance.feeRatePerVb = dlcOffer.feeRatePerVb;\n instance.fundTx = dlcTxs.fundTx;\n instance.fundTxVout = dlcTxs.fundTxVout;\n\n return instance;\n }\n\n public offerFundingPubKey: Buffer;\n\n public acceptFundingPubKey: Buffer;\n\n public offerPayoutSPK: Buffer;\n\n public acceptPayoutSPK: Buffer;\n\n public offerPayoutSerialId: bigint;\n\n public acceptPayoutSerialId: bigint;\n\n public feeRatePerVb: bigint;\n\n public fundTx: Tx;\n\n public fundTxVout: number;\n\n /**\n * Converts dlc_close_metadata to JSON\n */\n public toJSON(): IDlcCloseMetadataJSON {\n return {\n offerFundingPubKey: this.offerFundingPubKey.toString('hex'),\n acceptFundingPubKey: this.acceptFundingPubKey.toString('hex'),\n offerPayoutSPK: this.offerPayoutSPK.toString('hex'),\n acceptPayoutSPK: this.acceptPayoutSPK.toString('hex'),\n offerPayoutSerialId: Number(this.offerPayoutSerialId),\n acceptPayoutSerialId: Number(this.acceptPayoutSerialId),\n feeRatePerVb: Number(this.feeRatePerVb),\n fundTx: this.fundTx.serialize().toString('hex'),\n fundTxVout: this.fundTxVout,\n };\n }\n\n public toDlcMessages(): {\n dlcOffer: DlcOffer;\n dlcAccept: DlcAccept;\n dlcTxs: DlcTransactions;\n } {\n const dlcOffer = new DlcOffer();\n const dlcAccept = new DlcAccept();\n const dlcTxs = new DlcTransactions();\n\n dlcOffer.fundingPubkey = this.offerFundingPubKey;\n dlcAccept.fundingPubkey = this.acceptFundingPubKey;\n dlcOffer.payoutSpk = this.offerPayoutSPK;\n dlcAccept.payoutSpk = this.acceptPayoutSPK;\n dlcOffer.payoutSerialId = this.offerPayoutSerialId;\n dlcAccept.payoutSerialId = this.acceptPayoutSerialId;\n dlcOffer.feeRatePerVb = this.feeRatePerVb;\n dlcTxs.fundTx = this.fundTx;\n dlcTxs.fundTxVout = this.fundTxVout;\n\n return { dlcOffer, dlcAccept, dlcTxs };\n }\n}\n\nexport interface IDlcCloseMetadataJSON {\n offerFundingPubKey: string;\n acceptFundingPubKey: string;\n offerPayoutSPK: string;\n acceptPayoutSPK: string;\n offerPayoutSerialId: number;\n acceptPayoutSerialId: number;\n feeRatePerVb: number;\n fundTx: string;\n fundTxVout: number;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c879d7b5e73ad64eeb83a0148b3d5c35715efb8c","contentHash":"f774487ff7016f0070375432cd4c8310a5668647d5ae279a1f2db20ee1778e7b"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcIds.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcIds.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":32}},"5":{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},"6":{"start":{"line":18,"column":23},"end":{"line":18,"column":52}},"7":{"start":{"line":19,"column":21},"end":{"line":19,"column":50}},"8":{"start":{"line":20,"column":8},"end":{"line":25,"column":9}},"9":{"start":{"line":22,"column":16},"end":{"line":22,"column":49}},"10":{"start":{"line":24,"column":16},"end":{"line":24,"column":73}},"11":{"start":{"line":32,"column":25},"end":{"line":32,"column":37}},"12":{"start":{"line":33,"column":23},"end":{"line":33,"column":52}},"13":{"start":{"line":34,"column":8},"end":{"line":34,"column":30}},"14":{"start":{"line":35,"column":23},"end":{"line":35,"column":43}},"15":{"start":{"line":36,"column":8},"end":{"line":38,"column":9}},"16":{"start":{"line":36,"column":21},"end":{"line":36,"column":22}},"17":{"start":{"line":37,"column":12},"end":{"line":37,"column":52}},"18":{"start":{"line":39,"column":8},"end":{"line":39,"column":24}},"19":{"start":{"line":45,"column":23},"end":{"line":45,"column":49}},"20":{"start":{"line":46,"column":8},"end":{"line":46,"column":40}},"21":{"start":{"line":47,"column":8},"end":{"line":47,"column":45}},"22":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"23":{"start":{"line":49,"column":12},"end":{"line":49,"column":34}},"24":{"start":{"line":51,"column":8},"end":{"line":51,"column":33}},"25":{"start":{"line":54,"column":0},"end":{"line":54,"column":24}},"26":{"start":{"line":55,"column":0},"end":{"line":55,"column":47}},"27":{"start":{"line":57,"column":0},"end":{"line":57,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":18},"end":{"line":16,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":28},"end":{"line":26,"column":5}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":4},"end":{"line":31,"column":5}},"loc":{"start":{"line":31,"column":30},"end":{"line":40,"column":5}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":16},"end":{"line":52,"column":5}},"line":44}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":8},"end":{"line":25,"column":9}},"type":"switch","locations":[{"start":{"line":21,"column":12},"end":{"line":22,"column":49}},{"start":{"line":23,"column":12},"end":{"line":24,"column":73}}],"line":20}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":1,"27":1},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcIds.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcIds.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;GAEG;AACH,MAAa,MAAM;IAAnB;QAkCE;;WAEG;QACI,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEnB,QAAG,GAAa,EAAE,CAAC;IAe5B,CAAC;IAnDQ,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAE3C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,QAAQ;gBACvB,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACnC;gBACE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,aAAa,CAAC,GAAW;QACtC,MAAM,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IASD;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YACzB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACvB;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AArDH,wBAsDC;AArDe,WAAI,GAAG,yBAAW,CAAC,MAAM,CAAC;AAuD1C,mDAAmD;AACtC,QAAA,QAAQ,GAAG,MAAM,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * DlcIds message contains list of buffers\n */\nexport class DlcIds implements IDlcMessage {\n public static type = MessageType.DlcIds;\n\n public static deserialize(buf: Buffer): DlcIds {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readUInt16BE());\n\n switch (type) {\n case MessageType.DlcIdsV0:\n return DlcIds.deserializeV0(buf);\n default:\n throw new Error(`DLC IDs message type must be DlcIdsV0`);\n }\n }\n\n /**\n * Deserializes an dlc_ids message\n * @param buf\n */\n private static deserializeV0(buf: Buffer): DlcIds {\n const instance = new DlcIds();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n const idsLen = reader.readBigSize(); // ids length\n\n for (let i = 0; i < idsLen; i++) {\n instance.ids.push(reader.readBytes(32));\n }\n\n return instance;\n }\n\n /**\n * The type for dlc_ids message\n */\n public type = DlcIds.type;\n\n public ids: Buffer[] = [];\n\n /**\n * Serializes the dlc_ids message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n writer.writeBigSize(this.ids.length);\n for (const id of this.ids) {\n writer.writeBytes(id);\n }\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keeping old class name as alias\nexport const DlcIdsV0 = DlcIds;\nexport type DlcIdsV0 = DlcIds;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"68968626f0a6bcd3d9313ab375b6c75caf1af1d7","contentHash":"62f81a5a25d351eb5662cd895aaa24b57d82605f3577b3e686525ef5c7547518"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInfo.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInfo.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":45}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":14,"column":8},"end":{"line":14,"column":33}},"5":{"start":{"line":17,"column":23},"end":{"line":17,"column":52}},"6":{"start":{"line":18,"column":21},"end":{"line":18,"column":50}},"7":{"start":{"line":19,"column":8},"end":{"line":24,"column":9}},"8":{"start":{"line":21,"column":16},"end":{"line":21,"column":50}},"9":{"start":{"line":23,"column":16},"end":{"line":23,"column":75}},"10":{"start":{"line":31,"column":25},"end":{"line":31,"column":38}},"11":{"start":{"line":32,"column":23},"end":{"line":32,"column":52}},"12":{"start":{"line":33,"column":8},"end":{"line":33,"column":30}},"13":{"start":{"line":34,"column":8},"end":{"line":34,"column":54}},"14":{"start":{"line":35,"column":8},"end":{"line":35,"column":55}},"15":{"start":{"line":36,"column":8},"end":{"line":36,"column":53}},"16":{"start":{"line":37,"column":8},"end":{"line":37,"column":55}},"17":{"start":{"line":38,"column":8},"end":{"line":38,"column":54}},"18":{"start":{"line":39,"column":8},"end":{"line":39,"column":60}},"19":{"start":{"line":40,"column":8},"end":{"line":40,"column":24}},"20":{"start":{"line":46,"column":23},"end":{"line":46,"column":49}},"21":{"start":{"line":47,"column":8},"end":{"line":47,"column":40}},"22":{"start":{"line":48,"column":8},"end":{"line":48,"column":48}},"23":{"start":{"line":49,"column":8},"end":{"line":49,"column":49}},"24":{"start":{"line":50,"column":8},"end":{"line":50,"column":47}},"25":{"start":{"line":51,"column":8},"end":{"line":51,"column":49}},"26":{"start":{"line":52,"column":8},"end":{"line":52,"column":48}},"27":{"start":{"line":53,"column":8},"end":{"line":53,"column":54}},"28":{"start":{"line":54,"column":8},"end":{"line":54,"column":33}},"29":{"start":{"line":57,"column":0},"end":{"line":57,"column":26}},"30":{"start":{"line":58,"column":0},"end":{"line":58,"column":49}},"31":{"start":{"line":60,"column":0},"end":{"line":60,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":4},"end":{"line":10,"column":5}},"loc":{"start":{"line":10,"column":18},"end":{"line":15,"column":5}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":28},"end":{"line":25,"column":5}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":30,"column":4},"end":{"line":30,"column":5}},"loc":{"start":{"line":30,"column":30},"end":{"line":41,"column":5}},"line":30},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":4},"end":{"line":45,"column":5}},"loc":{"start":{"line":45,"column":16},"end":{"line":55,"column":5}},"line":45}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":8},"end":{"line":24,"column":9}},"type":"switch","locations":[{"start":{"line":20,"column":12},"end":{"line":21,"column":50}},{"start":{"line":22,"column":12},"end":{"line":23,"column":75}}],"line":19}},"s":{"0":1,"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":1,"30":1,"31":1},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInfo.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/DlcInfo.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C;;GAEG;AACH,MAAa,OAAO;IAApB;QAoCE;;WAEG;QACI,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7B,CAAC;IAjEQ,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAE3C,QAAQ,IAAI,EAAE;YACZ,KAAK,yBAAW,CAAC,SAAS;gBACxB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC;gBACE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;IACH,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,aAAa,CAAC,GAAW;QACtC,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY;QAEnC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC7C,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAEpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAmBD;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE9C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAnEH,0BAoEC;AAnEe,YAAI,GAAG,yBAAW,CAAC,OAAO,CAAC;AAqE3C,mDAAmD;AACtC,QAAA,SAAS,GAAG,OAAO,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\n/**\n * DlcInfo message contains list of buffers\n */\nexport class DlcInfo implements IDlcMessage {\n public static type = MessageType.DlcInfo;\n\n public static deserialize(buf: Buffer): DlcInfo {\n const reader = new BufferReader(buf);\n\n const type = Number(reader.readUInt16BE());\n\n switch (type) {\n case MessageType.DlcInfoV0:\n return DlcInfo.deserializeV0(buf);\n default:\n throw new Error(`DLC Info message type must be DlcInfoV0`);\n }\n }\n\n /**\n * Deserializes an dlc_info message\n * @param buf\n */\n private static deserializeV0(buf: Buffer): DlcInfo {\n const instance = new DlcInfo();\n const reader = new BufferReader(buf);\n\n reader.readUInt16BE(); // read type\n\n instance.numDlcOffers = reader.readUInt32BE();\n instance.numDlcAccepts = reader.readUInt32BE();\n instance.numDlcSigns = reader.readUInt32BE();\n instance.numDlcCancels = reader.readUInt32BE();\n instance.numDlcCloses = reader.readUInt32BE();\n instance.numDlcTransactions = reader.readUInt32BE();\n\n return instance;\n }\n\n /**\n * The type for dlc_info message\n */\n public type = DlcInfo.type;\n\n public numDlcOffers: number;\n\n public numDlcAccepts: number;\n\n public numDlcSigns: number;\n\n public numDlcCancels: number;\n\n public numDlcCloses: number;\n\n public numDlcTransactions: number;\n\n /**\n * Serializes the dlc_info message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeUInt16BE(this.type);\n writer.writeUInt32BE(this.numDlcOffers);\n writer.writeUInt32BE(this.numDlcAccepts);\n writer.writeUInt32BE(this.numDlcSigns);\n writer.writeUInt32BE(this.numDlcCancels);\n writer.writeUInt32BE(this.numDlcCloses);\n writer.writeUInt32BE(this.numDlcTransactions);\n\n return writer.toBuffer();\n }\n}\n\n// Legacy support - keeping old class name as alias\nexport const DlcInfoV0 = DlcInfo;\nexport type DlcInfoV0 = DlcInfo;\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5ae16caab2fd4e3c77eac8fa5dfbe4ee22169d9e","contentHash":"19c19984667e76b63eaa73a204d89bc2a2ab1f5b672ab8a32378a4a71ce92e32"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEventContainer.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEventContainer.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":38}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":6,"column":17},"end":{"line":6,"column":47}},"5":{"start":{"line":7,"column":29},"end":{"line":7,"column":60}},"6":{"start":{"line":8,"column":28},"end":{"line":8,"column":58}},"7":{"start":{"line":18,"column":8},"end":{"line":18,"column":46}},"8":{"start":{"line":25,"column":25},"end":{"line":25,"column":51}},"9":{"start":{"line":26,"column":23},"end":{"line":26,"column":52}},"10":{"start":{"line":27,"column":8},"end":{"line":27,"column":29}},"11":{"start":{"line":28,"column":8},"end":{"line":28,"column":47}},"12":{"start":{"line":29,"column":33},"end":{"line":29,"column":53}},"13":{"start":{"line":30,"column":30},"end":{"line":30,"column":72}},"14":{"start":{"line":31,"column":8},"end":{"line":31,"column":55}},"15":{"start":{"line":32,"column":26},"end":{"line":32,"column":46}},"16":{"start":{"line":33,"column":23},"end":{"line":33,"column":58}},"17":{"start":{"line":34,"column":8},"end":{"line":34,"column":41}},"18":{"start":{"line":35,"column":8},"end":{"line":35,"column":114}},"19":{"start":{"line":36,"column":8},"end":{"line":36,"column":111}},"20":{"start":{"line":37,"column":30},"end":{"line":37,"column":50}},"21":{"start":{"line":38,"column":27},"end":{"line":38,"column":66}},"22":{"start":{"line":39,"column":8},"end":{"line":39,"column":49}},"23":{"start":{"line":40,"column":8},"end":{"line":40,"column":24}},"24":{"start":{"line":43,"column":8},"end":{"line":43,"column":37}},"25":{"start":{"line":49,"column":23},"end":{"line":49,"column":49}},"26":{"start":{"line":50,"column":8},"end":{"line":50,"column":39}},"27":{"start":{"line":51,"column":27},"end":{"line":51,"column":53}},"28":{"start":{"line":52,"column":8},"end":{"line":52,"column":56}},"29":{"start":{"line":53,"column":8},"end":{"line":53,"column":60}},"30":{"start":{"line":54,"column":8},"end":{"line":54,"column":49}},"31":{"start":{"line":55,"column":8},"end":{"line":55,"column":53}},"32":{"start":{"line":56,"column":8},"end":{"line":56,"column":61}},"33":{"start":{"line":57,"column":8},"end":{"line":57,"column":60}},"34":{"start":{"line":58,"column":8},"end":{"line":58,"column":53}},"35":{"start":{"line":59,"column":8},"end":{"line":59,"column":57}},"36":{"start":{"line":60,"column":8},"end":{"line":60,"column":45}},"37":{"start":{"line":61,"column":8},"end":{"line":61,"column":49}},"38":{"start":{"line":62,"column":8},"end":{"line":62,"column":33}},"39":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"40":{"start":{"line":66,"column":0},"end":{"line":66,"column":75}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":4},"end":{"line":14,"column":5}},"loc":{"start":{"line":14,"column":18},"end":{"line":19,"column":5}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":24,"column":4},"end":{"line":24,"column":5}},"loc":{"start":{"line":24,"column":28},"end":{"line":41,"column":5}},"line":24},"2":{"name":"(anonymous_2)","decl":{"start":{"line":42,"column":4},"end":{"line":42,"column":5}},"loc":{"start":{"line":42,"column":15},"end":{"line":44,"column":5}},"line":42},"3":{"name":"(anonymous_3)","decl":{"start":{"line":48,"column":4},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":16},"end":{"line":63,"column":5}},"line":48}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":3,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":0,"25":2,"26":2,"27":2,"28":2,"29":2,"30":2,"31":2,"32":2,"33":2,"34":2,"35":2,"36":2,"37":2,"38":2,"39":1,"40":1},"f":{"0":3,"1":1,"2":0,"3":2},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEventContainer.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleEventContainer.ts"],"names":[],"mappings":"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","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { getTlv } from '../serialize/getTlv';\nimport { IDlcMessage } from './DlcMessage';\nimport { OracleAnnouncement } from './OracleAnnouncement';\nimport { OracleAttestation } from './OracleAttestation';\n\n/**\n * OracleEventContainer contains information about the oracles to be used in\n * executing a DLC.\n */\nexport class OracleEventContainer implements IDlcMessage {\n public static type = MessageType.OracleEventContainer;\n\n /**\n * Deserializes an oracle_info_v0 message\n * @param buf\n */\n public static deserialize(buf: Buffer): OracleEventContainer {\n const instance = new OracleEventContainer();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n const oracleNameLength = reader.readBigSize();\n const oracleNameBuf = reader.readBytes(Number(oracleNameLength));\n instance.oracleName = oracleNameBuf.toString();\n\n const uriLength = reader.readBigSize();\n const uriBuf = reader.readBytes(Number(uriLength));\n instance.uri = uriBuf.toString();\n\n instance.announcement = OracleAnnouncement.deserialize(getTlv(reader));\n\n instance.attestation = OracleAttestation.deserialize(getTlv(reader));\n\n const outcomeLength = reader.readBigSize();\n const outcomeBuf = reader.readBytes(Number(outcomeLength));\n instance.outcome = outcomeBuf.toString();\n\n return instance;\n }\n\n /**\n * The type for oracle_info_v0 message. oracle_info_v0 = 42770\n */\n public type = OracleEventContainer.type;\n\n public length: bigint;\n\n public oracleName: string;\n\n public uri: string;\n\n public announcement: OracleAnnouncement;\n\n public attestation: OracleAttestation;\n\n public outcome: string;\n\n public validate(): void {\n this.announcement.validate();\n }\n\n /**\n * Serializes the oracle_info_v0 message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.oracleName.length);\n dataWriter.writeBytes(Buffer.from(this.oracleName));\n dataWriter.writeBigSize(this.uri.length);\n dataWriter.writeBytes(Buffer.from(this.uri));\n dataWriter.writeBytes(this.announcement.serialize());\n dataWriter.writeBytes(this.attestation.serialize());\n dataWriter.writeBigSize(this.outcome.length);\n dataWriter.writeBytes(Buffer.from(this.outcome));\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"59ad252ba3a231a60771a17711d939aab6e26a60","contentHash":"53a47690a672ca442bb40cf7cee8166fc6e5f1ffd7cfd6c04d4cfaa3e68237c7"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleIdentifier.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleIdentifier.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":34}},"2":{"start":{"line":4,"column":16},"end":{"line":4,"column":42}},"3":{"start":{"line":5,"column":22},"end":{"line":5,"column":47}},"4":{"start":{"line":11,"column":8},"end":{"line":11,"column":42}},"5":{"start":{"line":18,"column":25},"end":{"line":18,"column":47}},"6":{"start":{"line":19,"column":23},"end":{"line":19,"column":52}},"7":{"start":{"line":20,"column":8},"end":{"line":20,"column":29}},"8":{"start":{"line":21,"column":8},"end":{"line":21,"column":47}},"9":{"start":{"line":22,"column":33},"end":{"line":22,"column":53}},"10":{"start":{"line":23,"column":30},"end":{"line":23,"column":72}},"11":{"start":{"line":24,"column":8},"end":{"line":24,"column":55}},"12":{"start":{"line":25,"column":8},"end":{"line":25,"column":53}},"13":{"start":{"line":26,"column":8},"end":{"line":26,"column":24}},"14":{"start":{"line":29,"column":8},"end":{"line":29,"column":15}},"15":{"start":{"line":35,"column":8},"end":{"line":39,"column":10}},"16":{"start":{"line":45,"column":23},"end":{"line":45,"column":49}},"17":{"start":{"line":46,"column":8},"end":{"line":46,"column":39}},"18":{"start":{"line":47,"column":27},"end":{"line":47,"column":53}},"19":{"start":{"line":48,"column":8},"end":{"line":48,"column":56}},"20":{"start":{"line":49,"column":8},"end":{"line":49,"column":60}},"21":{"start":{"line":50,"column":8},"end":{"line":50,"column":49}},"22":{"start":{"line":51,"column":8},"end":{"line":51,"column":45}},"23":{"start":{"line":52,"column":8},"end":{"line":52,"column":49}},"24":{"start":{"line":53,"column":8},"end":{"line":53,"column":33}},"25":{"start":{"line":56,"column":0},"end":{"line":56,"column":44}},"26":{"start":{"line":57,"column":0},"end":{"line":57,"column":67}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":4},"end":{"line":7,"column":5}},"loc":{"start":{"line":7,"column":18},"end":{"line":12,"column":5}},"line":7},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":28},"end":{"line":27,"column":5}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":4},"end":{"line":28,"column":5}},"loc":{"start":{"line":28,"column":15},"end":{"line":30,"column":5}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":34,"column":4},"end":{"line":34,"column":5}},"loc":{"start":{"line":34,"column":13},"end":{"line":40,"column":5}},"line":34},"4":{"name":"(anonymous_4)","decl":{"start":{"line":44,"column":4},"end":{"line":44,"column":5}},"loc":{"start":{"line":44,"column":16},"end":{"line":54,"column":5}},"line":44}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"f":{"0":2,"1":1,"2":0,"3":0,"4":1},"b":{},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleIdentifier.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/messages/OracleIdentifier.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAE7D,gDAA6C;AAG7C,MAAa,gBAAgB;IAA7B;QAsBE;;WAEG;QACI,SAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IAyCtC,CAAC;IA/DC;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,GAAW;QACnC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,oBAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY;QAClC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjE,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/C,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE7C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAaM,QAAQ;QACb,OAAO;IACT,CAAC;IAED;;OAEG;IACI,MAAM;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;SAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,MAAM,GAAG,IAAI,oBAAY,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,oBAAY,EAAE,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEpD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AAjEH,4CAkEC;AAjEe,qBAAI,GAAG,yBAAW,CAAC,gBAAgB,CAAC","sourcesContent":["import { BufferReader, BufferWriter } from '@node-dlc/bufio';\n\nimport { MessageType } from '../MessageType';\nimport { IDlcMessage } from './DlcMessage';\n\nexport class OracleIdentifier implements IDlcMessage {\n public static type = MessageType.OracleIdentifier;\n\n /**\n * Deserializes an oracle_event message\n * @param buf\n */\n public static deserialize(buf: Buffer): OracleIdentifier {\n const instance = new OracleIdentifier();\n const reader = new BufferReader(buf);\n\n reader.readBigSize(); // read type\n instance.length = reader.readBigSize();\n\n const oracleNameLength = reader.readBigSize();\n const oracleNameBuf = reader.readBytes(Number(oracleNameLength));\n instance.oracleName = oracleNameBuf.toString();\n instance.oraclePubkey = reader.readBytes(32);\n\n return instance;\n }\n\n /**\n * The type for oracle_identifier message. oracle_identifier = 61472\n */\n public type = OracleIdentifier.type;\n\n public length: bigint;\n\n public oracleName: string;\n\n public oraclePubkey: Buffer;\n\n public validate(): void {\n return;\n }\n\n /**\n * Converts oracle_event to JSON\n */\n public toJSON(): IOracleIdentifierJSON {\n return {\n type: this.type,\n oracleName: this.oracleName,\n oraclePubkey: this.oraclePubkey.toString('hex'),\n };\n }\n\n /**\n * Serializes the oracle_event message into a Buffer\n */\n public serialize(): Buffer {\n const writer = new BufferWriter();\n writer.writeBigSize(this.type);\n\n const dataWriter = new BufferWriter();\n dataWriter.writeBigSize(this.oracleName.length);\n dataWriter.writeBytes(Buffer.from(this.oracleName));\n\n dataWriter.writeBytes(this.oraclePubkey);\n\n writer.writeBigSize(dataWriter.size);\n writer.writeBytes(dataWriter.toBuffer());\n\n return writer.toBuffer();\n }\n}\n\nexport interface IOracleIdentifierJSON {\n type: number;\n oracleName: string;\n oraclePubkey: string;\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"00e009f9a74cc4e1b5a5900695693f19e489907c","contentHash":"9f416ca2f00353481cf9b70a82594136a30c6b08d3c2df7b222b134a1508cee0"},"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/validation/validate.ts":{"path":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/validation/validate.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":82}},"2":{"start":{"line":4,"column":23},"end":{"line":11,"column":1}},"3":{"start":{"line":5,"column":4},"end":{"line":6,"column":56}},"4":{"start":{"line":6,"column":8},"end":{"line":6,"column":56}},"5":{"start":{"line":7,"column":4},"end":{"line":8,"column":62}},"6":{"start":{"line":8,"column":8},"end":{"line":8,"column":62}},"7":{"start":{"line":9,"column":4},"end":{"line":10,"column":83}},"8":{"start":{"line":10,"column":8},"end":{"line":10,"column":83}},"9":{"start":{"line":12,"column":0},"end":{"line":12,"column":40}},"10":{"start":{"line":13,"column":23},"end":{"line":20,"column":1}},"11":{"start":{"line":14,"column":4},"end":{"line":15,"column":56}},"12":{"start":{"line":15,"column":8},"end":{"line":15,"column":56}},"13":{"start":{"line":16,"column":4},"end":{"line":17,"column":63}},"14":{"start":{"line":17,"column":8},"end":{"line":17,"column":63}},"15":{"start":{"line":18,"column":4},"end":{"line":19,"column":66}},"16":{"start":{"line":19,"column":8},"end":{"line":19,"column":66}},"17":{"start":{"line":21,"column":0},"end":{"line":21,"column":40}},"18":{"start":{"line":22,"column":23},"end":{"line":29,"column":1}},"19":{"start":{"line":23,"column":4},"end":{"line":24,"column":56}},"20":{"start":{"line":24,"column":8},"end":{"line":24,"column":56}},"21":{"start":{"line":25,"column":4},"end":{"line":26,"column":63}},"22":{"start":{"line":26,"column":8},"end":{"line":26,"column":63}},"23":{"start":{"line":27,"column":4},"end":{"line":28,"column":66}},"24":{"start":{"line":28,"column":8},"end":{"line":28,"column":66}},"25":{"start":{"line":30,"column":0},"end":{"line":30,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":23},"end":{"line":4,"column":24}},"loc":{"start":{"line":4,"column":66},"end":{"line":11,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":23},"end":{"line":13,"column":24}},"loc":{"start":{"line":13,"column":50},"end":{"line":20,"column":1}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":23},"end":{"line":22,"column":24}},"loc":{"start":{"line":22,"column":50},"end":{"line":29,"column":1}},"line":22}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":6,"column":56}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":6,"column":56}},{"start":{"line":5,"column":4},"end":{"line":6,"column":56}}],"line":5},"1":{"loc":{"start":{"line":7,"column":4},"end":{"line":8,"column":62}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":8,"column":62}},{"start":{"line":7,"column":4},"end":{"line":8,"column":62}}],"line":7},"2":{"loc":{"start":{"line":9,"column":4},"end":{"line":10,"column":83}},"type":"if","locations":[{"start":{"line":9,"column":4},"end":{"line":10,"column":83}},{"start":{"line":9,"column":4},"end":{"line":10,"column":83}}],"line":9},"3":{"loc":{"start":{"line":9,"column":8},"end":{"line":9,"column":57}},"type":"binary-expr","locations":[{"start":{"line":9,"column":8},"end":{"line":9,"column":22}},{"start":{"line":9,"column":26},"end":{"line":9,"column":57}}],"line":9},"4":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":56}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":15,"column":56}},{"start":{"line":14,"column":4},"end":{"line":15,"column":56}}],"line":14},"5":{"loc":{"start":{"line":16,"column":4},"end":{"line":17,"column":63}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":17,"column":63}},{"start":{"line":16,"column":4},"end":{"line":17,"column":63}}],"line":16},"6":{"loc":{"start":{"line":18,"column":4},"end":{"line":19,"column":66}},"type":"if","locations":[{"start":{"line":18,"column":4},"end":{"line":19,"column":66}},{"start":{"line":18,"column":4},"end":{"line":19,"column":66}}],"line":18},"7":{"loc":{"start":{"line":23,"column":4},"end":{"line":24,"column":56}},"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":24,"column":56}},{"start":{"line":23,"column":4},"end":{"line":24,"column":56}}],"line":23},"8":{"loc":{"start":{"line":25,"column":4},"end":{"line":26,"column":63}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":26,"column":63}},{"start":{"line":25,"column":4},"end":{"line":26,"column":63}}],"line":25},"9":{"loc":{"start":{"line":27,"column":4},"end":{"line":28,"column":66}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":28,"column":66}},{"start":{"line":27,"column":4},"end":{"line":28,"column":66}}],"line":27}},"s":{"0":1,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":1,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":1,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1},"f":{"0":0,"1":0,"2":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0]},"inputSourceMap":{"version":3,"file":"/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/validation/validate.ts","sources":["/Users/matthewblack/code/github.com/AtomicFinance/node-dlc/packages/messaging/lib/validation/validate.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,GAAW,EACX,SAAiB,EACjB,cAAuB,EACjB,EAAE;IACR,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,eAAe,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,qBAAqB,CAAC,CAAC;IAC9E,IAAI,cAAc,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;QACnD,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,0BAA0B,cAAc,EAAE,CAAC,CAAC;AAC/E,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEK,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,GAAW,EACX,SAAiB,EACX,EAAE;IACR,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,eAAe,CAAC,CAAC;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,sBAAsB,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAC9D,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEK,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,GAAW,EACX,SAAiB,EACX,EAAE;IACR,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,eAAe,CAAC,CAAC;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,sBAAsB,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,CAAC;QAAE,MAAM,KAAK,CAAC,GAAG,SAAS,IAAI,GAAG,yBAAyB,CAAC,CAAC;AAC7E,CAAC,CAAC;AATW,QAAA,cAAc,kBASzB","sourcesContent":["export const validateBuffer = (\n value: Buffer,\n key: string,\n className: string,\n expectedLength?: number,\n): void => {\n if (value === undefined) throw Error(`${className} ${key} is undefined`);\n if (value.length === 0) throw Error(`${className} ${key} length cannot be 0`);\n if (expectedLength && value.length !== expectedLength)\n throw Error(`${className} ${key} length expected to be ${expectedLength}`);\n};\n\nexport const validateBigInt = (\n value: bigint,\n key: string,\n className: string,\n): void => {\n if (value === undefined) throw Error(`${className} ${key} is undefined`);\n if (typeof value !== 'bigint')\n throw Error(`${className} ${key} must be type bigint`);\n if (value === BigInt(0))\n throw Error(`${className} ${key} must be greater than 0`);\n};\n\nexport const validateNumber = (\n value: number,\n key: string,\n className: string,\n): void => {\n if (value === undefined) throw Error(`${className} ${key} is undefined`);\n if (typeof value !== 'number')\n throw Error(`${className} ${key} must be type number`);\n if (value === 0) throw Error(`${className} ${key} must be greater than 0`);\n};\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5811942643af5209bac2563e60a9f6f5c8f23702","contentHash":"d8543961841f31cf6a0eb30bdbc7be0227a10055b5bcaca6f0b4152303df74ec"}}