@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,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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/platform.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/engine/platform.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,qDAAqD"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
// Public API surface for @
|
|
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.
|
|
1
|
+
// Public API surface for @miradexio/client. Sub-path entries in
|
|
2
|
+
// package.json#exports give consumers narrower bundles.
|
|
6
3
|
export { SwapExecutor } from './swap-executor.js';
|
|
7
4
|
export { MiradexEngine, DEFAULT_ENGINE_CONFIG } from './engine/miradex-engine.js';
|
|
8
5
|
export { SwapFlow } from './engine/flows/swap-flow.js';
|
|
@@ -11,7 +8,7 @@ export { SWAP_FLOW_CONFIG } from './engine/flows/swap-flow.js';
|
|
|
11
8
|
export { createInitialEngineState } from './engine/engine-state.js';
|
|
12
9
|
export { createFlowContext, mergeFlowContext, validateBase, validatePopulated, validateVerified, FlowContextBaseSchema, PopulatedFlowContextSchema, VerifiedFlowContextSchema, FlowContextExtraSchema, VerificationResultSchema, VerificationCheckSchema, } from './engine/flow-context.js';
|
|
13
10
|
export { swapPipelineStage, atomicPipelineStage, computeDoneStages, mapServerStatus, PIPELINE_LABELS, PIPELINE_LABELS_CANCEL, } from './engine/pipeline.js';
|
|
14
|
-
//
|
|
11
|
+
// @internal driver primitives. Prefer SwapExecutor / MiradexEngine.
|
|
15
12
|
export { runAtomicSwap, resumeAtomicSwap, submitEncsigWhenReady, SwapCancelledError, } from './atomic-swap/index.js';
|
|
16
13
|
// Verification primitives.
|
|
17
14
|
export { buildMultisigWitnessScript, computePreSigs, computeRedeemDigest, computeRedeemDigestFromTxHex, deriveLockAddress, } from './atomic-swap/presign.js';
|
|
@@ -22,9 +19,8 @@ export { verifyTxCancel, verifyLockAddressSpent, discoverAndVerifyTxCancel } fro
|
|
|
22
19
|
export { verifyXmrLocked } from './lib/monero/verify-lock.js';
|
|
23
20
|
export { verifySweepTx } from './lib/monero/verify-sweep.js';
|
|
24
21
|
export { scanTransactionOutputs } from './lib/monero/output-scanner.js';
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
// (e.g. cached data, external snapshots).
|
|
22
|
+
// Server-response shapes inferred from zod schemas in src/wire/server/.
|
|
23
|
+
// Re-exported so consumers can validate cached data / external snapshots.
|
|
28
24
|
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
25
|
export { isAtomicProtocolData } from './types/api.js';
|
|
30
26
|
export { TERMINAL_STATUSES, DEFAULT_FEE_POLICY, DEFAULT_AMNESTY_POLICY, DEFAULT_DUST_POLICY, ERROR_CODES, VerificationError, ProtocolError, } from './types/index.js';
|
|
@@ -38,8 +34,8 @@ export { checkDeposit, watchForDeposit, estimateLockTxFee, resolveElectrumServer
|
|
|
38
34
|
export { buildSweepTx, estimateSweep, broadcastSweep, fetchUtxo, listConfirmedUtxos, pickPrimaryUtxo, aggregateUtxosAsDeposit, } from './lib/bitcoin/sweep.js';
|
|
39
35
|
export { fetchTransaction, fetchTransactionQuorum, fetchOutputKeys, fetchChainHeight, fetchOutputDistribution, fetchFeeEstimate, broadcastTransaction, MAINNET_NODES, STAGENET_NODES, } from './lib/monero/rpc.js';
|
|
40
36
|
export { sweepMonero } from './atomic-swap/monero-sweep/index.js';
|
|
41
|
-
//
|
|
42
|
-
//
|
|
37
|
+
// WASM is loaded once per process via ensureWasm(); the wrappers below
|
|
38
|
+
// operate on the cached module.
|
|
43
39
|
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
40
|
export { WasmError } from './lib/crypto/errors.js';
|
|
45
41
|
export { detectPlatform } from './lib/crypto/platform.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,9 @@
|
|
|
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
1
|
export interface Utxo {
|
|
8
2
|
readonly txid: string;
|
|
9
3
|
readonly vout: number;
|
|
10
4
|
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
5
|
readonly confirmations: number;
|
|
18
|
-
/** Raw block height,
|
|
6
|
+
/** Raw block height, diagnostics only — do not derive state from it. */
|
|
19
7
|
readonly height?: number;
|
|
20
8
|
}
|
|
21
9
|
export interface ScriptHashHistoryEntry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../src/interfaces/blockchain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../src/interfaces/blockchain.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/interfaces/blockchain.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../src/interfaces/blockchain.ts"],"names":[],"mappings":"AAAA,oFAAoF"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Optional logger interface for core functions.
|
|
3
|
-
*
|
|
4
|
-
* Consumers provide their own implementation — file-based for CLI,
|
|
5
|
-
* console-based for browser, or a no-op for silent operation.
|
|
6
|
-
*/
|
|
7
1
|
export interface Logger {
|
|
8
2
|
debug(data: Readonly<Record<string, unknown>>, message: string): void;
|
|
9
3
|
info(data: Readonly<Record<string, unknown>>, message: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/interfaces/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/interfaces/logger.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACrE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,eAAO,MAAM,UAAU,EAAE,MAKxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/interfaces/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/interfaces/logger.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,KAAU,CAAC;IAChB,IAAI,KAAU,CAAC;IACf,IAAI,KAAU,CAAC;IACf,KAAK,KAAU,CAAC;CACjB,CAAC"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deposit detection and fee estimation for atomic swaps.
|
|
3
|
-
*
|
|
4
|
-
* Primary: BlockchainDataProvider (Electrum, WebSocket, etc — injected by caller).
|
|
5
|
-
* Fallback: mempool.space REST API (when no provider is available).
|
|
6
|
-
*/
|
|
7
1
|
import { type ElectrumServer } from './script-hash.js';
|
|
8
2
|
import type { BlockchainDataProvider } from '../../interfaces/blockchain.js';
|
|
9
3
|
export interface UtxoInput {
|
|
@@ -39,26 +33,9 @@ export interface EstimateFeeParams {
|
|
|
39
33
|
readonly fetchFn?: typeof globalThis.fetch;
|
|
40
34
|
readonly blockchain?: BlockchainDataProvider;
|
|
41
35
|
}
|
|
42
|
-
/** Build an ordered server list from a config URL string. */
|
|
43
36
|
export declare function resolveElectrumServers(configServer?: string): readonly ElectrumServer[];
|
|
44
|
-
/**
|
|
45
|
-
* One-shot deposit check — returns the first deposit found or null.
|
|
46
|
-
* Tries the blockchain provider first, falls back to mempool.space.
|
|
47
|
-
*/
|
|
48
37
|
export declare function checkDeposit(params: CheckDepositParams): Promise<DetectedDeposit | null>;
|
|
49
|
-
/**
|
|
50
|
-
* Poll for deposits using a blockchain provider with mempool.space fallback.
|
|
51
|
-
*
|
|
52
|
-
* If a BlockchainDataProvider is supplied, it is used as the primary data source.
|
|
53
|
-
* Otherwise, falls back to mempool.space REST API per-poll.
|
|
54
|
-
*/
|
|
55
38
|
export declare function watchForDeposit(params: WatchDepositParams): Promise<DetectedDeposit>;
|
|
56
|
-
/**
|
|
57
|
-
* Estimate the mining fee (in sats) for the lock transaction.
|
|
58
|
-
*
|
|
59
|
-
* Tries the blockchain provider first (6-block target),
|
|
60
|
-
* then mempool.space REST API, then falls back to 10 sat/vbyte.
|
|
61
|
-
*/
|
|
62
39
|
export declare function estimateLockTxFee(params?: EstimateFeeParams): Promise<{
|
|
63
40
|
readonly feeSats: number;
|
|
64
41
|
readonly feeRate: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit-watcher.d.ts","sourceRoot":"","sources":["../../../src/lib/bitcoin/deposit-watcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deposit-watcher.d.ts","sourceRoot":"","sources":["../../../src/lib/bitcoin/deposit-watcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,KAAK,EAAE,sBAAsB,EAAQ,MAAM,gCAAgC,CAAC;AAenF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC;CAC9C;AAaD,wBAAgB,sBAAsB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE,CAKvF;AAGD,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAS9F;AAiGD,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA2C1F;AAWD,wBAAsB,iBAAiB,CACrC,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjE"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Primary: BlockchainDataProvider (Electrum, WebSocket, etc — injected by caller).
|
|
5
|
-
* Fallback: mempool.space REST API (when no provider is available).
|
|
6
|
-
*/
|
|
1
|
+
// Primary: caller-injected BlockchainDataProvider (Electrum, WebSocket, ...).
|
|
2
|
+
// Fallback: mempool.space REST.
|
|
7
3
|
import { delay } from '../delay.js';
|
|
8
4
|
import { addressToScriptHash, parseElectrumUrl } from './script-hash.js';
|
|
9
5
|
import { MEMPOOL_API, MEMPOOL_TESTNET_API, LOCK_TX_VBYTES, FALLBACK_FEE_RATE, MIN_FEE_RATE, MAX_FEE_RATE_MAINNET, MAX_FEE_RATE_TESTNET, FEE_MARGIN_MULTIPLIER, DEPOSIT_POLL_MS, MAX_DEPOSIT_UTXOS, } from '../default-config.js';
|
|
10
6
|
import { VerificationError } from '../../types/index.js';
|
|
11
|
-
/** Build an ordered server list from a config URL string. */
|
|
12
7
|
export function resolveElectrumServers(configServer) {
|
|
13
8
|
if (!configServer || configServer === 'mempool.space') {
|
|
14
9
|
return [];
|
|
15
10
|
}
|
|
16
11
|
return [parseElectrumUrl(configServer)];
|
|
17
12
|
}
|
|
18
|
-
|
|
19
|
-
* One-shot deposit check — returns the first deposit found or null.
|
|
20
|
-
* Tries the blockchain provider first, falls back to mempool.space.
|
|
21
|
-
*/
|
|
13
|
+
// Provider first, mempool.space fallback. Null on no deposit.
|
|
22
14
|
export async function checkDeposit(params) {
|
|
23
15
|
const { address, network = 'mainnet', fetchFn = globalThis.fetch, blockchain } = params;
|
|
24
16
|
if (blockchain) {
|
|
@@ -108,12 +100,7 @@ async function checkDepositMempool(address, network, fetchFn) {
|
|
|
108
100
|
return null;
|
|
109
101
|
}
|
|
110
102
|
}
|
|
111
|
-
|
|
112
|
-
* Poll for deposits using a blockchain provider with mempool.space fallback.
|
|
113
|
-
*
|
|
114
|
-
* If a BlockchainDataProvider is supplied, it is used as the primary data source.
|
|
115
|
-
* Otherwise, falls back to mempool.space REST API per-poll.
|
|
116
|
-
*/
|
|
103
|
+
// Provider primary, per-poll mempool.space fallback if absent or failing.
|
|
117
104
|
export async function watchForDeposit(params) {
|
|
118
105
|
const { address, network = 'mainnet', onStatus, signal, fetchFn = globalThis.fetch, } = params;
|
|
119
106
|
let { blockchain } = params;
|
|
@@ -151,12 +138,7 @@ export async function watchForDeposit(params) {
|
|
|
151
138
|
}
|
|
152
139
|
throw new Error('Deposit watch aborted');
|
|
153
140
|
}
|
|
154
|
-
|
|
155
|
-
* Estimate the mining fee (in sats) for the lock transaction.
|
|
156
|
-
*
|
|
157
|
-
* Tries the blockchain provider first (6-block target),
|
|
158
|
-
* then mempool.space REST API, then falls back to 10 sat/vbyte.
|
|
159
|
-
*/
|
|
141
|
+
// Provider (6-block target) -> mempool.space -> 10 sat/vB fallback.
|
|
160
142
|
export async function estimateLockTxFee(params = {}) {
|
|
161
143
|
const { network = 'mainnet', fetchFn = globalThis.fetch, blockchain } = params;
|
|
162
144
|
if (blockchain) {
|
|
@@ -172,14 +154,8 @@ export async function estimateLockTxFee(params = {}) {
|
|
|
172
154
|
function maxFeeRateFor(network) {
|
|
173
155
|
return network === 'mainnet' ? MAX_FEE_RATE_MAINNET : MAX_FEE_RATE_TESTNET;
|
|
174
156
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
* ceiling to a raw sat/vB estimate. The floor keeps the broadcast fee
|
|
178
|
-
* above strict Electrum nodes' minrelaytxfee, the multiplier absorbs
|
|
179
|
-
* short-term mempool pressure changes between estimate and broadcast,
|
|
180
|
-
* and the ceiling neutralises wildly inflated oracle answers
|
|
181
|
-
* (testnet's `halfHourFee` is the typical offender).
|
|
182
|
-
*/
|
|
157
|
+
// Floor (Electrum minrelaytxfee), pad (mempool drift between estimate and
|
|
158
|
+
// broadcast), ceiling (oracle inflation, especially testnet halfHourFee).
|
|
183
159
|
function applyFeePolicy(rawSatPerVbyte, network) {
|
|
184
160
|
const padded = Math.ceil(rawSatPerVbyte * FEE_MARGIN_MULTIPLIER);
|
|
185
161
|
const floored = Math.max(MIN_FEE_RATE, padded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit-watcher.js","sourceRoot":"","sources":["../../../src/lib/bitcoin/deposit-watcher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deposit-watcher.js","sourceRoot":"","sources":["../../../src/lib/bitcoin/deposit-watcher.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmDzD,MAAM,UAAU,sBAAsB,CAAC,YAAqB;IAC1D,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA0B;IAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAExF,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;IACvC,CAAC;IAED,OAAO,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACrC,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,EAC1B,4BAA4B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,iBAAiB,CAAC,+BAA+B,CACxH,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,gBAAgB;QAC/B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;QAC5C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;KACjG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,OAA0C,EAC1C,UAAkC;IAElC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAe,EACf,OAA0C,EAC1C,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,YAAY,OAAO,cAAc,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAgB,CAAC;QAC5D,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC;oBAC5C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC3E,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,YAAY,OAAO,MAAM,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAgB,CAAC;QAChE,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBAC3B,IAAI,MAAM,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACxE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS;wBAAE,UAAU,GAAG,IAAI,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YAC5C,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAA0B;IAC9D,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,SAAS,EACnB,QAAQ,EACR,MAAM,EACN,OAAO,GAAG,UAAU,CAAC,KAAK,GAC3B,GAAG,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzD,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,QAAQ,EAAE,CAAC,iCAAiC,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,QAAQ,EAAE,CAAC,0CAA0C,CAAC,CAAC;oBACvD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBACD,QAAQ,EAAE,CAAC,4BAA4B,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,EAAE,CAAC,6DAA6D,CAAC,CAAC;gBAC1E,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC,oCAAoC,CAAC,CAAC;gBACjD,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,QAAQ,EAAE,CAAC,4BAA4B,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAC3C,CAAC;AAUD,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAA4B,EAAE;IAE9B,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE/E,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,cAAc;YAAE,OAAO,cAAc,CAAC;IAC5C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IAExC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,aAAa,CAAC,OAA0C;IAC/D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC7E,CAAC;AAED,0EAA0E;AAC1E,0EAA0E;AAC1E,SAAS,cAAc,CACrB,cAAsB,EACtB,OAA0C;IAE1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAkC,EAClC,OAA0C;IAE1C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAA0C,EAC1C,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,sBAAsB,EAAE;YAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACzE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-hash.d.ts","sourceRoot":"","sources":["../../../src/lib/bitcoin/script-hash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"script-hash.d.ts","sourceRoot":"","sources":["../../../src/lib/bitcoin/script-hash.ts"],"names":[],"mappings":"AAOA,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,SAAS,GAAG,SAAS,GAAG,SAAqB,GACrD,MAAM,CAOR;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAU5D"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Electrum indexes by SHA256(scriptPubKey), byte-reversed, hex-encoded.
|
|
5
|
-
* Uses @noble/hashes instead of node:crypto for browser compatibility.
|
|
6
|
-
*/
|
|
1
|
+
// Electrum indexes by SHA256(scriptPubKey), byte-reversed, hex-encoded.
|
|
2
|
+
// Uses @noble/hashes (not node:crypto) for browser compatibility.
|
|
7
3
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
8
4
|
import { bytesToHex } from '@noble/hashes/utils.js';
|
|
9
5
|
import * as bitcoin from 'bitcoinjs-lib';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-hash.js","sourceRoot":"","sources":["../../../src/lib/bitcoin/script-hash.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"script-hash.js","sourceRoot":"","sources":["../../../src/lib/bitcoin/script-hash.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,kEAAkE;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,UAA6C,SAAS;IAEtD,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7I,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5F,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC7F,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC/C,CAAC"}
|