@miradexio/client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +405 -0
  3. package/dist/address/base58.d.ts +9 -0
  4. package/dist/address/base58.d.ts.map +1 -0
  5. package/dist/address/base58.js +33 -0
  6. package/dist/address/base58.js.map +1 -0
  7. package/dist/address/bech32.d.ts +13 -0
  8. package/dist/address/bech32.d.ts.map +1 -0
  9. package/dist/address/bech32.js +41 -0
  10. package/dist/address/bech32.js.map +1 -0
  11. package/dist/address/evm.d.ts +5 -0
  12. package/dist/address/evm.d.ts.map +1 -0
  13. package/dist/address/evm.js +27 -0
  14. package/dist/address/evm.js.map +1 -0
  15. package/dist/address/index.d.ts +15 -0
  16. package/dist/address/index.d.ts.map +1 -0
  17. package/dist/address/index.js +134 -0
  18. package/dist/address/index.js.map +1 -0
  19. package/dist/address/monero.d.ts +15 -0
  20. package/dist/address/monero.d.ts.map +1 -0
  21. package/dist/address/monero.js +30 -0
  22. package/dist/address/monero.js.map +1 -0
  23. package/dist/address/polkadot.d.ts +10 -0
  24. package/dist/address/polkadot.d.ts.map +1 -0
  25. package/dist/address/polkadot.js +36 -0
  26. package/dist/address/polkadot.js.map +1 -0
  27. package/dist/address/solana.d.ts +5 -0
  28. package/dist/address/solana.d.ts.map +1 -0
  29. package/dist/address/solana.js +17 -0
  30. package/dist/address/solana.js.map +1 -0
  31. package/dist/address/ton.d.ts +11 -0
  32. package/dist/address/ton.d.ts.map +1 -0
  33. package/dist/address/ton.js +28 -0
  34. package/dist/address/ton.js.map +1 -0
  35. package/dist/api/index.d.ts +80 -0
  36. package/dist/api/index.d.ts.map +1 -0
  37. package/dist/api/index.js +213 -0
  38. package/dist/api/index.js.map +1 -0
  39. package/dist/atomic-swap/drive.d.ts +22 -0
  40. package/dist/atomic-swap/drive.d.ts.map +1 -0
  41. package/dist/atomic-swap/drive.js +713 -0
  42. package/dist/atomic-swap/drive.js.map +1 -0
  43. package/dist/atomic-swap/extract.d.ts +46 -0
  44. package/dist/atomic-swap/extract.d.ts.map +1 -0
  45. package/dist/atomic-swap/extract.js +55 -0
  46. package/dist/atomic-swap/extract.js.map +1 -0
  47. package/dist/atomic-swap/index.d.ts +15 -0
  48. package/dist/atomic-swap/index.d.ts.map +1 -0
  49. package/dist/atomic-swap/index.js +13 -0
  50. package/dist/atomic-swap/index.js.map +1 -0
  51. package/dist/atomic-swap/monero-sweep/errors.d.ts +2 -0
  52. package/dist/atomic-swap/monero-sweep/errors.d.ts.map +1 -0
  53. package/dist/atomic-swap/monero-sweep/errors.js +43 -0
  54. package/dist/atomic-swap/monero-sweep/errors.js.map +1 -0
  55. package/dist/atomic-swap/monero-sweep/index.d.ts +33 -0
  56. package/dist/atomic-swap/monero-sweep/index.d.ts.map +1 -0
  57. package/dist/atomic-swap/monero-sweep/index.js +415 -0
  58. package/dist/atomic-swap/monero-sweep/index.js.map +1 -0
  59. package/dist/atomic-swap/monero-sweep/ring-select.d.ts +12 -0
  60. package/dist/atomic-swap/monero-sweep/ring-select.d.ts.map +1 -0
  61. package/dist/atomic-swap/monero-sweep/ring-select.js +61 -0
  62. package/dist/atomic-swap/monero-sweep/ring-select.js.map +1 -0
  63. package/dist/atomic-swap/presign.d.ts +101 -0
  64. package/dist/atomic-swap/presign.d.ts.map +1 -0
  65. package/dist/atomic-swap/presign.js +460 -0
  66. package/dist/atomic-swap/presign.js.map +1 -0
  67. package/dist/atomic-swap/refund.d.ts +72 -0
  68. package/dist/atomic-swap/refund.d.ts.map +1 -0
  69. package/dist/atomic-swap/refund.js +224 -0
  70. package/dist/atomic-swap/refund.js.map +1 -0
  71. package/dist/atomic-swap/run.d.ts +27 -0
  72. package/dist/atomic-swap/run.d.ts.map +1 -0
  73. package/dist/atomic-swap/run.js +282 -0
  74. package/dist/atomic-swap/run.js.map +1 -0
  75. package/dist/atomic-swap/snapshot.d.ts +111 -0
  76. package/dist/atomic-swap/snapshot.d.ts.map +1 -0
  77. package/dist/atomic-swap/snapshot.js +69 -0
  78. package/dist/atomic-swap/snapshot.js.map +1 -0
  79. package/dist/atomic-swap/submit-encsig.d.ts +10 -0
  80. package/dist/atomic-swap/submit-encsig.d.ts.map +1 -0
  81. package/dist/atomic-swap/submit-encsig.js +56 -0
  82. package/dist/atomic-swap/submit-encsig.js.map +1 -0
  83. package/dist/atomic-swap/types.d.ts +168 -0
  84. package/dist/atomic-swap/types.d.ts.map +1 -0
  85. package/dist/atomic-swap/types.js +5 -0
  86. package/dist/atomic-swap/types.js.map +1 -0
  87. package/dist/blockchain/quorum-provider.d.ts +25 -0
  88. package/dist/blockchain/quorum-provider.d.ts.map +1 -0
  89. package/dist/blockchain/quorum-provider.js +144 -0
  90. package/dist/blockchain/quorum-provider.js.map +1 -0
  91. package/dist/cooperative-redeem.d.ts +23 -0
  92. package/dist/cooperative-redeem.d.ts.map +1 -0
  93. package/dist/cooperative-redeem.js +40 -0
  94. package/dist/cooperative-redeem.js.map +1 -0
  95. package/dist/engine/blockchain-querier.d.ts +34 -0
  96. package/dist/engine/blockchain-querier.d.ts.map +1 -0
  97. package/dist/engine/blockchain-querier.js +2 -0
  98. package/dist/engine/blockchain-querier.js.map +1 -0
  99. package/dist/engine/engine-state.d.ts +20 -0
  100. package/dist/engine/engine-state.d.ts.map +1 -0
  101. package/dist/engine/engine-state.js +9 -0
  102. package/dist/engine/engine-state.js.map +1 -0
  103. package/dist/engine/flow-context.d.ts +494 -0
  104. package/dist/engine/flow-context.d.ts.map +1 -0
  105. package/dist/engine/flow-context.js +147 -0
  106. package/dist/engine/flow-context.js.map +1 -0
  107. package/dist/engine/flows/atomic-flow-state.d.ts +124 -0
  108. package/dist/engine/flows/atomic-flow-state.d.ts.map +1 -0
  109. package/dist/engine/flows/atomic-flow-state.js +2 -0
  110. package/dist/engine/flows/atomic-flow-state.js.map +1 -0
  111. package/dist/engine/flows/atomic-flow.d.ts +88 -0
  112. package/dist/engine/flows/atomic-flow.d.ts.map +1 -0
  113. package/dist/engine/flows/atomic-flow.js +1192 -0
  114. package/dist/engine/flows/atomic-flow.js.map +1 -0
  115. package/dist/engine/flows/history-flow-state.d.ts +19 -0
  116. package/dist/engine/flows/history-flow-state.d.ts.map +1 -0
  117. package/dist/engine/flows/history-flow-state.js +2 -0
  118. package/dist/engine/flows/history-flow-state.js.map +1 -0
  119. package/dist/engine/flows/providers-flow-state.d.ts +14 -0
  120. package/dist/engine/flows/providers-flow-state.d.ts.map +1 -0
  121. package/dist/engine/flows/providers-flow-state.js +2 -0
  122. package/dist/engine/flows/providers-flow-state.js.map +1 -0
  123. package/dist/engine/flows/quote-flow-state.d.ts +20 -0
  124. package/dist/engine/flows/quote-flow-state.d.ts.map +1 -0
  125. package/dist/engine/flows/quote-flow-state.js +2 -0
  126. package/dist/engine/flows/quote-flow-state.js.map +1 -0
  127. package/dist/engine/flows/swap-flow-state.d.ts +155 -0
  128. package/dist/engine/flows/swap-flow-state.d.ts.map +1 -0
  129. package/dist/engine/flows/swap-flow-state.js +2 -0
  130. package/dist/engine/flows/swap-flow-state.js.map +1 -0
  131. package/dist/engine/flows/swap-flow.d.ts +81 -0
  132. package/dist/engine/flows/swap-flow.d.ts.map +1 -0
  133. package/dist/engine/flows/swap-flow.js +720 -0
  134. package/dist/engine/flows/swap-flow.js.map +1 -0
  135. package/dist/engine/flows/tokens-flow-state.d.ts +16 -0
  136. package/dist/engine/flows/tokens-flow-state.d.ts.map +1 -0
  137. package/dist/engine/flows/tokens-flow-state.js +2 -0
  138. package/dist/engine/flows/tokens-flow-state.js.map +1 -0
  139. package/dist/engine/miradex-engine.d.ts +152 -0
  140. package/dist/engine/miradex-engine.d.ts.map +1 -0
  141. package/dist/engine/miradex-engine.js +278 -0
  142. package/dist/engine/miradex-engine.js.map +1 -0
  143. package/dist/engine/pipeline.d.ts +27 -0
  144. package/dist/engine/pipeline.d.ts.map +1 -0
  145. package/dist/engine/pipeline.js +166 -0
  146. package/dist/engine/pipeline.js.map +1 -0
  147. package/dist/engine/platform.d.ts +220 -0
  148. package/dist/engine/platform.d.ts.map +1 -0
  149. package/dist/engine/platform.js +2 -0
  150. package/dist/engine/platform.js.map +1 -0
  151. package/dist/index.d.ts +85 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +62 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/interfaces/blockchain.d.ts +33 -0
  156. package/dist/interfaces/blockchain.d.ts.map +1 -0
  157. package/dist/interfaces/blockchain.js +2 -0
  158. package/dist/interfaces/blockchain.js.map +1 -0
  159. package/dist/interfaces/logger.d.ts +14 -0
  160. package/dist/interfaces/logger.d.ts.map +1 -0
  161. package/dist/interfaces/logger.js +7 -0
  162. package/dist/interfaces/logger.js.map +1 -0
  163. package/dist/lib/bitcoin/deposit-watcher.d.ts +66 -0
  164. package/dist/lib/bitcoin/deposit-watcher.d.ts.map +1 -0
  165. package/dist/lib/bitcoin/deposit-watcher.js +218 -0
  166. package/dist/lib/bitcoin/deposit-watcher.js.map +1 -0
  167. package/dist/lib/bitcoin/script-hash.d.ts +8 -0
  168. package/dist/lib/bitcoin/script-hash.d.ts.map +1 -0
  169. package/dist/lib/bitcoin/script-hash.js +29 -0
  170. package/dist/lib/bitcoin/script-hash.js.map +1 -0
  171. package/dist/lib/bitcoin/sweep.d.ts +56 -0
  172. package/dist/lib/bitcoin/sweep.d.ts.map +1 -0
  173. package/dist/lib/bitcoin/sweep.js +185 -0
  174. package/dist/lib/bitcoin/sweep.js.map +1 -0
  175. package/dist/lib/bitcoin/tx-verify.d.ts +43 -0
  176. package/dist/lib/bitcoin/tx-verify.d.ts.map +1 -0
  177. package/dist/lib/bitcoin/tx-verify.js +202 -0
  178. package/dist/lib/bitcoin/tx-verify.js.map +1 -0
  179. package/dist/lib/bitcoin/wallet.d.ts +71 -0
  180. package/dist/lib/bitcoin/wallet.d.ts.map +1 -0
  181. package/dist/lib/bitcoin/wallet.js +141 -0
  182. package/dist/lib/bitcoin/wallet.js.map +1 -0
  183. package/dist/lib/crypto/bytes.d.ts +21 -0
  184. package/dist/lib/crypto/bytes.d.ts.map +1 -0
  185. package/dist/lib/crypto/bytes.js +39 -0
  186. package/dist/lib/crypto/bytes.js.map +1 -0
  187. package/dist/lib/crypto/errors.d.ts +12 -0
  188. package/dist/lib/crypto/errors.d.ts.map +1 -0
  189. package/dist/lib/crypto/errors.js +16 -0
  190. package/dist/lib/crypto/errors.js.map +1 -0
  191. package/dist/lib/crypto/keygen.d.ts +19 -0
  192. package/dist/lib/crypto/keygen.d.ts.map +1 -0
  193. package/dist/lib/crypto/keygen.js +24 -0
  194. package/dist/lib/crypto/keygen.js.map +1 -0
  195. package/dist/lib/crypto/libp2p-identity.d.ts +25 -0
  196. package/dist/lib/crypto/libp2p-identity.d.ts.map +1 -0
  197. package/dist/lib/crypto/libp2p-identity.js +80 -0
  198. package/dist/lib/crypto/libp2p-identity.js.map +1 -0
  199. package/dist/lib/crypto/mnemonic.d.ts +28 -0
  200. package/dist/lib/crypto/mnemonic.d.ts.map +1 -0
  201. package/dist/lib/crypto/mnemonic.js +97 -0
  202. package/dist/lib/crypto/mnemonic.js.map +1 -0
  203. package/dist/lib/crypto/platform.d.ts +10 -0
  204. package/dist/lib/crypto/platform.d.ts.map +1 -0
  205. package/dist/lib/crypto/platform.js +38 -0
  206. package/dist/lib/crypto/platform.js.map +1 -0
  207. package/dist/lib/crypto/scalars.d.ts +33 -0
  208. package/dist/lib/crypto/scalars.d.ts.map +1 -0
  209. package/dist/lib/crypto/scalars.js +81 -0
  210. package/dist/lib/crypto/scalars.js.map +1 -0
  211. package/dist/lib/crypto/types.d.ts +24 -0
  212. package/dist/lib/crypto/types.d.ts.map +1 -0
  213. package/dist/lib/crypto/types.js +2 -0
  214. package/dist/lib/crypto/types.js.map +1 -0
  215. package/dist/lib/crypto/wasm.d.ts +51 -0
  216. package/dist/lib/crypto/wasm.d.ts.map +1 -0
  217. package/dist/lib/crypto/wasm.js +192 -0
  218. package/dist/lib/crypto/wasm.js.map +1 -0
  219. package/dist/lib/default-config.d.ts +140 -0
  220. package/dist/lib/default-config.d.ts.map +1 -0
  221. package/dist/lib/default-config.js +239 -0
  222. package/dist/lib/default-config.js.map +1 -0
  223. package/dist/lib/delay.d.ts +6 -0
  224. package/dist/lib/delay.d.ts.map +1 -0
  225. package/dist/lib/delay.js +20 -0
  226. package/dist/lib/delay.js.map +1 -0
  227. package/dist/lib/errors.d.ts +90 -0
  228. package/dist/lib/errors.d.ts.map +1 -0
  229. package/dist/lib/errors.js +129 -0
  230. package/dist/lib/errors.js.map +1 -0
  231. package/dist/lib/format.d.ts +7 -0
  232. package/dist/lib/format.d.ts.map +1 -0
  233. package/dist/lib/format.js +43 -0
  234. package/dist/lib/format.js.map +1 -0
  235. package/dist/lib/keystore.d.ts +85 -0
  236. package/dist/lib/keystore.d.ts.map +1 -0
  237. package/dist/lib/keystore.js +105 -0
  238. package/dist/lib/keystore.js.map +1 -0
  239. package/dist/lib/monero/output-scanner.d.ts +53 -0
  240. package/dist/lib/monero/output-scanner.d.ts.map +1 -0
  241. package/dist/lib/monero/output-scanner.js +180 -0
  242. package/dist/lib/monero/output-scanner.js.map +1 -0
  243. package/dist/lib/monero/rpc.d.ts +131 -0
  244. package/dist/lib/monero/rpc.d.ts.map +1 -0
  245. package/dist/lib/monero/rpc.js +267 -0
  246. package/dist/lib/monero/rpc.js.map +1 -0
  247. package/dist/lib/monero/verify-lock.d.ts +50 -0
  248. package/dist/lib/monero/verify-lock.d.ts.map +1 -0
  249. package/dist/lib/monero/verify-lock.js +161 -0
  250. package/dist/lib/monero/verify-lock.js.map +1 -0
  251. package/dist/lib/monero/verify-sweep.d.ts +59 -0
  252. package/dist/lib/monero/verify-sweep.d.ts.map +1 -0
  253. package/dist/lib/monero/verify-sweep.js +82 -0
  254. package/dist/lib/monero/verify-sweep.js.map +1 -0
  255. package/dist/lib/monero/wasm.d.ts +19 -0
  256. package/dist/lib/monero/wasm.d.ts.map +1 -0
  257. package/dist/lib/monero/wasm.js +24 -0
  258. package/dist/lib/monero/wasm.js.map +1 -0
  259. package/dist/lib/pow-solver.d.ts +4 -0
  260. package/dist/lib/pow-solver.d.ts.map +1 -0
  261. package/dist/lib/pow-solver.js +37 -0
  262. package/dist/lib/pow-solver.js.map +1 -0
  263. package/dist/lib/retry.d.ts +86 -0
  264. package/dist/lib/retry.d.ts.map +1 -0
  265. package/dist/lib/retry.js +104 -0
  266. package/dist/lib/retry.js.map +1 -0
  267. package/dist/portable.d.ts +23 -0
  268. package/dist/portable.d.ts.map +1 -0
  269. package/dist/portable.js +13 -0
  270. package/dist/portable.js.map +1 -0
  271. package/dist/quote-binding.d.ts +31 -0
  272. package/dist/quote-binding.d.ts.map +1 -0
  273. package/dist/quote-binding.js +40 -0
  274. package/dist/quote-binding.js.map +1 -0
  275. package/dist/swap-executor.d.ts +51 -0
  276. package/dist/swap-executor.d.ts.map +1 -0
  277. package/dist/swap-executor.js +138 -0
  278. package/dist/swap-executor.js.map +1 -0
  279. package/dist/types/api.d.ts +34 -0
  280. package/dist/types/api.d.ts.map +1 -0
  281. package/dist/types/api.js +18 -0
  282. package/dist/types/api.js.map +1 -0
  283. package/dist/types/errors.d.ts +94 -0
  284. package/dist/types/errors.d.ts.map +1 -0
  285. package/dist/types/errors.js +93 -0
  286. package/dist/types/errors.js.map +1 -0
  287. package/dist/types/index.d.ts +8 -0
  288. package/dist/types/index.d.ts.map +1 -0
  289. package/dist/types/index.js +10 -0
  290. package/dist/types/index.js.map +1 -0
  291. package/dist/types/keys.d.ts +33 -0
  292. package/dist/types/keys.d.ts.map +1 -0
  293. package/dist/types/keys.js +2 -0
  294. package/dist/types/keys.js.map +1 -0
  295. package/dist/types/protocol.d.ts +93 -0
  296. package/dist/types/protocol.d.ts.map +1 -0
  297. package/dist/types/protocol.js +18 -0
  298. package/dist/types/protocol.js.map +1 -0
  299. package/dist/types/status.d.ts +3 -0
  300. package/dist/types/status.d.ts.map +1 -0
  301. package/dist/types/status.js +23 -0
  302. package/dist/types/status.js.map +1 -0
  303. package/dist/types/verification.d.ts +49 -0
  304. package/dist/types/verification.d.ts.map +1 -0
  305. package/dist/types/verification.js +34 -0
  306. package/dist/types/verification.js.map +1 -0
  307. package/dist/verification/atomic-swap.d.ts +9 -0
  308. package/dist/verification/atomic-swap.d.ts.map +1 -0
  309. package/dist/verification/atomic-swap.js +22 -0
  310. package/dist/verification/atomic-swap.js.map +1 -0
  311. package/dist/verification/chainflip-networks.d.ts +46 -0
  312. package/dist/verification/chainflip-networks.d.ts.map +1 -0
  313. package/dist/verification/chainflip-networks.js +24 -0
  314. package/dist/verification/chainflip-networks.js.map +1 -0
  315. package/dist/verification/chainflip.d.ts +61 -0
  316. package/dist/verification/chainflip.d.ts.map +1 -0
  317. package/dist/verification/chainflip.js +377 -0
  318. package/dist/verification/chainflip.js.map +1 -0
  319. package/dist/verification/constants.d.ts +52 -0
  320. package/dist/verification/constants.d.ts.map +1 -0
  321. package/dist/verification/constants.js +54 -0
  322. package/dist/verification/constants.js.map +1 -0
  323. package/dist/verification/index.d.ts +71 -0
  324. package/dist/verification/index.d.ts.map +1 -0
  325. package/dist/verification/index.js +91 -0
  326. package/dist/verification/index.js.map +1 -0
  327. package/dist/verification/memo.d.ts +27 -0
  328. package/dist/verification/memo.d.ts.map +1 -0
  329. package/dist/verification/memo.js +52 -0
  330. package/dist/verification/memo.js.map +1 -0
  331. package/dist/verification/near-intents.d.ts +91 -0
  332. package/dist/verification/near-intents.d.ts.map +1 -0
  333. package/dist/verification/near-intents.js +213 -0
  334. package/dist/verification/near-intents.js.map +1 -0
  335. package/dist/verification/rate-oracle.d.ts +32 -0
  336. package/dist/verification/rate-oracle.d.ts.map +1 -0
  337. package/dist/verification/rate-oracle.js +43 -0
  338. package/dist/verification/rate-oracle.js.map +1 -0
  339. package/dist/verification/shared.d.ts +20 -0
  340. package/dist/verification/shared.d.ts.map +1 -0
  341. package/dist/verification/shared.js +25 -0
  342. package/dist/verification/shared.js.map +1 -0
  343. package/dist/verification/thorchain-networks.d.ts +35 -0
  344. package/dist/verification/thorchain-networks.d.ts.map +1 -0
  345. package/dist/verification/thorchain-networks.js +35 -0
  346. package/dist/verification/thorchain-networks.js.map +1 -0
  347. package/dist/verification/thorchain.d.ts +55 -0
  348. package/dist/verification/thorchain.d.ts.map +1 -0
  349. package/dist/verification/thorchain.js +232 -0
  350. package/dist/verification/thorchain.js.map +1 -0
  351. package/dist/wasm-pins.d.ts +4 -0
  352. package/dist/wasm-pins.d.ts.map +1 -0
  353. package/dist/wasm-pins.js +6 -0
  354. package/dist/wasm-pins.js.map +1 -0
  355. package/dist/wire/chainflip.zod.d.ts +144 -0
  356. package/dist/wire/chainflip.zod.d.ts.map +1 -0
  357. package/dist/wire/chainflip.zod.js +33 -0
  358. package/dist/wire/chainflip.zod.js.map +1 -0
  359. package/dist/wire/near-intents.zod.d.ts +376 -0
  360. package/dist/wire/near-intents.zod.d.ts.map +1 -0
  361. package/dist/wire/near-intents.zod.js +101 -0
  362. package/dist/wire/near-intents.zod.js.map +1 -0
  363. package/dist/wire/server/action.zod.d.ts +1119 -0
  364. package/dist/wire/server/action.zod.d.ts.map +1 -0
  365. package/dist/wire/server/action.zod.js +173 -0
  366. package/dist/wire/server/action.zod.js.map +1 -0
  367. package/dist/wire/server/common.zod.d.ts +62 -0
  368. package/dist/wire/server/common.zod.d.ts.map +1 -0
  369. package/dist/wire/server/common.zod.js +43 -0
  370. package/dist/wire/server/common.zod.js.map +1 -0
  371. package/dist/wire/server/index.d.ts +8 -0
  372. package/dist/wire/server/index.d.ts.map +1 -0
  373. package/dist/wire/server/index.js +8 -0
  374. package/dist/wire/server/index.js.map +1 -0
  375. package/dist/wire/server/pow.zod.d.ts +45 -0
  376. package/dist/wire/server/pow.zod.d.ts.map +1 -0
  377. package/dist/wire/server/pow.zod.js +18 -0
  378. package/dist/wire/server/pow.zod.js.map +1 -0
  379. package/dist/wire/server/quotes.zod.d.ts +694 -0
  380. package/dist/wire/server/quotes.zod.d.ts.map +1 -0
  381. package/dist/wire/server/quotes.zod.js +103 -0
  382. package/dist/wire/server/quotes.zod.js.map +1 -0
  383. package/dist/wire/server/swap.zod.d.ts +1981 -0
  384. package/dist/wire/server/swap.zod.d.ts.map +1 -0
  385. package/dist/wire/server/swap.zod.js +270 -0
  386. package/dist/wire/server/swap.zod.js.map +1 -0
  387. package/dist/wire/server/tokens.zod.d.ts +93 -0
  388. package/dist/wire/server/tokens.zod.d.ts.map +1 -0
  389. package/dist/wire/server/tokens.zod.js +28 -0
  390. package/dist/wire/server/tokens.zod.js.map +1 -0
  391. package/dist/wire/server/verify.zod.d.ts +30 -0
  392. package/dist/wire/server/verify.zod.d.ts.map +1 -0
  393. package/dist/wire/server/verify.zod.js +12 -0
  394. package/dist/wire/server/verify.zod.js.map +1 -0
  395. package/dist/wire/thorchain.zod.d.ts +224 -0
  396. package/dist/wire/thorchain.zod.d.ts.map +1 -0
  397. package/dist/wire/thorchain.zod.js +51 -0
  398. package/dist/wire/thorchain.zod.js.map +1 -0
  399. package/package.json +128 -0
  400. package/wasm/miradex-rust/README.md +74 -0
  401. package/wasm/miradex-rust/miradex_rust.d.ts +149 -0
  402. package/wasm/miradex-rust/miradex_rust.js +943 -0
  403. package/wasm/miradex-rust/miradex_rust_bg.wasm +0 -0
  404. package/wasm/miradex-rust/miradex_rust_bg.wasm.d.ts +31 -0
  405. package/wasm/miradex-rust/package.json +24 -0
