@miradexio/client 0.1.1 → 0.1.3
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.
- package/README.md +57 -292
- package/dist/address/base58.d.ts.map +1 -1
- package/dist/address/base58.js +1 -2
- package/dist/address/base58.js.map +1 -1
- package/dist/address/bech32.d.ts +0 -8
- package/dist/address/bech32.d.ts.map +1 -1
- package/dist/address/bech32.js +3 -9
- package/dist/address/bech32.js.map +1 -1
- package/dist/address/evm.d.ts.map +1 -1
- package/dist/address/evm.js +1 -2
- package/dist/address/evm.js.map +1 -1
- package/dist/address/index.d.ts +0 -6
- package/dist/address/index.d.ts.map +1 -1
- package/dist/address/index.js +6 -9
- package/dist/address/index.js.map +1 -1
- package/dist/address/monero.d.ts +0 -10
- package/dist/address/monero.d.ts.map +1 -1
- package/dist/address/monero.js +4 -10
- package/dist/address/monero.js.map +1 -1
- package/dist/address/polkadot.d.ts +0 -5
- package/dist/address/polkadot.d.ts.map +1 -1
- package/dist/address/polkadot.js +2 -6
- package/dist/address/polkadot.js.map +1 -1
- package/dist/address/ton.d.ts +0 -6
- package/dist/address/ton.d.ts.map +1 -1
- package/dist/address/ton.js +3 -8
- package/dist/address/ton.js.map +1 -1
- package/dist/api/index.d.ts +0 -19
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +18 -37
- package/dist/api/index.js.map +1 -1
- package/dist/atomic-swap/drive.d.ts +0 -13
- package/dist/atomic-swap/drive.d.ts.map +1 -1
- package/dist/atomic-swap/drive.js +72 -114
- package/dist/atomic-swap/drive.js.map +1 -1
- package/dist/atomic-swap/extract.d.ts +0 -23
- package/dist/atomic-swap/extract.d.ts.map +1 -1
- package/dist/atomic-swap/extract.js +6 -16
- package/dist/atomic-swap/extract.js.map +1 -1
- package/dist/atomic-swap/index.d.ts +0 -7
- package/dist/atomic-swap/index.d.ts.map +1 -1
- package/dist/atomic-swap/index.js +1 -7
- package/dist/atomic-swap/index.js.map +1 -1
- package/dist/atomic-swap/monero-sweep/errors.d.ts.map +1 -1
- package/dist/atomic-swap/monero-sweep/errors.js +5 -20
- package/dist/atomic-swap/monero-sweep/errors.js.map +1 -1
- package/dist/atomic-swap/monero-sweep/index.d.ts +1 -13
- package/dist/atomic-swap/monero-sweep/index.d.ts.map +1 -1
- package/dist/atomic-swap/monero-sweep/index.js +36 -65
- package/dist/atomic-swap/monero-sweep/index.js.map +1 -1
- package/dist/atomic-swap/monero-sweep/ring-select.d.ts +0 -4
- package/dist/atomic-swap/monero-sweep/ring-select.d.ts.map +1 -1
- package/dist/atomic-swap/monero-sweep/ring-select.js +9 -21
- package/dist/atomic-swap/monero-sweep/ring-select.js.map +1 -1
- package/dist/atomic-swap/presign.d.ts +0 -63
- package/dist/atomic-swap/presign.d.ts.map +1 -1
- package/dist/atomic-swap/presign.js +30 -90
- package/dist/atomic-swap/presign.js.map +1 -1
- package/dist/atomic-swap/refund.d.ts +0 -18
- package/dist/atomic-swap/refund.d.ts.map +1 -1
- package/dist/atomic-swap/refund.js +16 -32
- package/dist/atomic-swap/refund.js.map +1 -1
- package/dist/atomic-swap/run.d.ts +0 -17
- package/dist/atomic-swap/run.d.ts.map +1 -1
- package/dist/atomic-swap/run.js +11 -25
- package/dist/atomic-swap/run.js.map +1 -1
- package/dist/atomic-swap/snapshot.d.ts +0 -30
- package/dist/atomic-swap/snapshot.d.ts.map +1 -1
- package/dist/atomic-swap/snapshot.js +8 -23
- package/dist/atomic-swap/snapshot.js.map +1 -1
- package/dist/atomic-swap/submit-encsig.d.ts +0 -7
- package/dist/atomic-swap/submit-encsig.d.ts.map +1 -1
- package/dist/atomic-swap/submit-encsig.js +8 -15
- package/dist/atomic-swap/submit-encsig.js.map +1 -1
- package/dist/atomic-swap/types.d.ts +2 -55
- package/dist/atomic-swap/types.d.ts.map +1 -1
- package/dist/atomic-swap/types.js +2 -3
- package/dist/atomic-swap/types.js.map +1 -1
- package/dist/blockchain/quorum-provider.d.ts +0 -15
- package/dist/blockchain/quorum-provider.d.ts.map +1 -1
- package/dist/blockchain/quorum-provider.js +7 -9
- package/dist/blockchain/quorum-provider.js.map +1 -1
- package/dist/cooperative-redeem.d.ts +5 -14
- package/dist/cooperative-redeem.d.ts.map +1 -1
- package/dist/cooperative-redeem.js +3 -20
- package/dist/cooperative-redeem.js.map +1 -1
- package/dist/engine/blockchain-querier.d.ts +0 -22
- package/dist/engine/blockchain-querier.d.ts.map +1 -1
- package/dist/engine/engine-state.d.ts +0 -8
- package/dist/engine/engine-state.d.ts.map +1 -1
- package/dist/engine/engine-state.js.map +1 -1
- package/dist/engine/flow-context.d.ts +0 -20
- package/dist/engine/flow-context.d.ts.map +1 -1
- package/dist/engine/flow-context.js +17 -41
- package/dist/engine/flow-context.js.map +1 -1
- package/dist/engine/flows/atomic-flow-state.d.ts +8 -1
- package/dist/engine/flows/atomic-flow-state.d.ts.map +1 -1
- package/dist/engine/flows/atomic-flow.d.ts +1 -28
- package/dist/engine/flows/atomic-flow.d.ts.map +1 -1
- package/dist/engine/flows/atomic-flow.js +98 -128
- package/dist/engine/flows/atomic-flow.js.map +1 -1
- package/dist/engine/flows/error-routing.d.ts +11 -0
- package/dist/engine/flows/error-routing.d.ts.map +1 -0
- package/dist/engine/flows/error-routing.js +17 -0
- package/dist/engine/flows/error-routing.js.map +1 -0
- package/dist/engine/flows/swap-flow.d.ts +0 -19
- package/dist/engine/flows/swap-flow.d.ts.map +1 -1
- package/dist/engine/flows/swap-flow.js +41 -83
- package/dist/engine/flows/swap-flow.js.map +1 -1
- package/dist/engine/miradex-engine.d.ts +1 -62
- package/dist/engine/miradex-engine.d.ts.map +1 -1
- package/dist/engine/miradex-engine.js +18 -50
- package/dist/engine/miradex-engine.js.map +1 -1
- package/dist/engine/pipeline.d.ts +0 -11
- package/dist/engine/pipeline.d.ts.map +1 -1
- package/dist/engine/pipeline.js +11 -21
- package/dist/engine/pipeline.js.map +1 -1
- package/dist/engine/platform.d.ts +0 -160
- package/dist/engine/platform.d.ts.map +1 -1
- package/dist/engine/platform.js +2 -0
- package/dist/engine/platform.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/dist/interfaces/blockchain.d.ts +1 -13
- package/dist/interfaces/blockchain.d.ts.map +1 -1
- package/dist/interfaces/blockchain.js +1 -0
- package/dist/interfaces/blockchain.js.map +1 -1
- package/dist/interfaces/logger.d.ts +0 -6
- package/dist/interfaces/logger.d.ts.map +1 -1
- package/dist/interfaces/logger.js.map +1 -1
- package/dist/lib/bitcoin/deposit-watcher.d.ts +0 -23
- package/dist/lib/bitcoin/deposit-watcher.d.ts.map +1 -1
- package/dist/lib/bitcoin/deposit-watcher.js +7 -31
- package/dist/lib/bitcoin/deposit-watcher.js.map +1 -1
- package/dist/lib/bitcoin/script-hash.d.ts.map +1 -1
- package/dist/lib/bitcoin/script-hash.js +2 -6
- package/dist/lib/bitcoin/script-hash.js.map +1 -1
- package/dist/lib/bitcoin/sweep.d.ts +0 -30
- package/dist/lib/bitcoin/sweep.d.ts.map +1 -1
- package/dist/lib/bitcoin/sweep.js +11 -40
- package/dist/lib/bitcoin/sweep.js.map +1 -1
- package/dist/lib/bitcoin/tx-verify.d.ts +0 -28
- package/dist/lib/bitcoin/tx-verify.d.ts.map +1 -1
- package/dist/lib/bitcoin/tx-verify.js +20 -61
- package/dist/lib/bitcoin/tx-verify.js.map +1 -1
- package/dist/lib/bitcoin/wallet.d.ts +0 -38
- package/dist/lib/bitcoin/wallet.d.ts.map +1 -1
- package/dist/lib/bitcoin/wallet.js +13 -38
- package/dist/lib/bitcoin/wallet.js.map +1 -1
- package/dist/lib/crypto/bytes.d.ts +0 -14
- package/dist/lib/crypto/bytes.d.ts.map +1 -1
- package/dist/lib/crypto/bytes.js +5 -14
- package/dist/lib/crypto/bytes.js.map +1 -1
- package/dist/lib/crypto/errors.d.ts +0 -5
- package/dist/lib/crypto/errors.d.ts.map +1 -1
- package/dist/lib/crypto/errors.js +2 -5
- package/dist/lib/crypto/errors.js.map +1 -1
- package/dist/lib/crypto/libp2p-identity.d.ts +0 -15
- package/dist/lib/crypto/libp2p-identity.d.ts.map +1 -1
- package/dist/lib/crypto/libp2p-identity.js +16 -28
- package/dist/lib/crypto/libp2p-identity.js.map +1 -1
- package/dist/lib/crypto/mnemonic.d.ts +0 -9
- package/dist/lib/crypto/mnemonic.d.ts.map +1 -1
- package/dist/lib/crypto/mnemonic.js +11 -27
- package/dist/lib/crypto/mnemonic.js.map +1 -1
- package/dist/lib/crypto/platform.d.ts +0 -6
- package/dist/lib/crypto/platform.d.ts.map +1 -1
- package/dist/lib/crypto/platform.js +2 -6
- package/dist/lib/crypto/platform.js.map +1 -1
- package/dist/lib/crypto/scalars.d.ts +0 -23
- package/dist/lib/crypto/scalars.d.ts.map +1 -1
- package/dist/lib/crypto/scalars.js +10 -23
- package/dist/lib/crypto/scalars.js.map +1 -1
- package/dist/lib/crypto/types.d.ts +0 -4
- package/dist/lib/crypto/types.d.ts.map +1 -1
- package/dist/lib/crypto/wasm.d.ts +0 -23
- package/dist/lib/crypto/wasm.d.ts.map +1 -1
- package/dist/lib/crypto/wasm.js +9 -16
- package/dist/lib/crypto/wasm.js.map +1 -1
- package/dist/lib/default-config.d.ts +1 -59
- package/dist/lib/default-config.d.ts.map +1 -1
- package/dist/lib/default-config.js +22 -61
- package/dist/lib/default-config.js.map +1 -1
- package/dist/lib/errors.d.ts +0 -54
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +12 -35
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/keystore.d.ts +0 -24
- package/dist/lib/keystore.d.ts.map +1 -1
- package/dist/lib/keystore.js +3 -10
- package/dist/lib/keystore.js.map +1 -1
- package/dist/lib/monero/output-scanner.d.ts +0 -18
- package/dist/lib/monero/output-scanner.d.ts.map +1 -1
- package/dist/lib/monero/output-scanner.js +17 -40
- package/dist/lib/monero/output-scanner.js.map +1 -1
- package/dist/lib/monero/rpc.d.ts +0 -64
- package/dist/lib/monero/rpc.d.ts.map +1 -1
- package/dist/lib/monero/rpc.js +17 -59
- package/dist/lib/monero/rpc.js.map +1 -1
- package/dist/lib/monero/verify-lock.d.ts +0 -12
- package/dist/lib/monero/verify-lock.d.ts.map +1 -1
- package/dist/lib/monero/verify-lock.js +9 -24
- package/dist/lib/monero/verify-lock.js.map +1 -1
- package/dist/lib/monero/verify-sweep.d.ts +0 -20
- package/dist/lib/monero/verify-sweep.d.ts.map +1 -1
- package/dist/lib/monero/verify-sweep.js +7 -25
- package/dist/lib/monero/verify-sweep.js.map +1 -1
- package/dist/lib/pow-solver.d.ts.map +1 -1
- package/dist/lib/pow-solver.js +3 -8
- package/dist/lib/pow-solver.js.map +1 -1
- package/dist/lib/retry.d.ts +7 -64
- package/dist/lib/retry.d.ts.map +1 -1
- package/dist/lib/retry.js +13 -13
- package/dist/lib/retry.js.map +1 -1
- package/dist/portable.d.ts.map +1 -1
- package/dist/portable.js +3 -4
- package/dist/portable.js.map +1 -1
- package/dist/quote-binding.d.ts +0 -13
- package/dist/quote-binding.d.ts.map +1 -1
- package/dist/quote-binding.js +3 -18
- package/dist/quote-binding.js.map +1 -1
- package/dist/swap-executor.d.ts +1 -5
- package/dist/swap-executor.d.ts.map +1 -1
- package/dist/swap-executor.js +1 -1
- package/dist/swap-executor.js.map +1 -1
- package/dist/types/api.d.ts +0 -6
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/api.js +6 -9
- package/dist/types/api.js.map +1 -1
- package/dist/types/errors.d.ts +0 -7
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +2 -7
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/keys.d.ts +0 -15
- package/dist/types/keys.d.ts.map +1 -1
- package/dist/types/protocol.d.ts +0 -51
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +3 -8
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/status.d.ts +2 -0
- package/dist/types/status.d.ts.map +1 -1
- package/dist/types/status.js +17 -14
- package/dist/types/status.js.map +1 -1
- package/dist/types/verification.d.ts +0 -10
- package/dist/types/verification.d.ts.map +1 -1
- package/dist/types/verification.js +7 -15
- package/dist/types/verification.js.map +1 -1
- package/dist/verification/chainflip-networks.d.ts +2 -35
- package/dist/verification/chainflip-networks.d.ts.map +1 -1
- package/dist/verification/chainflip-networks.js +12 -4
- package/dist/verification/chainflip-networks.js.map +1 -1
- package/dist/verification/chainflip.d.ts +0 -40
- package/dist/verification/chainflip.d.ts.map +1 -1
- package/dist/verification/chainflip.js +49 -129
- package/dist/verification/chainflip.js.map +1 -1
- package/dist/verification/constants.d.ts +0 -40
- package/dist/verification/constants.d.ts.map +1 -1
- package/dist/verification/constants.js +14 -40
- package/dist/verification/constants.js.map +1 -1
- package/dist/verification/index.d.ts +0 -26
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +8 -12
- package/dist/verification/index.js.map +1 -1
- package/dist/verification/memo.d.ts +0 -15
- package/dist/verification/memo.d.ts.map +1 -1
- package/dist/verification/memo.js +9 -27
- package/dist/verification/memo.js.map +1 -1
- package/dist/verification/near-intents.d.ts +0 -63
- package/dist/verification/near-intents.d.ts.map +1 -1
- package/dist/verification/near-intents.js +25 -67
- package/dist/verification/near-intents.js.map +1 -1
- package/dist/verification/rate-oracle.d.ts +0 -22
- package/dist/verification/rate-oracle.d.ts.map +1 -1
- package/dist/verification/rate-oracle.js +6 -11
- package/dist/verification/rate-oracle.js.map +1 -1
- package/dist/verification/thorchain-networks.d.ts +0 -27
- package/dist/verification/thorchain-networks.d.ts.map +1 -1
- package/dist/verification/thorchain-networks.js +13 -15
- package/dist/verification/thorchain-networks.js.map +1 -1
- package/dist/verification/thorchain.d.ts +0 -30
- package/dist/verification/thorchain.d.ts.map +1 -1
- package/dist/verification/thorchain.js +24 -47
- package/dist/verification/thorchain.js.map +1 -1
- package/dist/wasm-pins.d.ts +3 -3
- package/dist/wasm-pins.js +1 -1
- package/dist/wire/near-intents.zod.d.ts +0 -27
- package/dist/wire/near-intents.zod.d.ts.map +1 -1
- package/dist/wire/near-intents.zod.js +15 -23
- package/dist/wire/near-intents.zod.js.map +1 -1
- package/dist/wire/server/action.zod.d.ts +0 -10
- package/dist/wire/server/action.zod.d.ts.map +1 -1
- package/dist/wire/server/action.zod.js +8 -14
- package/dist/wire/server/action.zod.js.map +1 -1
- package/dist/wire/server/common.zod.d.ts +0 -13
- package/dist/wire/server/common.zod.d.ts.map +1 -1
- package/dist/wire/server/common.zod.js +6 -14
- package/dist/wire/server/common.zod.js.map +1 -1
- package/dist/wire/server/quotes.zod.d.ts +35 -20
- package/dist/wire/server/quotes.zod.d.ts.map +1 -1
- package/dist/wire/server/quotes.zod.js +1 -0
- package/dist/wire/server/quotes.zod.js.map +1 -1
- package/dist/wire/server/swap.zod.d.ts +0 -42
- package/dist/wire/server/swap.zod.d.ts.map +1 -1
- package/dist/wire/server/swap.zod.js +12 -26
- package/dist/wire/server/swap.zod.js.map +1 -1
- package/dist/wire/thorchain.zod.d.ts +0 -8
- package/dist/wire/thorchain.zod.d.ts.map +1 -1
- package/dist/wire/thorchain.zod.js +3 -8
- package/dist/wire/thorchain.zod.js.map +1 -1
- package/package.json +4 -4
- package/wasm/miradex-rust/README.md +3 -4
- package/wasm/miradex-rust/miradex_rust.d.ts +4 -6
- package/wasm/miradex-rust/miradex_rust.js +4 -6
- package/wasm/miradex-rust/miradex_rust_bg.wasm +0 -0
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* the appropriate client-side operation. Handles fund, encsig, sweep,
|
|
4
|
-
* sidecar retries, and terminal states in one unified loop.
|
|
5
|
-
*/
|
|
1
|
+
// Main action loop: poll, inspect requiredAction, fund / encsig / sweep /
|
|
2
|
+
// retry / handle terminal states.
|
|
6
3
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
7
4
|
import { bytesToHex, hexToBytes } from '@noble/hashes/utils.js';
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
// run. `crypto.getRandomValues` has no such restriction (it's the underlying
|
|
12
|
-
// entropy primitive), so synthesise a v4 UUID from 16 random bytes when the
|
|
13
|
-
// shortcut isn't available.
|
|
5
|
+
// crypto.randomUUID is gated to secure contexts in some browsers; self-hosted
|
|
6
|
+
// miradex-web on plain HTTP (LAN IP, .local, onion) hits "is not a function"
|
|
7
|
+
// before any swap code runs. crypto.getRandomValues has no such restriction.
|
|
14
8
|
function randomUuidV4() {
|
|
15
9
|
const c = globalThis.crypto;
|
|
16
10
|
if (c?.randomUUID)
|
|
@@ -32,7 +26,7 @@ import { buildProtocolSnapshot } from './snapshot.js';
|
|
|
32
26
|
import { computePreSigs, computeRedeemDigest, computeRedeemDigestFromTxHex, deriveLockAddress, } from './presign.js';
|
|
33
27
|
import { sweepMonero } from './monero-sweep/index.js';
|
|
34
28
|
import { verifyXmrLocked } from '../lib/monero/verify-lock.js';
|
|
35
|
-
import { TERMINAL_STATUSES, VerificationError, ProtocolError, } from '../types/index.js';
|
|
29
|
+
import { TERMINAL_STATUSES, VerificationError, ProtocolError, isPreFunding, } from '../types/index.js';
|
|
36
30
|
import { constantTimeEqualHex } from '../lib/crypto/bytes.js';
|
|
37
31
|
import { encsignDigest, verifyDleqProof, ensureWasm } from '../lib/crypto/wasm.js';
|
|
38
32
|
import { verifyDepositAddress } from '../verification/index.js';
|
|
@@ -40,18 +34,14 @@ import { delay } from '../lib/delay.js';
|
|
|
40
34
|
import { SwapCancelledError } from './types.js';
|
|
41
35
|
import { extractProtocolData } from './extract.js';
|
|
42
36
|
import { FUNDING_POLL_MS, FUNDING_SETTLE_MS, SWEEP_TIMEOUT_MS, MIN_XMR_CONFIRMATIONS as CFG_MIN_XMR_CONFIRMATIONS, } from '../lib/default-config.js';
|
|
43
|
-
|
|
37
|
+
// Driver polls less often than the UI deposit watcher.
|
|
38
|
+
const POLL_MS = FUNDING_POLL_MS * 3;
|
|
44
39
|
const TIMEOUT_MS = SWEEP_TIMEOUT_MS;
|
|
45
40
|
const FUND_SETTLE_MS = FUNDING_SETTLE_MS;
|
|
46
41
|
const MIN_XMR_CONFIRMATIONS = CFG_MIN_XMR_CONFIRMATIONS;
|
|
47
42
|
const MAX_ENCSIG_FAILURES = 3;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* must already exist on the server; callers are `runAtomicSwap` and
|
|
51
|
-
* `resumeAtomicSwap`.
|
|
52
|
-
*
|
|
53
|
-
* @internal Not part of the stable public surface.
|
|
54
|
-
*/
|
|
43
|
+
// @internal Drive a server-created swap to a terminal state. Callers:
|
|
44
|
+
// runAtomicSwap, resumeAtomicSwap.
|
|
55
45
|
export async function driveSwapToCompletion(options) {
|
|
56
46
|
const { api, swapId, keystoreId, wallet: _wallet, deposit, keystore, network, onProgress, signal, logger: log, blockchain, saveProtocolSnapshot, loadProtocolSnapshot, makerPeerId, makerMultiaddrs, clientVersion, } = options;
|
|
57
47
|
const deadline = Date.now() + TIMEOUT_MS;
|
|
@@ -62,17 +52,14 @@ export async function driveSwapToCompletion(options) {
|
|
|
62
52
|
let encsigFailures = 0;
|
|
63
53
|
let aliceDleqVerified = false;
|
|
64
54
|
let xmrLockVerified = false;
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
// can't progress without sidecar cooperation. Looping until TIMEOUT_MS
|
|
69
|
-
// burns minutes and starves the failed-receipt restart UX, so cap the
|
|
70
|
-
// retries explicitly.
|
|
55
|
+
// Cap retries on "no pending PSBT" / "cannot perform presigs": broker entry
|
|
56
|
+
// was consumed or never armed, we can't progress, and looping till
|
|
57
|
+
// TIMEOUT_MS just starves the failed-receipt restart UX.
|
|
71
58
|
let presigsAlreadyDoneStreak = 0;
|
|
72
59
|
const PRESIGS_ALREADY_DONE_MAX = 6;
|
|
73
60
|
log.info({ swapId, network, deadline: new Date(deadline).toISOString() }, '[drive] loop started');
|
|
74
61
|
let lastLoggedAction;
|
|
75
|
-
while (
|
|
62
|
+
while (true) {
|
|
76
63
|
if (signal?.aborted)
|
|
77
64
|
throw new SwapCancelledError();
|
|
78
65
|
const detail = await api.getSwapDetail(swapId);
|
|
@@ -87,15 +74,16 @@ export async function driveSwapToCompletion(options) {
|
|
|
87
74
|
onProgress({ stage: detail.status, message: `Swap ${detail.status}`, swapId });
|
|
88
75
|
return;
|
|
89
76
|
}
|
|
77
|
+
if (Date.now() >= deadline && isPreFunding(detail.status)) {
|
|
78
|
+
throw new ProtocolError('E_DRIVE_TIMEOUT', 'swap timed out before funding');
|
|
79
|
+
}
|
|
90
80
|
if (action === 'fund') {
|
|
91
81
|
const pastFunding = detail.status !== 'initializing'
|
|
92
82
|
&& detail.status !== 'awaiting_funding'
|
|
93
83
|
&& detail.status !== 'pending';
|
|
94
|
-
// "Funding still pending"
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
// atomicswap_parameters row (unsigned_lock_psbt) surfaced via
|
|
98
|
-
// protocolData.params.
|
|
84
|
+
// "Funding still pending" derives from depositAddress + pre-deposit
|
|
85
|
+
// state; the legacy top-level pendingPsbt is now atomicswap_parameters
|
|
86
|
+
// .unsigned_lock_psbt under protocolData.params.
|
|
99
87
|
const hasPending = !!detail.depositAddress && !pastFunding;
|
|
100
88
|
if (pastFunding && !hasPending && fundedAt > 0 && Date.now() - fundedAt > FUND_SETTLE_MS) {
|
|
101
89
|
await delay(POLL_MS, signal);
|
|
@@ -103,18 +91,15 @@ export async function driveSwapToCompletion(options) {
|
|
|
103
91
|
}
|
|
104
92
|
if (hasPending && fundedAt > 0)
|
|
105
93
|
fundedAt = 0;
|
|
106
|
-
// Lock address
|
|
107
|
-
//
|
|
108
|
-
// sidecar; retry-with-new-maker updates it automatically).
|
|
94
|
+
// Lock address = primary deposit address. The scanner refreshes this
|
|
95
|
+
// each poll, so retry-with-new-maker updates it automatically.
|
|
109
96
|
const lockAddress = detail.depositAddress;
|
|
110
97
|
if (lockAddress && lockAddress !== lastFundedAddress) {
|
|
111
98
|
if (!aliceDleqVerified) {
|
|
112
|
-
// V-2: DLEQ
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
// hand back s_a. Skipping it (the previous fall-through on null /
|
|
117
|
-
// missing) leaves Bob trusting the sidecar end-to-end for sweep.
|
|
99
|
+
// V-2: DLEQ check is mandatory before TxLock. The proof binds
|
|
100
|
+
// S_a_bitcoin and S_a_monero to the same scalar — without it Bob
|
|
101
|
+
// can't recover s_a_xmr from TxRedeem if the sidecar later refuses
|
|
102
|
+
// to hand back s_a, so sweep would be sidecar-trusted end-to-end.
|
|
118
103
|
const pp = pdx.params;
|
|
119
104
|
if (!pp?.dleq_proof_s_a) {
|
|
120
105
|
log.debug({ swapId }, 'Alice DLEQ proof not yet available; awaiting protocol params');
|
|
@@ -142,8 +127,7 @@ export async function driveSwapToCompletion(options) {
|
|
|
142
127
|
refundAddress: keystore.swap.refundAddress,
|
|
143
128
|
toToken: 'XMR',
|
|
144
129
|
amount: '',
|
|
145
|
-
// lock_address
|
|
146
|
-
// comes from the typed atomicswap params when present.
|
|
130
|
+
// lock_address = depositAddress; timelock_blocks from typed params.
|
|
147
131
|
protocol: detail.depositAddress &&
|
|
148
132
|
detail.protocolData?.type === 'atomicswap' &&
|
|
149
133
|
detail.protocolData.params
|
|
@@ -166,11 +150,9 @@ export async function driveSwapToCompletion(options) {
|
|
|
166
150
|
}
|
|
167
151
|
const protocolParams = pdx.params;
|
|
168
152
|
if (!protocolParams) {
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
// before protocolParams has landed. Wait and re-poll rather than
|
|
173
|
-
// bail — the outer TIMEOUT_MS bounds the total wait.
|
|
153
|
+
// Sidecar writes depositAddress and protocolParams separately, so
|
|
154
|
+
// requiredAction='fund' + a depositAddress before protocolParams is
|
|
155
|
+
// a normal in-flight state. Re-poll; TIMEOUT_MS bounds the wait.
|
|
174
156
|
log.debug({ swapId }, 'Fund requested but protocolParams not yet populated; waiting');
|
|
175
157
|
onProgress({
|
|
176
158
|
stage: 'signing_psbt',
|
|
@@ -195,8 +177,7 @@ export async function driveSwapToCompletion(options) {
|
|
|
195
177
|
message: `Building lock tx to ${lockAddress.slice(0, 16)}`,
|
|
196
178
|
swapId,
|
|
197
179
|
});
|
|
198
|
-
// Lock amount in sats
|
|
199
|
-
// legacy top-level pendingPsbt.amount was a 1:1 synthesis of this.
|
|
180
|
+
// Lock amount in sats from amountIn (1:1 with the legacy pendingPsbt.amount).
|
|
200
181
|
const lockAmountSats = detail.amountIn
|
|
201
182
|
? Math.round(parseFloat(detail.amountIn) * 1e8)
|
|
202
183
|
: undefined;
|
|
@@ -208,15 +189,13 @@ export async function driveSwapToCompletion(options) {
|
|
|
208
189
|
utxoCount: utxoInputs.length,
|
|
209
190
|
totalInputSats: utxoInputs.reduce((sum, u) => sum + u.value, 0),
|
|
210
191
|
}, '[fund] Phase 1 — building unsigned lock PSBT');
|
|
211
|
-
//
|
|
212
|
-
// 1.
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
//
|
|
216
|
-
//
|
|
217
|
-
//
|
|
218
|
-
// can never end up with BTC on-chain and no autonomous-refund
|
|
219
|
-
// material.
|
|
192
|
+
// Lock-tx flow (mirrors the Rust binary's ordering):
|
|
193
|
+
// 1. build UNSIGNED PSBT — what goes on the wire in Message2
|
|
194
|
+
// 2. POST /presigs (unsigned PSBT + Bob's pre-sigs). Sidecar drives
|
|
195
|
+
// Message2/3/4 with Alice and returns the encsig.
|
|
196
|
+
// 3. write snapshot, sign locally, POST /fund. Broadcast only after
|
|
197
|
+
// the snapshot exists, so we never end up with BTC on-chain and
|
|
198
|
+
// no autonomous-refund material.
|
|
220
199
|
const unsigned = buildUnsignedFundingPsbt(_wallet, utxoInputs, lockAddress, network, lockAmountSats);
|
|
221
200
|
log.info({ swapId, txid: unsigned.txid, vout: unsigned.vout, amountSats: unsigned.amountSats }, '[fund] Phase 1 — unsigned PSBT built');
|
|
222
201
|
const signedPsbt = signFundingPsbt(unsigned.psbtBase64, _wallet, network);
|
|
@@ -234,13 +213,10 @@ export async function driveSwapToCompletion(options) {
|
|
|
234
213
|
log.info({ swapId }, '[fund] Phase 1 — pre-sigs computed');
|
|
235
214
|
onProgress({ stage: 'funding', message: 'Submitting pre-sigs (unsigned PSBT)', swapId });
|
|
236
215
|
log.info({ swapId }, '[fund] Phase 2 — POST /presigs (unsigned PSBT + pre-sigs → awaiting Message3)');
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
//
|
|
240
|
-
//
|
|
241
|
-
// Either encsig counts: amnesty (Partial-only) swaps never get a
|
|
242
|
-
// tx_full_refund_encsig, so gating on full alone would force a
|
|
243
|
-
// re-attempt of /presigs that the sidecar would reject.
|
|
216
|
+
// Skip /presigs when the sidecar already processed it on a prior
|
|
217
|
+
// attempt (encsig on protocolParams, sidecar waiting for /fund) —
|
|
218
|
+
// otherwise it 409s "no pending PSBT". Either encsig counts:
|
|
219
|
+
// Partial-only swaps never produce tx_full_refund_encsig.
|
|
244
220
|
const alreadyHasEncsig = !!(protocolParams.tx_full_refund_encsig || protocolParams.tx_partial_refund_encsig) &&
|
|
245
221
|
!!pdx.redeemDigestHex;
|
|
246
222
|
let presigsResponse = null;
|
|
@@ -260,18 +236,15 @@ export async function driveSwapToCompletion(options) {
|
|
|
260
236
|
}
|
|
261
237
|
catch (err) {
|
|
262
238
|
const msg = err instanceof Error ? err.message : String(err);
|
|
263
|
-
//
|
|
264
|
-
//
|
|
265
|
-
// DO NOT retry /presigs (the sidecar is past that state).
|
|
239
|
+
// Sidecar already past /presigs. Re-poll for the encsig; do NOT
|
|
240
|
+
// retry /presigs.
|
|
266
241
|
if (msg.includes('no pending PSBT') || msg.includes('cannot perform presigs')) {
|
|
267
242
|
presigsAlreadyDoneStreak += 1;
|
|
268
243
|
if (presigsAlreadyDoneStreak >= PRESIGS_ALREADY_DONE_MAX) {
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
// /
|
|
272
|
-
//
|
|
273
|
-
// failed-receipt restart UX takes over instead of
|
|
274
|
-
// burning the rest of TIMEOUT_MS in a tight retry loop.
|
|
244
|
+
// Broker entry consumed (or never re-armed after sidecar
|
|
245
|
+
// restart) and /getSwapDetail still isn't surfacing the encsig
|
|
246
|
+
// that would let us skip /presigs. Bail to failed so the
|
|
247
|
+
// failed-receipt restart UX takes over.
|
|
275
248
|
throw new ProtocolError('E_PRESIGS_WEDGED', `sidecar rejected /presigs ${presigsAlreadyDoneStreak} times with "${msg}" — swap is wedged (broker entry consumed but encsig never surfaced on /getSwapDetail)`);
|
|
276
249
|
}
|
|
277
250
|
log.warn({
|
|
@@ -292,8 +265,7 @@ export async function driveSwapToCompletion(options) {
|
|
|
292
265
|
? {
|
|
293
266
|
txFullRefundEncsig: protocolParams.tx_full_refund_encsig ?? null,
|
|
294
267
|
txPartialRefundEncsig: protocolParams.tx_partial_refund_encsig ?? null,
|
|
295
|
-
// Resume
|
|
296
|
-
// the sidecar mirrored to /getSwapDetail.
|
|
268
|
+
// Resume/replay path: pull from /getSwapDetail's mirrored params.
|
|
297
269
|
txCancelSig: protocolParams.tx_cancel_sig ?? null,
|
|
298
270
|
txLockTxid: unsigned.txid,
|
|
299
271
|
txLockVout: unsigned.vout,
|
|
@@ -306,20 +278,16 @@ export async function driveSwapToCompletion(options) {
|
|
|
306
278
|
hasPartialEncsig: !!encsigData.txPartialRefundEncsig,
|
|
307
279
|
txLockTxid: encsigData.txLockTxid,
|
|
308
280
|
}, '[fund] Phase 2 — /presigs response received');
|
|
309
|
-
// Refuse only when
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
// for Partial/Full variants. A Partial-only swap legitimately has
|
|
313
|
-
// a null full encsig — its refund path is TxPartialRefund + TxReclaim.
|
|
281
|
+
// Refuse only when both escape hatches are missing. Partial-only swaps
|
|
282
|
+
// legitimately have a null full encsig (refund = TxPartialRefund +
|
|
283
|
+
// TxReclaim); Legacy/Full variants get tx_full_refund_encsig.
|
|
314
284
|
if (!encsigData.txFullRefundEncsig && !encsigData.txPartialRefundEncsig) {
|
|
315
285
|
throw new ProtocolError('E_ENCSIG_REFUND_MISSING', 'sidecar accepted /presigs but returned no refund encsig (neither tx_full_refund_encsig nor tx_partial_refund_encsig); refusing to fund without a refund escape hatch');
|
|
316
286
|
}
|
|
317
287
|
log.info({ swapId }, '[fund] Phase 3 — writing recovery snapshot before broadcast');
|
|
318
|
-
// V-16 enabling-work: prefer the
|
|
319
|
-
//
|
|
320
|
-
//
|
|
321
|
-
// snapshot is a no-op for the current sidecar-publishes-cancel flow,
|
|
322
|
-
// but seeds future autonomous-cancel work with everything it needs.
|
|
288
|
+
// V-16 enabling-work: prefer the /presigs response, then on-disk
|
|
289
|
+
// protocolParams (resume), else null. No-op for the current
|
|
290
|
+
// sidecar-publishes-cancel flow; seeds autonomous-cancel work later.
|
|
323
291
|
const aliceTxCancelSig = encsigData.txCancelSig ?? protocolParams.tx_cancel_sig ?? pdx.aliceTxCancelSig ?? null;
|
|
324
292
|
await maybeWriteSnapshot({
|
|
325
293
|
saveProtocolSnapshot,
|
|
@@ -347,13 +315,11 @@ export async function driveSwapToCompletion(options) {
|
|
|
347
315
|
log.info({ swapId }, '[fund] Phase 3 — snapshot persisted');
|
|
348
316
|
onProgress({ stage: 'funding', message: 'Submitting signed PSBT for broadcast', swapId });
|
|
349
317
|
log.info({ swapId }, '[fund] Phase 4 — POST /fund (signed PSBT → broadcast)');
|
|
350
|
-
//
|
|
351
|
-
//
|
|
352
|
-
//
|
|
353
|
-
//
|
|
354
|
-
//
|
|
355
|
-
// lockAmountSats (pendingPsbt is gone after /presigs) and produce a
|
|
356
|
-
// different txid — the sidecar would then reject it.
|
|
318
|
+
// Local backoff on "broker not yet awaiting". Rare (sidecar pre-arms
|
|
319
|
+
// in /presigs) but possible on flaky networks or resume re-entry.
|
|
320
|
+
// Looping back to drive() would rebuild the PSBT with a stale
|
|
321
|
+
// lockAmountSats (pendingPsbt is gone post-/presigs), giving a
|
|
322
|
+
// different txid that the sidecar would reject.
|
|
357
323
|
let fundSucceeded = false;
|
|
358
324
|
for (let attempt = 0; attempt < 6 && !fundSucceeded; attempt++) {
|
|
359
325
|
try {
|
|
@@ -387,10 +353,9 @@ export async function driveSwapToCompletion(options) {
|
|
|
387
353
|
onProgress({ stage: 'submit_encsig', message: 'Computing encrypted signature', swapId });
|
|
388
354
|
const protocolParams = pdx.params;
|
|
389
355
|
if (!protocolParams) {
|
|
390
|
-
//
|
|
391
|
-
//
|
|
392
|
-
//
|
|
393
|
-
// the total wait.
|
|
356
|
+
// Same race as the fund branch: action='submit_encsig' can arrive
|
|
357
|
+
// before protocolParams is flushed into provider_metadata. Re-poll;
|
|
358
|
+
// TIMEOUT_MS bounds the wait.
|
|
394
359
|
log.debug({ swapId }, 'Submit-encsig requested but protocolParams not yet populated; waiting');
|
|
395
360
|
onProgress({
|
|
396
361
|
stage: 'submit_encsig',
|
|
@@ -457,16 +422,13 @@ export async function driveSwapToCompletion(options) {
|
|
|
457
422
|
}
|
|
458
423
|
xmrLockVerified = true;
|
|
459
424
|
}
|
|
460
|
-
//
|
|
461
|
-
// extract.ts). When present we still compare
|
|
462
|
-
//
|
|
463
|
-
// signed PSBT or on-chain TxLock is the authoritative source either way.
|
|
425
|
+
// sidecarDigestHex may be absent (sidecar stopped surfacing it; see
|
|
426
|
+
// extract.ts). When present we still byte-compare for defence-in-depth;
|
|
427
|
+
// either way the local digest from PSBT-or-on-chain-TxLock is authoritative.
|
|
464
428
|
const sidecarDigestHex = pdx.redeemDigestHex;
|
|
465
|
-
// AV-B.2: recompute
|
|
466
|
-
// Fresh-fund path: reuse the signed PSBT
|
|
467
|
-
// Resume path:
|
|
468
|
-
// injected blockchain provider and recompute from the raw tx. Either
|
|
469
|
-
// path preserves the Fix 1 guarantee.
|
|
429
|
+
// AV-B.2: recompute locally before signing.
|
|
430
|
+
// Fresh-fund path: reuse the in-memory signed PSBT.
|
|
431
|
+
// Resume path: PSBT is gone, fetch raw TxLock via the injected provider.
|
|
470
432
|
let localDigestHex;
|
|
471
433
|
if (lastSignedPsbt) {
|
|
472
434
|
localDigestHex = computeRedeemDigest({
|
|
@@ -556,6 +518,7 @@ export async function driveSwapToCompletion(options) {
|
|
|
556
518
|
expectedSAMonero: pp.S_a_monero,
|
|
557
519
|
monerodNodes: options.monerodNodes,
|
|
558
520
|
logger: log,
|
|
521
|
+
signal,
|
|
559
522
|
});
|
|
560
523
|
onProgress({
|
|
561
524
|
stage: 'complete',
|
|
@@ -580,14 +543,9 @@ export async function driveSwapToCompletion(options) {
|
|
|
580
543
|
});
|
|
581
544
|
await delay(POLL_MS, signal);
|
|
582
545
|
}
|
|
583
|
-
throw new ProtocolError('E_DRIVE_TIMEOUT', 'swap timed out waiting for progress');
|
|
584
546
|
}
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
* requires when creating a swap.
|
|
588
|
-
*
|
|
589
|
-
* @internal
|
|
590
|
-
*/
|
|
547
|
+
// @internal Funding-proof payload (nonce + sig per UTXO) the server requires
|
|
548
|
+
// at swap creation.
|
|
591
549
|
export function createFundingProof(wallet, deposit) {
|
|
592
550
|
const nonce = randomUuidV4();
|
|
593
551
|
const msgHash = sha256(new TextEncoder().encode(`${nonce}${wallet.address}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/atomic-swap/drive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../src/atomic-swap/drive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralised protocol-data extraction for the atomic-swap driver.
|
|
3
|
-
*
|
|
4
|
-
* Reads the typed discriminated-union `SwapDetail.protocolData`. All fields
|
|
5
|
-
* the driver needs (protocol params, unsigned PSBT, Monero lock verification)
|
|
6
|
-
* live inside the atomicswap variant's `params` object.
|
|
7
|
-
*/
|
|
8
1
|
import type { SwapDetail, ProtocolParams } from '../types/index.js';
|
|
9
|
-
/**
|
|
10
|
-
* XMR lock verification shape matching the legacy `xmrVerification` wrapper.
|
|
11
|
-
* Kept as a type for downstream consumers (e.g., atomic-flow's snapshot
|
|
12
|
-
* builder) that expect the `lock_transfer_proof.{tx_hash, tx_key}` shape.
|
|
13
|
-
*/
|
|
14
2
|
export interface XmrVerificationData {
|
|
15
3
|
readonly lock_transfer_proof: {
|
|
16
4
|
readonly tx_hash: string;
|
|
@@ -29,18 +17,7 @@ export interface ExtractedProtocolData {
|
|
|
29
17
|
readonly xmrVerification: XmrVerificationData | null;
|
|
30
18
|
readonly makerPeerId: string | null;
|
|
31
19
|
readonly makerMultiaddrs: ReadonlyArray<string> | null;
|
|
32
|
-
/**
|
|
33
|
-
* Alice's plain ECDSA pre-sig on TxCancel (Message3). Threaded through to
|
|
34
|
-
* the recovery snapshot before /fund. Null when the sidecar has not yet
|
|
35
|
-
* surfaced it — the client tolerates absence and falls back to relying on
|
|
36
|
-
* the sidecar's TxCancel publish path. V-16 enabling-work.
|
|
37
|
-
*/
|
|
38
20
|
readonly aliceTxCancelSig: string | null;
|
|
39
21
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Pull every protocol-data field the driver uses out of a `SwapDetail`.
|
|
42
|
-
* Missing / malformed fields come back as `null` so the caller can branch
|
|
43
|
-
* cleanly.
|
|
44
|
-
*/
|
|
45
22
|
export declare function extractProtocolData(detail: SwapDetail): ExtractedProtocolData;
|
|
46
23
|
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/atomic-swap/extract.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/atomic-swap/extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAIvD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,qBAAqB,CA+C7E"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pull every protocol-data field the driver uses out of a `SwapDetail`.
|
|
3
|
-
* Missing / malformed fields come back as `null` so the caller can branch
|
|
4
|
-
* cleanly.
|
|
5
|
-
*/
|
|
6
1
|
export function extractProtocolData(detail) {
|
|
7
2
|
const pd = detail.protocolData;
|
|
8
3
|
if (!pd || pd.type !== 'atomicswap' || !pd.params) {
|
|
@@ -18,7 +13,7 @@ export function extractProtocolData(detail) {
|
|
|
18
13
|
};
|
|
19
14
|
}
|
|
20
15
|
const params = pd.params;
|
|
21
|
-
//
|
|
16
|
+
// Rebuild the legacy xmrVerification wrapper from the typed params.
|
|
22
17
|
const xmrVerification = params.monero_tx_hash && params.monero_lock_address && params.xmr_amount_pico
|
|
23
18
|
? {
|
|
24
19
|
lock_transfer_proof: {
|
|
@@ -33,22 +28,17 @@ export function extractProtocolData(detail) {
|
|
|
33
28
|
: null;
|
|
34
29
|
return {
|
|
35
30
|
params,
|
|
36
|
-
// Sidecar's BIP143 redeem digest
|
|
37
|
-
//
|
|
38
|
-
// computes the digest locally; this field enables byte-for-byte comparison
|
|
39
|
-
// before releasing the encrypted signature.
|
|
31
|
+
// Sidecar's BIP143 redeem digest. Driver recomputes locally and
|
|
32
|
+
// byte-compares before releasing the encrypted signature.
|
|
40
33
|
redeemDigestHex: params.tx_redeem_digest ?? null,
|
|
41
|
-
//
|
|
34
|
+
// lock_address on the wire is depositAddress on SwapDetail.
|
|
42
35
|
lockAddress: detail.depositAddress ?? null,
|
|
43
36
|
timelockBlocks: params.cancel_timelock,
|
|
44
37
|
xmrVerification,
|
|
45
|
-
//
|
|
46
|
-
// includes the libp2p hints eigenwallet needs to re-dial.
|
|
38
|
+
// libp2p hints eigenwallet needs to re-dial during cross-binary recovery.
|
|
47
39
|
makerPeerId: params.maker_peer_id ?? null,
|
|
48
40
|
makerMultiaddrs: params.maker_multiaddrs ?? null,
|
|
49
|
-
//
|
|
50
|
-
// it. Null until Message3 has propagated through the chain
|
|
51
|
-
// (eigenwallet sidecar → swap-engine → crypto-server → here).
|
|
41
|
+
// Null until Message3 has propagated sidecar -> swap-engine -> server.
|
|
52
42
|
aliceTxCancelSig: params.tx_cancel_sig ?? null,
|
|
53
43
|
};
|
|
54
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/atomic-swap/extract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/atomic-swap/extract.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,MAAwB,CAAC;IAE3C,oEAAoE;IACpE,MAAM,eAAe,GACnB,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,eAAe;QAC3E,CAAC,CAAC;YACE,mBAAmB,EAAE;gBACnB,OAAO,EAAE,MAAM,CAAC,cAAc;gBAC9B,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;aACrC;YACD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;YACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,SAAS;SACjE;QACH,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACL,MAAM;QACN,gEAAgE;QAChE,0DAA0D;QAC1D,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QAChD,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC1C,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,eAAe;QACf,0EAA0E;QAC1E,WAAW,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;QACzC,eAAe,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;QAChD,uEAAuE;QACvE,gBAAgB,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public barrel for the BTC↔XMR atomic-swap module.
|
|
3
|
-
*
|
|
4
|
-
* Reading order for contributors: `types.ts` → `run.ts` → `drive.ts` →
|
|
5
|
-
* `verify.ts` → `presign.ts` → `monero-sweep/index.ts`. See §E.10 of the
|
|
6
|
-
* production spec for the full walkthrough.
|
|
7
|
-
*/
|
|
8
1
|
export { runAtomicSwap, resumeAtomicSwap, } from './run.js';
|
|
9
2
|
export { submitEncsigWhenReady } from './submit-encsig.js';
|
|
10
3
|
export { buildMultisigWitnessScript, computePreSigs, computeRedeemDigest, deriveLockAddress, } from './presign.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atomic-swap/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atomic-swap/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EACL,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Public barrel for the BTC↔XMR atomic-swap module.
|
|
3
|
-
*
|
|
4
|
-
* Reading order for contributors: `types.ts` → `run.ts` → `drive.ts` →
|
|
5
|
-
* `verify.ts` → `presign.ts` → `monero-sweep/index.ts`. See §E.10 of the
|
|
6
|
-
* production spec for the full walkthrough.
|
|
7
|
-
*/
|
|
1
|
+
// Reading order: types.ts, run.ts, drive.ts, presign.ts, monero-sweep/index.ts.
|
|
8
2
|
export { runAtomicSwap, resumeAtomicSwap, } from './run.js';
|
|
9
3
|
export { submitEncsigWhenReady } from './submit-encsig.js';
|
|
10
4
|
export { buildMultisigWitnessScript, computePreSigs, computeRedeemDigest, deriveLockAddress, } from './presign.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atomic-swap/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atomic-swap/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EACL,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/atomic-swap/monero-sweep/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/atomic-swap/monero-sweep/errors.ts"],"names":[],"mappings":"AAwBA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG9D"}
|