@atomicfinance/bitcoin-dlc-provider 4.2.7 → 4.2.8

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 (967) hide show
  1. package/.turbo/turbo-build.log +4 -5
  2. package/CHANGELOG.md +11 -0
  3. package/dist/BitcoinDlcProvider.js +2 -36
  4. package/dist/BitcoinDlcProvider.js.map +1 -1
  5. package/lib/BitcoinDlcProvider.ts +3 -4
  6. package/package.json +5 -5
  7. package/.turbo/turbo-lint.log +0 -5
  8. package/.turbo/turbo-test.log +0 -0
  9. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +0 -1
  10. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +0 -1
  11. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +0 -1
  12. package/.yalc/@node-dlc/bitcoin/README.md +0 -11
  13. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +0 -330
  14. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +0 -320
  15. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +0 -8
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +0 -290
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +0 -269
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +0 -182
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +0 -173
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +0 -110
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +0 -143
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +0 -350
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +0 -191
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +0 -386
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +0 -437
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +0 -383
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +0 -1607
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +0 -713
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +0 -137
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +0 -323
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +0 -128
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +0 -1520
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +0 -971
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +0 -425
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +0 -341
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +0 -683
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +0 -311
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +0 -275
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +0 -224
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +0 -79
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +0 -126
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +0 -164
  44. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +0 -1
  45. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +0 -2
  46. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  47. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +0 -170
  48. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +0 -123
  49. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +0 -48
  50. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +0 -68
  51. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +0 -1
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +0 -22
  53. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +0 -62
  54. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +0 -1
  55. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +0 -14
  56. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +0 -36
  57. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +0 -1
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +0 -6
  59. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +0 -36
  60. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +0 -1
  61. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +0 -10
  62. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +0 -15
  63. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +0 -1
  64. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +0 -19
  65. package/.yalc/@node-dlc/bitcoin/dist/Block.js +0 -3
  66. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +0 -1
  67. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +0 -20
  68. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +0 -25
  69. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +0 -1
  70. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +0 -55
  71. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +0 -82
  72. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +0 -1
  73. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +0 -3
  74. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +0 -3
  75. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +0 -1
  76. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +0 -18
  77. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +0 -41
  78. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +0 -1
  79. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +0 -61
  80. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +0 -94
  81. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +0 -1
  82. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +0 -102
  83. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +0 -116
  84. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +0 -1
  85. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +0 -57
  86. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +0 -88
  87. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +0 -1
  88. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +0 -185
  89. package/.yalc/@node-dlc/bitcoin/dist/Script.js +0 -404
  90. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +0 -1
  91. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +0 -3
  92. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +0 -3
  93. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +0 -1
  94. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +0 -116
  95. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +0 -187
  96. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +0 -1
  97. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +0 -7
  98. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +0 -27
  99. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +0 -1
  100. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +0 -5
  101. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +0 -3
  102. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +0 -1
  103. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +0 -1
  104. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +0 -3
  105. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +0 -1
  106. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +0 -15
  107. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +0 -77
  108. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +0 -1
  109. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +0 -15
  110. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +0 -20
  111. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +0 -1
  112. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +0 -150
  113. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +0 -408
  114. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +0 -1
  115. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +0 -110
  116. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +0 -238
  117. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +0 -1
  118. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +0 -71
  119. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +0 -79
  120. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +0 -1
  121. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +0 -57
  122. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +0 -68
  123. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +0 -1
  124. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +0 -122
  125. package/.yalc/@node-dlc/bitcoin/dist/Value.js +0 -180
  126. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +0 -1
  127. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +0 -41
  128. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +0 -62
  129. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +0 -1
  130. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +0 -41
  131. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +0 -63
  132. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +0 -1
  133. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +0 -28
  134. package/.yalc/@node-dlc/bitcoin/dist/index.js +0 -45
  135. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +0 -1
  136. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +0 -70
  137. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +0 -63
  138. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +0 -34
  139. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +0 -31
  140. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +0 -10
  141. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +0 -20
  142. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +0 -21
  143. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +0 -90
  144. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +0 -3
  145. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +0 -37
  146. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +0 -102
  147. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +0 -119
  148. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +0 -101
  149. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +0 -509
  150. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +0 -3
  151. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +0 -211
  152. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +0 -19
  153. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +0 -5
  154. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +0 -1
  155. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +0 -81
  156. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +0 -16
  157. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +0 -480
  158. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +0 -297
  159. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +0 -115
  160. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +0 -87
  161. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +0 -201
  162. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +0 -77
  163. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +0 -65
  164. package/.yalc/@node-dlc/bitcoin/lib/index.ts +0 -28
  165. package/.yalc/@node-dlc/bitcoin/package.json +0 -31
  166. package/.yalc/@node-dlc/bitcoin/tsconfig.json +0 -8
  167. package/.yalc/@node-dlc/bitcoin/yalc.sig +0 -1
  168. package/.yalc/@node-dlc/bufio/.eslintrc +0 -6
  169. package/.yalc/@node-dlc/bufio/.nyc_output/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +0 -1
  170. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/3c26c5b3-2a5e-4a53-88d4-06f4a5c339f7.json +0 -1
  171. package/.yalc/@node-dlc/bufio/.nyc_output/processinfo/index.json +0 -1
  172. package/.yalc/@node-dlc/bufio/README.md +0 -68
  173. package/.yalc/@node-dlc/bufio/__tests__/BufferReader.spec.ts +0 -548
  174. package/.yalc/@node-dlc/bufio/__tests__/BufferWriter.spec.ts +0 -530
  175. package/.yalc/@node-dlc/bufio/__tests__/Hex.spec.ts +0 -51
  176. package/.yalc/@node-dlc/bufio/__tests__/StreamReader.spec.ts +0 -133
  177. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufBE.spec.ts +0 -14
  178. package/.yalc/@node-dlc/bufio/__tests__/bigFromBufLE.spec.ts +0 -14
  179. package/.yalc/@node-dlc/bufio/__tests__/bigToBufBE.spec.ts +0 -15
  180. package/.yalc/@node-dlc/bufio/__tests__/bigToBufLE.spec.ts +0 -14
  181. package/.yalc/@node-dlc/bufio/__tests__/encodeVarInt.spec.ts +0 -25
  182. package/.yalc/@node-dlc/bufio/__tests__/tsconfig.json +0 -7
  183. package/.yalc/@node-dlc/bufio/__tests__/varIntBytes.spec.ts +0 -34
  184. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferReader.ts.html +0 -1142
  185. package/.yalc/@node-dlc/bufio/coverage/lcov-report/BufferWriter.ts.html +0 -953
  186. package/.yalc/@node-dlc/bufio/coverage/lcov-report/Hex.ts.html +0 -323
  187. package/.yalc/@node-dlc/bufio/coverage/lcov-report/StreamReader.ts.html +0 -620
  188. package/.yalc/@node-dlc/bufio/coverage/lcov-report/base.css +0 -224
  189. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufBE.ts.html +0 -89
  190. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigFromBufLE.ts.html +0 -95
  191. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufBE.ts.html +0 -98
  192. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bigToBufLE.ts.html +0 -95
  193. package/.yalc/@node-dlc/bufio/coverage/lcov-report/block-navigation.js +0 -79
  194. package/.yalc/@node-dlc/bufio/coverage/lcov-report/bufToStream.ts.html +0 -113
  195. package/.yalc/@node-dlc/bufio/coverage/lcov-report/encodeVarInt.ts.html +0 -203
  196. package/.yalc/@node-dlc/bufio/coverage/lcov-report/favicon.png +0 -0
  197. package/.yalc/@node-dlc/bufio/coverage/lcov-report/index.html +0 -261
  198. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.css +0 -1
  199. package/.yalc/@node-dlc/bufio/coverage/lcov-report/prettify.js +0 -2
  200. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  201. package/.yalc/@node-dlc/bufio/coverage/lcov-report/sorter.js +0 -170
  202. package/.yalc/@node-dlc/bufio/coverage/lcov-report/varIntBytes.ts.html +0 -116
  203. package/.yalc/@node-dlc/bufio/coverage/lcov.info +0 -747
  204. package/.yalc/@node-dlc/bufio/dist/BufferReader.d.ts +0 -155
  205. package/.yalc/@node-dlc/bufio/dist/BufferReader.js +0 -346
  206. package/.yalc/@node-dlc/bufio/dist/BufferReader.js.map +0 -1
  207. package/.yalc/@node-dlc/bufio/dist/BufferWriter.d.ts +0 -143
  208. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js +0 -279
  209. package/.yalc/@node-dlc/bufio/dist/BufferWriter.js.map +0 -1
  210. package/.yalc/@node-dlc/bufio/dist/Hex.d.ts +0 -13
  211. package/.yalc/@node-dlc/bufio/dist/Hex.js +0 -78
  212. package/.yalc/@node-dlc/bufio/dist/Hex.js.map +0 -1
  213. package/.yalc/@node-dlc/bufio/dist/StreamReader.d.ts +0 -111
  214. package/.yalc/@node-dlc/bufio/dist/StreamReader.js +0 -180
  215. package/.yalc/@node-dlc/bufio/dist/StreamReader.js.map +0 -1
  216. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.d.ts +0 -2
  217. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js +0 -8
  218. package/.yalc/@node-dlc/bufio/dist/bigFromBufBE.js.map +0 -1
  219. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.d.ts +0 -2
  220. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js +0 -9
  221. package/.yalc/@node-dlc/bufio/dist/bigFromBufLE.js.map +0 -1
  222. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.d.ts +0 -2
  223. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js +0 -13
  224. package/.yalc/@node-dlc/bufio/dist/bigToBufBE.js.map +0 -1
  225. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.d.ts +0 -2
  226. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js +0 -9
  227. package/.yalc/@node-dlc/bufio/dist/bigToBufLE.js.map +0 -1
  228. package/.yalc/@node-dlc/bufio/dist/bufToStream.d.ts +0 -7
  229. package/.yalc/@node-dlc/bufio/dist/bufToStream.js +0 -15
  230. package/.yalc/@node-dlc/bufio/dist/bufToStream.js.map +0 -1
  231. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.d.ts +0 -12
  232. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js +0 -46
  233. package/.yalc/@node-dlc/bufio/dist/encodeVarInt.js.map +0 -1
  234. package/.yalc/@node-dlc/bufio/dist/index.d.ts +0 -11
  235. package/.yalc/@node-dlc/bufio/dist/index.js +0 -28
  236. package/.yalc/@node-dlc/bufio/dist/index.js.map +0 -1
  237. package/.yalc/@node-dlc/bufio/dist/varIntBytes.d.ts +0 -5
  238. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js +0 -22
  239. package/.yalc/@node-dlc/bufio/dist/varIntBytes.js.map +0 -1
  240. package/.yalc/@node-dlc/bufio/lib/BufferReader.ts +0 -354
  241. package/.yalc/@node-dlc/bufio/lib/BufferWriter.ts +0 -291
  242. package/.yalc/@node-dlc/bufio/lib/Hex.ts +0 -81
  243. package/.yalc/@node-dlc/bufio/lib/StreamReader.ts +0 -180
  244. package/.yalc/@node-dlc/bufio/lib/bigFromBufBE.ts +0 -3
  245. package/.yalc/@node-dlc/bufio/lib/bigFromBufLE.ts +0 -5
  246. package/.yalc/@node-dlc/bufio/lib/bigToBufBE.ts +0 -6
  247. package/.yalc/@node-dlc/bufio/lib/bigToBufLE.ts +0 -5
  248. package/.yalc/@node-dlc/bufio/lib/bufToStream.ts +0 -11
  249. package/.yalc/@node-dlc/bufio/lib/encodeVarInt.ts +0 -41
  250. package/.yalc/@node-dlc/bufio/lib/index.ts +0 -11
  251. package/.yalc/@node-dlc/bufio/lib/varIntBytes.ts +0 -12
  252. package/.yalc/@node-dlc/bufio/package.json +0 -27
  253. package/.yalc/@node-dlc/bufio/tsconfig-build.json +0 -7
  254. package/.yalc/@node-dlc/bufio/tsconfig.json +0 -7
  255. package/.yalc/@node-dlc/bufio/yalc.sig +0 -1
  256. package/.yalc/@node-dlc/core/.nyc_output/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +0 -1
  257. package/.yalc/@node-dlc/core/.nyc_output/processinfo/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +0 -1
  258. package/.yalc/@node-dlc/core/.nyc_output/processinfo/index.json +0 -1
  259. package/.yalc/@node-dlc/core/README.md +0 -11
  260. package/.yalc/@node-dlc/core/__tests__/core.spec.ts +0 -7
  261. package/.yalc/@node-dlc/core/__tests__/dlc/CETCalculator.spec.ts +0 -1029
  262. package/.yalc/@node-dlc/core/__tests__/dlc/CoinSelect.spec.ts +0 -179
  263. package/.yalc/@node-dlc/core/__tests__/dlc/PolynomialPayoutCurve.spec.ts +0 -345
  264. package/.yalc/@node-dlc/core/__tests__/dlc/TxBuilder.spec.ts +0 -424
  265. package/.yalc/@node-dlc/core/__tests__/dlc/finance/Builder.spec.ts +0 -492
  266. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CoveredCall.spec.ts +0 -112
  267. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CsoInfo.spec.ts +0 -1124
  268. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongCall.spec.ts +0 -55
  269. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongPut.spec.ts +0 -55
  270. package/.yalc/@node-dlc/core/__tests__/dlc/finance/OptionInfo.spec.ts +0 -226
  271. package/.yalc/@node-dlc/core/__tests__/dlc/finance/ShortPut.spec.ts +0 -62
  272. package/.yalc/@node-dlc/core/__tests__/tsconfig.json +0 -8
  273. package/.yalc/@node-dlc/core/__tests__/utils/precision.spec.ts +0 -40
  274. package/.yalc/@node-dlc/core/coverage/lcov-report/base.css +0 -224
  275. package/.yalc/@node-dlc/core/coverage/lcov-report/block-navigation.js +0 -79
  276. package/.yalc/@node-dlc/core/coverage/lcov-report/favicon.png +0 -0
  277. package/.yalc/@node-dlc/core/coverage/lcov-report/index.html +0 -171
  278. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/AsyncProcessingQueue.ts.html +0 -269
  279. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Base32.ts.html +0 -86
  280. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BigIntUtils.ts.html +0 -86
  281. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BitField.ts.html +0 -86
  282. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ChannelId.ts.html +0 -86
  283. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedList.ts.html +0 -413
  284. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedListNode.ts.html +0 -122
  285. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Queue.ts.html +0 -188
  286. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelId.ts.html +0 -86
  287. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelIdUtils.ts.html +0 -107
  288. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CETCalculator.ts.html +0 -1430
  289. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CoinSelect.ts.html +0 -431
  290. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/HyperbolaPayoutCurve.ts.html +0 -644
  291. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/PolynomialPayoutCurve.ts.html +0 -878
  292. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxBuilder.ts.html +0 -1088
  293. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxFinalizer.ts.html +0 -731
  294. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/Builder.ts.html +0 -2270
  295. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CoveredCall.ts.html +0 -410
  296. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CsoInfo.ts.html +0 -1574
  297. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LinearPayout.ts.html +0 -362
  298. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongCall.ts.html +0 -302
  299. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongPut.ts.html +0 -302
  300. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/OptionInfo.ts.html +0 -626
  301. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/ShortPut.ts.html +0 -305
  302. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/index.html +0 -216
  303. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/index.html +0 -186
  304. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.html +0 -261
  305. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.ts.html +0 -278
  306. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelId.ts.html +0 -242
  307. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelKeys.ts.html +0 -407
  308. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentNumber.ts.html +0 -362
  309. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecret.ts.html +0 -203
  310. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html +0 -332
  311. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/Htlc.ts.html +0 -236
  312. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/HtlcDirection.ts.html +0 -131
  313. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ScriptFactory.ts.html +0 -530
  314. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/TxFactory.ts.html +0 -1094
  315. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/index.html +0 -231
  316. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/BigIntUtils.ts.html +0 -272
  317. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/Precision.ts.html +0 -149
  318. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/index.html +0 -126
  319. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.css +0 -1
  320. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.js +0 -2
  321. package/.yalc/@node-dlc/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  322. package/.yalc/@node-dlc/core/coverage/lcov-report/sorter.js +0 -170
  323. package/.yalc/@node-dlc/core/coverage/lcov.info +0 -2426
  324. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.d.ts +0 -22
  325. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js +0 -55
  326. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js.map +0 -1
  327. package/.yalc/@node-dlc/core/dist/Base32.d.ts +0 -1
  328. package/.yalc/@node-dlc/core/dist/Base32.js +0 -7
  329. package/.yalc/@node-dlc/core/dist/Base32.js.map +0 -1
  330. package/.yalc/@node-dlc/core/dist/BigIntUtils.d.ts +0 -1
  331. package/.yalc/@node-dlc/core/dist/BigIntUtils.js +0 -8
  332. package/.yalc/@node-dlc/core/dist/BigIntUtils.js.map +0 -1
  333. package/.yalc/@node-dlc/core/dist/BitField.d.ts +0 -1
  334. package/.yalc/@node-dlc/core/dist/BitField.js +0 -7
  335. package/.yalc/@node-dlc/core/dist/BitField.js.map +0 -1
  336. package/.yalc/@node-dlc/core/dist/ChannelId.d.ts +0 -1
  337. package/.yalc/@node-dlc/core/dist/ChannelId.js +0 -7
  338. package/.yalc/@node-dlc/core/dist/ChannelId.js.map +0 -1
  339. package/.yalc/@node-dlc/core/dist/LinkedList.d.ts +0 -30
  340. package/.yalc/@node-dlc/core/dist/LinkedList.js +0 -104
  341. package/.yalc/@node-dlc/core/dist/LinkedList.js.map +0 -1
  342. package/.yalc/@node-dlc/core/dist/LinkedListNode.d.ts +0 -9
  343. package/.yalc/@node-dlc/core/dist/LinkedListNode.js +0 -15
  344. package/.yalc/@node-dlc/core/dist/LinkedListNode.js.map +0 -1
  345. package/.yalc/@node-dlc/core/dist/Queue.d.ts +0 -22
  346. package/.yalc/@node-dlc/core/dist/Queue.js +0 -38
  347. package/.yalc/@node-dlc/core/dist/Queue.js.map +0 -1
  348. package/.yalc/@node-dlc/core/dist/ShortChannelId.d.ts +0 -1
  349. package/.yalc/@node-dlc/core/dist/ShortChannelId.js +0 -7
  350. package/.yalc/@node-dlc/core/dist/ShortChannelId.js.map +0 -1
  351. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.d.ts +0 -1
  352. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js +0 -12
  353. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js.map +0 -1
  354. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.d.ts +0 -50
  355. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js +0 -332
  356. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js.map +0 -1
  357. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.d.ts +0 -23
  358. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js +0 -77
  359. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js.map +0 -1
  360. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.d.ts +0 -20
  361. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js +0 -117
  362. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js.map +0 -1
  363. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.d.ts +0 -5
  364. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js +0 -3
  365. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js.map +0 -1
  366. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.d.ts +0 -52
  367. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js +0 -173
  368. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js.map +0 -1
  369. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.d.ts +0 -55
  370. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js +0 -217
  371. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js.map +0 -1
  372. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.d.ts +0 -40
  373. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js +0 -146
  374. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js.map +0 -1
  375. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.d.ts +0 -193
  376. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js +0 -422
  377. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js.map +0 -1
  378. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.d.ts +0 -13
  379. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js +0 -67
  380. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js.map +0 -1
  381. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.d.ts +0 -114
  382. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js +0 -290
  383. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js.map +0 -1
  384. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.d.ts +0 -6
  385. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js +0 -79
  386. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js.map +0 -1
  387. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.d.ts +0 -13
  388. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js +0 -47
  389. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js.map +0 -1
  390. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.d.ts +0 -13
  391. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js +0 -47
  392. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js.map +0 -1
  393. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.d.ts +0 -20
  394. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js +0 -101
  395. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js.map +0 -1
  396. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.d.ts +0 -12
  397. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js +0 -46
  398. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js.map +0 -1
  399. package/.yalc/@node-dlc/core/dist/index.d.ts +0 -39
  400. package/.yalc/@node-dlc/core/dist/index.js +0 -78
  401. package/.yalc/@node-dlc/core/dist/index.js.map +0 -1
  402. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.d.ts +0 -31
  403. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js +0 -52
  404. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js.map +0 -1
  405. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.d.ts +0 -55
  406. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js +0 -105
  407. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js.map +0 -1
  408. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.d.ts +0 -55
  409. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js +0 -76
  410. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js.map +0 -1
  411. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.d.ts +0 -26
  412. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js +0 -44
  413. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js.map +0 -1
  414. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.d.ts +0 -41
  415. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js +0 -79
  416. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js.map +0 -1
  417. package/.yalc/@node-dlc/core/dist/lightning/Htlc.d.ts +0 -46
  418. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js +0 -46
  419. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js.map +0 -1
  420. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.d.ts +0 -16
  421. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js +0 -21
  422. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js.map +0 -1
  423. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.d.ts +0 -76
  424. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js +0 -102
  425. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js.map +0 -1
  426. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.d.ts +0 -83
  427. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js +0 -222
  428. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js.map +0 -1
  429. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.d.ts +0 -9
  430. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js +0 -59
  431. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js.map +0 -1
  432. package/.yalc/@node-dlc/core/dist/utils/Precision.d.ts +0 -13
  433. package/.yalc/@node-dlc/core/dist/utils/Precision.js +0 -28
  434. package/.yalc/@node-dlc/core/dist/utils/Precision.js.map +0 -1
  435. package/.yalc/@node-dlc/core/lib/AsyncProcessingQueue.ts +0 -63
  436. package/.yalc/@node-dlc/core/lib/Base32.ts +0 -2
  437. package/.yalc/@node-dlc/core/lib/BigIntUtils.ts +0 -2
  438. package/.yalc/@node-dlc/core/lib/BitField.ts +0 -2
  439. package/.yalc/@node-dlc/core/lib/ChannelId.ts +0 -2
  440. package/.yalc/@node-dlc/core/lib/LinkedList.ts +0 -111
  441. package/.yalc/@node-dlc/core/lib/LinkedListNode.ts +0 -14
  442. package/.yalc/@node-dlc/core/lib/Queue.ts +0 -36
  443. package/.yalc/@node-dlc/core/lib/ShortChannelId.ts +0 -2
  444. package/.yalc/@node-dlc/core/lib/ShortChannelIdUtils.ts +0 -9
  445. package/.yalc/@node-dlc/core/lib/dlc/CETCalculator.ts +0 -450
  446. package/.yalc/@node-dlc/core/lib/dlc/CoinSelect.ts +0 -117
  447. package/.yalc/@node-dlc/core/lib/dlc/HyperbolaPayoutCurve.ts +0 -188
  448. package/.yalc/@node-dlc/core/lib/dlc/PayoutCurve.ts +0 -6
  449. package/.yalc/@node-dlc/core/lib/dlc/PolynomialPayoutCurve.ts +0 -266
  450. package/.yalc/@node-dlc/core/lib/dlc/TxBuilder.ts +0 -336
  451. package/.yalc/@node-dlc/core/lib/dlc/TxFinalizer.ts +0 -217
  452. package/.yalc/@node-dlc/core/lib/dlc/finance/Builder.ts +0 -730
  453. package/.yalc/@node-dlc/core/lib/dlc/finance/CoveredCall.ts +0 -110
  454. package/.yalc/@node-dlc/core/lib/dlc/finance/CsoInfo.ts +0 -498
  455. package/.yalc/@node-dlc/core/lib/dlc/finance/LinearPayout.ts +0 -94
  456. package/.yalc/@node-dlc/core/lib/dlc/finance/LongCall.ts +0 -74
  457. package/.yalc/@node-dlc/core/lib/dlc/finance/LongPut.ts +0 -74
  458. package/.yalc/@node-dlc/core/lib/dlc/finance/OptionInfo.ts +0 -182
  459. package/.yalc/@node-dlc/core/lib/dlc/finance/ShortPut.ts +0 -75
  460. package/.yalc/@node-dlc/core/lib/index.ts +0 -66
  461. package/.yalc/@node-dlc/core/lib/lightning/ChannelId.ts +0 -54
  462. package/.yalc/@node-dlc/core/lib/lightning/ChannelKeys.ts +0 -109
  463. package/.yalc/@node-dlc/core/lib/lightning/CommitmentNumber.ts +0 -94
  464. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecret.ts +0 -41
  465. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecretStore.ts +0 -84
  466. package/.yalc/@node-dlc/core/lib/lightning/Htlc.ts +0 -52
  467. package/.yalc/@node-dlc/core/lib/lightning/HtlcDirection.ts +0 -17
  468. package/.yalc/@node-dlc/core/lib/lightning/ScriptFactory.ts +0 -150
  469. package/.yalc/@node-dlc/core/lib/lightning/TxFactory.ts +0 -338
  470. package/.yalc/@node-dlc/core/lib/utils/BigIntUtils.ts +0 -64
  471. package/.yalc/@node-dlc/core/lib/utils/Precision.ts +0 -23
  472. package/.yalc/@node-dlc/core/package.json +0 -38
  473. package/.yalc/@node-dlc/core/tsconfig.json +0 -8
  474. package/.yalc/@node-dlc/core/yalc.sig +0 -1
  475. package/.yalc/@node-dlc/crypto/.eslintrc +0 -6
  476. package/.yalc/@node-dlc/crypto/.nyc_output/de03e0b4-d482-4f61-b680-59411360f56e.json +0 -1
  477. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/de03e0b4-d482-4f61-b680-59411360f56e.json +0 -1
  478. package/.yalc/@node-dlc/crypto/.nyc_output/processinfo/index.json +0 -1
  479. package/.yalc/@node-dlc/crypto/README.md +0 -13
  480. package/.yalc/@node-dlc/crypto/__tests__/chacha.spec.ts +0 -29
  481. package/.yalc/@node-dlc/crypto/__tests__/chachapoly.spec.ts +0 -78
  482. package/.yalc/@node-dlc/crypto/__tests__/hkdf.spec.ts +0 -131
  483. package/.yalc/@node-dlc/crypto/__tests__/key.spec.ts +0 -125
  484. package/.yalc/@node-dlc/crypto/__tests__/secp256k1.spec.ts +0 -194
  485. package/.yalc/@node-dlc/crypto/__tests__/xor.spec.ts +0 -28
  486. package/.yalc/@node-dlc/crypto/coverage/lcov-report/base.css +0 -224
  487. package/.yalc/@node-dlc/crypto/coverage/lcov-report/block-navigation.js +0 -79
  488. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chacha.ts.html +0 -119
  489. package/.yalc/@node-dlc/crypto/coverage/lcov-report/chachapoly.ts.html +0 -275
  490. package/.yalc/@node-dlc/crypto/coverage/lcov-report/favicon.png +0 -0
  491. package/.yalc/@node-dlc/crypto/coverage/lcov-report/hkdf.ts.html +0 -236
  492. package/.yalc/@node-dlc/crypto/coverage/lcov-report/index.html +0 -186
  493. package/.yalc/@node-dlc/crypto/coverage/lcov-report/key.ts.html +0 -272
  494. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.css +0 -1
  495. package/.yalc/@node-dlc/crypto/coverage/lcov-report/prettify.js +0 -2
  496. package/.yalc/@node-dlc/crypto/coverage/lcov-report/secp256k1.ts.html +0 -680
  497. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  498. package/.yalc/@node-dlc/crypto/coverage/lcov-report/sorter.js +0 -170
  499. package/.yalc/@node-dlc/crypto/coverage/lcov-report/xor.ts.html +0 -116
  500. package/.yalc/@node-dlc/crypto/coverage/lcov.info +0 -221
  501. package/.yalc/@node-dlc/crypto/dist/aes-key.d.ts +0 -6
  502. package/.yalc/@node-dlc/crypto/dist/aes-key.js +0 -3
  503. package/.yalc/@node-dlc/crypto/dist/aes-key.js.map +0 -1
  504. package/.yalc/@node-dlc/crypto/dist/aes.d.ts +0 -34
  505. package/.yalc/@node-dlc/crypto/dist/aes.js +0 -62
  506. package/.yalc/@node-dlc/crypto/dist/aes.js.map +0 -1
  507. package/.yalc/@node-dlc/crypto/dist/chacha.d.ts +0 -4
  508. package/.yalc/@node-dlc/crypto/dist/chacha.js +0 -40
  509. package/.yalc/@node-dlc/crypto/dist/chacha.js.map +0 -1
  510. package/.yalc/@node-dlc/crypto/dist/chachapoly.d.ts +0 -24
  511. package/.yalc/@node-dlc/crypto/dist/chachapoly.js +0 -61
  512. package/.yalc/@node-dlc/crypto/dist/chachapoly.js.map +0 -1
  513. package/.yalc/@node-dlc/crypto/dist/hash.d.ts +0 -29
  514. package/.yalc/@node-dlc/crypto/dist/hash.js +0 -51
  515. package/.yalc/@node-dlc/crypto/dist/hash.js.map +0 -1
  516. package/.yalc/@node-dlc/crypto/dist/hkdf.d.ts +0 -20
  517. package/.yalc/@node-dlc/crypto/dist/hkdf.js +0 -50
  518. package/.yalc/@node-dlc/crypto/dist/hkdf.js.map +0 -1
  519. package/.yalc/@node-dlc/crypto/dist/hmac.d.ts +0 -3
  520. package/.yalc/@node-dlc/crypto/dist/hmac.js +0 -14
  521. package/.yalc/@node-dlc/crypto/dist/hmac.js.map +0 -1
  522. package/.yalc/@node-dlc/crypto/dist/index.d.ts +0 -11
  523. package/.yalc/@node-dlc/crypto/dist/index.js +0 -30
  524. package/.yalc/@node-dlc/crypto/dist/index.js.map +0 -1
  525. package/.yalc/@node-dlc/crypto/dist/key.d.ts +0 -37
  526. package/.yalc/@node-dlc/crypto/dist/key.js +0 -72
  527. package/.yalc/@node-dlc/crypto/dist/key.js.map +0 -1
  528. package/.yalc/@node-dlc/crypto/dist/secp256k1.d.ts +0 -120
  529. package/.yalc/@node-dlc/crypto/dist/secp256k1.js +0 -184
  530. package/.yalc/@node-dlc/crypto/dist/secp256k1.js.map +0 -1
  531. package/.yalc/@node-dlc/crypto/dist/xor.d.ts +0 -8
  532. package/.yalc/@node-dlc/crypto/dist/xor.js +0 -17
  533. package/.yalc/@node-dlc/crypto/dist/xor.js.map +0 -1
  534. package/.yalc/@node-dlc/crypto/lib/aes-key.ts +0 -4
  535. package/.yalc/@node-dlc/crypto/lib/aes.ts +0 -81
  536. package/.yalc/@node-dlc/crypto/lib/chacha.ts +0 -13
  537. package/.yalc/@node-dlc/crypto/lib/chachapoly.ts +0 -65
  538. package/.yalc/@node-dlc/crypto/lib/hash.ts +0 -44
  539. package/.yalc/@node-dlc/crypto/lib/hkdf.ts +0 -52
  540. package/.yalc/@node-dlc/crypto/lib/hmac.ts +0 -7
  541. package/.yalc/@node-dlc/crypto/lib/index.ts +0 -11
  542. package/.yalc/@node-dlc/crypto/lib/key.ts +0 -64
  543. package/.yalc/@node-dlc/crypto/lib/secp256k1.ts +0 -200
  544. package/.yalc/@node-dlc/crypto/lib/xor.ts +0 -12
  545. package/.yalc/@node-dlc/crypto/package.json +0 -34
  546. package/.yalc/@node-dlc/crypto/tsconfig-build.json +0 -7
  547. package/.yalc/@node-dlc/crypto/tsconfig.json +0 -4
  548. package/.yalc/@node-dlc/crypto/yalc.sig +0 -1
  549. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +0 -1
  550. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +0 -1
  551. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +0 -1
  552. package/.yalc/@node-dlc/messaging/README.md +0 -24
  553. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +0 -13
  554. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +0 -178
  555. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +0 -439
  556. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +0 -255
  557. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +0 -342
  558. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +0 -155
  559. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +0 -94
  560. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +0 -79
  561. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +0 -72
  562. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +0 -57
  563. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +0 -266
  564. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +0 -419
  565. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +0 -59
  566. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +0 -314
  567. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +0 -42
  568. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +0 -315
  569. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +0 -111
  570. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +0 -589
  571. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +0 -118
  572. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +0 -157
  573. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +0 -50
  574. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +0 -93
  575. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +0 -169
  576. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +0 -83
  577. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +0 -328
  578. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +0 -115
  579. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +0 -415
  580. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +0 -324
  581. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +0 -143
  582. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +0 -95
  583. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +0 -48
  584. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +0 -116
  585. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +0 -75
  586. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +0 -299
  587. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +0 -121
  588. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +0 -75
  589. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +0 -220
  590. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +0 -101
  591. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +0 -75
  592. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +0 -261
  593. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +0 -8
  594. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +0 -224
  595. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +0 -79
  596. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  597. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +0 -201
  598. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +0 -500
  599. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +0 -1061
  600. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +0 -182
  601. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +0 -126
  602. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +0 -272
  603. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +0 -111
  604. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +0 -141
  605. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +0 -215
  606. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +0 -563
  607. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +0 -111
  608. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +0 -302
  609. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +0 -503
  610. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +0 -347
  611. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +0 -356
  612. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +0 -344
  613. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +0 -1031
  614. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +0 -1397
  615. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +0 -1997
  616. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +0 -251
  617. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +0 -995
  618. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +0 -434
  619. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +0 -281
  620. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +0 -323
  621. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +0 -581
  622. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +0 -341
  623. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +0 -2075
  624. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +0 -1157
  625. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +0 -719
  626. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +0 -962
  627. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +0 -860
  628. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +0 -374
  629. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +0 -344
  630. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +0 -848
  631. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +0 -515
  632. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +0 -608
  633. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +0 -383
  634. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +0 -956
  635. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +0 -479
  636. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +0 -830
  637. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +0 -347
  638. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +0 -347
  639. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +0 -503
  640. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +0 -314
  641. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +0 -314
  642. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +0 -1658
  643. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +0 -308
  644. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +0 -602
  645. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +0 -380
  646. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +0 -437
  647. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +0 -710
  648. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +0 -1334
  649. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +0 -521
  650. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +0 -1442
  651. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +0 -806
  652. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +0 -464
  653. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +0 -428
  654. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +0 -269
  655. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +0 -651
  656. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +0 -1091
  657. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +0 -125
  658. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +0 -143
  659. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +0 -141
  660. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +0 -191
  661. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +0 -111
  662. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +0 -182
  663. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +0 -1
  664. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +0 -2
  665. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  666. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +0 -170
  667. package/.yalc/@node-dlc/messaging/coverage/lcov.info +0 -5617
  668. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +0 -101
  669. package/.yalc/@node-dlc/messaging/dist/MessageType.js +0 -118
  670. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +0 -1
  671. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +0 -50
  672. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +0 -212
  673. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +0 -1
  674. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +0 -14
  675. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +0 -28
  676. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +0 -1
  677. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +0 -11
  678. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +0 -3
  679. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +0 -1
  680. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +0 -48
  681. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +0 -3
  682. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +0 -1
  683. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +0 -24
  684. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +0 -46
  685. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +0 -1
  686. package/.yalc/@node-dlc/messaging/dist/index.d.ts +0 -45
  687. package/.yalc/@node-dlc/messaging/dist/index.js +0 -64
  688. package/.yalc/@node-dlc/messaging/dist/index.js.map +0 -1
  689. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +0 -43
  690. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +0 -116
  691. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +0 -1
  692. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +0 -15
  693. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +0 -51
  694. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +0 -1
  695. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +0 -61
  696. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +0 -113
  697. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +0 -1
  698. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +0 -40
  699. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +0 -67
  700. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +0 -1
  701. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +0 -42
  702. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +0 -68
  703. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +0 -1
  704. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +0 -38
  705. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +0 -59
  706. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +0 -1
  707. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +0 -121
  708. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +0 -221
  709. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +0 -1
  710. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +0 -135
  711. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +0 -308
  712. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +0 -1
  713. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +0 -160
  714. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +0 -469
  715. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +0 -1
  716. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +0 -31
  717. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +0 -51
  718. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +0 -1
  719. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +0 -68
  720. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +0 -214
  721. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +0 -1
  722. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +0 -44
  723. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +0 -74
  724. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +0 -1
  725. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +0 -26
  726. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +0 -58
  727. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +0 -1
  728. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +0 -31
  729. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +0 -61
  730. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +0 -1
  731. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +0 -56
  732. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +0 -135
  733. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +0 -1
  734. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +0 -23
  735. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +0 -54
  736. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +0 -1
  737. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +0 -146
  738. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +0 -463
  739. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +0 -1
  740. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +0 -96
  741. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +0 -275
  742. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +0 -1
  743. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +0 -69
  744. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +0 -149
  745. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +0 -1
  746. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +0 -107
  747. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +0 -212
  748. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +0 -1
  749. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +0 -69
  750. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +0 -193
  751. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +0 -1
  752. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +0 -36
  753. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +0 -78
  754. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +0 -1
  755. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +0 -34
  756. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +0 -72
  757. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +0 -1
  758. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +0 -6
  759. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +0 -3
  760. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +0 -1
  761. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +0 -86
  762. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +0 -189
  763. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +0 -1
  764. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +0 -57
  765. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +0 -127
  766. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +0 -1
  767. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +0 -76
  768. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +0 -131
  769. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +0 -1
  770. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +0 -47
  771. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +0 -76
  772. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +0 -1
  773. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +0 -68
  774. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +0 -239
  775. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +0 -1
  776. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +0 -48
  777. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +0 -100
  778. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +0 -1
  779. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +0 -90
  780. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +0 -189
  781. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +0 -1
  782. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +0 -32
  783. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +0 -67
  784. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +0 -1
  785. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +0 -32
  786. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +0 -67
  787. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +0 -1
  788. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +0 -54
  789. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +0 -100
  790. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +0 -1
  791. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +0 -32
  792. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +0 -58
  793. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +0 -1
  794. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +0 -32
  795. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +0 -58
  796. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +0 -1
  797. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +0 -163
  798. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +0 -393
  799. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +0 -1
  800. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +0 -35
  801. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +0 -58
  802. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +0 -1
  803. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +0 -66
  804. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +0 -140
  805. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +0 -1
  806. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +0 -42
  807. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +0 -74
  808. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +0 -1
  809. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +0 -56
  810. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +0 -87
  811. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +0 -1
  812. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +0 -81
  813. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +0 -161
  814. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +0 -1
  815. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +0 -97
  816. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +0 -296
  817. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +0 -1
  818. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +0 -44
  819. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +0 -111
  820. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +0 -1
  821. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +0 -129
  822. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +0 -332
  823. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +0 -1
  824. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +0 -66
  825. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +0 -173
  826. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +0 -1
  827. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +0 -52
  828. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +0 -96
  829. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +0 -1
  830. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +0 -47
  831. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +0 -86
  832. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +0 -1
  833. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +0 -29
  834. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +0 -50
  835. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +0 -1
  836. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +0 -15
  837. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +0 -32
  838. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +0 -1
  839. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +0 -146
  840. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +0 -294
  841. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +0 -1
  842. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +0 -9
  843. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +0 -11
  844. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +0 -1
  845. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +0 -4
  846. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +0 -23
  847. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +0 -1
  848. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +0 -8
  849. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +0 -33
  850. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +0 -1
  851. package/.yalc/@node-dlc/messaging/dist/util.d.ts +0 -13
  852. package/.yalc/@node-dlc/messaging/dist/util.js +0 -42
  853. package/.yalc/@node-dlc/messaging/dist/util.js.map +0 -1
  854. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +0 -4
  855. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +0 -31
  856. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +0 -1
  857. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +0 -140
  858. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +0 -327
  859. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +0 -34
  860. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +0 -11
  861. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +0 -57
  862. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +0 -64
  863. package/.yalc/@node-dlc/messaging/lib/index.ts +0 -45
  864. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +0 -161
  865. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +0 -74
  866. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +0 -141
  867. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +0 -89
  868. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +0 -317
  869. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +0 -439
  870. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +0 -639
  871. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +0 -57
  872. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +0 -305
  873. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +0 -118
  874. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +0 -67
  875. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +0 -81
  876. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +0 -167
  877. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +0 -87
  878. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +0 -665
  879. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +0 -359
  880. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +0 -213
  881. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +0 -294
  882. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +0 -260
  883. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +0 -98
  884. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +0 -6
  885. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +0 -256
  886. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +0 -145
  887. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +0 -176
  888. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +0 -292
  889. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +0 -250
  890. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +0 -89
  891. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +0 -78
  892. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +0 -526
  893. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +0 -174
  894. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +0 -100
  895. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +0 -119
  896. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +0 -210
  897. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +0 -418
  898. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +0 -147
  899. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +0 -454
  900. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +0 -242
  901. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +0 -128
  902. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +0 -63
  903. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +0 -40
  904. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +0 -337
  905. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +0 -15
  906. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +0 -21
  907. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +0 -37
  908. package/.yalc/@node-dlc/messaging/lib/util.ts +0 -37
  909. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +0 -34
  910. package/.yalc/@node-dlc/messaging/package.json +0 -42
  911. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +0 -212
  912. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +0 -470
  913. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +0 -1519
  914. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +0 -547
  915. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +0 -4763
  916. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +0 -2171
  917. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +0 -166
  918. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +0 -504
  919. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +0 -264
  920. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +0 -4384
  921. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +0 -326
  922. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +0 -654
  923. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +0 -1140
  924. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +0 -2224
  925. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +0 -210
  926. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +0 -468
  927. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +0 -1517
  928. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +0 -545
  929. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +0 -4761
  930. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +0 -2169
  931. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +0 -164
  932. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +0 -502
  933. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +0 -262
  934. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +0 -4382
  935. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +0 -324
  936. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +0 -652
  937. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +0 -1138
  938. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +0 -2222
  939. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +0 -212
  940. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +0 -470
  941. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +0 -1519
  942. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +0 -547
  943. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +0 -4763
  944. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +0 -2171
  945. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +0 -166
  946. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +0 -504
  947. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +0 -264
  948. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +0 -4384
  949. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +0 -326
  950. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +0 -654
  951. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +0 -1140
  952. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +0 -2224
  953. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  954. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +0 -115
  955. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +0 -1465
  956. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +0 -12362
  957. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +0 -57
  958. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +0 -2766
  959. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +0 -2899
  960. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +0 -163
  961. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +0 -352
  962. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +0 -12635
  963. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +0 -4022
  964. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +0 -383
  965. package/.yalc/@node-dlc/messaging/tsconfig.json +0 -7
  966. package/.yalc/@node-dlc/messaging/yalc.sig +0 -1
  967. package/yalc.lock +0 -30
@@ -1 +0,0 @@
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":"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","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":"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","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":"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","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":"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","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":"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","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"}}