@@ -0,0 +1,166 @@
1
+ export const PIPELINE_LABELS = [
2
+ { key: 'pending', label: 'Pending' },
3
+ { key: 'deposit', label: 'Deposit' },
4
+ { key: 'confirming', label: 'Confirming' },
5
+ { key: 'exchanging', label: 'Exchanging' },
6
+ { key: 'complete', label: 'Complete' },
7
+ ];
8
+ export const PIPELINE_LABELS_CANCEL = [
9
+ { key: 'pending', label: 'Pending' },
10
+ { key: 'deposit', label: 'Deposit' },
11
+ { key: 'confirming', label: 'Confirming' },
12
+ { key: 'exchanging', label: 'Exchanging' },
13
+ { key: 'cancelling', label: 'Cancelling' },
14
+ ];
15
+ export const PIPELINE_LABELS_REFUND = [
16
+ { key: 'pending', label: 'Pending' },
17
+ { key: 'deposit', label: 'Deposit' },
18
+ { key: 'confirming', label: 'Confirming' },
19
+ { key: 'exchanging', label: 'Exchanging' },
20
+ { key: 'refunded', label: 'Refunded' },
21
+ ];
22
+ export const PIPELINE_LABELS_EXPIRED = [
23
+ { key: 'pending', label: 'Pending' },
24
+ { key: 'deposit', label: 'Deposit' },
25
+ { key: 'confirming', label: 'Confirming' },
26
+ { key: 'exchanging', label: 'Exchanging' },
27
+ { key: 'expired', label: 'Expired' },
28
+ ];
29
+ const STAGE_ORDER = [
30
+ 'pending',
31
+ 'deposit',
32
+ 'confirming',
33
+ 'exchanging',
34
+ ];
35
+ export function swapPipelineStage(phase) {
36
+ switch (phase) {
37
+ case 'idle':
38
+ case 'wizard-from':
39
+ case 'wizard-to':
40
+ case 'wizard-amount':
41
+ case 'wizard-dest':
42
+ case 'wizard-refund':
43
+ case 'wizard-confirm':
44
+ case 'provider-warning':
45
+ return null;
46
+ case 'solving-pow':
47
+ case 'creating-swap':
48
+ return 'pending';
49
+ case 'awaiting-deposit':
50
+ case 'verification-failed':
51
+ return 'deposit';
52
+ case 'confirming':
53
+ return 'confirming';
54
+ case 'swapping':
55
+ case 'sending':
56
+ return 'exchanging';
57
+ case 'cancelling':
58
+ return 'cancelling';
59
+ case 'completed':
60
+ return 'complete';
61
+ case 'refunded':
62
+ return 'refunded';
63
+ case 'expired':
64
+ return 'expired';
65
+ case 'punished':
66
+ return 'complete';
67
+ case 'failed':
68
+ case 'cancelled':
69
+ return null;
70
+ }
71
+ }
72
+ export function atomicPipelineStage(phase) {
73
+ switch (phase) {
74
+ case 'idle':
75
+ return null;
76
+ case 'keygen':
77
+ case 'keystore-saved':
78
+ return 'pending';
79
+ case 'awaiting-deposit':
80
+ case 'deposit-detected':
81
+ return 'deposit';
82
+ case 'creating-swap':
83
+ case 'verifying':
84
+ case 'signing':
85
+ case 'funding':
86
+ return 'confirming';
87
+ case 'computing-encsig':
88
+ case 'confirming':
89
+ case 'swapping':
90
+ case 'sweeping':
91
+ case 'awaiting-user-action':
92
+ return 'exchanging';
93
+ case 'verifying-cancel':
94
+ case 'cancelling':
95
+ case 'refunding':
96
+ return 'cancelling';
97
+ case 'completed':
98
+ return 'complete';
99
+ case 'refunded':
100
+ case 'cancelled':
101
+ // Atomic-flow refund/cancel both end with BTC returned to the buyer;
102
+ // the pipeline should render the refund variant (final stage chip
103
+ // labelled "Refunded") rather than masquerading as a completed swap.
104
+ return 'refunded';
105
+ case 'failed':
106
+ return null;
107
+ }
108
+ }
109
+ /**
110
+ * Compute which pipeline stages are "done" given the current phase.
111
+ * Returns a Set of stage keys that should show as completed.
112
+ *
113
+ * Both 'cancelling' and 'complete' sit after the base 4 stages,
114
+ * so all base stages are marked done when either is current.
115
+ */
116
+ export function computeDoneStages(currentStage) {
117
+ if (!currentStage)
118
+ return new Set();
119
+ if (currentStage === 'cancelling' || currentStage === 'complete') {
120
+ return new Set(STAGE_ORDER);
121
+ }
122
+ // For a refund, the swap reached `confirming` cleanly (BTC was observed by
123
+ // the chain) before THORChain rejected at the swap step. Treat pending/
124
+ // deposit/confirming as "done" so the renderer can color them green; the
125
+ // last two stages (exchanging + refunded) are then the warn region.
126
+ if (currentStage === 'refunded') {
127
+ return new Set(['pending', 'deposit', 'confirming']);
128
+ }
129
+ // For expiry, the swap was created but the deposit window closed before
130
+ // any funds arrived on-chain. Only `pending` (we created the swap on the
131
+ // server) is unambiguously done; `deposit` onward never actually happened.
132
+ if (currentStage === 'expired') {
133
+ return new Set(['pending']);
134
+ }
135
+ const idx = STAGE_ORDER.indexOf(currentStage);
136
+ if (idx < 0)
137
+ return new Set();
138
+ return new Set(STAGE_ORDER.slice(0, idx));
139
+ }
140
+ /**
141
+ * Map server status to pipeline stage. ONE map, used by all flows.
142
+ * Returns null for unknown statuses — caller must skip.
143
+ */
144
+ export function mapServerStatus(status) {
145
+ switch (status) {
146
+ case 'initializing':
147
+ case 'pending':
148
+ return 'pending';
149
+ case 'awaiting_funding':
150
+ return 'deposit';
151
+ case 'deposited':
152
+ return 'confirming';
153
+ case 'swapping':
154
+ case 'sending':
155
+ return 'exchanging';
156
+ case 'cancelling':
157
+ return 'cancelling';
158
+ case 'completed':
159
+ case 'withheld':
160
+ case 'punished':
161
+ return 'complete';
162
+ default:
163
+ return null;
164
+ }
165
+ }
166
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/engine/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Platform adapter — injected into the engine at creation time.
3
+ *
4
+ * Implementations:
5
+ * - NodeAdapter (src/adapters/node-adapter.ts): Electrum, filesystem, qrcode-terminal
6
+ * - BrowserAdapter (web/adapters/browser-adapter.ts): mempool, localStorage, QR canvas
7
+ */
8
+ import type { SwapKeystore } from '../lib/keystore.js';
9
+ import type { Logger } from '../interfaces/logger.js';
10
+ import type { BlockchainQuerier } from './blockchain-querier.js';
11
+ import type { BlockchainDataProvider } from '../interfaces/blockchain.js';
12
+ import type { ProtocolParams } from '../types/index.js';
13
+ /**
14
+ * Individual UTXO used as a PSBT input.
15
+ */
16
+ export interface UtxoInput {
17
+ readonly txid: string;
18
+ readonly vout: number;
19
+ readonly value: number;
20
+ readonly height: number;
21
+ }
22
+ /**
23
+ * Detected deposit on a BTC address.
24
+ * Returned by watchDeposit() and loadDeposit().
25
+ *
26
+ * When multiple UTXOs exist on the address, `value` is the sum of all
27
+ * UTXOs, `txid`/`vout` refer to the primary (first) UTXO, and the
28
+ * individual UTXOs are available in the `utxos` array.
29
+ */
30
+ export interface DetectedDeposit {
31
+ readonly txid: string;
32
+ readonly vout: number;
33
+ readonly value: number;
34
+ readonly confirmations: number;
35
+ readonly status: 'mempool' | 'confirmed';
36
+ readonly utxos?: readonly UtxoInput[];
37
+ }
38
+ /**
39
+ * Fee estimation result.
40
+ */
41
+ export interface FeeEstimate {
42
+ readonly feeSats: number;
43
+ readonly feeRate: number;
44
+ }
45
+ /**
46
+ * Keystore persistence result.
47
+ * TUI: filesystem path. Browser: localStorage key or "downloaded".
48
+ */
49
+ export interface KeystoreSaveResult {
50
+ readonly id: string;
51
+ }
52
+ /**
53
+ * Keystore metadata for listing (not the actual keys).
54
+ */
55
+ export interface KeystoreMetadata {
56
+ readonly id: string;
57
+ readonly btcAddress: string;
58
+ readonly destAddress: string;
59
+ readonly refundAddress: string;
60
+ readonly amount: string;
61
+ readonly network: 'mainnet' | 'testnet' | 'regtest';
62
+ readonly status: KeystoreStatus;
63
+ readonly depositTxid: string | null;
64
+ readonly depositValue: number | null;
65
+ readonly swapId: string | null;
66
+ readonly createdAt: string;
67
+ }
68
+ export type KeystoreStatus = 'created' | 'awaiting_deposit' | 'deposited' | 'swap_created' | 'completed' | 'swept' | 'cancelled';
69
+ export interface PlatformAdapter {
70
+ /**
71
+ * Watch for a BTC deposit to the given address.
72
+ * Resolves when a deposit is detected (mempool or confirmed).
73
+ *
74
+ * TUI: Uses Electrum (primary) with mempool.space fallback.
75
+ * Browser: Uses mempool.space REST API polling.
76
+ */
77
+ watchDeposit(address: string, network: 'mainnet' | 'testnet' | 'regtest', signal: AbortSignal, onStatus?: (msg: string) => void): Promise<DetectedDeposit>;
78
+ /**
79
+ * One-shot deposit check. Returns null if no deposit found.
80
+ */
81
+ checkDeposit(address: string, network: 'mainnet' | 'testnet' | 'regtest'): Promise<DetectedDeposit | null>;
82
+ /**
83
+ * Fetch a specific UTXO for a known address.
84
+ * Used when resuming a swap where deposit is known but UTXO details are stale.
85
+ */
86
+ fetchUtxo(address: string, network: 'mainnet' | 'testnet' | 'regtest'): Promise<DetectedDeposit | null>;
87
+ /**
88
+ * Estimate mining fee for the lock transaction.
89
+ *
90
+ * TUI: Tries Electrum blockchain.estimatefee, falls back to mempool.space.
91
+ * Browser: Uses mempool.space /v1/fees/recommended.
92
+ */
93
+ estimateFee(network: 'mainnet' | 'testnet' | 'regtest'): Promise<FeeEstimate>;
94
+ /**
95
+ * Persist a keystore. The keystore contains private keys and must be
96
+ * stored securely.
97
+ *
98
+ * TUI: Writes to filesystem with 0o600 permissions.
99
+ * Browser: Saves to localStorage AND triggers download as backup.
100
+ *
101
+ * @returns Opaque identifier (filesystem path or localStorage key).
102
+ */
103
+ saveKeystore(keystore: SwapKeystore, label: string): Promise<KeystoreSaveResult>;
104
+ /**
105
+ * Load a keystore by its identifier.
106
+ *
107
+ * TUI: Reads from filesystem path.
108
+ * Browser: Reads from localStorage by key.
109
+ */
110
+ loadKeystore(id: string): Promise<SwapKeystore>;
111
+ /**
112
+ * List all stored keystores. Returns metadata, not the actual keys.
113
+ *
114
+ * TUI: Reads from SQLite keystores table.
115
+ * Browser: Reads from localStorage index.
116
+ */
117
+ listKeystores(): Promise<readonly KeystoreMetadata[]>;
118
+ /**
119
+ * Delete a completed keystore.
120
+ *
121
+ * TUI: Deletes file + SQLite record.
122
+ * Browser: Removes from localStorage.
123
+ */
124
+ deleteKeystore(id: string): Promise<void>;
125
+ /**
126
+ * Optional write-through cache of per-swap protocol parameters keyed by
127
+ * `swapId`. Server-returned `ProtocolParams` (pubkeys, fees, timelocks,
128
+ * refund encsigs) are written here on every successful `getSwapDetail`
129
+ * that surfaces them; client-side refund falls back to `loadSwapProtocol`
130
+ * when the server is briefly unreachable or has lost the record.
131
+ *
132
+ * Stored data is PUBLIC — encrypted signatures, addresses, and numeric
133
+ * params — so it does not require the keystore's secret-material
134
+ * protections. Unencrypted filesystem / localStorage is acceptable.
135
+ *
136
+ * Implement in pairs or not at all: the SDK only uses the cache when
137
+ * both callbacks are present. Adapters that cannot persist (e.g., stub
138
+ * platforms for unit tests) can omit both and the feature no-ops.
139
+ *
140
+ * Suggested backends:
141
+ * - TUI: SQLite `swap_protocol` table, keyed by swap id.
142
+ * - Browser: `localStorage` with key `miradex.protocol.${swapId}`.
143
+ * - Desktop: same filesystem layout as keystores, different subdir.
144
+ */
145
+ readonly saveSwapProtocol?: (swapId: string, params: ProtocolParams) => Promise<void>;
146
+ /**
147
+ * Optional counterpart to `saveSwapProtocol`. Returns `null` when no
148
+ * cached entry exists for this swap. Must not throw on cache miss —
149
+ * use `null` so the SDK can treat miss and error distinctly.
150
+ */
151
+ readonly loadSwapProtocol?: (swapId: string) => Promise<ProtocolParams | null>;
152
+ /**
153
+ * Persist the one-shot recovery snapshot for a swap. The SDK writes it
154
+ * exactly once, between `/presigs` (encsig received) and `/fund`
155
+ * (broadcast) — so the snapshot is on disk before any on-chain commitment.
156
+ * Together with the keystore it lets a recovery binary (eigenwallet swap
157
+ * CLI) drive the swap to a terminal state.
158
+ *
159
+ * Snapshot data is PUBLIC (Alice's encsig, protocol params, maker info,
160
+ * unsigned PSBT) — no secret material — so unencrypted filesystem /
161
+ * localStorage is fine. Must fsync / chmod 0o600 on platforms that
162
+ * support it so the file survives crashes and doesn't leak to other users.
163
+ *
164
+ * Implement in pairs or not at all: when both are absent, the SDK emits
165
+ * a warning and proceeds without a snapshot (and cross-binary recovery
166
+ * for that swap is not available).
167
+ *
168
+ * Suggested backends:
169
+ * - TUI: `~/.miradex-tui/protocol-snapshots/<swapId>.snapshot.json`.
170
+ * - Desktop: `<userData>/protocol-snapshots/<swapId>.snapshot.json`.
171
+ * - Browser: IndexedDB entry + triggered download.
172
+ */
173
+ readonly saveProtocolSnapshot?: (swapId: string, snapshotJson: string) => Promise<void>;
174
+ /**
175
+ * Counterpart to `saveProtocolSnapshot`. Returns `null` on cache miss.
176
+ * Used by the SDK to skip re-writing a snapshot it already persisted.
177
+ */
178
+ readonly loadProtocolSnapshot?: (swapId: string) => Promise<string | null>;
179
+ /**
180
+ * Generate a QR code representation for the given text.
181
+ *
182
+ * TUI: Uses qrcode-terminal to generate ASCII art.
183
+ * Browser: Uses qrcode library to generate data URL or SVG.
184
+ */
185
+ generateQr(text: string): Promise<string>;
186
+ /**
187
+ * Broadcast a raw Bitcoin transaction.
188
+ *
189
+ * TUI: Tries Electrum, falls back to mempool.space POST /tx.
190
+ * Browser: Uses mempool.space POST /tx.
191
+ */
192
+ broadcastTx(rawHex: string, network: 'mainnet' | 'testnet' | 'regtest'): Promise<string>;
193
+ /**
194
+ * Create a blockchain data querier for the given network.
195
+ *
196
+ * Node.js: Returns an Electrum-backed querier (TCP/TLS).
197
+ * Browser: Returns a mempool.space-backed querier (HTTP fetch).
198
+ *
199
+ * The core's discoverAndVerifyTxCancel() uses this querier to
200
+ * independently verify TxCancel on-chain without trusting the server.
201
+ */
202
+ createBlockchainQuerier(network: 'mainnet' | 'testnet' | 'regtest'): BlockchainQuerier;
203
+ /**
204
+ * Create a BlockchainDataProvider for the given network.
205
+ * Used by core's existing discoverAndVerifyTxCancel() which uses
206
+ * Electrum-style scriptHash-based queries.
207
+ *
208
+ * Node.js: Returns ElectrumClient-backed provider.
209
+ * Browser: Returns mempool.space-backed provider.
210
+ */
211
+ createBlockchainProvider(network: 'mainnet' | 'testnet' | 'regtest'): Promise<BlockchainDataProvider>;
212
+ /**
213
+ * Structured logger.
214
+ *
215
+ * TUI: Pino logger writing to ~/.config/miradex/logs/miradex.log.
216
+ * Browser: console.debug/info/warn/error.
217
+ */
218
+ readonly logger: Logger;
219
+ }
220
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ export { SwapExecutor } from './swap-executor.js';
2
+ export { MiradexEngine, DEFAULT_ENGINE_CONFIG } from './engine/miradex-engine.js';
3
+ export type { EngineConfig, ResolvedEngineConfig, StartSwapParams, StartAtomicSwapParams, } from './engine/miradex-engine.js';
4
+ export { SwapFlow } from './engine/flows/swap-flow.js';
5
+ export { AtomicFlow } from './engine/flows/atomic-flow.js';
6
+ export { SWAP_FLOW_CONFIG } from './engine/flows/swap-flow.js';
7
+ export { createInitialEngineState } from './engine/engine-state.js';
8
+ export type { EngineState, ActiveFlow } from './engine/engine-state.js';
9
+ export type { SwapFlowState } from './engine/flows/swap-flow-state.js';
10
+ export type { AtomicFlowState } from './engine/flows/atomic-flow-state.js';
11
+ export type { FlowContext, PopulatedFlowContext, VerifiedFlowContext, FlowContextExtra, FlowContextExtraType, FlowContextValidationError, FlowContextResult, } from './engine/flow-context.js';
12
+ export { createFlowContext, mergeFlowContext, validateBase, validatePopulated, validateVerified, FlowContextBaseSchema, PopulatedFlowContextSchema, VerifiedFlowContextSchema, FlowContextExtraSchema, VerificationResultSchema, VerificationCheckSchema, } from './engine/flow-context.js';
13
+ export type { PlatformAdapter, DetectedDeposit, UtxoInput, FeeEstimate, KeystoreSaveResult, KeystoreMetadata, KeystoreStatus, } from './engine/platform.js';
14
+ export type { BlockchainQuerier, TxSummary } from './engine/blockchain-querier.js';
15
+ export { swapPipelineStage, atomicPipelineStage, computeDoneStages, mapServerStatus, PIPELINE_LABELS, PIPELINE_LABELS_CANCEL, } from './engine/pipeline.js';
16
+ export type { PipelineStage, PipelineLabel } from './engine/pipeline.js';
17
+ export { runAtomicSwap, resumeAtomicSwap, submitEncsigWhenReady, SwapCancelledError, } from './atomic-swap/index.js';
18
+ export type { AtomicSwapParams, AtomicSwapCallbacks, AtomicSwapProgress, ResumeAtomicSwapParams, RunAtomicSwapOptions, ResumeAtomicSwapOptions, SubmitEncsigParams, } from './atomic-swap/index.js';
19
+ export { buildMultisigWitnessScript, computePreSigs, computeRedeemDigest, computeRedeemDigestFromTxHex, deriveLockAddress, } from './atomic-swap/presign.js';
20
+ export type { ComputePreSigsParams, ComputeRedeemDigestParams, ComputeRedeemDigestFromTxHexParams, NetworkName, } from './atomic-swap/presign.js';
21
+ export { validateCooperativeRedeem } from './cooperative-redeem.js';
22
+ export type { CooperativeRedeemInput } from './cooperative-redeem.js';
23
+ export { hashQuote, requireQuoteHashMatches, requireQuoteFresh, QUOTE_MAX_AGE_MS, } from './quote-binding.js';
24
+ export type { AcceptedQuote } from './quote-binding.js';
25
+ export { verifyDepositAddress, verifyAtomicSwap, verifyThorchain, verifyChainflip, verifyNearIntents, fetchThorchainVaults, verifyThorchainQuote, verifyChainflipChannel, fetchNearIntentStatus, requireIntentBinds, requireIntentDeadlineMargin, verifyNearIntentOnChain, fetchConsensusRate, parseThorchainMemo, requireMemoBindsDestination, VERIFY_FETCH_TIMEOUT_MS, VERIFY_MAX_ATTEMPTS, VERIFY_RETRY_DELAY_MS, } from './verification/index.js';
26
+ export type { ParsedThorchainMemo, FetchThorchainVaultsInput, VerifyThorchainQuoteInput, VerifyChainflipChannelInput, FetchNearIntentStatusInput, RequireIntentBindsInput, VerifyNearIntentOnChainInput, RateOracleConfig, VerifyDepositParams, } from './verification/index.js';
27
+ export { verifyTxCancel, verifyLockAddressSpent, discoverAndVerifyTxCancel } from './lib/bitcoin/tx-verify.js';
28
+ export { verifyXmrLocked } from './lib/monero/verify-lock.js';
29
+ export type { XmrLockVerification, VerifyXmrLockParams } from './lib/monero/verify-lock.js';
30
+ export { verifySweepTx } from './lib/monero/verify-sweep.js';
31
+ export type { SweepVerificationResult, SweepConstructionData } from './lib/monero/verify-sweep.js';
32
+ export { scanTransactionOutputs } from './lib/monero/output-scanner.js';
33
+ export type { ScannedOutput } from './lib/monero/output-scanner.js';
34
+ export { apiEnvelopeSchema, tolerantEnum, isKnownEnumValue, DecimalAmountSchema, NonNegativeDecimalSchema, IsoTimestampSchema, SwapIdSchema, SwapNumberSchema, TxHashSchema, swapTokenInfoSchema, swapTokenMapSchema, swapPairSchema, swapProviderSchema, swapFeeSchema, swapQuoteSchema, quotesResponseSchema, rateResponseSchema, limitsResponseSchema, providerInfoSchema, providersResponseSchema, providerLiquidityDataSchema, providerLiquidityEntrySchema, liquidityEntrySchema, liquidityTotalsSchema, liquidityResponseSchema, swapStatusSchema, swapVerificationSchema, requiredActionSchema, requiredActionTypeSchema, actionUrgencySchema, createSwapBodySchema, createSwapResponseSchema, swapDetailSchema, swapProtocolDataSchema, protocolParamsSchema, recentSwapSchema, preSigsSchema, swapActionBodySchema, swapActionResponseSchema, actionProtocolDataSchema, powChallengeSchema, powPayloadSchema, verifyKeysBodySchema, verifyKeysResponseSchema, chainflipVerificationSchema, thorchainVerificationSchema, nearIntentsVerificationSchema, atomicSwapVerificationSchema, } from './wire/server/index.js';
35
+ export type { SwapTokenInfo, SwapTokenMap, SwapPair, SwapFee, SwapProvider, SwapQuote, QuotesResponse, RateResponse, LimitsResponse, ProviderInfo, ProvidersResponse, ProviderLiquidityData, ProviderLiquidityEntry, ProviderLiquidityOutcome, LiquidityEntry, LiquiditySource, LiquidityTotals, LiquidityType, LiquidityResponse, SwapStatus, SwapVerification, ChainflipVerification, ThorchainVerification, NearIntentsVerification, AtomicSwapVerification, RequiredAction, RequiredActionType, ActionUrgency, CreateSwapBody, CreateSwapResponse, SwapDetail, SwapDetailProtocolData, RecentSwap, PreSigs, SwapAction, SwapActionResponse, SwapActionProtocolData, PowChallenge, PowPayload, VerifyKeysBody, VerifyKeysResponse, SwapProtocolData, } from './wire/server/index.js';
36
+ export type { HistoryEntry, ProtocolData } from './types/api.js';
37
+ export { isAtomicProtocolData } from './types/api.js';
38
+ export type { ClientKeys, ClientKeysApi, VerificationCheck, VerificationResult, ErrorCode, TerminalStatus, ProtocolParams, FeePolicy, AmnestyPolicy, DustPolicy, SafeBigInt, BlockHeightSource, } from './types/index.js';
39
+ export { TERMINAL_STATUSES, DEFAULT_FEE_POLICY, DEFAULT_AMNESTY_POLICY, DEFAULT_DUST_POLICY, ERROR_CODES, VerificationError, ProtocolError, } from './types/index.js';
40
+ export { ApiClient, ApiError, NetworkError } from './api/index.js';
41
+ export type { ApiClientConfig, GetQuotesParams, GetRateParams, GetLimitsParams, } from './api/index.js';
42
+ export { MiradexError, classifyError, errorMessage, isRetryable, isUnboundedRetry, deriveApiCategory, } from './lib/errors.js';
43
+ export type { ErrorCategory, MiradexErrorOptions } from './lib/errors.js';
44
+ export { withRetry, computeBackoffMs } from './lib/retry.js';
45
+ export type { RetryOptions, RetryInfo } from './lib/retry.js';
46
+ export { createQuorumProvider } from './blockchain/quorum-provider.js';
47
+ export type { QuorumProviderConfig } from './blockchain/quorum-provider.js';
48
+ export type { BlockchainDataProvider, Utxo, ScriptHashHistoryEntry, } from './interfaces/blockchain.js';
49
+ export { addressToScriptHash, parseElectrumUrl } from './lib/bitcoin/script-hash.js';
50
+ export type { ElectrumServer } from './lib/bitcoin/script-hash.js';
51
+ export { checkDeposit, watchForDeposit, estimateLockTxFee, resolveElectrumServers, } from './lib/bitcoin/deposit-watcher.js';
52
+ export type { WatchDepositParams, CheckDepositParams, EstimateFeeParams, } from './lib/bitcoin/deposit-watcher.js';
53
+ export { buildSweepTx, estimateSweep, broadcastSweep, fetchUtxo, listConfirmedUtxos, pickPrimaryUtxo, aggregateUtxosAsDeposit, } from './lib/bitcoin/sweep.js';
54
+ export type { SweepEstimate } from './lib/bitcoin/sweep.js';
55
+ export { fetchTransaction, fetchTransactionQuorum, fetchOutputKeys, fetchChainHeight, fetchOutputDistribution, fetchFeeEstimate, broadcastTransaction, MAINNET_NODES, STAGENET_NODES, } from './lib/monero/rpc.js';
56
+ export type { MonerodConfig, MoneroQuorumConfig, MoneroTxJson, FetchedTransaction, OutputKeyInfo, FeeEstimate as MoneroFeeEstimate, } from './lib/monero/rpc.js';
57
+ export { sweepMonero } from './atomic-swap/monero-sweep/index.js';
58
+ export { ensureWasm, generateClientKeys, generateClientKeysFromSeed, verifyDleqProof, signDigest, encsignDigest, decryptSignature, verifyEncsig, recoverAdaptorScalar, deriveKeyImages, selectDecoys, signSweepTx, computeCommitmentMask, verifyCommitment, decryptAmount, secp256k1ScalarToEd25519, ed25519ScalarAdd, isKeygenAvailable, initKeygen, } from './lib/crypto/wasm.js';
59
+ export { WasmError } from './lib/crypto/errors.js';
60
+ export type { EnsureWasmOptions } from './lib/crypto/wasm.js';
61
+ export type { WasmModule } from './lib/crypto/types.js';
62
+ export { detectPlatform } from './lib/crypto/platform.js';
63
+ export type { Platform } from './lib/crypto/platform.js';
64
+ export { validateAddress, resolveChain, getSupportedChains, tokensForChain } from './address/index.js';
65
+ export type { ValidationResult } from './address/index.js';
66
+ export { createTempWallet, signPsbt, buildAndSignFundingPsbt, walletFromWif, buildUnsignedFundingPsbt, signFundingPsbt, } from './lib/bitcoin/wallet.js';
67
+ export type { TempBtcWallet, UnsignedFundingPsbt } from './lib/bitcoin/wallet.js';
68
+ export { createKeystore, parseKeystore } from './lib/keystore.js';
69
+ export type { SwapKeystore, KeystoreDerivation } from './lib/keystore.js';
70
+ export { generateMnemonicKeys, deriveFromMnemonic } from './lib/crypto/mnemonic.js';
71
+ export { MnemonicError } from './lib/crypto/mnemonic.js';
72
+ export { deriveLibp2pIdentity } from './lib/crypto/libp2p-identity.js';
73
+ export type { DerivedLibp2pIdentity } from './lib/crypto/libp2p-identity.js';
74
+ export { buildProtocolSnapshot, canonicalSerialize, computeSnapshotDigest, verifySnapshotIntegrity, SNAPSHOT_VERSION, } from './atomic-swap/snapshot.js';
75
+ export type { ProtocolSnapshot, ProtocolSnapshotPhase, ProtocolParamsSnapshot, LockTxSnapshot, MakerSnapshot, ChainSnapshot, BuildProtocolSnapshotInput, } from './atomic-swap/snapshot.js';
76
+ export { solveChallenge, encodePowHeader } from './lib/pow-solver.js';
77
+ export { addScalars, bytesToBigInt, bigIntToBytes } from './lib/crypto/scalars.js';
78
+ export { ED25519_GROUP_ORDER, bytesToBigIntBE, bytesToBigIntLE, hexToScalarLE, } from './lib/crypto/scalars.js';
79
+ export { bytesToHex, hexToBytes, uint8ArrayEquals, constantTimeEqualHex, wipe, } from './lib/crypto/bytes.js';
80
+ export { delay } from './lib/delay.js';
81
+ export { SWAP_WASM_SHA256, KEYGEN_WASM_SHA256, MONERO_SWEEP_WASM_SHA256, } from './wasm-pins.js';
82
+ export * from './lib/default-config.js';
83
+ export type { Logger } from './interfaces/logger.js';
84
+ export { noopLogger } from './interfaces/logger.js';
85
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,62 @@
1
+ // Public API surface for @miradex/client.
2
+ //
3
+ // The exports below are grouped by concern (engine, verification, wire types,
4
+ // network, utilities, logger). Consumers can also reach for the smaller
5
+ // sub-path entries declared in package.json's `exports` field.
6
+ export { SwapExecutor } from './swap-executor.js';
7
+ export { MiradexEngine, DEFAULT_ENGINE_CONFIG } from './engine/miradex-engine.js';
8
+ export { SwapFlow } from './engine/flows/swap-flow.js';
9
+ export { AtomicFlow } from './engine/flows/atomic-flow.js';
10
+ export { SWAP_FLOW_CONFIG } from './engine/flows/swap-flow.js';
11
+ export { createInitialEngineState } from './engine/engine-state.js';
12
+ export { createFlowContext, mergeFlowContext, validateBase, validatePopulated, validateVerified, FlowContextBaseSchema, PopulatedFlowContextSchema, VerifiedFlowContextSchema, FlowContextExtraSchema, VerificationResultSchema, VerificationCheckSchema, } from './engine/flow-context.js';
13
+ export { swapPipelineStage, atomicPipelineStage, computeDoneStages, mapServerStatus, PIPELINE_LABELS, PIPELINE_LABELS_CANCEL, } from './engine/pipeline.js';
14
+ // Atomic-swap driver primitives are @internal — prefer SwapExecutor / MiradexEngine.
15
+ export { runAtomicSwap, resumeAtomicSwap, submitEncsigWhenReady, SwapCancelledError, } from './atomic-swap/index.js';
16
+ // Verification primitives.
17
+ export { buildMultisigWitnessScript, computePreSigs, computeRedeemDigest, computeRedeemDigestFromTxHex, deriveLockAddress, } from './atomic-swap/presign.js';
18
+ export { validateCooperativeRedeem } from './cooperative-redeem.js';
19
+ export { hashQuote, requireQuoteHashMatches, requireQuoteFresh, QUOTE_MAX_AGE_MS, } from './quote-binding.js';
20
+ export { verifyDepositAddress, verifyAtomicSwap, verifyThorchain, verifyChainflip, verifyNearIntents, fetchThorchainVaults, verifyThorchainQuote, verifyChainflipChannel, fetchNearIntentStatus, requireIntentBinds, requireIntentDeadlineMargin, verifyNearIntentOnChain, fetchConsensusRate, parseThorchainMemo, requireMemoBindsDestination, VERIFY_FETCH_TIMEOUT_MS, VERIFY_MAX_ATTEMPTS, VERIFY_RETRY_DELAY_MS, } from './verification/index.js';
21
+ export { verifyTxCancel, verifyLockAddressSpent, discoverAndVerifyTxCancel } from './lib/bitcoin/tx-verify.js';
22
+ export { verifyXmrLocked } from './lib/monero/verify-lock.js';
23
+ export { verifySweepTx } from './lib/monero/verify-sweep.js';
24
+ export { scanTransactionOutputs } from './lib/monero/output-scanner.js';
25
+ // Wire / domain types — server-response shapes are inferred from the zod schemas
26
+ // in src/wire/server/, exported here so consumers can validate opportunistically
27
+ // (e.g. cached data, external snapshots).
28
+ export { apiEnvelopeSchema, tolerantEnum, isKnownEnumValue, DecimalAmountSchema, NonNegativeDecimalSchema, IsoTimestampSchema, SwapIdSchema, SwapNumberSchema, TxHashSchema, swapTokenInfoSchema, swapTokenMapSchema, swapPairSchema, swapProviderSchema, swapFeeSchema, swapQuoteSchema, quotesResponseSchema, rateResponseSchema, limitsResponseSchema, providerInfoSchema, providersResponseSchema, providerLiquidityDataSchema, providerLiquidityEntrySchema, liquidityEntrySchema, liquidityTotalsSchema, liquidityResponseSchema, swapStatusSchema, swapVerificationSchema, requiredActionSchema, requiredActionTypeSchema, actionUrgencySchema, createSwapBodySchema, createSwapResponseSchema, swapDetailSchema, swapProtocolDataSchema, protocolParamsSchema, recentSwapSchema, preSigsSchema, swapActionBodySchema, swapActionResponseSchema, actionProtocolDataSchema, powChallengeSchema, powPayloadSchema, verifyKeysBodySchema, verifyKeysResponseSchema, chainflipVerificationSchema, thorchainVerificationSchema, nearIntentsVerificationSchema, atomicSwapVerificationSchema, } from './wire/server/index.js';
29
+ export { isAtomicProtocolData } from './types/api.js';
30
+ export { TERMINAL_STATUSES, DEFAULT_FEE_POLICY, DEFAULT_AMNESTY_POLICY, DEFAULT_DUST_POLICY, ERROR_CODES, VerificationError, ProtocolError, } from './types/index.js';
31
+ // Network: HTTP client, retry policy, blockchain providers.
32
+ export { ApiClient, ApiError, NetworkError } from './api/index.js';
33
+ export { MiradexError, classifyError, errorMessage, isRetryable, isUnboundedRetry, deriveApiCategory, } from './lib/errors.js';
34
+ export { withRetry, computeBackoffMs } from './lib/retry.js';
35
+ export { createQuorumProvider } from './blockchain/quorum-provider.js';
36
+ export { addressToScriptHash, parseElectrumUrl } from './lib/bitcoin/script-hash.js';
37
+ export { checkDeposit, watchForDeposit, estimateLockTxFee, resolveElectrumServers, } from './lib/bitcoin/deposit-watcher.js';
38
+ export { buildSweepTx, estimateSweep, broadcastSweep, fetchUtxo, listConfirmedUtxos, pickPrimaryUtxo, aggregateUtxosAsDeposit, } from './lib/bitcoin/sweep.js';
39
+ export { fetchTransaction, fetchTransactionQuorum, fetchOutputKeys, fetchChainHeight, fetchOutputDistribution, fetchFeeEstimate, broadcastTransaction, MAINNET_NODES, STAGENET_NODES, } from './lib/monero/rpc.js';
40
+ export { sweepMonero } from './atomic-swap/monero-sweep/index.js';
41
+ // Crypto / WASM. The WASM binary is loaded once per process via ensureWasm()
42
+ // and the synchronous wrappers below operate on the cached module.
43
+ export { ensureWasm, generateClientKeys, generateClientKeysFromSeed, verifyDleqProof, signDigest, encsignDigest, decryptSignature, verifyEncsig, recoverAdaptorScalar, deriveKeyImages, selectDecoys, signSweepTx, computeCommitmentMask, verifyCommitment, decryptAmount, secp256k1ScalarToEd25519, ed25519ScalarAdd, isKeygenAvailable, initKeygen, } from './lib/crypto/wasm.js';
44
+ export { WasmError } from './lib/crypto/errors.js';
45
+ export { detectPlatform } from './lib/crypto/platform.js';
46
+ // Utilities: addresses, wallets, keystore, mnemonic, snapshot, PoW, scalars, defaults.
47
+ export { validateAddress, resolveChain, getSupportedChains, tokensForChain } from './address/index.js';
48
+ export { createTempWallet, signPsbt, buildAndSignFundingPsbt, walletFromWif, buildUnsignedFundingPsbt, signFundingPsbt, } from './lib/bitcoin/wallet.js';
49
+ export { createKeystore, parseKeystore } from './lib/keystore.js';
50
+ export { generateMnemonicKeys, deriveFromMnemonic } from './lib/crypto/mnemonic.js';
51
+ export { MnemonicError } from './lib/crypto/mnemonic.js';
52
+ export { deriveLibp2pIdentity } from './lib/crypto/libp2p-identity.js';
53
+ export { buildProtocolSnapshot, canonicalSerialize, computeSnapshotDigest, verifySnapshotIntegrity, SNAPSHOT_VERSION, } from './atomic-swap/snapshot.js';
54
+ export { solveChallenge, encodePowHeader } from './lib/pow-solver.js';
55
+ export { addScalars, bytesToBigInt, bigIntToBytes } from './lib/crypto/scalars.js';
56
+ export { ED25519_GROUP_ORDER, bytesToBigIntBE, bytesToBigIntLE, hexToScalarLE, } from './lib/crypto/scalars.js';
57
+ export { bytesToHex, hexToBytes, uint8ArrayEquals, constantTimeEqualHex, wipe, } from './lib/crypto/bytes.js';
58
+ export { delay } from './lib/delay.js';
59
+ export { SWAP_WASM_SHA256, KEYGEN_WASM_SHA256, MONERO_SWEEP_WASM_SHA256, } from './wasm-pins.js';
60
+ export * from './lib/default-config.js';
61
+ export { noopLogger } from './interfaces/logger.js';
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Platform-agnostic blockchain data provider.
3
+ *
4
+ * CLI implements this with Electrum TCP/TLS sockets.
5
+ * Browser implements this with WebSocket Electrum or mempool.space REST.
6
+ */
7
+ export interface Utxo {
8
+ readonly txid: string;
9
+ readonly vout: number;
10
+ readonly value: number;
11
+ /**
12
+ * Authoritative confirmation count. 0 means mempool; positive means
13
+ * confirmed. Every provider is responsible for computing this from its
14
+ * own native response (Electrum `height`, mempool.space `status.confirmed`,
15
+ * etc.) — the shared client code reads this field only.
16
+ */
17
+ readonly confirmations: number;
18
+ /** Raw block height, kept for diagnostics only. Do not derive state from it. */
19
+ readonly height?: number;
20
+ }
21
+ export interface ScriptHashHistoryEntry {
22
+ readonly tx_hash: string;
23
+ readonly height: number;
24
+ }
25
+ export interface BlockchainDataProvider {
26
+ listUnspent(scriptHash: string): Promise<readonly Utxo[]>;
27
+ getTransaction(txid: string): Promise<string>;
28
+ getTransactionHeight(txid: string): Promise<number>;
29
+ getHistory(scriptHash: string): Promise<readonly ScriptHashHistoryEntry[]>;
30
+ broadcastTransaction(hex: string): Promise<string>;
31
+ estimateFee(blocks: number): Promise<number>;
32
+ }
33
+ //# sourceMappingURL=blockchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../src/interfaces/blockchain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1D,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAAC;IAC3E,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C"}