@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
@@ -14,35 +14,13 @@ export interface StartSwapParams {
14
14
  readonly destAddress: string;
15
15
  readonly refundAddress: string;
16
16
  readonly selectedQuote: SwapQuote;
17
- /**
18
- * Per-swap slippage tolerance in bps. Overrides EngineConfig.slippageBps for
19
- * this swap only. Validated against the same network-dependent band as the
20
- * engine constructor: [ENGINE_SLIPPAGE_MIN_BPS, ENGINE_SLIPPAGE_MAX_BPS] on
21
- * mainnet/testnet, [ENGINE_SLIPPAGE_MIN_BPS, 10_000] on regtest. Out-of-range
22
- * values throw `E_SLIPPAGE_OUT_OF_RANGE`.
23
- */
24
17
  readonly slippageBps?: number;
25
18
  }
26
19
  export interface StartAtomicSwapParams {
27
20
  readonly amount: string;
28
21
  readonly destAddress: string;
29
22
  readonly refundAddress: string;
30
- /**
31
- * Pin a specific atomicswap maker by `variantId` (e.g. `maker-K4ZK7eSx`),
32
- * as returned in the `/quotes` response. When omitted the server picks the
33
- * highest-scored maker for the requested amount.
34
- */
35
23
  readonly variantId?: string;
36
- /**
37
- * Reuse an existing keystore instead of generating a fresh one. Loads the
38
- * keystore record via `platform.loadKeystore(existingKeystoreId)` and
39
- * skips both keygen and `platform.saveKeystore`. The new swap binds to
40
- * the existing BTC private key and funding address — typical use is
41
- * "previous swap failed but funds are still at the funding address; let
42
- * the user re-quote without depositing again". `params.destAddress` and
43
- * `params.refundAddress` still drive the new swap's protocol values; the
44
- * keystore's stored copies are historical and not consulted here.
45
- */
46
24
  readonly existingKeystoreId?: string;
47
25
  }
