@arkade-os/sdk 0.4.42 → 0.4.44
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 +65 -0
- package/dist/adapters/expo.cjs +4 -4
- package/dist/adapters/expo.d.cts +2 -2
- package/dist/adapters/expo.d.ts +2 -2
- package/dist/adapters/expo.js +2 -2
- package/dist/adapters/indexedDB.cjs +3 -3
- package/dist/adapters/indexedDB.js +2 -2
- package/dist/{ark-CKDWpuGL.d.cts → ark-I8jfe5VE.d.cts} +157 -2
- package/dist/{ark-CKDWpuGL.d.ts → ark-I8jfe5VE.d.ts} +157 -2
- package/dist/{asyncStorageTaskQueue-BB2MffwG.d.ts → asyncStorageTaskQueue-BtSOVZFn.d.ts} +2 -2
- package/dist/{asyncStorageTaskQueue-BpN8RRHR.d.cts → asyncStorageTaskQueue-Dap7qUlF.d.cts} +2 -2
- package/dist/{chunk-V3FCNVJE.js → chunk-FMI2GKYO.js} +2158 -502
- package/dist/chunk-FMI2GKYO.js.map +1 -0
- package/dist/{chunk-FLPPSRYH.js → chunk-LCQQPOIT.js} +3 -3
- package/dist/{chunk-FLPPSRYH.js.map → chunk-LCQQPOIT.js.map} +1 -1
- package/dist/{chunk-5X5YMZHB.js → chunk-LJ35HPJW.js} +39 -5
- package/dist/chunk-LJ35HPJW.js.map +1 -0
- package/dist/{chunk-HHPUCCB3.cjs → chunk-RJ6XVCX4.cjs} +7 -7
- package/dist/{chunk-HHPUCCB3.cjs.map → chunk-RJ6XVCX4.cjs.map} +1 -1
- package/dist/{chunk-YEF5FL6E.cjs → chunk-UBYY2TPK.cjs} +39 -4
- package/dist/chunk-UBYY2TPK.cjs.map +1 -0
- package/dist/{chunk-2V3BU2X6.js → chunk-V7WIZR2B.js} +3 -3
- package/dist/{chunk-2V3BU2X6.js.map → chunk-V7WIZR2B.js.map} +1 -1
- package/dist/{chunk-T2ACJD22.cjs → chunk-X37EKDIH.cjs} +11 -11
- package/dist/{chunk-T2ACJD22.cjs.map → chunk-X37EKDIH.cjs.map} +1 -1
- package/dist/{chunk-ED7JDFX4.cjs → chunk-XIVCG6EP.cjs} +2248 -578
- package/dist/chunk-XIVCG6EP.cjs.map +1 -0
- package/dist/contracts/handlers/index.d.cts +3 -3
- package/dist/contracts/handlers/index.d.ts +3 -3
- package/dist/{delegate-yjhcR9n4.d.cts → delegate-BRqbh2fW.d.cts} +1 -1
- package/dist/{delegate-DllAQ3Eu.d.ts → delegate-CgjVjYOP.d.ts} +1 -1
- package/dist/{index-D1te-ZR6.d.cts → index-DHuXlDEg.d.cts} +2 -2
- package/dist/{index-DVdCGyyH.d.ts → index-DvWNB_rl.d.ts} +2 -2
- package/dist/index.cjs +162 -118
- package/dist/index.d.cts +344 -9
- package/dist/index.d.ts +344 -9
- package/dist/index.js +2 -2
- package/dist/repositories/realm/index.cjs +268 -12
- package/dist/repositories/realm/index.cjs.map +1 -1
- package/dist/repositories/realm/index.d.cts +101 -3
- package/dist/repositories/realm/index.d.ts +101 -3
- package/dist/repositories/realm/index.js +254 -4
- package/dist/repositories/realm/index.js.map +1 -1
- package/dist/repositories/sqlite/index.cjs +366 -40
- package/dist/repositories/sqlite/index.cjs.map +1 -1
- package/dist/repositories/sqlite/index.d.cts +52 -6
- package/dist/repositories/sqlite/index.d.ts +52 -6
- package/dist/repositories/sqlite/index.js +353 -32
- package/dist/repositories/sqlite/index.js.map +1 -1
- package/dist/{taskRunner-BdiRy4iI.d.ts → taskRunner-Bptw9UMa.d.ts} +2 -2
- package/dist/{taskRunner-CuTk8RYg.d.cts → taskRunner-CeFxKhSH.d.cts} +2 -2
- package/dist/wallet/expo/background.cjs +12 -12
- package/dist/wallet/expo/background.d.cts +3 -3
- package/dist/wallet/expo/background.d.ts +3 -3
- package/dist/wallet/expo/background.js +4 -4
- package/dist/wallet/expo/index.cjs +12 -12
- package/dist/wallet/expo/index.d.cts +4 -4
- package/dist/wallet/expo/index.d.ts +4 -4
- package/dist/wallet/expo/index.js +3 -3
- package/dist/{wallet-CyPOQ0oM.d.cts → wallet-BsqRU8KM.d.cts} +29 -5
- package/dist/{wallet-CrIVUQMb.d.ts → wallet-D9z7wssl.d.ts} +29 -5
- package/dist/worker/expo/index.cjs +7 -7
- package/dist/worker/expo/index.d.cts +4 -4
- package/dist/worker/expo/index.d.ts +4 -4
- package/dist/worker/expo/index.js +3 -3
- package/package.json +2 -2
- package/dist/chunk-5X5YMZHB.js.map +0 -1
- package/dist/chunk-ED7JDFX4.cjs.map +0 -1
- package/dist/chunk-V3FCNVJE.js.map +0 -1
- package/dist/chunk-YEF5FL6E.cjs.map +0 -1
package/README.md
CHANGED
|
@@ -797,6 +797,71 @@ await Unroll.completeUnroll(
|
|
|
797
797
|
- The `completeUnroll` method can only be called after all virtual outputs are fully unrolled and the timelock has expired
|
|
798
798
|
- You need sufficient onchain funds in the `OnchainWallet` to pay for P2A transaction fees
|
|
799
799
|
|
|
800
|
+
### Unilateral Exit Packages (pre-signed)
|
|
801
|
+
|
|
802
|
+
`Unroll.Session` requires the wallet (keys + indexer access) to stay online for the whole
|
|
803
|
+
multi-day exit. `UnilateralExit` removes that requirement: it pre-signs **every** transaction
|
|
804
|
+
needed to unroll a VTXO's offchain transaction chain onchain **and** sweep each matured output
|
|
805
|
+
to an address you solely control, then emits a versioned JSON package that anything with an
|
|
806
|
+
Esplora-compatible endpoint can execute — no keys, no Arkade infrastructure.
|
|
807
|
+
|
|
808
|
+
> **Note:** Unilateral exit handles **BTC value only** and does not represent any assets a
|
|
809
|
+
> VTXO carries — do not pass asset-bearing VTXOs (those with a non-empty `assets` field).
|
|
810
|
+
|
|
811
|
+
The flow is **quote → fund → prepare → execute**:
|
|
812
|
+
|
|
813
|
+
```typescript
|
|
814
|
+
import { UnilateralExit, OnchainWallet, serializeExitPackage } from '@arkade-os/sdk'
|
|
815
|
+
|
|
816
|
+
const onchainWallet = await OnchainWallet.create(identity, 'mainnet')
|
|
817
|
+
|
|
818
|
+
// 1. Quote: how many txs, how many sats (no funds needed, nothing signed)
|
|
819
|
+
const quote = await UnilateralExit.estimate({
|
|
820
|
+
wallet,
|
|
821
|
+
onchainWallet,
|
|
822
|
+
sweepAddress: 'bc1p...', // where the exited funds land
|
|
823
|
+
// feeRate: 2, // sat/vB — defaults to the provider estimate
|
|
824
|
+
})
|
|
825
|
+
console.log(quote.totals.txCount, quote.totals.fundingRequiredSats, quote.shortfallSats)
|
|
826
|
+
|
|
827
|
+
// 2. Deposit quote.shortfallSats to quote.fundingAddress, wait for confirmation
|
|
828
|
+
|
|
829
|
+
// 3. Prepare: signs everything and broadcasts the fee-funding splitter,
|
|
830
|
+
// reserving the fee budget onchain
|
|
831
|
+
const pkg = await UnilateralExit.prepare({ wallet, onchainWallet, sweepAddress: 'bc1p...' })
|
|
832
|
+
const json = serializeExitPackage(pkg) // hand this to any executor
|
|
833
|
+
|
|
834
|
+
// 4. Execute anywhere — here, or on a machine that has only an Esplora URL
|
|
835
|
+
const executor = new UnilateralExit.Executor(pkg, wallet.onchainProvider)
|
|
836
|
+
for await (const event of executor) {
|
|
837
|
+
console.log(event.stepIndex, event.kind, event.status)
|
|
838
|
+
}
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
Every exit terminates in a **sweep**. Unrolling only lands a VTXO back onchain still encumbered
|
|
842
|
+
by its Arkade script; the funds become yours unilaterally only once a sweep spends that output
|
|
843
|
+
through the CSV-timelocked exit path to `sweepAddress`. So the package always pairs each exited
|
|
844
|
+
VTXO with a pre-signed sweep, and `totals.recoveredSats` is what arrives at `sweepAddress` after
|
|
845
|
+
the timelocks mature. A VTXO whose sweep cannot be signed — e.g. a contract path that needs
|
|
846
|
+
another party — is dropped from the package rather than left half-exited onchain.
|
|
847
|
+
|
|
848
|
+
Key properties:
|
|
849
|
+
|
|
850
|
+
- **Contract-aware**: exit paths are resolved through the contract handler registry, so
|
|
851
|
+
contract VTXOs (e.g. a VHTLC whose preimage is in the contract params) are pre-signable
|
|
852
|
+
too — paths needing other parties' signatures are skipped with a reason.
|
|
853
|
+
- **Shared ancestors are paid once**: VTXOs under the same commitment share tree
|
|
854
|
+
transactions; the package contains one step (and one fee) per unique transaction.
|
|
855
|
+
- **Idempotent execution**: the executor re-checks the chain before every action, so it can
|
|
856
|
+
be killed, moved, and re-run at any point; already-confirmed steps are skipped.
|
|
857
|
+
- **Per-VTXO isolation**: one sweep per VTXO plus fan-out fee funding means one failed
|
|
858
|
+
branch never blocks the others.
|
|
859
|
+
- **Confidentiality**: packages contain no key material, but sweeps of condition paths embed
|
|
860
|
+
the condition witness (e.g. a VHTLC preimage) — treat the file as confidential until
|
|
861
|
+
broadcast.
|
|
862
|
+
- `validUntil` carries the earliest batch expiry: execute before it, or the operator may
|
|
863
|
+
sweep the expired batch first.
|
|
864
|
+
|
|
800
865
|
### Running the wallet in a service worker
|
|
801
866
|
|
|
802
867
|
The SDK provides a `MessageBus` orchestrator that runs inside a service worker
|
package/dist/adapters/expo.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkX37EKDIH_cjs = require('../chunk-X37EKDIH.cjs');
|
|
4
|
+
require('../chunk-UBYY2TPK.cjs');
|
|
5
5
|
require('../chunk-HXDZ2QTW.cjs');
|
|
6
6
|
require('../chunk-5BLDMQED.cjs');
|
|
7
7
|
|
|
@@ -9,11 +9,11 @@ require('../chunk-5BLDMQED.cjs');
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "ExpoArkProvider", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkX37EKDIH_cjs.ExpoArkProvider; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "ExpoIndexerProvider", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkX37EKDIH_cjs.ExpoIndexerProvider; }
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=expo.cjs.map
|
|
19
19
|
//# sourceMappingURL=expo.cjs.map
|
package/dist/adapters/expo.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as RestArkProvider, j as SettlementEvent, T as TxNotification, m as RestIndexerProvider, n as SubscriptionResponse } from '../ark-
|
|
2
|
-
export { o as ArkProvider, p as IndexerProvider } from '../ark-
|
|
1
|
+
import { l as RestArkProvider, j as SettlementEvent, T as TxNotification, m as RestIndexerProvider, n as SubscriptionResponse } from '../ark-I8jfe5VE.cjs';
|
|
2
|
+
export { o as ArkProvider, p as IndexerProvider } from '../ark-I8jfe5VE.cjs';
|
|
3
3
|
import '@scure/btc-signer/transaction.js';
|
|
4
4
|
import '@scure/btc-signer/utils.js';
|
|
5
5
|
import '@scure/btc-signer/psbt.js';
|
package/dist/adapters/expo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as RestArkProvider, j as SettlementEvent, T as TxNotification, m as RestIndexerProvider, n as SubscriptionResponse } from '../ark-
|
|
2
|
-
export { o as ArkProvider, p as IndexerProvider } from '../ark-
|
|
1
|
+
import { l as RestArkProvider, j as SettlementEvent, T as TxNotification, m as RestIndexerProvider, n as SubscriptionResponse } from '../ark-I8jfe5VE.js';
|
|
2
|
+
export { o as ArkProvider, p as IndexerProvider } from '../ark-I8jfe5VE.js';
|
|
3
3
|
import '@scure/btc-signer/transaction.js';
|
|
4
4
|
import '@scure/btc-signer/utils.js';
|
|
5
5
|
import '@scure/btc-signer/psbt.js';
|
package/dist/adapters/expo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ExpoArkProvider, ExpoIndexerProvider } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { ExpoArkProvider, ExpoIndexerProvider } from '../chunk-V7WIZR2B.js';
|
|
2
|
+
import '../chunk-LJ35HPJW.js';
|
|
3
3
|
import '../chunk-BE5MUB7T.js';
|
|
4
4
|
import '../chunk-NSBPE2FW.js';
|
|
5
5
|
//# sourceMappingURL=expo.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkXIVCG6EP_cjs = require('../chunk-XIVCG6EP.cjs');
|
|
4
|
+
require('../chunk-UBYY2TPK.cjs');
|
|
5
5
|
require('../chunk-32YKLQPS.cjs');
|
|
6
6
|
require('../chunk-HXDZ2QTW.cjs');
|
|
7
7
|
require('../chunk-5BLDMQED.cjs');
|
|
@@ -11,7 +11,7 @@ var IndexedDBStorageAdapter = class {
|
|
|
11
11
|
dbName;
|
|
12
12
|
version;
|
|
13
13
|
db = null;
|
|
14
|
-
constructor(dbName, version =
|
|
14
|
+
constructor(dbName, version = chunkXIVCG6EP_cjs.DB_VERSION) {
|
|
15
15
|
this.dbName = dbName;
|
|
16
16
|
this.version = version;
|
|
17
17
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DB_VERSION } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
import { DB_VERSION } from '../chunk-FMI2GKYO.js';
|
|
2
|
+
import '../chunk-LJ35HPJW.js';
|
|
3
3
|
import '../chunk-YNEDJTX2.js';
|
|
4
4
|
import '../chunk-BE5MUB7T.js';
|
|
5
5
|
import '../chunk-NSBPE2FW.js';
|
|
@@ -965,6 +965,11 @@ interface IVtxoManager {
|
|
|
965
965
|
* Available regardless of the `deprecatedSignerMigration` config flag (that
|
|
966
966
|
* flag only gates the automatic poll-loop pass).
|
|
967
967
|
*
|
|
968
|
+
* As a side effect, refreshes the wallet's cached deprecated-signer set from
|
|
969
|
+
* fresh server info, so a subsequent `settle()` correctly excludes EXPIRED
|
|
970
|
+
* deprecated-signer inputs. To refresh that filter without migrating, call
|
|
971
|
+
* `wallet.refreshDeprecatedSigners(await wallet.arkProvider.getInfo())` instead.
|
|
972
|
+
*
|
|
968
973
|
* @returns A report of what was migrated, skipped, expired, or failed.
|
|
969
974
|
*/
|
|
970
975
|
migrateDeprecatedSignerVtxos(options?: MigrateDeprecatedSignerOptions): Promise<DeprecatedSignerMigrationReport>;
|
|
@@ -1650,6 +1655,120 @@ interface ContractRepository extends AsyncDisposable {
|
|
|
1650
1655
|
deleteContract(script: string): Promise<void>;
|
|
1651
1656
|
}
|
|
1652
1657
|
|
|
1658
|
+
type ArkIntentState = "waiting_to_submit" | "waiting_for_batch" | "batch_in_progress" | "batch_failed" | "batch_succeeded" | "cancelled";
|
|
1659
|
+
declare const INTENT_TERMINAL_STATES: ReadonlySet<ArkIntentState>;
|
|
1660
|
+
declare function isTerminalIntentState(s: ArkIntentState): boolean;
|
|
1661
|
+
interface ArkIntent {
|
|
1662
|
+
/** Intent proof tx id. Primary key. */
|
|
1663
|
+
intentTxId: string;
|
|
1664
|
+
/**
|
|
1665
|
+
* Server-assigned batch intent id. Unique when present: saving a *different*
|
|
1666
|
+
* intentTxId that reuses a live intentId is rejected (NArk parity). Absent
|
|
1667
|
+
* until the intent is registered with arkd.
|
|
1668
|
+
*/
|
|
1669
|
+
intentId?: string;
|
|
1670
|
+
state: ArkIntentState;
|
|
1671
|
+
validFrom?: number;
|
|
1672
|
+
validUntil?: number;
|
|
1673
|
+
createdAt: number;
|
|
1674
|
+
updatedAt: number;
|
|
1675
|
+
/** hex PSBT. */
|
|
1676
|
+
registerProof: string;
|
|
1677
|
+
/** canonical JSON signed by the register proof. */
|
|
1678
|
+
registerProofMessage: string;
|
|
1679
|
+
/** hex PSBT. */
|
|
1680
|
+
deleteProof: string;
|
|
1681
|
+
deleteProofMessage: string;
|
|
1682
|
+
batchId?: string;
|
|
1683
|
+
commitmentTransactionId?: string;
|
|
1684
|
+
cancellationReason?: string;
|
|
1685
|
+
partialForfeits: string[];
|
|
1686
|
+
signerDescriptor?: string;
|
|
1687
|
+
/** Input VTXOs locked by this intent. */
|
|
1688
|
+
intentVtxos: Outpoint[];
|
|
1689
|
+
}
|
|
1690
|
+
interface IntentFilter {
|
|
1691
|
+
intentTxIds?: string[];
|
|
1692
|
+
intentIds?: string[];
|
|
1693
|
+
/** Intents whose `intentVtxos` intersect any of these outpoints. */
|
|
1694
|
+
containingInputs?: Outpoint[];
|
|
1695
|
+
states?: ArkIntentState[];
|
|
1696
|
+
/** Intents valid at this ms-epoch instant (null bounds = open). */
|
|
1697
|
+
validAt?: number;
|
|
1698
|
+
/** Substring match over intentId, batchId, commitmentTransactionId. */
|
|
1699
|
+
searchText?: string;
|
|
1700
|
+
skip?: number;
|
|
1701
|
+
take?: number;
|
|
1702
|
+
}
|
|
1703
|
+
interface IntentRepository extends AsyncDisposable {
|
|
1704
|
+
readonly version: 1;
|
|
1705
|
+
clear(): Promise<void>;
|
|
1706
|
+
/** Upsert by `intentTxId`; implementation sets `updatedAt = Date.now()`. */
|
|
1707
|
+
saveIntent(intent: ArkIntent): Promise<void>;
|
|
1708
|
+
getIntents(filter?: IntentFilter): Promise<ArkIntent[]>;
|
|
1709
|
+
/**
|
|
1710
|
+
* Outpoints held by NON-terminal intents — `waiting_to_submit`,
|
|
1711
|
+
* `waiting_for_batch`, and `batch_in_progress` — to exclude from spendable
|
|
1712
|
+
* balance. Terminal states never lock.
|
|
1713
|
+
*
|
|
1714
|
+
* Deliberate divergence from NArk EF storage, whose `GetLockedVtxoOutpoints`
|
|
1715
|
+
* locks only `WaitingToSubmit`/`WaitingForBatch`: the TS wallet balance is
|
|
1716
|
+
* offline-first and reads this set as its single source of coin locking, so
|
|
1717
|
+
* it must also hold inputs already committed to an in-progress batch. NArk
|
|
1718
|
+
* excludes `BatchInProgress` here but protects those inputs through its
|
|
1719
|
+
* active-intent services instead.
|
|
1720
|
+
*/
|
|
1721
|
+
getLockedVtxoOutpoints(): Promise<Outpoint[]>;
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
* Type of a tx inside a VTXO's chain (commitment → leaf), as reported by
|
|
1726
|
+
* arkd's chain indexer. Values pinned verbatim from NArk `ChainedTxType.cs`.
|
|
1727
|
+
*/
|
|
1728
|
+
declare enum ChainedTxType {
|
|
1729
|
+
Unspecified = 0,
|
|
1730
|
+
Commitment = 1,
|
|
1731
|
+
Ark = 2,
|
|
1732
|
+
Tree = 3,
|
|
1733
|
+
Checkpoint = 4
|
|
1734
|
+
}
|
|
1735
|
+
/** A single virtual transaction in the VTXO tree. */
|
|
1736
|
+
interface VirtualTx {
|
|
1737
|
+
/** Transaction id (hex). Primary key. */
|
|
1738
|
+
txid: string;
|
|
1739
|
+
/** Base64-encoded PSBT body; null when only metadata has been cached. */
|
|
1740
|
+
psbt: string | null;
|
|
1741
|
+
/** Operator pre-signature expiry, ms epoch; null if not applicable. */
|
|
1742
|
+
expiresAt: number | null;
|
|
1743
|
+
/** Tx type as reported by arkd's chain indexer. */
|
|
1744
|
+
type: ChainedTxType;
|
|
1745
|
+
}
|
|
1746
|
+
/**
|
|
1747
|
+
* Links a VTXO to one virtual tx in its exit branch, ordered.
|
|
1748
|
+
* `position` 0 = closest to commitment (tree root); higher = closer to leaf.
|
|
1749
|
+
*/
|
|
1750
|
+
interface VtxoBranch {
|
|
1751
|
+
vtxoTxid: string;
|
|
1752
|
+
vtxoVout: number;
|
|
1753
|
+
virtualTxid: string;
|
|
1754
|
+
position: number;
|
|
1755
|
+
}
|
|
1756
|
+
interface VirtualTxRepository extends AsyncDisposable {
|
|
1757
|
+
readonly version: 1;
|
|
1758
|
+
clear(): Promise<void>;
|
|
1759
|
+
/** Upsert: non-null incoming fields overwrite; null (or, for `type`,
|
|
1760
|
+
* `Unspecified`) is treated as absent and preserves the stored value. */
|
|
1761
|
+
upsertVirtualTxs(txs: VirtualTx[]): Promise<void>;
|
|
1762
|
+
getVirtualTx(txid: string): Promise<VirtualTx | null>;
|
|
1763
|
+
/** Replace the entire stored branch for a VTXO. */
|
|
1764
|
+
setBranch(vtxo: Outpoint, branch: VtxoBranch[]): Promise<void>;
|
|
1765
|
+
/** Resolved virtual txs in the VTXO's branch, ordered by position asc. */
|
|
1766
|
+
getBranch(vtxo: Outpoint): Promise<VirtualTx[]>;
|
|
1767
|
+
hasBranch(vtxo: Outpoint): Promise<boolean>;
|
|
1768
|
+
/** Drop branch rows for a spent VTXO, then delete now-orphaned VirtualTx rows. */
|
|
1769
|
+
pruneForSpentVtxo(vtxo: Outpoint): Promise<void>;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1653
1772
|
type RefreshVtxosOptions = {
|
|
1654
1773
|
scripts?: string[];
|
|
1655
1774
|
after?: number;
|
|
@@ -1877,6 +1996,13 @@ interface ContractManagerConfig {
|
|
|
1877
1996
|
contractRepository: ContractRepository;
|
|
1878
1997
|
/** The wallet repository for virtual output storage (single source of truth) */
|
|
1879
1998
|
walletRepository: WalletRepository;
|
|
1999
|
+
/**
|
|
2000
|
+
* Optional intent store. When present, the online sync path reconciles
|
|
2001
|
+
* persisted non-terminal settlement intents against authoritative indexer
|
|
2002
|
+
* state (crash recovery) on boot and reconnect — see
|
|
2003
|
+
* {@link reconcileIntents}. Absent ⇒ no-op.
|
|
2004
|
+
*/
|
|
2005
|
+
intentRepository?: IntentRepository;
|
|
1880
2006
|
/** Watcher configuration */
|
|
1881
2007
|
watcherConfig?: Partial<ContractWatcherConfig>;
|
|
1882
2008
|
}
|
|
@@ -1963,6 +2089,15 @@ declare class ContractManager implements IContractManager {
|
|
|
1963
2089
|
* outputs that could sit outside any delta window.
|
|
1964
2090
|
*/
|
|
1965
2091
|
private reconcileWatched;
|
|
2092
|
+
/**
|
|
2093
|
+
* Crash-recovery for persisted settlement intents: reconcile any
|
|
2094
|
+
* non-terminal intent left behind by a mid-settle crash against
|
|
2095
|
+
* authoritative indexer state (see {@link reconcileIntents}). Runs on the
|
|
2096
|
+
* online sync path only — boot and subscription reconnect — never from a
|
|
2097
|
+
* wallet read API. Best-effort: intent recovery is not a sync invariant, so
|
|
2098
|
+
* a failure is logged and sync continues. No-op without an intent store.
|
|
2099
|
+
*/
|
|
2100
|
+
private reconcileStaleIntents;
|
|
1966
2101
|
/**
|
|
1967
2102
|
* Create and register a new contract.
|
|
1968
2103
|
*
|
|
@@ -3195,6 +3330,22 @@ type StorageConfig = {
|
|
|
3195
3330
|
walletRepository: WalletRepository;
|
|
3196
3331
|
/** Contract-state repository implementation. */
|
|
3197
3332
|
contractRepository: ContractRepository;
|
|
3333
|
+
/**
|
|
3334
|
+
* Optional intent-lifecycle repository. Opt-in: when present, the wallet
|
|
3335
|
+
* persists settlement intents and excludes intent-locked VTXOs from
|
|
3336
|
+
* spendable balance. Absent ⇒ those code paths are no-ops.
|
|
3337
|
+
*/
|
|
3338
|
+
intentRepository?: IntentRepository;
|
|
3339
|
+
/**
|
|
3340
|
+
* **Experimental / inert.** Optional virtual-tx (exit-branch) repository.
|
|
3341
|
+
* Today it is only a best-effort raw-PSBT cache that unilateral exit
|
|
3342
|
+
* ({@link Unroll}) reads and writes when a caller passes it to
|
|
3343
|
+
* `Unroll.Session.create`. Normal wallet/contract sync does NOT populate,
|
|
3344
|
+
* maintain, or prune it, and {@link ContractManager} is never given it —
|
|
3345
|
+
* branch/full-mode persistence is out of scope for this release. Treat this
|
|
3346
|
+
* option as experimental until those paths land. Absent ⇒ no-op.
|
|
3347
|
+
*/
|
|
3348
|
+
virtualTxRepository?: VirtualTxRepository;
|
|
3198
3349
|
};
|
|
3199
3350
|
/**
|
|
3200
3351
|
* Provider class constructor interface for dependency injection.
|
|
@@ -3233,7 +3384,11 @@ interface WalletBalance {
|
|
|
3233
3384
|
settled: number;
|
|
3234
3385
|
/** Spendable preconfirmed (unfinalized) balance. */
|
|
3235
3386
|
preconfirmed: number;
|
|
3236
|
-
/**
|
|
3387
|
+
/**
|
|
3388
|
+
* Immediately spendable offchain balance: the `settled + preconfirmed`
|
|
3389
|
+
* rule applied only to VTXOs not locked by an in-flight (non-terminal)
|
|
3390
|
+
* intent. Equals `settled + preconfirmed` when nothing is intent-locked.
|
|
3391
|
+
*/
|
|
3237
3392
|
available: number;
|
|
3238
3393
|
/** Recoverable balance from subdust or expired (swept) virtual outputs. */
|
|
3239
3394
|
recoverable: number;
|
|
@@ -4539,4 +4694,4 @@ declare namespace ProtoTypes {
|
|
|
4539
4694
|
export { };
|
|
4540
4695
|
}
|
|
4541
4696
|
|
|
4542
|
-
export {
|
|
4697
|
+
export { ContractManager as $, type ArkTransaction as A, type BatchStartedEvent as B, type ContractRepository as C, type TreeTxEvent as D, type ExtendedVirtualCoin as E, type TreeSignatureEvent as F, type GetVtxosFilter as G, type DescriptorProvider as H, type IWallet as I, type IReadonlyWallet as J, type ReadonlyIdentity as K, type DelegateProvider as L, type ReadonlyWalletConfig as M, type Network as N, type OnchainProvider as O, type IntentRepository as P, type VirtualTxRepository as Q, type Recipient as R, type SendBitcoinParams as S, type TxNotification as T, type IReadonlyAssetManager as U, VtxoScript as V, type WalletRepository as W, type NetworkName as X, type ArkInfo as Y, ArkAddress as Z, type Coin as _, type Identity as a, type ContractEventCallback as a$, CSVMultisigTapscript as a0, type SettlementConfig as a1, VtxoManager as a2, type SignerSession as a3, type SignedIntent as a4, Intent as a5, type VtxoRepositoryKey as a6, type WalletState as a7, type ContractFilter as a8, type ArkIntent as a9, type IssuanceResult as aA, type DelegateInfo as aB, type MigrationGlobalSkipReason as aC, type MigrationLegSkipReason as aD, type SignerStatus as aE, type StorageConfig as aF, type IVtxoManager as aG, type ExplorerTransaction as aH, type EncodedVtxoScript as aI, type Status as aJ, type ChainTx as aK, type PathContext as aL, type ActivityIntent as aM, type ActivityResolver as aN, type ArkIntentState as aO, type ArkTapscript as aP, type Asset as aQ, type AssetMetadata as aR, type BaseWalletConfig as aS, type BatchInfo as aT, type BatchSignableIdentity as aU, CLTVMultisigTapscript as aV, ChainTxType as aW, type CommitmentTx as aX, ConditionCSVMultisigTapscript as aY, ConditionMultisigTapscript as aZ, type ContractBalance as a_, type IntentFilter as aa, type Outpoint as ab, type VirtualTx as ac, type VtxoBranch as ad, ChainedTxType as ae, type DescriptorSigningRequest as af, Transaction as ag, type IntentFeeConfig as ah, type OffchainInput as ai, FeeAmount as aj, type OnchainInput as ak, type FeeOutput as al, type ContractWatcherConfig as am, type FeeInfo as an, type CreateContractParams as ao, type GetContractsFilter as ap, type GetSpendablePathsOptions as aq, type GetAllSpendingPathsOptions as ar, type IssuanceParams as as, type ReissuanceParams as at, type BurnParams as au, type RenewVtxosOptions as av, type ContractWithVtxos as aw, type PathSelection as ax, type ContractEvent as ay, type AssetDetails as az, type WalletConfig as b, createDefaultActivityRegistry as b$, type ContractHandler as b0, type ContractManagerConfig as b1, type ContractState as b2, type ContractVtxo as b3, ContractWatcher as b4, DelegateManagerImpl as b5, type DelegateOptions as b6, DelegatorManagerImpl as b7, type DelegatorProvider as b8, type DeprecatedSignerMigrationReport as b9, type ScanContractsOptions as bA, type ScanResult as bB, type ScheduledSession as bC, SettlementEventType as bD, type SignRequest as bE, type SignerClassification as bF, type SignerSet as bG, type SubscriptionEvent as bH, type SubscriptionHeartbeat as bI, type TapLeaves as bJ, TapTreeCoder as bK, TapscriptType as bL, type TreeNonces as bM, type TreePartialSigs as bN, type Tx as bO, type TxHistoryRecord as bP, type TxKey as bQ, type TxTreeNode as bR, TxType as bS, type VirtualStatus as bT, type Vtxo as bU, type VtxoChain as bV, type VtxoType as bW, type WalletMode as bX, boardingResolver as bY, classifyAgainstSignerSet as bZ, classifyContractSigner as b_, type DeprecatedSignerReport as ba, DigestMismatchError as bb, type Discoverable as bc, type DiscoveredContract as bd, type DiscoveryDeps as be, ESPLORA_URL as bf, EsploraProvider as bg, type ExtendedContractVtxo as bh, type GroupMembership as bi, type HandlerError as bj, type IDelegatorManager as bk, INTENT_TERMINAL_STATES as bl, IndexerTxType as bm, type KnownMetadata as bn, type MigrateDeprecatedSignerOptions as bo, type MigrationLegReport as bp, type MigrationVtxoRef as bq, MultisigTapscript as br, type Nonces as bs, type Output as bt, type PageResponse as bu, type PaginationOptions as bv, PartialSig as bw, type ProviderClass as bx, RestDelegateProvider as by, RestDelegatorProvider as bz, type WalletBalance as c, decodeTapscript as c0, getNetwork as c1, getSequence as c2, isBatchSignable as c3, isCooperativelyMigratable as c4, isDiscoverable as c5, isExpired as c6, isRecoverable as c7, isSpendable as c8, isSubdust as c9, isTerminalIntentState as ca, isVtxoExpiringSoon as cb, networks as cc, signerSetFromInfo as cd, toXOnlySignerHex as ce, type ExtendedCoin as d, ActivityRegistry as e, type Activity as f, type IContractManager as g, type IDelegateManager as h, type SettleParams as i, type SettlementEvent as j, type IAssetManager as k, RestArkProvider as l, RestIndexerProvider as m, type SubscriptionResponse as n, type ArkProvider as o, type IndexerProvider as p, type RelativeTimelock as q, type TapLeafScript as r, type VirtualCoin as s, type Contract as t, type TreeSigningStartedEvent as u, TxTree as v, type TreeNoncesEvent as w, type BatchFinalizationEvent as x, type BatchFinalizedEvent as y, type BatchFailedEvent as z };
|
|
@@ -965,6 +965,11 @@ interface IVtxoManager {
|
|
|
965
965
|
* Available regardless of the `deprecatedSignerMigration` config flag (that
|
|
966
966
|
* flag only gates the automatic poll-loop pass).
|
|
967
967
|
*
|
|
968
|
+
* As a side effect, refreshes the wallet's cached deprecated-signer set from
|
|
969
|
+
* fresh server info, so a subsequent `settle()` correctly excludes EXPIRED
|
|
970
|
+
* deprecated-signer inputs. To refresh that filter without migrating, call
|
|
971
|
+
* `wallet.refreshDeprecatedSigners(await wallet.arkProvider.getInfo())` instead.
|
|
972
|
+
*
|
|
968
973
|
* @returns A report of what was migrated, skipped, expired, or failed.
|
|
969
974
|
*/
|
|
970
975
|
migrateDeprecatedSignerVtxos(options?: MigrateDeprecatedSignerOptions): Promise<DeprecatedSignerMigrationReport>;
|
|
@@ -1650,6 +1655,120 @@ interface ContractRepository extends AsyncDisposable {
|
|
|
1650
1655
|
deleteContract(script: string): Promise<void>;
|
|
1651
1656
|
}
|
|
1652
1657
|
|
|
1658
|
+
type ArkIntentState = "waiting_to_submit" | "waiting_for_batch" | "batch_in_progress" | "batch_failed" | "batch_succeeded" | "cancelled";
|
|
1659
|
+
declare const INTENT_TERMINAL_STATES: ReadonlySet<ArkIntentState>;
|
|
1660
|
+
declare function isTerminalIntentState(s: ArkIntentState): boolean;
|
|
1661
|
+
interface ArkIntent {
|
|
1662
|
+
/** Intent proof tx id. Primary key. */
|
|
1663
|
+
intentTxId: string;
|
|
1664
|
+
/**
|
|
1665
|
+
* Server-assigned batch intent id. Unique when present: saving a *different*
|
|
1666
|
+
* intentTxId that reuses a live intentId is rejected (NArk parity). Absent
|
|
1667
|
+
* until the intent is registered with arkd.
|
|
1668
|
+
*/
|
|
1669
|
+
intentId?: string;
|
|
1670
|
+
state: ArkIntentState;
|
|
1671
|
+
validFrom?: number;
|
|
1672
|
+
validUntil?: number;
|
|
1673
|
+
createdAt: number;
|
|
1674
|
+
updatedAt: number;
|
|
1675
|
+
/** hex PSBT. */
|
|
1676
|
+
registerProof: string;
|
|
1677
|
+
/** canonical JSON signed by the register proof. */
|
|
1678
|
+
registerProofMessage: string;
|
|
1679
|
+
/** hex PSBT. */
|
|
1680
|
+
deleteProof: string;
|
|
1681
|
+
deleteProofMessage: string;
|
|
1682
|
+
batchId?: string;
|
|
1683
|
+
commitmentTransactionId?: string;
|
|
1684
|
+
cancellationReason?: string;
|
|
1685
|
+
partialForfeits: string[];
|
|
1686
|
+
signerDescriptor?: string;
|
|
1687
|
+
/** Input VTXOs locked by this intent. */
|
|
1688
|
+
intentVtxos: Outpoint[];
|
|
1689
|
+
}
|
|
1690
|
+
interface IntentFilter {
|
|
1691
|
+
intentTxIds?: string[];
|
|
1692
|
+
intentIds?: string[];
|
|
1693
|
+
/** Intents whose `intentVtxos` intersect any of these outpoints. */
|
|
1694
|
+
containingInputs?: Outpoint[];
|
|
1695
|
+
states?: ArkIntentState[];
|
|
1696
|
+
/** Intents valid at this ms-epoch instant (null bounds = open). */
|
|
1697
|
+
validAt?: number;
|
|
1698
|
+
/** Substring match over intentId, batchId, commitmentTransactionId. */
|
|
1699
|
+
searchText?: string;
|
|
1700
|
+
skip?: number;
|
|
1701
|
+
take?: number;
|
|
1702
|
+
}
|
|
1703
|
+
interface IntentRepository extends AsyncDisposable {
|
|
1704
|
+
readonly version: 1;
|
|
1705
|
+
clear(): Promise<void>;
|
|
1706
|
+
/** Upsert by `intentTxId`; implementation sets `updatedAt = Date.now()`. */
|
|
1707
|
+
saveIntent(intent: ArkIntent): Promise<void>;
|
|
1708
|
+
getIntents(filter?: IntentFilter): Promise<ArkIntent[]>;
|
|
1709
|
+
/**
|
|
1710
|
+
* Outpoints held by NON-terminal intents — `waiting_to_submit`,
|
|
1711
|
+
* `waiting_for_batch`, and `batch_in_progress` — to exclude from spendable
|
|
1712
|
+
* balance. Terminal states never lock.
|
|
1713
|
+
*
|
|
1714
|
+
* Deliberate divergence from NArk EF storage, whose `GetLockedVtxoOutpoints`
|
|
1715
|
+
* locks only `WaitingToSubmit`/`WaitingForBatch`: the TS wallet balance is
|
|
1716
|
+
* offline-first and reads this set as its single source of coin locking, so
|
|
1717
|
+
* it must also hold inputs already committed to an in-progress batch. NArk
|
|
1718
|
+
* excludes `BatchInProgress` here but protects those inputs through its
|
|
1719
|
+
* active-intent services instead.
|
|
1720
|
+
*/
|
|
1721
|
+
getLockedVtxoOutpoints(): Promise<Outpoint[]>;
|
|
1722
|
+
}
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
* Type of a tx inside a VTXO's chain (commitment → leaf), as reported by
|
|
1726
|
+
* arkd's chain indexer. Values pinned verbatim from NArk `ChainedTxType.cs`.
|
|
1727
|
+
*/
|
|
1728
|
+
declare enum ChainedTxType {
|
|
1729
|
+
Unspecified = 0,
|
|
1730
|
+
Commitment = 1,
|
|
1731
|
+
Ark = 2,
|
|
1732
|
+
Tree = 3,
|
|
1733
|
+
Checkpoint = 4
|
|
1734
|
+
}
|
|
1735
|
+
/** A single virtual transaction in the VTXO tree. */
|
|
1736
|
+
interface VirtualTx {
|
|
1737
|
+
/** Transaction id (hex). Primary key. */
|
|
1738
|
+
txid: string;
|
|
1739
|
+
/** Base64-encoded PSBT body; null when only metadata has been cached. */
|
|
1740
|
+
psbt: string | null;
|
|
1741
|
+
/** Operator pre-signature expiry, ms epoch; null if not applicable. */
|
|
1742
|
+
expiresAt: number | null;
|
|
1743
|
+
/** Tx type as reported by arkd's chain indexer. */
|
|
1744
|
+
type: ChainedTxType;
|
|
1745
|
+
}
|
|
1746
|
+
/**
|
|
1747
|
+
* Links a VTXO to one virtual tx in its exit branch, ordered.
|
|
1748
|
+
* `position` 0 = closest to commitment (tree root); higher = closer to leaf.
|
|
1749
|
+
*/
|
|
1750
|
+
interface VtxoBranch {
|
|
1751
|
+
vtxoTxid: string;
|
|
1752
|
+
vtxoVout: number;
|
|
1753
|
+
virtualTxid: string;
|
|
1754
|
+
position: number;
|
|
1755
|
+
}
|
|
1756
|
+
interface VirtualTxRepository extends AsyncDisposable {
|
|
1757
|
+
readonly version: 1;
|
|
1758
|
+
clear(): Promise<void>;
|
|
1759
|
+
/** Upsert: non-null incoming fields overwrite; null (or, for `type`,
|
|
1760
|
+
* `Unspecified`) is treated as absent and preserves the stored value. */
|
|
1761
|
+
upsertVirtualTxs(txs: VirtualTx[]): Promise<void>;
|
|
1762
|
+
getVirtualTx(txid: string): Promise<VirtualTx | null>;
|
|
1763
|
+
/** Replace the entire stored branch for a VTXO. */
|
|
1764
|
+
setBranch(vtxo: Outpoint, branch: VtxoBranch[]): Promise<void>;
|
|
1765
|
+
/** Resolved virtual txs in the VTXO's branch, ordered by position asc. */
|
|
1766
|
+
getBranch(vtxo: Outpoint): Promise<VirtualTx[]>;
|
|
1767
|
+
hasBranch(vtxo: Outpoint): Promise<boolean>;
|
|
1768
|
+
/** Drop branch rows for a spent VTXO, then delete now-orphaned VirtualTx rows. */
|
|
1769
|
+
pruneForSpentVtxo(vtxo: Outpoint): Promise<void>;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1653
1772
|
type RefreshVtxosOptions = {
|
|
1654
1773
|
scripts?: string[];
|
|
1655
1774
|
after?: number;
|
|
@@ -1877,6 +1996,13 @@ interface ContractManagerConfig {
|
|
|
1877
1996
|
contractRepository: ContractRepository;
|
|
1878
1997
|
/** The wallet repository for virtual output storage (single source of truth) */
|
|
1879
1998
|
walletRepository: WalletRepository;
|
|
1999
|
+
/**
|
|
2000
|
+
* Optional intent store. When present, the online sync path reconciles
|
|
2001
|
+
* persisted non-terminal settlement intents against authoritative indexer
|
|
2002
|
+
* state (crash recovery) on boot and reconnect — see
|
|
2003
|
+
* {@link reconcileIntents}. Absent ⇒ no-op.
|
|
2004
|
+
*/
|
|
2005
|
+
intentRepository?: IntentRepository;
|
|
1880
2006
|
/** Watcher configuration */
|
|
1881
2007
|
watcherConfig?: Partial<ContractWatcherConfig>;
|
|
1882
2008
|
}
|
|
@@ -1963,6 +2089,15 @@ declare class ContractManager implements IContractManager {
|
|
|
1963
2089
|
* outputs that could sit outside any delta window.
|
|
1964
2090
|
*/
|
|
1965
2091
|
private reconcileWatched;
|
|
2092
|
+
/**
|
|
2093
|
+
* Crash-recovery for persisted settlement intents: reconcile any
|
|
2094
|
+
* non-terminal intent left behind by a mid-settle crash against
|
|
2095
|
+
* authoritative indexer state (see {@link reconcileIntents}). Runs on the
|
|
2096
|
+
* online sync path only — boot and subscription reconnect — never from a
|
|
2097
|
+
* wallet read API. Best-effort: intent recovery is not a sync invariant, so
|
|
2098
|
+
* a failure is logged and sync continues. No-op without an intent store.
|
|
2099
|
+
*/
|
|
2100
|
+
private reconcileStaleIntents;
|
|
1966
2101
|
/**
|
|
1967
2102
|
* Create and register a new contract.
|
|
1968
2103
|
*
|
|
@@ -3195,6 +3330,22 @@ type StorageConfig = {
|
|
|
3195
3330
|
walletRepository: WalletRepository;
|
|
3196
3331
|
/** Contract-state repository implementation. */
|
|
3197
3332
|
contractRepository: ContractRepository;
|
|
3333
|
+
/**
|
|
3334
|
+
* Optional intent-lifecycle repository. Opt-in: when present, the wallet
|
|
3335
|
+
* persists settlement intents and excludes intent-locked VTXOs from
|
|
3336
|
+
* spendable balance. Absent ⇒ those code paths are no-ops.
|
|
3337
|
+
*/
|
|
3338
|
+
intentRepository?: IntentRepository;
|
|
3339
|
+
/**
|
|
3340
|
+
* **Experimental / inert.** Optional virtual-tx (exit-branch) repository.
|
|
3341
|
+
* Today it is only a best-effort raw-PSBT cache that unilateral exit
|
|
3342
|
+
* ({@link Unroll}) reads and writes when a caller passes it to
|
|
3343
|
+
* `Unroll.Session.create`. Normal wallet/contract sync does NOT populate,
|
|
3344
|
+
* maintain, or prune it, and {@link ContractManager} is never given it —
|
|
3345
|
+
* branch/full-mode persistence is out of scope for this release. Treat this
|
|
3346
|
+
* option as experimental until those paths land. Absent ⇒ no-op.
|
|
3347
|
+
*/
|
|
3348
|
+
virtualTxRepository?: VirtualTxRepository;
|
|
3198
3349
|
};
|
|
3199
3350
|
/**
|
|
3200
3351
|
* Provider class constructor interface for dependency injection.
|
|
@@ -3233,7 +3384,11 @@ interface WalletBalance {
|
|
|
3233
3384
|
settled: number;
|
|
3234
3385
|
/** Spendable preconfirmed (unfinalized) balance. */
|
|
3235
3386
|
preconfirmed: number;
|
|
3236
|
-
/**
|
|
3387
|
+
/**
|
|
3388
|
+
* Immediately spendable offchain balance: the `settled + preconfirmed`
|
|
3389
|
+
* rule applied only to VTXOs not locked by an in-flight (non-terminal)
|
|
3390
|
+
* intent. Equals `settled + preconfirmed` when nothing is intent-locked.
|
|
3391
|
+
*/
|
|
3237
3392
|
available: number;
|
|
3238
3393
|
/** Recoverable balance from subdust or expired (swept) virtual outputs. */
|
|
3239
3394
|
recoverable: number;
|
|
@@ -4539,4 +4694,4 @@ declare namespace ProtoTypes {
|
|
|
4539
4694
|
export { };
|
|
4540
4695
|
}
|
|
4541
4696
|
|
|
4542
|
-
export {
|
|
4697
|
+
export { ContractManager as $, type ArkTransaction as A, type BatchStartedEvent as B, type ContractRepository as C, type TreeTxEvent as D, type ExtendedVirtualCoin as E, type TreeSignatureEvent as F, type GetVtxosFilter as G, type DescriptorProvider as H, type IWallet as I, type IReadonlyWallet as J, type ReadonlyIdentity as K, type DelegateProvider as L, type ReadonlyWalletConfig as M, type Network as N, type OnchainProvider as O, type IntentRepository as P, type VirtualTxRepository as Q, type Recipient as R, type SendBitcoinParams as S, type TxNotification as T, type IReadonlyAssetManager as U, VtxoScript as V, type WalletRepository as W, type NetworkName as X, type ArkInfo as Y, ArkAddress as Z, type Coin as _, type Identity as a, type ContractEventCallback as a$, CSVMultisigTapscript as a0, type SettlementConfig as a1, VtxoManager as a2, type SignerSession as a3, type SignedIntent as a4, Intent as a5, type VtxoRepositoryKey as a6, type WalletState as a7, type ContractFilter as a8, type ArkIntent as a9, type IssuanceResult as aA, type DelegateInfo as aB, type MigrationGlobalSkipReason as aC, type MigrationLegSkipReason as aD, type SignerStatus as aE, type StorageConfig as aF, type IVtxoManager as aG, type ExplorerTransaction as aH, type EncodedVtxoScript as aI, type Status as aJ, type ChainTx as aK, type PathContext as aL, type ActivityIntent as aM, type ActivityResolver as aN, type ArkIntentState as aO, type ArkTapscript as aP, type Asset as aQ, type AssetMetadata as aR, type BaseWalletConfig as aS, type BatchInfo as aT, type BatchSignableIdentity as aU, CLTVMultisigTapscript as aV, ChainTxType as aW, type CommitmentTx as aX, ConditionCSVMultisigTapscript as aY, ConditionMultisigTapscript as aZ, type ContractBalance as a_, type IntentFilter as aa, type Outpoint as ab, type VirtualTx as ac, type VtxoBranch as ad, ChainedTxType as ae, type DescriptorSigningRequest as af, Transaction as ag, type IntentFeeConfig as ah, type OffchainInput as ai, FeeAmount as aj, type OnchainInput as ak, type FeeOutput as al, type ContractWatcherConfig as am, type FeeInfo as an, type CreateContractParams as ao, type GetContractsFilter as ap, type GetSpendablePathsOptions as aq, type GetAllSpendingPathsOptions as ar, type IssuanceParams as as, type ReissuanceParams as at, type BurnParams as au, type RenewVtxosOptions as av, type ContractWithVtxos as aw, type PathSelection as ax, type ContractEvent as ay, type AssetDetails as az, type WalletConfig as b, createDefaultActivityRegistry as b$, type ContractHandler as b0, type ContractManagerConfig as b1, type ContractState as b2, type ContractVtxo as b3, ContractWatcher as b4, DelegateManagerImpl as b5, type DelegateOptions as b6, DelegatorManagerImpl as b7, type DelegatorProvider as b8, type DeprecatedSignerMigrationReport as b9, type ScanContractsOptions as bA, type ScanResult as bB, type ScheduledSession as bC, SettlementEventType as bD, type SignRequest as bE, type SignerClassification as bF, type SignerSet as bG, type SubscriptionEvent as bH, type SubscriptionHeartbeat as bI, type TapLeaves as bJ, TapTreeCoder as bK, TapscriptType as bL, type TreeNonces as bM, type TreePartialSigs as bN, type Tx as bO, type TxHistoryRecord as bP, type TxKey as bQ, type TxTreeNode as bR, TxType as bS, type VirtualStatus as bT, type Vtxo as bU, type VtxoChain as bV, type VtxoType as bW, type WalletMode as bX, boardingResolver as bY, classifyAgainstSignerSet as bZ, classifyContractSigner as b_, type DeprecatedSignerReport as ba, DigestMismatchError as bb, type Discoverable as bc, type DiscoveredContract as bd, type DiscoveryDeps as be, ESPLORA_URL as bf, EsploraProvider as bg, type ExtendedContractVtxo as bh, type GroupMembership as bi, type HandlerError as bj, type IDelegatorManager as bk, INTENT_TERMINAL_STATES as bl, IndexerTxType as bm, type KnownMetadata as bn, type MigrateDeprecatedSignerOptions as bo, type MigrationLegReport as bp, type MigrationVtxoRef as bq, MultisigTapscript as br, type Nonces as bs, type Output as bt, type PageResponse as bu, type PaginationOptions as bv, PartialSig as bw, type ProviderClass as bx, RestDelegateProvider as by, RestDelegatorProvider as bz, type WalletBalance as c, decodeTapscript as c0, getNetwork as c1, getSequence as c2, isBatchSignable as c3, isCooperativelyMigratable as c4, isDiscoverable as c5, isExpired as c6, isRecoverable as c7, isSpendable as c8, isSubdust as c9, isTerminalIntentState as ca, isVtxoExpiringSoon as cb, networks as cc, signerSetFromInfo as cd, toXOnlySignerHex as ce, type ExtendedCoin as d, ActivityRegistry as e, type Activity as f, type IContractManager as g, type IDelegateManager as h, type SettleParams as i, type SettlementEvent as j, type IAssetManager as k, RestArkProvider as l, RestIndexerProvider as m, type SubscriptionResponse as n, type ArkProvider as o, type IndexerProvider as p, type RelativeTimelock as q, type TapLeafScript as r, type VirtualCoin as s, type Contract as t, type TreeSigningStartedEvent as u, TxTree as v, type TreeNoncesEvent as w, type BatchFinalizationEvent as x, type BatchFinalizedEvent as y, type BatchFailedEvent as z };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as TaskQueue, b as TaskItem, d as TaskResult } from './taskRunner-Bptw9UMa.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Minimal async key-value storage interface.
|
|
@@ -46,4 +46,4 @@ declare class AsyncStorageTaskQueue implements TaskQueue {
|
|
|
46
46
|
private writeList;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export {
|
|
49
|
+
export { type AsyncStorageLike as A, AsyncStorageTaskQueue as a };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as TaskQueue, b as TaskItem, d as TaskResult } from './taskRunner-CeFxKhSH.cjs';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Minimal async key-value storage interface.
|
|
@@ -46,4 +46,4 @@ declare class AsyncStorageTaskQueue implements TaskQueue {
|
|
|
46
46
|
private writeList;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export {
|
|
49
|
+
export { type AsyncStorageLike as A, AsyncStorageTaskQueue as a };
|