@arkade-os/sdk 0.4.14 → 0.4.16
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 +287 -215
- package/dist/cjs/arkfee/estimator.js +1 -1
- package/dist/cjs/arkfee/types.js +2 -1
- package/dist/cjs/arknote/index.js +43 -4
- package/dist/cjs/bip322/index.js +1 -1
- package/dist/cjs/contracts/arkcontract.js +1 -1
- package/dist/cjs/contracts/contractManager.js +40 -24
- package/dist/cjs/contracts/contractWatcher.js +29 -22
- package/dist/cjs/contracts/handlers/default.js +1 -1
- package/dist/cjs/contracts/handlers/delegate.js +1 -1
- package/dist/cjs/contracts/handlers/helpers.js +25 -1
- package/dist/cjs/contracts/handlers/vhtlc.js +2 -4
- package/dist/cjs/extension/asset/assetGroup.js +92 -5
- package/dist/cjs/extension/asset/assetId.js +67 -3
- package/dist/cjs/extension/asset/assetInput.js +18 -0
- package/dist/cjs/extension/asset/assetOutput.js +15 -0
- package/dist/cjs/extension/asset/assetRef.js +66 -0
- package/dist/cjs/extension/asset/metadata.js +15 -0
- package/dist/cjs/extension/asset/packet.js +4 -1
- package/dist/cjs/extension/index.js +1 -1
- package/dist/cjs/forfeit.js +14 -0
- package/dist/cjs/identity/index.js +6 -0
- package/dist/cjs/identity/seedIdentity.js +5 -5
- package/dist/cjs/identity/singleKey.js +4 -0
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/intent/index.js +28 -12
- package/dist/cjs/providers/ark.js +3 -2
- package/dist/cjs/providers/delegator.js +20 -1
- package/dist/cjs/providers/expoArk.js +2 -2
- package/dist/cjs/providers/indexer.js +2 -2
- package/dist/cjs/providers/onchain.js +2 -1
- package/dist/cjs/repositories/realm/schemas.js +2 -2
- package/dist/cjs/repositories/realm/types.js +1 -1
- package/dist/cjs/script/address.js +37 -6
- package/dist/cjs/script/base.js +70 -1
- package/dist/cjs/script/default.js +3 -0
- package/dist/cjs/script/delegate.js +4 -0
- package/dist/cjs/script/tapscript.js +25 -4
- package/dist/cjs/script/vhtlc.js +35 -27
- package/dist/cjs/storage/fileSystem.js +1 -1
- package/dist/cjs/storage/inMemory.js +1 -1
- package/dist/cjs/storage/indexedDB.js +1 -1
- package/dist/cjs/storage/localStorage.js +1 -1
- package/dist/cjs/tree/validation.js +1 -1
- package/dist/cjs/utils/arkTransaction.js +5 -5
- package/dist/cjs/utils/bip21.js +16 -3
- package/dist/cjs/utils/syncCursors.js +4 -4
- package/dist/cjs/utils/transaction.js +1 -1
- package/dist/cjs/utils/transactionHistory.js +11 -11
- package/dist/cjs/utils/unknownFields.js +3 -3
- package/dist/cjs/wallet/asset-manager.js +4 -4
- package/dist/cjs/wallet/batch.js +5 -5
- package/dist/cjs/wallet/delegator.js +9 -8
- package/dist/cjs/wallet/expo/background.js +3 -3
- package/dist/cjs/wallet/expo/wallet.js +7 -7
- package/dist/cjs/wallet/index.js +43 -0
- package/dist/cjs/wallet/onchain.js +43 -5
- package/dist/cjs/wallet/ramps.js +44 -14
- package/dist/cjs/wallet/serviceWorker/wallet-message-handler.js +22 -22
- package/dist/cjs/wallet/serviceWorker/wallet.js +28 -24
- package/dist/cjs/wallet/unroll.js +12 -8
- package/dist/cjs/wallet/utils.js +1 -1
- package/dist/cjs/wallet/vtxo-manager.js +123 -82
- package/dist/cjs/wallet/wallet.js +231 -98
- package/dist/cjs/worker/expo/asyncStorageTaskQueue.js +1 -1
- package/dist/cjs/worker/expo/processors/contractPollProcessor.js +2 -2
- package/dist/cjs/worker/expo/taskRunner.js +3 -3
- package/dist/cjs/worker/messageBus.js +3 -0
- package/dist/esm/arkfee/estimator.js +1 -1
- package/dist/esm/arkfee/types.js +2 -1
- package/dist/esm/arknote/index.js +43 -4
- package/dist/esm/bip322/index.js +1 -1
- package/dist/esm/contracts/arkcontract.js +1 -1
- package/dist/esm/contracts/contractManager.js +40 -24
- package/dist/esm/contracts/contractWatcher.js +29 -22
- package/dist/esm/contracts/handlers/default.js +1 -1
- package/dist/esm/contracts/handlers/delegate.js +1 -1
- package/dist/esm/contracts/handlers/helpers.js +24 -1
- package/dist/esm/contracts/handlers/vhtlc.js +3 -5
- package/dist/esm/extension/asset/assetGroup.js +92 -5
- package/dist/esm/extension/asset/assetId.js +67 -3
- package/dist/esm/extension/asset/assetInput.js +18 -0
- package/dist/esm/extension/asset/assetOutput.js +15 -0
- package/dist/esm/extension/asset/assetRef.js +66 -0
- package/dist/esm/extension/asset/metadata.js +15 -0
- package/dist/esm/extension/asset/packet.js +4 -1
- package/dist/esm/extension/index.js +1 -1
- package/dist/esm/forfeit.js +14 -0
- package/dist/esm/identity/index.js +5 -0
- package/dist/esm/identity/seedIdentity.js +5 -5
- package/dist/esm/identity/singleKey.js +4 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/intent/index.js +28 -12
- package/dist/esm/providers/ark.js +3 -2
- package/dist/esm/providers/delegator.js +20 -1
- package/dist/esm/providers/expoArk.js +2 -2
- package/dist/esm/providers/indexer.js +2 -2
- package/dist/esm/providers/onchain.js +2 -1
- package/dist/esm/repositories/realm/schemas.js +2 -2
- package/dist/esm/repositories/realm/types.js +1 -1
- package/dist/esm/script/address.js +37 -6
- package/dist/esm/script/base.js +70 -1
- package/dist/esm/script/default.js +3 -0
- package/dist/esm/script/delegate.js +4 -0
- package/dist/esm/script/tapscript.js +25 -4
- package/dist/esm/script/vhtlc.js +35 -27
- package/dist/esm/storage/fileSystem.js +1 -1
- package/dist/esm/storage/inMemory.js +1 -1
- package/dist/esm/storage/indexedDB.js +1 -1
- package/dist/esm/storage/localStorage.js +1 -1
- package/dist/esm/tree/validation.js +1 -1
- package/dist/esm/utils/arkTransaction.js +5 -5
- package/dist/esm/utils/bip21.js +16 -3
- package/dist/esm/utils/syncCursors.js +4 -4
- package/dist/esm/utils/transaction.js +1 -1
- package/dist/esm/utils/transactionHistory.js +11 -11
- package/dist/esm/utils/unknownFields.js +3 -3
- package/dist/esm/wallet/asset-manager.js +4 -4
- package/dist/esm/wallet/batch.js +5 -5
- package/dist/esm/wallet/delegator.js +9 -8
- package/dist/esm/wallet/expo/background.js +3 -3
- package/dist/esm/wallet/expo/wallet.js +7 -7
- package/dist/esm/wallet/index.js +43 -0
- package/dist/esm/wallet/onchain.js +43 -5
- package/dist/esm/wallet/ramps.js +44 -14
- package/dist/esm/wallet/serviceWorker/wallet-message-handler.js +22 -22
- package/dist/esm/wallet/serviceWorker/wallet.js +28 -24
- package/dist/esm/wallet/unroll.js +12 -8
- package/dist/esm/wallet/utils.js +1 -1
- package/dist/esm/wallet/vtxo-manager.js +122 -81
- package/dist/esm/wallet/wallet.js +232 -99
- package/dist/esm/worker/expo/asyncStorageTaskQueue.js +1 -1
- package/dist/esm/worker/expo/processors/contractPollProcessor.js +2 -2
- package/dist/esm/worker/expo/taskRunner.js +3 -3
- package/dist/esm/worker/messageBus.js +3 -0
- package/dist/types/arkfee/estimator.d.ts +1 -1
- package/dist/types/arkfee/types.d.ts +2 -1
- package/dist/types/arknote/index.d.ts +44 -4
- package/dist/types/bip322/index.d.ts +1 -1
- package/dist/types/contracts/arkcontract.d.ts +1 -1
- package/dist/types/contracts/contractManager.d.ts +40 -63
- package/dist/types/contracts/contractWatcher.d.ts +39 -18
- package/dist/types/contracts/handlers/default.d.ts +1 -1
- package/dist/types/contracts/handlers/delegate.d.ts +1 -1
- package/dist/types/contracts/handlers/helpers.d.ts +11 -1
- package/dist/types/contracts/types.d.ts +36 -26
- package/dist/types/extension/asset/assetGroup.d.ts +92 -1
- package/dist/types/extension/asset/assetId.d.ts +67 -3
- package/dist/types/extension/asset/assetInput.d.ts +18 -0
- package/dist/types/extension/asset/assetOutput.d.ts +15 -0
- package/dist/types/extension/asset/assetRef.d.ts +66 -0
- package/dist/types/extension/asset/metadata.d.ts +15 -0
- package/dist/types/extension/asset/packet.d.ts +4 -1
- package/dist/types/extension/index.d.ts +1 -1
- package/dist/types/forfeit.d.ts +14 -0
- package/dist/types/identity/index.d.ts +36 -0
- package/dist/types/identity/seedIdentity.d.ts +10 -8
- package/dist/types/identity/singleKey.d.ts +4 -0
- package/dist/types/index.d.ts +3 -3
- package/dist/types/intent/index.d.ts +19 -6
- package/dist/types/providers/ark.d.ts +40 -2
- package/dist/types/providers/delegator.d.ts +54 -1
- package/dist/types/providers/expoArk.d.ts +2 -2
- package/dist/types/providers/indexer.d.ts +105 -2
- package/dist/types/providers/onchain.d.ts +62 -1
- package/dist/types/repositories/realm/schemas.d.ts +2 -2
- package/dist/types/repositories/realm/types.d.ts +2 -2
- package/dist/types/repositories/walletRepository.d.ts +16 -0
- package/dist/types/script/address.d.ts +35 -2
- package/dist/types/script/base.d.ts +66 -1
- package/dist/types/script/default.d.ts +3 -0
- package/dist/types/script/delegate.d.ts +4 -0
- package/dist/types/script/tapscript.d.ts +17 -2
- package/dist/types/script/vhtlc.d.ts +35 -27
- package/dist/types/storage/fileSystem.d.ts +1 -1
- package/dist/types/storage/inMemory.d.ts +1 -1
- package/dist/types/storage/index.d.ts +1 -1
- package/dist/types/storage/indexedDB.d.ts +1 -1
- package/dist/types/storage/localStorage.d.ts +1 -1
- package/dist/types/utils/arkTransaction.d.ts +3 -3
- package/dist/types/utils/bip21.d.ts +17 -0
- package/dist/types/utils/syncCursors.d.ts +4 -4
- package/dist/types/utils/transaction.d.ts +1 -1
- package/dist/types/utils/transactionHistory.d.ts +3 -3
- package/dist/types/utils/unknownFields.d.ts +5 -5
- package/dist/types/wallet/asset-manager.d.ts +3 -3
- package/dist/types/wallet/batch.d.ts +27 -7
- package/dist/types/wallet/delegator.d.ts +10 -0
- package/dist/types/wallet/expo/background.d.ts +4 -4
- package/dist/types/wallet/expo/wallet.d.ts +10 -10
- package/dist/types/wallet/index.d.ts +457 -25
- package/dist/types/wallet/onchain.d.ts +42 -4
- package/dist/types/wallet/ramps.d.ts +40 -10
- package/dist/types/wallet/serviceWorker/wallet-message-handler.d.ts +4 -4
- package/dist/types/wallet/serviceWorker/wallet.d.ts +71 -33
- package/dist/types/wallet/unroll.d.ts +8 -6
- package/dist/types/wallet/vtxo-manager.d.ts +146 -93
- package/dist/types/wallet/wallet.d.ts +91 -33
- package/dist/types/worker/expo/asyncStorageTaskQueue.d.ts +1 -1
- package/dist/types/worker/expo/processors/contractPollProcessor.d.ts +1 -1
- package/dist/types/worker/expo/taskRunner.d.ts +6 -6
- package/dist/types/worker/messageBus.d.ts +5 -3
- package/package.json +18 -10
|
@@ -3,13 +3,13 @@ type ExtendedArkTransaction = ArkTransaction & {
|
|
|
3
3
|
tag: "offchain" | "boarding" | "exit" | "batch";
|
|
4
4
|
};
|
|
5
5
|
/**
|
|
6
|
-
* Builds the transaction history by analyzing virtual
|
|
6
|
+
* Builds the transaction history by analyzing virtual outputs, boarding transactions, and ignored commitments.
|
|
7
7
|
* History is sorted from newest to oldest and is composed only of SENT and RECEIVED transactions.
|
|
8
8
|
*
|
|
9
|
-
* @param {VirtualCoin[]} vtxos - An array of virtual
|
|
9
|
+
* @param {VirtualCoin[]} vtxos - An array of virtual outputs representing the user's transactions and balances.
|
|
10
10
|
* @param {ArkTransaction[]} allBoardingTxs - An array of boarding transactions to include in the history.
|
|
11
11
|
* @param {Set<string>} commitmentsToIgnore - A set of commitment IDs that should be excluded from processing.
|
|
12
|
-
* @return {ExtendedArkTransaction[]} A sorted array of extended
|
|
12
|
+
* @return {ExtendedArkTransaction[]} A sorted array of extended Arkade transactions, representing the transaction history.
|
|
13
13
|
*/
|
|
14
14
|
export declare function buildTransactionHistory(vtxos: VirtualCoin[], allBoardingTxs: ArkTransaction[], commitmentsToIgnore: Set<string>, getTxCreatedAt?: (txid: string) => Promise<number | undefined>): Promise<ExtendedArkTransaction[]>;
|
|
15
15
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Transaction } from "@scure/btc-signer";
|
|
2
2
|
import { TransactionInputUpdate } from "@scure/btc-signer/psbt.js";
|
|
3
3
|
/**
|
|
4
|
-
* ArkPsbtFieldKey
|
|
4
|
+
* ArkPsbtFieldKey are the available key names for the Arkade PSBT custom fields.
|
|
5
5
|
*/
|
|
6
6
|
export declare enum ArkPsbtFieldKey {
|
|
7
7
|
VtxoTaprootTree = "taptree",
|
|
@@ -10,13 +10,13 @@ export declare enum ArkPsbtFieldKey {
|
|
|
10
10
|
ConditionWitness = "condition"
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* ArkPsbtFieldKeyType is the type of the
|
|
14
|
-
* Every
|
|
13
|
+
* ArkPsbtFieldKeyType is the key type of the Arkade PSBT custom field.
|
|
14
|
+
* Every Arkade PSBT field has key type 222.
|
|
15
15
|
*/
|
|
16
16
|
export declare const ArkPsbtFieldKeyType = 222;
|
|
17
17
|
/**
|
|
18
|
-
* ArkPsbtFieldCoder is the coder for the
|
|
19
|
-
*
|
|
18
|
+
* ArkPsbtFieldCoder is the coder for the Arkade PSBT custom fields.
|
|
19
|
+
* Each type has its own coder.
|
|
20
20
|
*/
|
|
21
21
|
export interface ArkPsbtFieldCoder<T> {
|
|
22
22
|
key: ArkPsbtFieldKey;
|
|
@@ -15,7 +15,7 @@ export declare class AssetManager extends ReadonlyAssetManager implements IAsset
|
|
|
15
15
|
* @param params.amount - Amount of asset units to issue
|
|
16
16
|
* @param params.controlAssetId - Optional control asset ID (for reissuable assets)
|
|
17
17
|
* @param params.metadata - Optional metadata to attach to the asset
|
|
18
|
-
* @returns Promise resolving to the
|
|
18
|
+
* @returns Promise resolving to the Arkade transaction ID and asset ID
|
|
19
19
|
*
|
|
20
20
|
* @example
|
|
21
21
|
* ```typescript
|
|
@@ -39,7 +39,7 @@ export declare class AssetManager extends ReadonlyAssetManager implements IAsset
|
|
|
39
39
|
* @param params - Parameters for asset reissuance
|
|
40
40
|
* @param params.assetId - The asset ID to reissue (control asset ID is resolved via getAssetDetails)
|
|
41
41
|
* @param params.amount - Amount of additional units to issue
|
|
42
|
-
* @returns Promise resolving to the
|
|
42
|
+
* @returns Promise resolving to the Arkade transaction ID
|
|
43
43
|
*
|
|
44
44
|
* @example
|
|
45
45
|
* ```typescript
|
|
@@ -55,7 +55,7 @@ export declare class AssetManager extends ReadonlyAssetManager implements IAsset
|
|
|
55
55
|
* @param params - Parameters for burning
|
|
56
56
|
* @param params.assetId - The asset ID to burn
|
|
57
57
|
* @param params.amount - Amount of units to burn
|
|
58
|
-
* @returns Promise resolving to the
|
|
58
|
+
* @returns Promise resolving to the Arkade transaction ID
|
|
59
59
|
*
|
|
60
60
|
* @example
|
|
61
61
|
* ```typescript
|
|
@@ -10,7 +10,7 @@ import { TxTree } from "../tree/txTree";
|
|
|
10
10
|
* const handler = wallet.createBatchHandler(intentId, inputs, expectedRecipients, musig2session);
|
|
11
11
|
*
|
|
12
12
|
* const abortController = new AbortController();
|
|
13
|
-
* // Get event stream from
|
|
13
|
+
* // Get event stream from the Arkade provider
|
|
14
14
|
* const eventStream = arkProvider.getEventStream(
|
|
15
15
|
* abortController.signal,
|
|
16
16
|
* ['your-topic-1', 'your-topic-2']
|
|
@@ -39,7 +39,7 @@ export declare namespace Batch {
|
|
|
39
39
|
/**
|
|
40
40
|
* Called when tree signing starts.
|
|
41
41
|
* @param event The tree signing started event.
|
|
42
|
-
* @param vtxoTree The unsigned
|
|
42
|
+
* @param vtxoTree The unsigned virtual output tree, reconstructed from the TreeTxEvent events.
|
|
43
43
|
* @returns Promise resolving to a boolean indicating whether to continue processing.
|
|
44
44
|
*/
|
|
45
45
|
onTreeSigningStarted(event: TreeSigningStartedEvent, vtxoTree: TxTree): Promise<{
|
|
@@ -56,21 +56,41 @@ export declare namespace Batch {
|
|
|
56
56
|
/**
|
|
57
57
|
* Called during batch finalization.
|
|
58
58
|
* @param event The batch finalization event.
|
|
59
|
-
* @param vtxoTree The signed
|
|
59
|
+
* @param vtxoTree The signed virtual output tree, reconstructed from the TreeTxEvent events.
|
|
60
60
|
* @param connectorTree The connector transaction tree, reconstructed from the TreeTxEvent events.
|
|
61
61
|
*/
|
|
62
62
|
onBatchFinalization(event: BatchFinalizationEvent, vtxoTree?: TxTree, connectorTree?: TxTree): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Called when batch finalization completes successfully.
|
|
65
|
+
*
|
|
66
|
+
* @param event - Batch finalized event
|
|
67
|
+
*/
|
|
63
68
|
onBatchFinalized?(event: BatchFinalizedEvent): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Called when batch processing fails.
|
|
71
|
+
*
|
|
72
|
+
* @param event - Batch failed event
|
|
73
|
+
*/
|
|
64
74
|
onBatchFailed?(event: BatchFailedEvent): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Called for each virtual output tree transaction chunk received during batch processing.
|
|
77
|
+
*
|
|
78
|
+
* @param event - Tree transaction event
|
|
79
|
+
*/
|
|
65
80
|
onTreeTxEvent?(event: TreeTxEvent): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Called for each tree signature event received during batch processing.
|
|
83
|
+
*
|
|
84
|
+
* @param event - Tree signature event
|
|
85
|
+
*/
|
|
66
86
|
onTreeSignatureEvent?(event: TreeSignatureEvent): Promise<void>;
|
|
67
87
|
}
|
|
68
88
|
/**
|
|
69
89
|
* Options for the join function.
|
|
70
|
-
*
|
|
71
|
-
* @
|
|
72
|
-
* @
|
|
73
|
-
* @
|
|
90
|
+
*
|
|
91
|
+
* @property abortController - Abort controller used to cancel batch processing.
|
|
92
|
+
* @property skipVtxoTreeSigning - Ignore events related to the virtual output tree musig2 signing session.
|
|
93
|
+
* @property eventCallback - Callback invoked for each settlement event received while joining the batch.
|
|
74
94
|
*/
|
|
75
95
|
type JoinOptions = Partial<{
|
|
76
96
|
abortController: AbortController;
|
|
@@ -3,6 +3,14 @@ import { ArkProvider, DelegateInfo, ExtendedVirtualCoin, Identity, Outpoint } fr
|
|
|
3
3
|
import { DelegatorProvider } from "../providers/delegator";
|
|
4
4
|
import { Bytes } from "@scure/btc-signer/utils";
|
|
5
5
|
export interface IDelegatorManager {
|
|
6
|
+
/**
|
|
7
|
+
* Delegate virtual outputs to the remote delegation service.
|
|
8
|
+
*
|
|
9
|
+
* @param vtxos - Virtual outputs to delegate
|
|
10
|
+
* @param destination - Arkade address that should receive renewed funds
|
|
11
|
+
* @param delegateAt - Optional timestamp to force a specific delegation time
|
|
12
|
+
* @returns Successfully delegated and failed outpoint groups
|
|
13
|
+
*/
|
|
6
14
|
delegate(vtxos: ExtendedVirtualCoin[], destination: string, delegateAt?: Date): Promise<{
|
|
7
15
|
delegated: Outpoint[];
|
|
8
16
|
failed: {
|
|
@@ -10,12 +18,14 @@ export interface IDelegatorManager {
|
|
|
10
18
|
error: unknown;
|
|
11
19
|
}[];
|
|
12
20
|
}>;
|
|
21
|
+
/** Fetch delegate metadata such as pubkey, fee, and delegate address. */
|
|
13
22
|
getDelegateInfo(): Promise<DelegateInfo>;
|
|
14
23
|
}
|
|
15
24
|
export declare class DelegatorManagerImpl implements IDelegatorManager {
|
|
16
25
|
readonly delegatorProvider: DelegatorProvider;
|
|
17
26
|
readonly arkInfoProvider: Pick<ArkProvider, "getInfo">;
|
|
18
27
|
readonly identity: Identity;
|
|
28
|
+
/** Create a delegator manager from the configured provider, Arkade info source, and wallet identity. */
|
|
19
29
|
constructor(delegatorProvider: DelegatorProvider, arkInfoProvider: Pick<ArkProvider, "getInfo">, identity: Identity);
|
|
20
30
|
getDelegateInfo(): Promise<DelegateInfo>;
|
|
21
31
|
delegate(vtxos: ExtendedVirtualCoin[], destination: string, delegateAt?: Date): Promise<{
|
|
@@ -3,7 +3,7 @@ import type { ContractRepository } from "../../repositories/contractRepository";
|
|
|
3
3
|
import type { AsyncStorageTaskQueue } from "../../worker/expo/asyncStorageTaskQueue";
|
|
4
4
|
import type { TaskProcessor } from "../../worker/expo/taskRunner";
|
|
5
5
|
/**
|
|
6
|
-
* Wallet parameters persisted by
|
|
6
|
+
* Wallet parameters persisted by @see ExpoWallet.setup and read
|
|
7
7
|
* by the background handler to reconstruct providers and `extendVtxo`
|
|
8
8
|
* without a network call.
|
|
9
9
|
*/
|
|
@@ -15,7 +15,7 @@ export interface PersistedBackgroundConfig {
|
|
|
15
15
|
exitTimelockType: "blocks" | "seconds";
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* Options for
|
|
18
|
+
* Options for @see defineExpoBackgroundTask.
|
|
19
19
|
*/
|
|
20
20
|
export interface DefineBackgroundTaskOptions {
|
|
21
21
|
/** AsyncStorage-backed queue (must match the one passed to ExpoWallet.setup). */
|
|
@@ -52,8 +52,8 @@ export declare function defineExpoBackgroundTask(taskName: string, options: Defi
|
|
|
52
52
|
/**
|
|
53
53
|
* Activate the OS-level background task scheduler.
|
|
54
54
|
*
|
|
55
|
-
* Call this after
|
|
56
|
-
*
|
|
55
|
+
* Call this after @see defineExpoBackgroundTask (typically inside
|
|
56
|
+
* @see ExpoWallet.setup or in a React component after wallet init).
|
|
57
57
|
*
|
|
58
58
|
* @param minimumInterval - Minimum interval in minutes (default 15).
|
|
59
59
|
*/
|
|
@@ -7,7 +7,7 @@ import type { IDelegatorManager } from "../delegator";
|
|
|
7
7
|
import type { TaskQueue } from "../../worker/expo/taskQueue";
|
|
8
8
|
import type { TaskProcessor } from "../../worker/expo/taskRunner";
|
|
9
9
|
/**
|
|
10
|
-
* Background processing configuration for
|
|
10
|
+
* Background processing configuration for @see ExpoWallet.
|
|
11
11
|
*/
|
|
12
12
|
export interface ExpoBackgroundConfig {
|
|
13
13
|
/** Identifier registered with expo-background-task. */
|
|
@@ -22,7 +22,7 @@ export interface ExpoBackgroundConfig {
|
|
|
22
22
|
minimumBackgroundInterval?: number;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Configuration for
|
|
25
|
+
* Configuration for @see ExpoWallet.setup.
|
|
26
26
|
*/
|
|
27
27
|
export interface ExpoWalletConfig extends WalletConfig {
|
|
28
28
|
background: ExpoBackgroundConfig;
|
|
@@ -30,7 +30,7 @@ export interface ExpoWalletConfig extends WalletConfig {
|
|
|
30
30
|
/**
|
|
31
31
|
* Expo/React Native wallet with built-in background task processing.
|
|
32
32
|
*
|
|
33
|
-
* Wraps a standard
|
|
33
|
+
* Wraps a standard @see Wallet and adds a lightweight task queue
|
|
34
34
|
* for keeping contract/VTXO state fresh while the app is active and
|
|
35
35
|
* across Expo BackgroundTask wakes.
|
|
36
36
|
*
|
|
@@ -40,10 +40,10 @@ export interface ExpoWalletConfig extends WalletConfig {
|
|
|
40
40
|
* import { AsyncStorageTaskQueue } from "@arkade-os/sdk/worker/expo";
|
|
41
41
|
*
|
|
42
42
|
* const wallet = await ExpoWallet.setup({
|
|
43
|
-
* identity:
|
|
44
|
-
* arkServerUrl,
|
|
45
|
-
* esploraUrl,
|
|
46
|
-
* storage: {
|
|
43
|
+
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
|
|
44
|
+
* arkServerUrl: 'https://arkade.computer',
|
|
45
|
+
* esploraUrl: 'https://mempool.space/api',
|
|
46
|
+
* storage: { ... },
|
|
47
47
|
* background: {
|
|
48
48
|
* taskName: "ark-background-poll",
|
|
49
49
|
* taskQueue: new AsyncStorageTaskQueue(AsyncStorage),
|
|
@@ -69,8 +69,8 @@ export declare class ExpoWallet implements IWallet {
|
|
|
69
69
|
/**
|
|
70
70
|
* Create an ExpoWallet with background task support.
|
|
71
71
|
*
|
|
72
|
-
* 1. Creates the inner
|
|
73
|
-
* 2. Wires up processors (defaults to
|
|
72
|
+
* 1. Creates the inner @see Wallet via `Wallet.create()`.
|
|
73
|
+
* 2. Wires up processors (defaults to @see contractPollProcessor).
|
|
74
74
|
* 3. Persists background config for the background handler (if the queue supports it).
|
|
75
75
|
* 4. Seeds the task queue with a `contract-poll` task.
|
|
76
76
|
* 5. Registers the background task with the OS scheduler (if `minimumBackgroundInterval` is set).
|
|
@@ -94,6 +94,6 @@ export declare class ExpoWallet implements IWallet {
|
|
|
94
94
|
getDelegatorManager(): Promise<IDelegatorManager | undefined>;
|
|
95
95
|
sendBitcoin(params: SendBitcoinParams): Promise<string>;
|
|
96
96
|
settle(params?: SettleParams, eventCallback?: (event: SettlementEvent) => void): Promise<string>;
|
|
97
|
-
send(...recipients: Recipient[]): Promise<string>;
|
|
97
|
+
send(...recipients: [Recipient, ...Recipient[]]): Promise<string>;
|
|
98
98
|
get assetManager(): IAssetManager;
|
|
99
99
|
}
|