48
26
  export interface EngineConfig {
@@ -64,15 +42,11 @@ export interface ResolvedEngineConfig {
64
42
  readonly slippageBps: number;
65
43
  readonly monerodNodes: readonly string[] | undefined;
66
44
  }
67
- /**
68
- * Built-in MiradexEngine defaults applied when the caller leaves a field
69
- * unset. Consumers can read these without constructing an engine.
70
- */
71
45
  export declare const DEFAULT_ENGINE_CONFIG: {
72
46
  readonly apiTimeout: 60000;
73
47
  readonly apiMaxRetries: 3;
74
48
  readonly network: "mainnet";
75
- readonly slippageBps: 100;
49
+ readonly slippageBps: 300;
76
50
  };
77
51
  interface EngineEvents {
78
52
  state: (state: EngineState) => void;
@@ -101,51 +75,16 @@ export declare class MiradexEngine extends EventEmitter<EngineEvents> {
101
75
  setSwapState(swap: SwapFlowState): void;
102
76
  setAtomicState(atomic: AtomicFlowState): void;
103
77
  setActiveFlow(flow: ActiveFlow): void;
104
- /**
105
- * Destroy the engine. Cancel all active flows, remove listeners.
106
- */
107
78
  destroy(): void;
108
- /**
109
- * Start a standard (non-atomic) swap.
110
- */
111
79
  startSwap(params: StartSwapParams): Promise<void>;
112
- /**
113
- * Resume any swap by ID. The engine fetches the detail, determines the
114
- * provider, finds the keystore if atomic, and routes to the right flow.
115
- * The TUI never needs to know which path to take.
116
- */
117
80
  resume(swapId: string, keystoreAddress?: string): Promise<void>;
118
81
  cancelSwap(): void;
119
- /**
120
- * Start a fresh BTC→XMR atomic swap.
121
- */
122
82
  startAtomicSwap(params: StartAtomicSwapParams): Promise<void>;
123
- /**
124
- * Resume an atomic swap from a keystore.
125
- * Called from both /resume and /keystores modes.
126
- */
127
83
  resumeAtomicSwap(keystoreId: string, swapId?: string): Promise<void>;
128
84
  cancelAtomicSwap(): void;
129
- /**
130
- * User presses 'x' — broadcast TxCancel.
131
- * Only valid when atomic.phase === 'awaiting-user-action'
132
- * and requiredAction.type === 'cancel'.
133
- */
134
85
  userCancel(): void;
135
- /**
136
- * User presses 'f' — verify TxCancel on-chain, then share s_b.
137
- * Only valid when atomic.phase === 'awaiting-user-action'
138
- * and requiredAction.type === 'refund'.
139
- */
140
86
  userRefund(): void;
141
- /**
142
- * User presses 'w' — retry XMR sweep.
143
- */
144
87
  userRetrySweep(): void;
145
- /**
146
- * Exit current flow and return to idle.
147
- * Cancels any active operation.
148
- */
149
88
  exitToIdle(): void;
150
89
  }
151
90
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"miradex-engine.d.ts","sourceRoot":"","sources":["../../src/engine/miradex-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miradex-engine.d.ts","sourceRoot":"","sources":["../../src/engine/miradex-engine.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,13 @@ import { createInitialEngineState } from './engine-state.js';
4
4
  import { VerificationError } from '../types/index.js';
5
5
  import { validateAddress } from '../address/index.js';
6
6
  import { ENGINE_SLIPPAGE_MIN_BPS, ENGINE_SLIPPAGE_MAX_BPS, ENGINE_RETRY_MIN, ENGINE_RETRY_MAX, } from '../lib/default-config.js';
7
- /**
8
- * Built-in MiradexEngine defaults applied when the caller leaves a field
9
- * unset. Consumers can read these without constructing an engine.
10
- */
7
+ // Defaults applied when a config field is unset. Exported so consumers can
8
+ // inspect them without constructing an engine.
11
9
  export const DEFAULT_ENGINE_CONFIG = {
12
10
  apiTimeout: 60_000,
13
11
  apiMaxRetries: 3,
14
12
  network: 'mainnet',
15
- slippageBps: 100,
13
+ slippageBps: 300,
16
14
  };
17
15
  export class MiradexEngine extends EventEmitter {
18
16
  api;
@@ -28,11 +26,9 @@ export class MiradexEngine extends EventEmitter {
28
26
  }
29
27
  constructor(config, platform) {
30
28
  super();
31
- const slippageBps = config.slippageBps ?? 100;
32
- // Production slippage band is intentionally narrow (UX guard against
33
- // catastrophic trades). Regtest exercises the engine against shallow
34
- // mocknet pools where swap simulation needs much wider tolerance, so
35
- // the band is relaxed when `network: 'regtest'`.
29
+ const slippageBps = config.slippageBps ?? 300;
30
+ // Tight band on mainnet/testnet (UX guard against catastrophic trades);
31
+ // wide on regtest to accommodate shallow mocknet pools.
36
32
  const network = config.network ?? 'mainnet';
37
33
  const maxSlippage = network === 'regtest' ? 10_000 : ENGINE_SLIPPAGE_MAX_BPS;
38
34
  if (slippageBps < ENGINE_SLIPPAGE_MIN_BPS || slippageBps > maxSlippage) {
@@ -75,8 +71,8 @@ export class MiradexEngine extends EventEmitter {
75
71
  get platformAdapter() {
76
72
  return this.platform;
77
73
  }
78
- // Each flow gets a scoped callback. When a new flow replaces the old one,
79
- // the old callback becomes a no-op its emissions are silently discarded.
74
+ // Each flow gets a scoped callback. When a new flow replaces the old one
75
+ // the old callback becomes a no-op; its emissions are silently discarded.
80
76
  createScopedSwapEmit() {
81
77
  this.swapFlow?.cancel();
82
78
  this.swapFlowGeneration++;
@@ -108,18 +104,13 @@ export class MiradexEngine extends EventEmitter {
108
104
  setActiveFlow(flow) {
109
105
  this.updateState({ activeFlow: flow });
110
106
  }
111
- /**
112
- * Destroy the engine. Cancel all active flows, remove listeners.
113
- */
107
+ // Cancel all active flows, remove listeners.
114
108
  destroy() {
115
109
  this.logger.info({}, 'Engine destroyed');
116
110
  this.swapFlow?.cancel();
117
111
  this.atomicFlow?.cancel();
118
112
  this.removeAllListeners();
119
113
  }
120
- /**
121
- * Start a standard (non-atomic) swap.
122
- */
123
114
  async startSwap(params) {
124
115
  if (params.slippageBps !== undefined) {
125
116
  const maxSlippage = this.resolvedConfig.network === 'regtest' ? 10_000 : ENGINE_SLIPPAGE_MAX_BPS;
@@ -138,16 +129,11 @@ export class MiradexEngine extends EventEmitter {
138
129
  this.setActiveFlow('swap');
139
130
  void this.swapFlow.start(params);
140
131
  }
141
- /**
142
- * Resume any swap by ID. The engine fetches the detail, determines the
143
- * provider, finds the keystore if atomic, and routes to the right flow.
144
- * The TUI never needs to know which path to take.
145
- */
132
+ // Routes to the right flow based on provider; caller doesn't need to know.
146
133
  async resume(swapId, keystoreAddress) {
147
134
  this.logger.info({ swapId, keystoreAddress: keystoreAddress ?? null }, 'Resuming swap');
148
- // Cancel both previous flows before routing; startSwap does the same.
149
- // Prevents a ghost SwapFlow from emitting after resume picked AtomicFlow
150
- // (and vice versa).
135
+ // Cancel both flows first so a ghost emitter doesn't fire after resume
136
+ // picks the other flow.
151
137
  this.swapFlow?.cancel();
152
138
  this.atomicFlow?.cancel();
153
139
  try {
@@ -203,9 +189,6 @@ export class MiradexEngine extends EventEmitter {
203
189
  this.swapFlow?.cancel();
204
190
  this.setSwapState({ phase: 'cancelled', snapshot: this._state.swap.snapshot });
205
191
  }
206
- /**
207
- * Start a fresh BTC→XMR atomic swap.
208
- */
209
192
  async startAtomicSwap(params) {
210
193
  const destCheck = validateAddress(params.destAddress, 'XMR');
211
194
  if (!destCheck.valid) {
@@ -218,10 +201,7 @@ export class MiradexEngine extends EventEmitter {
218
201
  this.setActiveFlow('atomic');
219
202
  void this.atomicFlow.start(params);
220
203
  }
221
- /**
222
- * Resume an atomic swap from a keystore.
223
- * Called from both /resume and /keystores modes.
224
- */
204
+ // Called from both /resume and /keystores modes.
225
205
  async resumeAtomicSwap(keystoreId, swapId) {
226
206
  this.logger.info({ flow: 'atomic', keystoreId, swapId: swapId ?? null }, 'Resuming atomic swap');
227
207
  const emit = this.createScopedAtomicEmit();
@@ -234,36 +214,24 @@ export class MiradexEngine extends EventEmitter {
234
214
  this.atomicFlow?.cancel();
235
215
  this.setAtomicState({ phase: 'cancelled', snapshot: this._state.atomic.snapshot, swapId: null, txCancelTxid: null });
236
216
  }
237
- /**
238
- * User presses 'x' — broadcast TxCancel.
239
- * Only valid when atomic.phase === 'awaiting-user-action'
240
- * and requiredAction.type === 'cancel'.
241
- */
217
+ // Broadcast TxCancel. Only valid in atomic.phase=awaiting-user-action with
218
+ // requiredAction.type=cancel.
242
219
  userCancel() {
243
220
  if (this._state.atomic.phase !== 'awaiting-user-action')
244
221
  return;
245
222
  void this.atomicFlow?.userCancel();
246
223
  }
247
- /**
248
- * User presses 'f' — verify TxCancel on-chain, then share s_b.
249
- * Only valid when atomic.phase === 'awaiting-user-action'
250
- * and requiredAction.type === 'refund'.
251
- */
224
+ // Verify TxCancel on-chain then share s_b. Only valid in
225
+ // atomic.phase=awaiting-user-action with requiredAction.type=refund.
252
226
  userRefund() {
253
227
  if (this._state.atomic.phase !== 'awaiting-user-action')
254
228
  return;
255
229
  void this.atomicFlow?.userRefund();
256
230
  }
257
- /**
258
- * User presses 'w' — retry XMR sweep.
259
- */
260
231
  userRetrySweep() {
261
232
  void this.atomicFlow?.userRetrySweep();
262
233
  }
263
- /**
264
- * Exit current flow and return to idle.
265
- * Cancels any active operation.
266
- */
234
+ // Cancels any active operation.
267
235
  exitToIdle() {
268
236
  this.logger.info({}, 'Exiting to idle');
269
237
  this.swapFlow?.cancel();
@@ -1 +1 @@
1
- {"version":3,"file":"miradex-engine.js","sourceRoot":"","sources":["../../src/engine/miradex-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"miradex-engine.js","sourceRoot":"","sources":["../../src/engine/miradex-engine.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,6 @@ export declare const PIPELINE_LABELS_REFUND: readonly PipelineLabel[];
11
11
  export declare const PIPELINE_LABELS_EXPIRED: readonly PipelineLabel[];
12
12
  export declare function swapPipelineStage(phase: SwapFlowState['phase']): PipelineStage | null;
13
13
  export declare function atomicPipelineStage(phase: AtomicFlowState['phase']): PipelineStage | null;
14
- /**
15
- * Compute which pipeline stages are "done" given the current phase.
16
- * Returns a Set of stage keys that should show as completed.
17
- *
18
- * Both 'cancelling' and 'complete' sit after the base 4 stages,
19
- * so all base stages are marked done when either is current.
20
- */
21
14
  export declare function computeDoneStages(currentStage: PipelineStage | null): ReadonlySet<PipelineStage>;
22
- /**
23
- * Map server status to pipeline stage. ONE map, used by all flows.
24
- * Returns null for unknown statuses — caller must skip.
25
- */
26
15
  export declare function mapServerStatus(status: string): PipelineStage | null;
27
16
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/engine/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAMnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAM1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAM1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,aAAa,EAM3D,CAAC;AASF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,IAAI,CAoCrF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,IAAI,CAoCzF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,CA0BhG;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBpE"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/engine/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAMnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAM1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAM1D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,SAAS,aAAa,EAM3D,CAAC;AASF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,IAAI,CAoCrF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,IAAI,CAmCzF;AAID,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,CAuBhG;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBpE"}
@@ -98,37 +98,28 @@ export function atomicPipelineStage(phase) {
98
98
  return 'complete';
99
99
  case 'refunded':
100
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.
101
+ // Atomic refund/cancel both return BTC to the buyer; render the refund
102
+ // chip rather than pretending the swap completed.
104
103
  return 'refunded';
105
104
  case 'failed':
106
105
  return null;
107
106
  }
108
107
  }
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
- */
108
+ // 'cancelling' and 'complete' both sit past the base 4 stages, so the
109
+ // base stages are all marked done when either is current.
116
110
  export function computeDoneStages(currentStage) {
117
111
  if (!currentStage)
118
112
  return new Set();
119
113
  if (currentStage === 'cancelling' || currentStage === 'complete') {
120
114
  return new Set(STAGE_ORDER);
121
115
  }
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.
116
+ // Refund means BTC was on-chain (THORChain rejected at the swap step).
117
+ // Mark pending/deposit/confirming green; exchanging + refunded are warn.
126
118
  if (currentStage === 'refunded') {
127
119
  return new Set(['pending', 'deposit', 'confirming']);
128
120
  }
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.
121
+ // Expiry means swap created but deposit window closed before any funds
122
+ // arrived. Only 'pending' is unambiguously done.
132
123
  if (currentStage === 'expired') {
133
124
  return new Set(['pending']);
134
125
  }
@@ -137,10 +128,7 @@ export function computeDoneStages(currentStage) {
137
128
  return new Set();
138
129
  return new Set(STAGE_ORDER.slice(0, idx));
139
130
  }
140
- /**
141
- * Map server status to pipeline stage. ONE map, used by all flows.
142
- * Returns null for unknown statuses — caller must skip.
143
- */
131
+ // One map shared by every flow. Returns null on unknown status; caller skips.
144
132
  export function mapServerStatus(status) {
145
133
  switch (status) {
146
134
  case 'initializing':
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/engine/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/engine/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,14 @@
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
1
  import type { SwapKeystore } from '../lib/keystore.js';
9
2
  import type { Logger } from '../interfaces/logger.js';
10
3
  import type { BlockchainQuerier } from './blockchain-querier.js';
11
4
  import type { BlockchainDataProvider } from '../interfaces/blockchain.js';
12
5
  import type { ProtocolParams } from '../types/index.js';
13
- /**
14
- * Individual UTXO used as a PSBT input.
15
- */
16
6
  export interface UtxoInput {
17
7
  readonly txid: string;
18
8
  readonly vout: number;
19
9
  readonly value: number;
20
10
  readonly height: number;
21
11
  }
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
12
  export interface DetectedDeposit {
31
13
  readonly txid: string;
32
14
  readonly vout: number;
@@ -35,23 +17,13 @@ export interface DetectedDeposit {
35
17
  readonly status: 'mempool' | 'confirmed';
36
18
  readonly utxos?: readonly UtxoInput[];
37
19
  }
38
- /**
39
- * Fee estimation result.
40
- */
41
20
  export interface FeeEstimate {
42
21
  readonly feeSats: number;
43
22
  readonly feeRate: number;
44
23
  }
45
- /**
46
- * Keystore persistence result.
47
- * TUI: filesystem path. Browser: localStorage key or "downloaded".
48
- */
49
24
  export interface KeystoreSaveResult {
50
25
  readonly id: string;
51
26
  }
52
- /**
53
- * Keystore metadata for listing (not the actual keys).
54
- */
55
27
  export interface KeystoreMetadata {
56
28
  readonly id: string;
57
29
  readonly btcAddress: string;
@@ -67,154 +39,22 @@ export interface KeystoreMetadata {
67
39
  }
68
40
  export type KeystoreStatus = 'created' | 'awaiting_deposit' | 'deposited' | 'swap_created' | 'completed' | 'swept' | 'cancelled';
69
41
  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
42
  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
43
  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
44
  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
45
  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
46
  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
47
  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
48
  listKeystores(): Promise<readonly KeystoreMetadata[]>;
118
- /**
119
- * Delete a completed keystore.
120
- *
121
- * TUI: Deletes file + SQLite record.
122
- * Browser: Removes from localStorage.
123
- */
124
49
  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
50
  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
51
  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
52
  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
53
  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
54
  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
55
  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
56
  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
57
  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
58
  readonly logger: Logger;
219
59
  }
220
60
  //# sourceMappingURL=platform.d.ts.map