@miradexio/client 0.1.0 → 0.1.2

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 (306) hide show
  1. package/README.md +57 -292
  2. package/dist/address/base58.d.ts.map +1 -1
  3. package/dist/address/base58.js +1 -2
  4. package/dist/address/base58.js.map +1 -1
  5. package/dist/address/bech32.d.ts +0 -8
  6. package/dist/address/bech32.d.ts.map +1 -1
  7. package/dist/address/bech32.js +3 -9
  8. package/dist/address/bech32.js.map +1 -1
  9. package/dist/address/evm.d.ts.map +1 -1
  10. package/dist/address/evm.js +1 -2
  11. package/dist/address/evm.js.map +1 -1
  12. package/dist/address/index.d.ts +0 -6
  13. package/dist/address/index.d.ts.map +1 -1
  14. package/dist/address/index.js +6 -9
  15. package/dist/address/index.js.map +1 -1
  16. package/dist/address/monero.d.ts +0 -10
  17. package/dist/address/monero.d.ts.map +1 -1
  18. package/dist/address/monero.js +4 -10
  19. package/dist/address/monero.js.map +1 -1
  20. package/dist/address/polkadot.d.ts +0 -5
  21. package/dist/address/polkadot.d.ts.map +1 -1
  22. package/dist/address/polkadot.js +2 -6
  23. package/dist/address/polkadot.js.map +1 -1
  24. package/dist/address/ton.d.ts +0 -6
  25. package/dist/address/ton.d.ts.map +1 -1
  26. package/dist/address/ton.js +3 -8
  27. package/dist/address/ton.js.map +1 -1
  28. package/dist/api/index.d.ts +0 -19
  29. package/dist/api/index.d.ts.map +1 -1
  30. package/dist/api/index.js +18 -37
  31. package/dist/api/index.js.map +1 -1
  32. package/dist/atomic-swap/drive.d.ts +0 -13
  33. package/dist/atomic-swap/drive.d.ts.map +1 -1
  34. package/dist/atomic-swap/drive.js +66 -111
  35. package/dist/atomic-swap/drive.js.map +1 -1
  36. package/dist/atomic-swap/extract.d.ts +0 -23
  37. package/dist/atomic-swap/extract.d.ts.map +1 -1
  38. package/dist/atomic-swap/extract.js +6 -16
  39. package/dist/atomic-swap/extract.js.map +1 -1
  40. package/dist/atomic-swap/index.d.ts +0 -7
  41. package/dist/atomic-swap/index.d.ts.map +1 -1
  42. package/dist/atomic-swap/index.js +1 -7
  43. package/dist/atomic-swap/index.js.map +1 -1
  44. package/dist/atomic-swap/monero-sweep/errors.d.ts.map +1 -1
  45. package/dist/atomic-swap/monero-sweep/errors.js +5 -20
  46. package/dist/atomic-swap/monero-sweep/errors.js.map +1 -1
  47. package/dist/atomic-swap/monero-sweep/index.d.ts +0 -13
  48. package/dist/atomic-swap/monero-sweep/index.d.ts.map +1 -1
  49. package/dist/atomic-swap/monero-sweep/index.js +30 -56
  50. package/dist/atomic-swap/monero-sweep/index.js.map +1 -1
  51. package/dist/atomic-swap/monero-sweep/ring-select.d.ts +0 -4
  52. package/dist/atomic-swap/monero-sweep/ring-select.d.ts.map +1 -1
  53. package/dist/atomic-swap/monero-sweep/ring-select.js +9 -21
  54. package/dist/atomic-swap/monero-sweep/ring-select.js.map +1 -1
  55. package/dist/atomic-swap/presign.d.ts +0 -63
  56. package/dist/atomic-swap/presign.d.ts.map +1 -1
  57. package/dist/atomic-swap/presign.js +30 -90
  58. package/dist/atomic-swap/presign.js.map +1 -1
  59. package/dist/atomic-swap/refund.d.ts +0 -18
  60. package/dist/atomic-swap/refund.d.ts.map +1 -1
  61. package/dist/atomic-swap/refund.js +16 -32
  62. package/dist/atomic-swap/refund.js.map +1 -1
  63. package/dist/atomic-swap/run.d.ts +0 -17
  64. package/dist/atomic-swap/run.d.ts.map +1 -1
  65. package/dist/atomic-swap/run.js +11 -25
  66. package/dist/atomic-swap/run.js.map +1 -1
  67. package/dist/atomic-swap/snapshot.d.ts +0 -30
  68. package/dist/atomic-swap/snapshot.d.ts.map +1 -1
  69. package/dist/atomic-swap/snapshot.js +8 -23
  70. package/dist/atomic-swap/snapshot.js.map +1 -1
  71. package/dist/atomic-swap/submit-encsig.d.ts +0 -7
  72. package/dist/atomic-swap/submit-encsig.d.ts.map +1 -1
  73. package/dist/atomic-swap/submit-encsig.js +2 -11
  74. package/dist/atomic-swap/submit-encsig.js.map +1 -1
  75. package/dist/atomic-swap/types.d.ts +2 -55
  76. package/dist/atomic-swap/types.d.ts.map +1 -1
  77. package/dist/atomic-swap/types.js +2 -3
  78. package/dist/atomic-swap/types.js.map +1 -1
  79. package/dist/blockchain/quorum-provider.d.ts +0 -15
  80. package/dist/blockchain/quorum-provider.d.ts.map +1 -1
  81. package/dist/blockchain/quorum-provider.js +7 -9
  82. package/dist/blockchain/quorum-provider.js.map +1 -1
  83. package/dist/cooperative-redeem.d.ts +5 -14
  84. package/dist/cooperative-redeem.d.ts.map +1 -1
  85. package/dist/cooperative-redeem.js +3 -20
  86. package/dist/cooperative-redeem.js.map +1 -1
  87. package/dist/engine/blockchain-querier.d.ts +0 -22
  88. package/dist/engine/blockchain-querier.d.ts.map +1 -1
  89. package/dist/engine/engine-state.d.ts +0 -8
  90. package/dist/engine/engine-state.d.ts.map +1 -1
  91. package/dist/engine/engine-state.js.map +1 -1
  92. package/dist/engine/flow-context.d.ts +0 -20
  93. package/dist/engine/flow-context.d.ts.map +1 -1
  94. package/dist/engine/flow-context.js +17 -41
  95. package/dist/engine/flow-context.js.map +1 -1
  96. package/dist/engine/flows/atomic-flow.d.ts +0 -28
  97. package/dist/engine/flows/atomic-flow.d.ts.map +1 -1
  98. package/dist/engine/flows/atomic-flow.js +64 -121
  99. package/dist/engine/flows/atomic-flow.js.map +1 -1
  100. package/dist/engine/flows/swap-flow.d.ts +0 -19
  101. package/dist/engine/flows/swap-flow.d.ts.map +1 -1
  102. package/dist/engine/flows/swap-flow.js +41 -83
  103. package/dist/engine/flows/swap-flow.js.map +1 -1
  104. package/dist/engine/miradex-engine.d.ts +1 -62
  105. package/dist/engine/miradex-engine.d.ts.map +1 -1
  106. package/dist/engine/miradex-engine.js +18 -50
  107. package/dist/engine/miradex-engine.js.map +1 -1
  108. package/dist/engine/pipeline.d.ts +0 -11
  109. package/dist/engine/pipeline.d.ts.map +1 -1
  110. package/dist/engine/pipeline.js +9 -21
  111. package/dist/engine/pipeline.js.map +1 -1
  112. package/dist/engine/platform.d.ts +0 -160
  113. package/dist/engine/platform.d.ts.map +1 -1
  114. package/dist/engine/platform.js +2 -0
  115. package/dist/engine/platform.js.map +1 -1
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +7 -11
  118. package/dist/index.js.map +1 -1
  119. package/dist/interfaces/blockchain.d.ts +1 -13
  120. package/dist/interfaces/blockchain.d.ts.map +1 -1
  121. package/dist/interfaces/blockchain.js +1 -0
  122. package/dist/interfaces/blockchain.js.map +1 -1
  123. package/dist/interfaces/logger.d.ts +0 -6
  124. package/dist/interfaces/logger.d.ts.map +1 -1
  125. package/dist/interfaces/logger.js.map +1 -1
  126. package/dist/lib/bitcoin/deposit-watcher.d.ts +0 -23
  127. package/dist/lib/bitcoin/deposit-watcher.d.ts.map +1 -1
  128. package/dist/lib/bitcoin/deposit-watcher.js +7 -31
  129. package/dist/lib/bitcoin/deposit-watcher.js.map +1 -1
  130. package/dist/lib/bitcoin/script-hash.d.ts.map +1 -1
  131. package/dist/lib/bitcoin/script-hash.js +2 -6
  132. package/dist/lib/bitcoin/script-hash.js.map +1 -1
  133. package/dist/lib/bitcoin/sweep.d.ts +0 -30
  134. package/dist/lib/bitcoin/sweep.d.ts.map +1 -1
  135. package/dist/lib/bitcoin/sweep.js +11 -40
  136. package/dist/lib/bitcoin/sweep.js.map +1 -1
  137. package/dist/lib/bitcoin/tx-verify.d.ts +0 -28
  138. package/dist/lib/bitcoin/tx-verify.d.ts.map +1 -1
  139. package/dist/lib/bitcoin/tx-verify.js +20 -61
  140. package/dist/lib/bitcoin/tx-verify.js.map +1 -1
  141. package/dist/lib/bitcoin/wallet.d.ts +0 -38
  142. package/dist/lib/bitcoin/wallet.d.ts.map +1 -1
  143. package/dist/lib/bitcoin/wallet.js +13 -38
  144. package/dist/lib/bitcoin/wallet.js.map +1 -1
  145. package/dist/lib/crypto/bytes.d.ts +0 -14
  146. package/dist/lib/crypto/bytes.d.ts.map +1 -1
  147. package/dist/lib/crypto/bytes.js +5 -14
  148. package/dist/lib/crypto/bytes.js.map +1 -1
  149. package/dist/lib/crypto/errors.d.ts +0 -5
  150. package/dist/lib/crypto/errors.d.ts.map +1 -1
  151. package/dist/lib/crypto/errors.js +2 -5
  152. package/dist/lib/crypto/errors.js.map +1 -1
  153. package/dist/lib/crypto/libp2p-identity.d.ts +0 -15
  154. package/dist/lib/crypto/libp2p-identity.d.ts.map +1 -1
  155. package/dist/lib/crypto/libp2p-identity.js +16 -28
  156. package/dist/lib/crypto/libp2p-identity.js.map +1 -1
  157. package/dist/lib/crypto/mnemonic.d.ts +0 -9
  158. package/dist/lib/crypto/mnemonic.d.ts.map +1 -1
  159. package/dist/lib/crypto/mnemonic.js +11 -27
  160. package/dist/lib/crypto/mnemonic.js.map +1 -1
  161. package/dist/lib/crypto/platform.d.ts +0 -6
  162. package/dist/lib/crypto/platform.d.ts.map +1 -1
  163. package/dist/lib/crypto/platform.js +2 -6
  164. package/dist/lib/crypto/platform.js.map +1 -1
  165. package/dist/lib/crypto/scalars.d.ts +0 -23
  166. package/dist/lib/crypto/scalars.d.ts.map +1 -1
  167. package/dist/lib/crypto/scalars.js +10 -23
  168. package/dist/lib/crypto/scalars.js.map +1 -1
  169. package/dist/lib/crypto/types.d.ts +0 -4
  170. package/dist/lib/crypto/types.d.ts.map +1 -1
  171. package/dist/lib/crypto/wasm.d.ts +0 -23
  172. package/dist/lib/crypto/wasm.d.ts.map +1 -1
  173. package/dist/lib/crypto/wasm.js +10 -13
  174. package/dist/lib/crypto/wasm.js.map +1 -1
  175. package/dist/lib/default-config.d.ts +1 -59
  176. package/dist/lib/default-config.d.ts.map +1 -1
  177. package/dist/lib/default-config.js +22 -61
  178. package/dist/lib/default-config.js.map +1 -1
  179. package/dist/lib/errors.d.ts +0 -54
  180. package/dist/lib/errors.d.ts.map +1 -1
  181. package/dist/lib/errors.js +12 -35
  182. package/dist/lib/errors.js.map +1 -1
  183. package/dist/lib/keystore.d.ts +0 -24
  184. package/dist/lib/keystore.d.ts.map +1 -1
  185. package/dist/lib/keystore.js +3 -10
  186. package/dist/lib/keystore.js.map +1 -1
  187. package/dist/lib/monero/output-scanner.d.ts +0 -18
  188. package/dist/lib/monero/output-scanner.d.ts.map +1 -1
  189. package/dist/lib/monero/output-scanner.js +17 -40
  190. package/dist/lib/monero/output-scanner.js.map +1 -1
  191. package/dist/lib/monero/rpc.d.ts +0 -64
  192. package/dist/lib/monero/rpc.d.ts.map +1 -1
  193. package/dist/lib/monero/rpc.js +17 -59
  194. package/dist/lib/monero/rpc.js.map +1 -1
  195. package/dist/lib/monero/verify-lock.d.ts +0 -12
  196. package/dist/lib/monero/verify-lock.d.ts.map +1 -1
  197. package/dist/lib/monero/verify-lock.js +9 -24
  198. package/dist/lib/monero/verify-lock.js.map +1 -1
  199. package/dist/lib/monero/verify-sweep.d.ts +0 -20
  200. package/dist/lib/monero/verify-sweep.d.ts.map +1 -1
  201. package/dist/lib/monero/verify-sweep.js +7 -25
  202. package/dist/lib/monero/verify-sweep.js.map +1 -1
  203. package/dist/lib/pow-solver.d.ts.map +1 -1
  204. package/dist/lib/pow-solver.js +3 -8
  205. package/dist/lib/pow-solver.js.map +1 -1
  206. package/dist/lib/retry.d.ts +7 -64
  207. package/dist/lib/retry.d.ts.map +1 -1
  208. package/dist/lib/retry.js +13 -13
  209. package/dist/lib/retry.js.map +1 -1
  210. package/dist/portable.d.ts.map +1 -1
  211. package/dist/portable.js +3 -4
  212. package/dist/portable.js.map +1 -1
  213. package/dist/quote-binding.d.ts +0 -13
  214. package/dist/quote-binding.d.ts.map +1 -1
  215. package/dist/quote-binding.js +3 -18
  216. package/dist/quote-binding.js.map +1 -1
  217. package/dist/swap-executor.d.ts +1 -5
  218. package/dist/swap-executor.d.ts.map +1 -1
  219. package/dist/swap-executor.js +1 -1
  220. package/dist/swap-executor.js.map +1 -1
  221. package/dist/types/api.d.ts +0 -6
  222. package/dist/types/api.d.ts.map +1 -1
  223. package/dist/types/api.js +6 -9
  224. package/dist/types/api.js.map +1 -1
  225. package/dist/types/errors.d.ts +0 -7
  226. package/dist/types/errors.d.ts.map +1 -1
  227. package/dist/types/errors.js +2 -7
  228. package/dist/types/errors.js.map +1 -1
  229. package/dist/types/index.js +1 -1
  230. package/dist/types/index.js.map +1 -1
  231. package/dist/types/keys.d.ts +0 -15
  232. package/dist/types/keys.d.ts.map +1 -1
  233. package/dist/types/protocol.d.ts +0 -51
  234. package/dist/types/protocol.d.ts.map +1 -1
  235. package/dist/types/protocol.js +3 -8
  236. package/dist/types/protocol.js.map +1 -1
  237. package/dist/types/status.d.ts.map +1 -1
  238. package/dist/types/status.js +9 -14
  239. package/dist/types/status.js.map +1 -1
  240. package/dist/types/verification.d.ts +0 -10
  241. package/dist/types/verification.d.ts.map +1 -1
  242. package/dist/types/verification.js +7 -15
  243. package/dist/types/verification.js.map +1 -1
  244. package/dist/verification/chainflip-networks.d.ts +2 -35
  245. package/dist/verification/chainflip-networks.d.ts.map +1 -1
  246. package/dist/verification/chainflip-networks.js +12 -4
  247. package/dist/verification/chainflip-networks.js.map +1 -1
  248. package/dist/verification/chainflip.d.ts +0 -40
  249. package/dist/verification/chainflip.d.ts.map +1 -1
  250. package/dist/verification/chainflip.js +49 -129
  251. package/dist/verification/chainflip.js.map +1 -1
  252. package/dist/verification/constants.d.ts +0 -40
  253. package/dist/verification/constants.d.ts.map +1 -1
  254. package/dist/verification/constants.js +14 -40
  255. package/dist/verification/constants.js.map +1 -1
  256. package/dist/verification/index.d.ts +0 -26
  257. package/dist/verification/index.d.ts.map +1 -1
  258. package/dist/verification/index.js +8 -12
  259. package/dist/verification/index.js.map +1 -1
  260. package/dist/verification/memo.d.ts +0 -15
  261. package/dist/verification/memo.d.ts.map +1 -1
  262. package/dist/verification/memo.js +9 -27
  263. package/dist/verification/memo.js.map +1 -1
  264. package/dist/verification/near-intents.d.ts +0 -63
  265. package/dist/verification/near-intents.d.ts.map +1 -1
  266. package/dist/verification/near-intents.js +25 -67
  267. package/dist/verification/near-intents.js.map +1 -1
  268. package/dist/verification/rate-oracle.d.ts +0 -22
  269. package/dist/verification/rate-oracle.d.ts.map +1 -1
  270. package/dist/verification/rate-oracle.js +6 -11
  271. package/dist/verification/rate-oracle.js.map +1 -1
  272. package/dist/verification/thorchain-networks.d.ts +0 -27
  273. package/dist/verification/thorchain-networks.d.ts.map +1 -1
  274. package/dist/verification/thorchain-networks.js +13 -15
  275. package/dist/verification/thorchain-networks.js.map +1 -1
  276. package/dist/verification/thorchain.d.ts +0 -30
  277. package/dist/verification/thorchain.d.ts.map +1 -1
  278. package/dist/verification/thorchain.js +24 -47
  279. package/dist/verification/thorchain.js.map +1 -1
  280. package/dist/wasm-pins.d.ts +3 -3
  281. package/dist/wasm-pins.js +1 -1
  282. package/dist/wire/near-intents.zod.d.ts +0 -27
  283. package/dist/wire/near-intents.zod.d.ts.map +1 -1
  284. package/dist/wire/near-intents.zod.js +15 -23
  285. package/dist/wire/near-intents.zod.js.map +1 -1
  286. package/dist/wire/server/action.zod.d.ts +0 -10
  287. package/dist/wire/server/action.zod.d.ts.map +1 -1
  288. package/dist/wire/server/action.zod.js +8 -14
  289. package/dist/wire/server/action.zod.js.map +1 -1
  290. package/dist/wire/server/common.zod.d.ts +0 -13
  291. package/dist/wire/server/common.zod.d.ts.map +1 -1
  292. package/dist/wire/server/common.zod.js +6 -14
  293. package/dist/wire/server/common.zod.js.map +1 -1
  294. package/dist/wire/server/swap.zod.d.ts +0 -42
  295. package/dist/wire/server/swap.zod.d.ts.map +1 -1
  296. package/dist/wire/server/swap.zod.js +12 -26
  297. package/dist/wire/server/swap.zod.js.map +1 -1
  298. package/dist/wire/thorchain.zod.d.ts +0 -8
  299. package/dist/wire/thorchain.zod.d.ts.map +1 -1
  300. package/dist/wire/thorchain.zod.js +3 -8
  301. package/dist/wire/thorchain.zod.js.map +1 -1
  302. package/package.json +4 -5
  303. package/wasm/miradex-rust/README.md +3 -4
  304. package/wasm/miradex-rust/miradex_rust.d.ts +4 -6
  305. package/wasm/miradex-rust/miradex_rust.js +4 -6
  306. package/wasm/miradex-rust/miradex_rust_bg.wasm +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"output-scanner.js","sourceRoot":"","sources":["../../../src/lib/monero/output-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-scanner.js","sourceRoot":"","sources":["../../../src/lib/monero/output-scanner.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAmB9B,qEAAqE;AACrE,gEAAgE;AAChE,MAAM,UAAU,sBAAsB,CAAC,MAQtC;IACC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,MAAM,CAAC;IAEhI,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAC;QAC3F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAExF,IAAI,OAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACP,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,iCAAiC,CAClC,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,QAAoC,CAAC;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACP,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,EACxE,0BAA0B,CAC3B,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACxE,IAAI,CAAC,YAAY;YAAE,SAAS;QAE5B,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,cAAc,KAAK,YAAY,CAAC;QAEhD,IAAI,OAAO,EAAE,CAAC;YACZ,sEAAsE;YACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,MAAc,CAAC;YACnB,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;gBAChC,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CACN,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3E,mCAAmC,CACpC,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE9C,GAAG,CAAC,IAAI,CACN;gBACE,WAAW,EAAE,CAAC;gBACd,iBAAiB,EAAE,SAAS;gBAC5B,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,UAAU,EAAE,OAAO,CAAC,MAAM;aAC3B,EACD,uBAAuB,CACxB,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC;gBACX,gBAAgB,EAAE,YAAY;gBAC9B,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,CAAC;gBACd,iBAAiB,EAAE,SAAS;gBAC5B,MAAM;gBACN,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CACN,EAAE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAC/D,0BAA0B,CAC3B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,OAAmB,EAAE,WAAmB;IACnE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC,GAAG,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;AACnF,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,iBAAiB,CAAC,OAAmB,EAAE,WAAmB;IACxE,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACnE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,6DAA6D;AAC7D,oDAAoD;AACpD,gEAAgE;AAChE,4EAA4E;AAC5E,yEAAyE;AACzE,sEAAsE;AACtE,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAC3B,OAAmB,EACnB,WAAmB,EACnB,QAAiD;IAEjD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhF,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAChE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjC,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,GAAG,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACjB,CAAC,MAAM,CAAC,CAAC;QACT,IAAI,CAAC,KAAK,CAAC;YAAE,CAAC,IAAI,IAAI,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;IAClB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,24 +1,9 @@
1
- /**
2
- * Typed wrappers for monerod RPC endpoints.
3
- *
4
- * All functions use multi-node fallback: try each node in order until one succeeds.
5
- * Supports both binary RPC (POST to path) and JSON-RPC (POST to /json_rpc).
6
- * Works on restricted RPC port (18089/38089).
7
- */
8
1
  import type { Logger } from '../../interfaces/logger.js';
9
2
  export interface MonerodConfig {
10
3
  readonly nodes: readonly string[];
11
4
  readonly logger?: Logger;
12
5
  }
13
- /**
14
- * Default public Monero mainnet RPC endpoints. Source of truth lives in
15
- * `default-config.ts`; this re-export preserves the existing public name.
16
- */
17
6
  export declare const MAINNET_NODES: readonly string[];
18
- /**
19
- * Default public Monero stagenet RPC endpoints. Source of truth lives in
20
- * `default-config.ts`.
21
- */
22
7
  export declare const STAGENET_NODES: readonly string[];
23
8
  export interface MoneroTxJson {
24
9
  readonly extra: readonly number[];
@@ -61,10 +46,6 @@ export interface FeeEstimate {
61
46
  readonly feePerByte: number;
62
47
  readonly quantizationMask: number;
63
48
  }
64
- /**
65
- * Fetch a transaction by hash from monerod.
66
- * Returns the full parsed tx JSON, global output indices, and metadata.
67
- */
68
49
  export declare function fetchTransaction(config: MonerodConfig, txHash: string): Promise<FetchedTransaction>;
69
50
  export interface MoneroQuorumConfig {
70
51
  readonly nodes: readonly string[];
@@ -72,60 +53,15 @@ export interface MoneroQuorumConfig {
72
53
  readonly timeoutMs: number;
73
54
  readonly logger?: Logger;
74
55
  }
75
- /**
76
- * Fetch a transaction from `quorum`-many independent monerod nodes in parallel
77
- * and only return once at least that many nodes agree on the canonical fields
78
- * (extra, vout, ecdhInfo, unlock_time). Confirmations may differ by up to ±2.
79
- *
80
- * @throws {VerificationError} `E_MONERO_QUORUM` when too few nodes respond.
81
- * @security Closes AV-E.5 — single malicious node cannot forge a lock tx.
82
- */
83
56
  export declare function fetchTransactionQuorum(config: MoneroQuorumConfig, lockTxHash: string): Promise<FetchedTransaction>;
84
- /**
85
- * Fetch output public keys and commitments by global index.
86
- * Used for building the ring of decoys.
87
- */
88
57
  export declare function fetchOutputKeys(config: MonerodConfig, globalIndices: readonly number[]): Promise<readonly OutputKeyInfo[]>;
89
- /**
90
- * Get the current chain height from monerod.
91
- */
92
58
  export declare function fetchChainHeight(config: MonerodConfig): Promise<number>;
93
59
  export interface BroadcastResult {
94
60
  readonly txHash: string;
95
61
  readonly status: string;
96
- /** True if the tx was rejected because the key image is already spent.
97
- * This means we already broadcast this tx successfully in a previous attempt. */
98
62
  readonly alreadySpent: boolean;
99
63
  }
100
- /**
101
- * Broadcast a raw signed transaction to the Monero network.
102
- *
103
- * If the daemon returns `double_spend`, this is treated as a prior successful
104
- * broadcast (only we have the spend key, so we must have sent it before).
105
- * Returns `alreadySpent: true` instead of throwing.
106
- */
107
64
  export declare function broadcastTransaction(config: MonerodConfig, rawTxHex: string): Promise<BroadcastResult>;
108
- /**
109
- * Fetch the cumulative RCT output distribution per block.
110
- * Used for gamma distribution decoy selection.
111
- *
112
- * Returns an array where `distribution[i]` is the cumulative count
113
- * of RCT outputs up to and including block `i + startHeight`.
114
- */
115
- /**
116
- * Fetch the cumulative RCT output distribution per block.
117
- * Used for gamma distribution decoy selection.
118
- *
119
- * Returns the full cumulative distribution: `base` is added to each entry
120
- * so the array represents absolute cumulative counts from block 0.
121
- *
122
- * Must request with `binary: false` to get JSON-parseable data
123
- * (default binary format embeds raw bytes that break JSON.parse).
124
- */
125
65
  export declare function fetchOutputDistribution(config: MonerodConfig): Promise<readonly number[]>;
126
- /**
127
- * Get the current fee estimate from monerod.
128
- * Returns fee per byte in piconeros.
129
- */
130
66
  export declare function fetchFeeEstimate(config: MonerodConfig): Promise<FeeEstimate>;
131
67
  //# sourceMappingURL=rpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/rpc.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,11 @@
1
+ // Multi-node fallback: try each node in order until one succeeds. Supports
2
+ // binary RPC (POST to path) and JSON-RPC (POST /json_rpc). Works on the
3
+ // restricted RPC port (18089 / 38089).
1
4
  import { noopLogger } from '../../interfaces/logger.js';
2
5
  import { VerificationError } from '../../types/index.js';
3
6
  import { MONERO_MAINNET_NODES, MONERO_STAGENET_NODES, } from '../default-config.js';
4
- /**
5
- * Default public Monero mainnet RPC endpoints. Source of truth lives in
6
- * `default-config.ts`; this re-export preserves the existing public name.
7
- */
7
+ // Re-exports (source of truth in default-config.ts).
8
8
  export const MAINNET_NODES = MONERO_MAINNET_NODES;
9
- /**
10
- * Default public Monero stagenet RPC endpoints. Source of truth lives in
11
- * `default-config.ts`.
12
- */
13
9
  export const STAGENET_NODES = MONERO_STAGENET_NODES;
14
10
  async function tryNodes(config, label, makeRequest) {
15
11
  const log = config.logger ?? noopLogger;
@@ -27,10 +23,7 @@ async function tryNodes(config, label, makeRequest) {
27
23
  }
28
24
  throw new Error(`${label}: all ${String(config.nodes.length)} nodes failed. Errors: ${errors.join('; ')}`);
29
25
  }
30
- /**
31
- * Fetch a transaction by hash from monerod.
32
- * Returns the full parsed tx JSON, global output indices, and metadata.
33
- */
26
+ // Returns the parsed tx JSON, global output indices, and metadata.
34
27
  export async function fetchTransaction(config, txHash) {
35
28
  return tryNodes(config, 'get_transactions', async (nodeUrl) => {
36
29
  const response = await fetch(`${nodeUrl}/get_transactions`, {
@@ -60,14 +53,9 @@ export async function fetchTransaction(config, txHash) {
60
53
  };
61
54
  });
62
55
  }
63
- /**
64
- * Fetch a transaction from `quorum`-many independent monerod nodes in parallel
65
- * and only return once at least that many nodes agree on the canonical fields
66
- * (extra, vout, ecdhInfo, unlock_time). Confirmations may differ by up to ±2.
67
- *
68
- * @throws {VerificationError} `E_MONERO_QUORUM` when too few nodes respond.
69
- * @security Closes AV-E.5 — single malicious node cannot forge a lock tx.
70
- */
56
+ // AV-E.5: parallel quorum fetch from N nodes; require >=quorum to agree on
57
+ // canonical fields (extra, vout, ecdhInfo, unlock_time). Confirmations may
58
+ // drift by +/-2. Throws E_MONERO_QUORUM if too few nodes respond.
71
59
  export async function fetchTransactionQuorum(config, lockTxHash) {
72
60
  const log = config.logger ?? noopLogger;
73
61
  const attempts = config.nodes.map((url) => withTimeout(fetchTransaction({ nodes: [url], logger: log }, lockTxHash), config.timeoutMs));
@@ -121,10 +109,7 @@ async function withTimeout(promise, ms) {
121
109
  promise.then((value) => { clearTimeout(timer); resolve(value); }, (err) => { clearTimeout(timer); reject(err instanceof Error ? err : new Error(String(err))); });
122
110
  });
123
111
  }
124
- /**
125
- * Fetch output public keys and commitments by global index.
126
- * Used for building the ring of decoys.
127
- */
112
+ // Output public keys + commitments by global index. Used to build the ring.
128
113
  export async function fetchOutputKeys(config, globalIndices) {
129
114
  return tryNodes(config, 'get_outs', async (nodeUrl) => {
130
115
  const response = await fetch(`${nodeUrl}/get_outs`, {
@@ -144,9 +129,6 @@ export async function fetchOutputKeys(config, globalIndices) {
144
129
  return result.outs;
145
130
  });
146
131
  }
147
- /**
148
- * Get the current chain height from monerod.
149
- */
150
132
  export async function fetchChainHeight(config) {
151
133
  return tryNodes(config, 'get_info', async (nodeUrl) => {
152
134
  const response = await fetch(`${nodeUrl}/get_info`, {
@@ -162,13 +144,8 @@ export async function fetchChainHeight(config) {
162
144
  return result.height;
163
145
  });
164
146
  }
165
- /**
166
- * Broadcast a raw signed transaction to the Monero network.
167
- *
168
- * If the daemon returns `double_spend`, this is treated as a prior successful
169
- * broadcast (only we have the spend key, so we must have sent it before).
170
- * Returns `alreadySpent: true` instead of throwing.
171
- */
147
+ // double_spend is treated as a prior successful broadcast and returned as
148
+ // alreadySpent: true rather than thrown.
172
149
  export async function broadcastTransaction(config, rawTxHex) {
173
150
  return tryNodes(config, 'send_raw_transaction', async (nodeUrl) => {
174
151
  const response = await fetch(`${nodeUrl}/send_raw_transaction`, {
@@ -182,11 +159,9 @@ export async function broadcastTransaction(config, rawTxHex) {
182
159
  if (result.status === 'OK') {
183
160
  return { txHash: result.tx_hash ?? '', status: 'OK', alreadySpent: false };
184
161
  }
185
- // Double spend means we already broadcast this tx — treat as success
186
162
  if (result.double_spend) {
187
163
  return { txHash: '', status: 'double_spend', alreadySpent: true };
188
164
  }
189
- // Any other rejection is a real error
190
165
  const flags = Object.entries(result)
191
166
  .filter(([k, v]) => k !== 'status' && k !== 'reason' && k !== 'tx_hash' && v === true)
192
167
  .map(([k]) => k);
@@ -209,23 +184,10 @@ async function jsonRpc(nodeUrl, method, params) {
209
184
  throw new Error(`JSON-RPC returned no result for ${method}`);
210
185
  return result.result;
211
186
  }
212
- /**
213
- * Fetch the cumulative RCT output distribution per block.
214
- * Used for gamma distribution decoy selection.
215
- *
216
- * Returns an array where `distribution[i]` is the cumulative count
217
- * of RCT outputs up to and including block `i + startHeight`.
218
- */
219
- /**
220
- * Fetch the cumulative RCT output distribution per block.
221
- * Used for gamma distribution decoy selection.
222
- *
223
- * Returns the full cumulative distribution: `base` is added to each entry
224
- * so the array represents absolute cumulative counts from block 0.
225
- *
226
- * Must request with `binary: false` to get JSON-parseable data
227
- * (default binary format embeds raw bytes that break JSON.parse).
228
- */
187
+ // Cumulative RCT output distribution per block, used by the gamma decoy
188
+ // picker. Returns absolute cumulative counts from block 0 (base added per
189
+ // entry). Must request binary:false; the default binary format embeds raw
190
+ // bytes that break JSON.parse.
229
191
  export async function fetchOutputDistribution(config) {
230
192
  return tryNodes(config, 'get_output_distribution', async (nodeUrl) => {
231
193
  const result = await jsonRpc(nodeUrl, 'get_output_distribution', {
@@ -240,18 +202,14 @@ export async function fetchOutputDistribution(config) {
240
202
  const dist = result.distributions[0];
241
203
  if (!dist)
242
204
  throw new Error('Empty distributions array');
243
- // If from_height > 0, the distribution is relative to `base`.
244
- // Add base to get absolute cumulative counts.
205
+ // from_height > 0 returns a base-relative distribution; add base for absolute.
245
206
  if (dist.base > 0) {
246
207
  return dist.distribution.map((v) => v + dist.base);
247
208
  }
248
209
  return dist.distribution;
249
210
  });
250
211
  }
251
- /**
252
- * Get the current fee estimate from monerod.
253
- * Returns fee per byte in piconeros.
254
- */
212
+ // Fee per byte in piconeros.
255
213
  export async function fetchFeeEstimate(config) {
256
214
  return tryNodes(config, 'get_fee_estimate', async (nodeUrl) => {
257
215
  const result = await jsonRpc(nodeUrl, 'get_fee_estimate', { grace_blocks: 10 });
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/lib/monero/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/lib/monero/rpc.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,6 @@ export interface XmrLockVerification {
8
8
  readonly confirmations: number;
9
9
  /** Reason for failure (if not verified). */
10
10
  readonly reason?: string;
11
- /**
12
- * True when a failure is the user waiting for confirmations to accumulate.
13
- * Callers may retry after a delay. Any other failure is terminal and must
14
- * not be retried without human decision.
15
- */
16
11
  readonly retryable?: boolean;
17
12
  }
18
13
  export interface VerifyXmrLockParams {
@@ -39,12 +34,5 @@ export interface VerifyXmrLockParams {
39
34
  /** Logger. */
40
35
  readonly logger?: Logger;
41
36
  }
42
- /**
43
- * Verify that XMR is locked at the shared address by scanning the lock
44
- * transaction from a public Monero node.
45
- *
46
- * Call this BEFORE submitting encsig. If this returns verified: false,
47
- * DO NOT submit the encrypted signature.
48
- */
49
37
  export declare function verifyXmrLocked(params: VerifyXmrLockParams): Promise<XmrLockVerification>;
50
38
  //# sourceMappingURL=verify-lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-lock.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/verify-lock.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAWzD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc;IACd,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA8K9B"}
1
+ {"version":3,"file":"verify-lock.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/verify-lock.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAWzD,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,0DAA0D;IAC1D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc;IACd,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA4K9B"}
@@ -1,26 +1,13 @@
1
- /**
2
- * Client-side verification that XMR is locked at the shared address.
3
- *
4
- * Fetches the lock transaction from a public Monero node and scans its
5
- * outputs using the shared view key. This ensures the client doesn't
6
- * submit encsig (releasing BTC) unless the XMR is actually locked.
7
- *
8
- * Uses @noble/ed25519 + @noble/hashes — both already in dependencies.
9
- * No WASM, no heavy dependencies, no sidecar required.
10
- */
1
+ // Fetch the lock tx from a public monerod and scan its outputs with the
2
+ // shared view key. Gates submit_encsig (which releases BTC) on the XMR
3
+ // actually being locked. Pure @noble/ed25519 + @noble/hashes — no WASM.
11
4
  import { Point } from '@noble/ed25519';
12
5
  import { bytesToHex } from '@noble/hashes/utils.js';
13
6
  import { noopLogger } from '../../interfaces/logger.js';
14
7
  import { extractTxPubKey, hexToScalar, deriveScalar, decryptAmount, } from './output-scanner.js';
15
8
  import { fetchTransaction, fetchTransactionQuorum, STAGENET_NODES } from './rpc.js';
16
9
  const FAIL = { verified: false, amount: 0n, confirmations: 0 };
17
- /**
18
- * Verify that XMR is locked at the shared address by scanning the lock
19
- * transaction from a public Monero node.
20
- *
21
- * Call this BEFORE submitting encsig. If this returns verified: false,
22
- * DO NOT submit the encrypted signature.
23
- */
10
+ // Call BEFORE submit_encsig. verified:false => do not release the encsig.
24
11
  export async function verifyXmrLocked(params) {
25
12
  const { lockTxHash, viewKeyHex, spendPubHex, expectedAmount, minConfirmations = 10, txKeyHex, logger: log = noopLogger, } = params;
26
13
  const quorumNodes = params.monerodNodes;
@@ -41,8 +28,7 @@ export async function verifyXmrLocked(params) {
41
28
  catch (err) {
42
29
  const reason = `Could not fetch tx: ${err instanceof Error ? err.message : String(err)}`;
43
30
  log.warn({ lockTxHash, reason }, 'Monerod fetch failed; marking retryable');
44
- // Transient network / node failure — the caller should retry after a
45
- // backoff rather than treat this as a hard verification failure.
31
+ // Transient: caller backs off and retries.
46
32
  return { ...FAIL, reason, retryable: true };
47
33
  }
48
34
  if (confirmations < minConfirmations) {
@@ -54,9 +40,8 @@ export async function verifyXmrLocked(params) {
54
40
  retryable: true,
55
41
  };
56
42
  }
57
- // AV-A.5: a non-zero tx-level unlock_time keeps the output spend-locked past
58
- // the cancel window. There is no legitimate reason for a swap-lock tx to use
59
- // it, so treat any non-zero value as a griefing attempt.
43
+ // AV-A.5: tx-level unlock_time != 0 keeps the output spend-locked past the
44
+ // cancel window. No legitimate swap-lock tx uses it; reject as griefing.
60
45
  if (txJson.unlock_time !== undefined && txJson.unlock_time !== 0) {
61
46
  return {
62
47
  verified: false,
@@ -120,8 +105,8 @@ export async function verifyXmrLocked(params) {
120
105
  const output = txJson.vout[i];
121
106
  if (!output)
122
107
  continue;
123
- // AV-A.5: skip per-output unlock_time != 0 so a mixed lock tx can still
124
- // match if its honest output is the target.
108
+ // AV-A.5: skip per-output unlock_time != 0 so a mixed lock tx still
109
+ // matches when the honest output is our target.
125
110
  if (output.unlock_time !== undefined && output.unlock_time !== 0)
126
111
  continue;
127
112
  const outputKeyHex = output.target.tagged_key?.key ?? output.target.key;
@@ -1 +1 @@
1
- {"version":3,"file":"verify-lock.js","sourceRoot":"","sources":["../../../src/lib/monero/verify-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-lock.js","sourceRoot":"","sources":["../../../src/lib/monero/verify-lock.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,3 @@
1
- /**
2
- * Verify a sweep transaction's construction data before signing.
3
- *
4
- * Checks that:
5
- * 1. The destination address matches the expected receive address
6
- * 2. The amount is positive
7
- * 3. The fee is reasonable (not zero, not more than 10% of amount)
8
- * 4. The inputs exist and have valid ring sizes
9
- *
10
- * This runs in TypeScript (not WASM) so business rules like fee caps
11
- * can be updated without recompiling Rust.
12
- */
13
1
  import type { Logger } from '../../interfaces/logger.js';
14
2
  export interface SweepConstructionData {
15
3
  readonly inputs: readonly SweepInputData[];
@@ -46,14 +34,6 @@ export interface SweepVerificationResult {
46
34
  readonly fee: string;
47
35
  readonly reason?: string;
48
36
  }
49
- /**
50
- * Verify sweep construction data before signing.
51
- *
52
- * @param constructionData - Full construction data from server
53
- * @param expectedAddress - The client's XMR receive address
54
- * @param logger - Optional structured logger
55
- * @returns Verification result with amount, fee, and reason if invalid
56
- */
57
37
  export declare function verifySweepTx(constructionData: SweepConstructionData, expectedAddress: string, logger?: Logger): SweepVerificationResult;
58
38
  export {};
59
39
  //# sourceMappingURL=verify-sweep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-sweep.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/verify-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,qBAAqB,EACvC,eAAe,EAAE,MAAM,EACvB,MAAM,GAAE,MAAmB,GAC1B,uBAAuB,CAqEzB"}
1
+ {"version":3,"file":"verify-sweep.d.ts","sourceRoot":"","sources":["../../../src/lib/monero/verify-sweep.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAMzD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,qBAAqB,EACvC,eAAe,EAAE,MAAM,EACvB,MAAM,GAAE,MAAmB,GAC1B,uBAAuB,CAiEzB"}
@@ -1,43 +1,26 @@
1
- /**
2
- * Verify a sweep transaction's construction data before signing.
3
- *
4
- * Checks that:
5
- * 1. The destination address matches the expected receive address
6
- * 2. The amount is positive
7
- * 3. The fee is reasonable (not zero, not more than 10% of amount)
8
- * 4. The inputs exist and have valid ring sizes
9
- *
10
- * This runs in TypeScript (not WASM) so business rules like fee caps
11
- * can be updated without recompiling Rust.
12
- */
1
+ // Pre-sign sanity check for sweep construction data:
2
+ // 1. destination matches the expected receive address
3
+ // 2. amount is positive
4
+ // 3. fee is positive and <= 10% of amount
5
+ // 4. inputs exist and ring sizes match the rct_type
6
+ // Lives in TS (not WASM) so business rules can change without rebuilding Rust.
13
7
  import { noopLogger } from '../../interfaces/logger.js';
14
8
  const CLSAG_RING_SIZE = 16;
15
9
  const PRE_CLSAG_RING_SIZE = 11;
16
- /**
17
- * Verify sweep construction data before signing.
18
- *
19
- * @param constructionData - Full construction data from server
20
- * @param expectedAddress - The client's XMR receive address
21
- * @param logger - Optional structured logger
22
- * @returns Verification result with amount, fee, and reason if invalid
23
- */
24
10
  export function verifySweepTx(constructionData, expectedAddress, logger = noopLogger) {
25
11
  const amount = String(constructionData.destination.amount);
26
12
  const fee = String(constructionData.fee);
27
- // 1. Destination address must match exactly
28
13
  if (constructionData.destination.address !== expectedAddress) {
29
14
  const reason = `Destination mismatch: expected ${expectedAddress}, got ${constructionData.destination.address}`;
30
15
  logger.error({ expectedAddress, got: constructionData.destination.address }, reason);
31
16
  return { valid: false, amount, fee, reason };
32
17
  }
33
- // 2. Amount must be positive
34
18
  const amountNum = BigInt(amount);
35
19
  if (amountNum <= 0n) {
36
20
  const reason = `Sweep amount must be positive, got ${amount}`;
37
21
  logger.error({ amount }, reason);
38
22
  return { valid: false, amount, fee, reason };
39
23
  }
40
- // 3. Fee must be positive and not exceed 10% of amount
41
24
  const feeNum = BigInt(fee);
42
25
  if (feeNum <= 0n) {
43
26
  const reason = `Fee must be positive, got ${fee}`;
@@ -50,13 +33,12 @@ export function verifySweepTx(constructionData, expectedAddress, logger = noopLo
50
33
  logger.warn({ fee, amount, maxFee: maxFee.toString() }, reason);
51
34
  return { valid: false, amount, fee, reason };
52
35
  }
53
- // 4. Must have at least one input
54
36
  if (constructionData.inputs.length === 0) {
55
37
  const reason = 'No inputs in construction data';
56
38
  logger.error({}, reason);
57
39
  return { valid: false, amount, fee, reason };
58
40
  }
59
- // 5. Ring size must match RCT type (CLSAG+BP+ or CLSAG+BP)
41
+ // rct_type 6 = CLSAG+BP+; otherwise CLSAG+BP.
60
42
  const expectedRingSize = constructionData.rct_type === 6 ? CLSAG_RING_SIZE : PRE_CLSAG_RING_SIZE;
61
43
  for (let i = 0; i < constructionData.inputs.length; i++) {
62
44
  const input = constructionData.inputs[i];
@@ -1 +1 @@
1
- {"version":3,"file":"verify-sweep.js","sourceRoot":"","sources":["../../../src/lib/monero/verify-sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-sweep.js","sourceRoot":"","sources":["../../../src/lib/monero/verify-sweep.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pow-solver.d.ts","sourceRoot":"","sources":["../../src/lib/pow-solver.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIlE,wBAAsB,cAAc,CAClC,SAAS,EAAE,YAAY,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,UAAU,CAAC,CA0BrB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"pow-solver.d.ts","sourceRoot":"","sources":["../../src/lib/pow-solver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIlE,wBAAsB,cAAc,CAClC,SAAS,EAAE,YAAY,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,OAAO,CAAC,UAAU,CAAC,CA0BrB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE3D"}
@@ -1,11 +1,6 @@
1
- /**
2
- * Proof-of-work solver for swap creation.
3
- *
4
- * The server issues a SHA-256 hash-preimage challenge: given a salt and a
5
- * target hash, find a number n in [0, maxnumber] such that
6
- * SHA-256(salt + String(n)) === challenge. The solution is sent as a
7
- * Base64-encoded JSON header on the swap creation request.
8
- */
1
+ // Server issues a SHA-256 preimage challenge: given salt + target hash,
2
+ // find n in [0, maxnumber] such that sha256(salt + String(n)) === target.
3
+ // Solution is sent as a base64 JSON header on the swap-create request.
9
4
  import { sha256 } from '@noble/hashes/sha2.js';
10
5
  import { bytesToHex } from '@noble/hashes/utils.js';
11
6
  const BATCH_SIZE = 10_000;
@@ -1 +1 @@
1
- {"version":3,"file":"pow-solver.js","sourceRoot":"","sources":["../../src/lib/pow-solver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAuB,EACvB,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAEzD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE,CAAC;oBACT,IAAI;oBACJ,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7B,sEAAsE;QACtE,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"pow-solver.js","sourceRoot":"","sources":["../../src/lib/pow-solver.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAuB,EACvB,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAEzD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,SAAS,EAAE,MAAM;oBACjB,MAAM,EAAE,CAAC;oBACT,IAAI;oBACJ,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7B,sEAAsE;QACtE,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC"}