@arkade-os/sdk 0.5.2 → 0.5.4
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 +36 -34
- package/dist/adapters/expo.cjs +9 -5
- package/dist/adapters/expo.d.cts +11 -7
- package/dist/adapters/expo.d.ts +11 -7
- package/dist/adapters/expo.js +3 -3
- package/dist/{asyncStorageTaskQueue-DIn7bTqN.d.ts → asyncStorageTaskQueue-DHMIxY04.d.ts} +2 -2
- package/dist/{asyncStorageTaskQueue-BtEc3Qca.d.cts → asyncStorageTaskQueue-DTBa8EH7.d.cts} +2 -2
- package/dist/{chunk-LWRMSC4M.js → chunk-6CUP6ZIF.js} +4 -4
- package/dist/{chunk-LWRMSC4M.js.map → chunk-6CUP6ZIF.js.map} +1 -1
- package/dist/{chunk-HKG26NUT.js → chunk-AG4TFD6F.js} +140 -59
- package/dist/chunk-AG4TFD6F.js.map +1 -0
- package/dist/{chunk-PVFQFQBY.cjs → chunk-B6VNKGIH.cjs} +10 -10
- package/dist/chunk-B6VNKGIH.cjs.map +1 -0
- package/dist/{chunk-U5XG7SWA.js → chunk-BTRCN4JJ.js} +22 -19
- package/dist/chunk-BTRCN4JJ.js.map +1 -0
- package/dist/{chunk-TAIWH3HG.cjs → chunk-DNITZVNG.cjs} +28 -47
- package/dist/chunk-DNITZVNG.cjs.map +1 -0
- package/dist/{chunk-OM6FJ76H.cjs → chunk-E6OOJEHL.cjs} +49 -49
- package/dist/{chunk-OM6FJ76H.cjs.map → chunk-E6OOJEHL.cjs.map} +1 -1
- package/dist/{chunk-2OCYL6BJ.cjs → chunk-F3FAE7VJ.cjs} +850 -652
- package/dist/chunk-F3FAE7VJ.cjs.map +1 -0
- package/dist/{chunk-GGKR4O5X.cjs → chunk-GHUUT54D.cjs} +143 -58
- package/dist/chunk-GHUUT54D.cjs.map +1 -0
- package/dist/{chunk-MOBDJ7U2.js → chunk-MWVAWFX6.js} +4 -4
- package/dist/chunk-MWVAWFX6.js.map +1 -0
- package/dist/{chunk-2QRUQXLS.js → chunk-TUOLZBNC.js} +19 -39
- package/dist/chunk-TUOLZBNC.js.map +1 -0
- package/dist/{chunk-64R7CRKN.cjs → chunk-WXNSISXK.cjs} +37 -34
- package/dist/chunk-WXNSISXK.cjs.map +1 -0
- package/dist/{chunk-AJWXVQYG.js → chunk-ZJHLLDBP.js} +372 -177
- package/dist/chunk-ZJHLLDBP.js.map +1 -0
- package/dist/contracts/handlers/index.cjs +9 -9
- package/dist/contracts/handlers/index.d.cts +3 -3
- package/dist/contracts/handlers/index.d.ts +3 -3
- package/dist/contracts/handlers/index.js +2 -2
- package/dist/{delegate-CaL8EN4Q.d.cts → delegate-f4_t864Z.d.cts} +1 -1
- package/dist/{delegate-Jd4zs88Q.d.ts → delegate-xrSBNybC.d.ts} +1 -1
- package/dist/{index-D-xqVzf8.d.ts → index-BJDz15ms.d.ts} +5 -5
- package/dist/{index-BwdGzNSn.d.cts → index-BjiVGtp8.d.cts} +5 -5
- package/dist/{index-DdKxfC29.d.cts → index-DRwe0UDN.d.cts} +194 -114
- package/dist/{index-DdKxfC29.d.ts → index-DRwe0UDN.d.ts} +194 -114
- package/dist/index.cjs +333 -313
- package/dist/index.d.cts +80 -45
- package/dist/index.d.ts +80 -45
- package/dist/index.js +4 -4
- package/dist/repositories/realm/index.cjs +65 -36
- package/dist/repositories/realm/index.cjs.map +1 -1
- package/dist/repositories/realm/index.d.cts +7 -3
- package/dist/repositories/realm/index.d.ts +7 -3
- package/dist/repositories/realm/index.js +35 -6
- package/dist/repositories/realm/index.js.map +1 -1
- package/dist/repositories/sqlite/index.cjs +176 -110
- package/dist/repositories/sqlite/index.cjs.map +1 -1
- package/dist/repositories/sqlite/index.d.cts +23 -13
- package/dist/repositories/sqlite/index.d.ts +23 -13
- package/dist/repositories/sqlite/index.js +148 -83
- package/dist/repositories/sqlite/index.js.map +1 -1
- package/dist/{taskRunner-ZyGGjtIq.d.ts → taskRunner-BPPU-YHG.d.cts} +4 -4
- package/dist/{taskRunner-67YSEpsz.d.cts → taskRunner-CDlNeth0.d.ts} +4 -4
- package/dist/wallet/expo/background.cjs +14 -14
- package/dist/wallet/expo/background.cjs.map +1 -1
- package/dist/wallet/expo/background.d.cts +3 -3
- package/dist/wallet/expo/background.d.ts +3 -3
- package/dist/wallet/expo/background.js +7 -7
- package/dist/wallet/expo/background.js.map +1 -1
- package/dist/wallet/expo/index.cjs +18 -15
- package/dist/wallet/expo/index.cjs.map +1 -1
- package/dist/wallet/expo/index.d.cts +7 -6
- package/dist/wallet/expo/index.d.ts +7 -6
- package/dist/wallet/expo/index.js +9 -6
- package/dist/wallet/expo/index.js.map +1 -1
- package/dist/{wallet-bFS7VybL.d.ts → wallet-Oc3Wd5gv.d.ts} +27 -19
- package/dist/{wallet-B8LW7cV1.d.cts → wallet-jVBDQl6R.d.cts} +27 -19
- package/dist/worker/expo/index.cjs +9 -9
- package/dist/worker/expo/index.d.cts +4 -4
- package/dist/worker/expo/index.d.ts +4 -4
- package/dist/worker/expo/index.js +5 -5
- package/package.json +1 -1
- package/dist/chunk-2OCYL6BJ.cjs.map +0 -1
- package/dist/chunk-2QRUQXLS.js.map +0 -1
- package/dist/chunk-64R7CRKN.cjs.map +0 -1
- package/dist/chunk-AJWXVQYG.js.map +0 -1
- package/dist/chunk-GGKR4O5X.cjs.map +0 -1
- package/dist/chunk-HKG26NUT.js.map +0 -1
- package/dist/chunk-MOBDJ7U2.js.map +0 -1
- package/dist/chunk-PVFQFQBY.cjs.map +0 -1
- package/dist/chunk-TAIWH3HG.cjs.map +0 -1
- package/dist/chunk-U5XG7SWA.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WalletRepository, P as PageRequest,
|
|
2
|
-
import { TransactionOutput } from '@scure/btc-signer/psbt.js';
|
|
1
|
+
import { W as WalletRepository, P as PageRequest, F as Outpoint, H as PageResult, D as ExtendedVirtualCoin, J as ScriptVtxoCursor, K as ScriptVtxoPageOptions, L as StoredVtxo, M as VtxoRepositoryKey, E as ExtendedCoin, Q as TransactionHistoryPageFilter, U as TransactionHistoryPageCursor, h as ArkTransaction, X as AtomicWalletState, Y as WalletState, a5 as DescriptorProvider, a6 as DescriptorSigningRequest, a7 as Transaction, l as GetNewAddressesOptions, m as NewAddress, a as Identity, x as RelativeTimelock, a8 as Network, a9 as BatchStartedEvent, aa as TreeSigningStartedEvent, ab as TxTree, ac as TreeNoncesEvent, ad as BatchFinalizationEvent, ae as BatchFinalizedEvent, af as BatchFailedEvent, ag as TreeTxEvent, ah as TreeSignatureEvent, o as SettlementEvent, b as WalletConfig, C as ContractRepository, k as IContractManager, ai as IReadonlyWallet, aj as ReadonlyIdentity, ak as OnchainProvider, O as OperatorProvider, w as IndexerProvider, al as DelegateProvider, am as ReadonlyWalletConfig, _ as IntentRepository, a1 as VirtualTxRepository, an as ExitCaptureMode, ao as ExitDataSource, i as ActivityRegistry, ap as IReadonlyAssetManager, aq as ContractSyncState, ar as RecipientArkadeAddressContext, G as GetArkadeInfoOptions, A as ArkadeInfo, c as ArkadeReader, as as EsploraProvider, at as NetworkName, au as OperatorInfo, av as ArkAddress, e as WalletBalance, f as GetVtxosFilter, N as NormalizedExtendedVirtualCoin, g as GetSpendableVtxosFilter, aw as ContractWithVtxos, ax as selectPendingRecoveryOutpoints, j as Activity, ay as Coin, az as ContractManager, aA as ContractManagerConfig, I as IWallet, aB as CSVMultisigTapscript, aC as SettlementConfig, d as ArkadeBroadcaster, q as IAssetManager, aD as VtxoManager, n as IDelegateManager, S as SettleParams, R as Recipient, aE as SignerSession, aF as SignedIntent, aG as Intent, aH as SignedProof, aI as Proof, p as SendParams, aJ as TimeHeight } from './index-DRwe0UDN.js';
|
|
3
2
|
import { Bytes } from '@scure/btc-signer/utils.js';
|
|
4
|
-
import {
|
|
3
|
+
import { TransactionOutput } from '@scure/btc-signer/psbt.js';
|
|
4
|
+
import { D as DefaultVtxo, a as DelegateVtxo } from './delegate-xrSBNybC.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* IndexedDB-based implementation of WalletRepository.
|
|
@@ -9,7 +9,10 @@ import { D as DefaultVtxo, a as DelegateVtxo } from './delegate-Jd4zs88Q.js';
|
|
|
9
9
|
declare class IndexedDBWalletRepository implements WalletRepository {
|
|
10
10
|
readonly version: 2;
|
|
11
11
|
private readonly connection;
|
|
12
|
-
|
|
12
|
+
/** persistentWalletState asserts persistence beyond this process; it cannot detect browser eviction. */
|
|
13
|
+
constructor(dbName?: string, options?: {
|
|
14
|
+
persistentWalletState?: boolean;
|
|
15
|
+
});
|
|
13
16
|
clear(): Promise<void>;
|
|
14
17
|
[Symbol.asyncDispose](): Promise<void>;
|
|
15
18
|
getVtxosPage(address: string, page: PageRequest<Outpoint>): Promise<PageResult<ExtendedVirtualCoin, Outpoint>>;
|
|
@@ -25,6 +28,7 @@ declare class IndexedDBWalletRepository implements WalletRepository {
|
|
|
25
28
|
getTransactionHistoryPage(filter: TransactionHistoryPageFilter, page: PageRequest<TransactionHistoryPageCursor>): Promise<PageResult<ArkTransaction, TransactionHistoryPageCursor>>;
|
|
26
29
|
saveTransactions(address: string, txs: ArkTransaction[]): Promise<void>;
|
|
27
30
|
deleteTransactions(address: string): Promise<void>;
|
|
31
|
+
readonly atomicWalletState: AtomicWalletState;
|
|
28
32
|
getWalletState(): Promise<WalletState | null>;
|
|
29
33
|
saveWalletState(state: WalletState): Promise<void>;
|
|
30
34
|
private getDB;
|
|
@@ -431,7 +435,7 @@ type ServerInfoSource = "live" | "cache";
|
|
|
431
435
|
* const handler = wallet.createBatchHandler(intentId, inputs, expectedRecipients, musig2session);
|
|
432
436
|
*
|
|
433
437
|
* const abortController = new AbortController();
|
|
434
|
-
* // Get event stream from the
|
|
438
|
+
* // Get event stream from the operator provider
|
|
435
439
|
* const eventStream = arkProvider.getEventStream(
|
|
436
440
|
* abortController.signal,
|
|
437
441
|
* ['your-topic-1', 'your-topic-2']
|
|
@@ -831,7 +835,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
831
835
|
readonly network: Network;
|
|
832
836
|
readonly onchainProvider: OnchainProvider;
|
|
833
837
|
/** Narrowed so a readonly wallet can't grow a `submitTx` use; `Wallet` re-widens it. */
|
|
834
|
-
protected readonly arkProvider: Pick<
|
|
838
|
+
protected readonly arkProvider: Pick<OperatorProvider, "getInfo">;
|
|
835
839
|
readonly indexerProvider: IndexerProvider;
|
|
836
840
|
readonly dustAmount: bigint;
|
|
837
841
|
readonly walletRepository: WalletRepository;
|
|
@@ -905,7 +909,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
905
909
|
getContractSyncState(): ContractSyncState;
|
|
906
910
|
protected constructor(identity: ReadonlyIdentity, network: Network, onchainProvider: OnchainProvider,
|
|
907
911
|
/** Narrowed so a readonly wallet can't grow a `submitTx` use; `Wallet` re-widens it. */
|
|
908
|
-
arkProvider: Pick<
|
|
912
|
+
arkProvider: Pick<OperatorProvider, "getInfo">, indexerProvider: IndexerProvider, arkServerPublicKey: Bytes, offchainTapscript: DefaultVtxo.Script | DelegateVtxo.Script, boardingTapscript: DefaultVtxo.Script, dustAmount: bigint, walletRepository: WalletRepository, contractRepository: ContractRepository, delegateProvider?: DelegateProvider | undefined, watcherConfig?: ReadonlyWalletConfig["watcherConfig"], walletContractTimelocks?: RelativeTimelock[]);
|
|
909
913
|
/**
|
|
910
914
|
* x-only hex → cutoff of the operator's deprecated signers, cached for OFFLINE read/watch.
|
|
911
915
|
* Boarding watch/history fan out over {current} ∪ this set so deposits at addresses minted
|
|
@@ -974,7 +978,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
974
978
|
protected notifyBoardingRotation(): void;
|
|
975
979
|
/** Shared setup for ReadonlyWallet.create() and Wallet.create(). */
|
|
976
980
|
protected static setupWalletConfig(config: ReadonlyWalletConfig, pubKey: Uint8Array): Promise<{
|
|
977
|
-
arkProvider:
|
|
981
|
+
arkProvider: OperatorProvider;
|
|
978
982
|
indexerProvider: IndexerProvider;
|
|
979
983
|
onchainProvider: OnchainProvider | EsploraProvider;
|
|
980
984
|
network: Network;
|
|
@@ -985,7 +989,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
985
989
|
dustAmount: bigint;
|
|
986
990
|
walletRepository: WalletRepository | IndexedDBWalletRepository;
|
|
987
991
|
contractRepository: ContractRepository;
|
|
988
|
-
info:
|
|
992
|
+
info: OperatorInfo;
|
|
989
993
|
serverInfoSource: ServerInfoSource;
|
|
990
994
|
serverInfoLastOnlineAt: number | undefined;
|
|
991
995
|
delegateProvider: DelegateProvider | undefined;
|
|
@@ -1214,14 +1218,14 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
1214
1218
|
* // Create a wallet with providers
|
|
1215
1219
|
* const wallet = await Wallet.create({
|
|
1216
1220
|
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
|
|
1217
|
-
*
|
|
1221
|
+
* operatorProvider: new RestOperatorProvider(),
|
|
1218
1222
|
* onchainProvider: new EsploraProvider()
|
|
1219
1223
|
* });
|
|
1220
1224
|
*
|
|
1221
1225
|
* // Use custom providers and/or URLs (e.g., for Expo/React Native)
|
|
1222
1226
|
* const wallet = await Wallet.create({
|
|
1223
1227
|
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
|
|
1224
|
-
*
|
|
1228
|
+
* operatorProvider: new ExpoOperatorProvider('https://arkade.computer'),
|
|
1225
1229
|
* indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
|
|
1226
1230
|
* onchainProvider: new EsploraProvider('https://mempool.space/api')
|
|
1227
1231
|
* });
|
|
@@ -1242,6 +1246,8 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1242
1246
|
readonly forfeitPubkey: Bytes;
|
|
1243
1247
|
/** Overrides for the `batchExpiry` bounds; defaults derive from `network`. */
|
|
1244
1248
|
protected readonly batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined;
|
|
1249
|
+
/** @see WalletConfig.oneShotSubmit */
|
|
1250
|
+
readonly oneShotSubmit: boolean;
|
|
1245
1251
|
static MIN_FEE_RATE: number;
|
|
1246
1252
|
readonly identity: Identity;
|
|
1247
1253
|
private readonly _delegateManager?;
|
|
@@ -1519,15 +1525,17 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1519
1525
|
/** @see WalletConfig.concurrentSpending */
|
|
1520
1526
|
get concurrentSpending(): boolean;
|
|
1521
1527
|
/** Public here; `ReadonlyWallet` keeps it protected so a readonly view can't submit. */
|
|
1522
|
-
readonly arkProvider:
|
|
1528
|
+
readonly arkProvider: OperatorProvider;
|
|
1523
1529
|
/**
|
|
1524
1530
|
* Broadcast access bound to this wallet's server, so a plugin needs only the wallet. Not on
|
|
1525
1531
|
* {@link ReadonlyWallet}: a readonly wallet or `toReadonly()` view must not be able to submit.
|
|
1526
1532
|
*/
|
|
1527
1533
|
getArkadeBroadcaster(): Promise<ArkadeBroadcaster>;
|
|
1528
|
-
protected constructor(identity: Identity, network: Network, onchainProvider: OnchainProvider, arkProvider:
|
|
1534
|
+
protected constructor(identity: Identity, network: Network, onchainProvider: OnchainProvider, arkProvider: OperatorProvider, indexerProvider: IndexerProvider, arkServerPublicKey: Bytes, offchainTapscript: DefaultVtxo.Script | DelegateVtxo.Script, boardingTapscript: DefaultVtxo.Script, serverUnrollScript: CSVMultisigTapscript.Type, forfeitOutputScript: Bytes, forfeitPubkey: Bytes, dustAmount: bigint, walletRepository: WalletRepository, contractRepository: ContractRepository, delegateProvider?: DelegateProvider, watcherConfig?: WalletConfig["watcherConfig"], settlementConfig?: WalletConfig["settlementConfig"], walletContractTimelocks?: RelativeTimelock[], receiveRotator?: WalletReceiveRotator, descriptorProvider?: DescriptorProvider, keyring?: KeyringDescriptorProvider, lookAheadWindow?: number,
|
|
1529
1535
|
/** Overrides for the `batchExpiry` bounds; defaults derive from `network`. */
|
|
1530
|
-
batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined
|
|
1536
|
+
batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined,
|
|
1537
|
+
/** @see WalletConfig.oneShotSubmit */
|
|
1538
|
+
oneShotSubmit?: boolean);
|
|
1531
1539
|
get assetManager(): IAssetManager;
|
|
1532
1540
|
getVtxoManager(): Promise<VtxoManager>;
|
|
1533
1541
|
dispose(): Promise<void>;
|
|
@@ -1540,7 +1548,7 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1540
1548
|
* ```typescript
|
|
1541
1549
|
* const wallet = await Wallet.create({
|
|
1542
1550
|
* identity,
|
|
1543
|
-
*
|
|
1551
|
+
* operatorProvider: new RestOperatorProvider(),
|
|
1544
1552
|
* });
|
|
1545
1553
|
* ```
|
|
1546
1554
|
*/
|
|
@@ -1615,9 +1623,9 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1615
1623
|
signInputsByWitnessScript(tx: Transaction): Promise<Transaction>;
|
|
1616
1624
|
signOnchainBoardingTx(tx: Transaction): Promise<Transaction>;
|
|
1617
1625
|
safeRegisterIntent(intent: SignedIntent<Intent.RegisterMessage>, inputs: ExtendedCoin[]): Promise<string>;
|
|
1618
|
-
makeRegisterIntentSignature(coins: ExtendedCoin[], outputs: TransactionOutput[], onchainOutputsIndexes: number[], cosignerPubKeys: string[], validAt?: number): Promise<
|
|
1619
|
-
makeDeleteIntentSignature(coins: ExtendedCoin[]): Promise<
|
|
1620
|
-
makeGetPendingTxIntentSignature(coins: ExtendedVirtualCoin[]): Promise<
|
|
1626
|
+
makeRegisterIntentSignature(coins: ExtendedCoin[], outputs: TransactionOutput[], onchainOutputsIndexes: number[], cosignerPubKeys: string[], validAt?: number): Promise<SignedProof<Proof.RegisterMessage>>;
|
|
1627
|
+
makeDeleteIntentSignature(coins: ExtendedCoin[]): Promise<SignedProof<Proof.DeleteMessage>>;
|
|
1628
|
+
makeGetPendingTxIntentSignature(coins: ExtendedVirtualCoin[]): Promise<SignedProof<Proof.GetPendingTxMessage>>;
|
|
1621
1629
|
/**
|
|
1622
1630
|
* Finalizes pending transactions by retrieving them from the server and finalizing each one.
|
|
1623
1631
|
* Skips the server check entirely when no send was interrupted (no pending tx flag set).
|
|
@@ -1780,7 +1788,7 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1780
1788
|
sendSelectedVtxosToSelf(inputs: ExtendedVirtualCoin[], now?: TimeHeight): Promise<string>;
|
|
1781
1789
|
/**
|
|
1782
1790
|
* Build an offchain transaction from the given inputs and outputs,
|
|
1783
|
-
* sign it, submit to the
|
|
1791
|
+
* sign it, submit to the operator provider, and finalize.
|
|
1784
1792
|
*
|
|
1785
1793
|
* Signs whatever it is handed, ungated — see {@link settle} for the trade.
|
|
1786
1794
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WalletRepository, P as PageRequest,
|
|
2
|
-
import { TransactionOutput } from '@scure/btc-signer/psbt.js';
|
|
1
|
+
import { W as WalletRepository, P as PageRequest, F as Outpoint, H as PageResult, D as ExtendedVirtualCoin, J as ScriptVtxoCursor, K as ScriptVtxoPageOptions, L as StoredVtxo, M as VtxoRepositoryKey, E as ExtendedCoin, Q as TransactionHistoryPageFilter, U as TransactionHistoryPageCursor, h as ArkTransaction, X as AtomicWalletState, Y as WalletState, a5 as DescriptorProvider, a6 as DescriptorSigningRequest, a7 as Transaction, l as GetNewAddressesOptions, m as NewAddress, a as Identity, x as RelativeTimelock, a8 as Network, a9 as BatchStartedEvent, aa as TreeSigningStartedEvent, ab as TxTree, ac as TreeNoncesEvent, ad as BatchFinalizationEvent, ae as BatchFinalizedEvent, af as BatchFailedEvent, ag as TreeTxEvent, ah as TreeSignatureEvent, o as SettlementEvent, b as WalletConfig, C as ContractRepository, k as IContractManager, ai as IReadonlyWallet, aj as ReadonlyIdentity, ak as OnchainProvider, O as OperatorProvider, w as IndexerProvider, al as DelegateProvider, am as ReadonlyWalletConfig, _ as IntentRepository, a1 as VirtualTxRepository, an as ExitCaptureMode, ao as ExitDataSource, i as ActivityRegistry, ap as IReadonlyAssetManager, aq as ContractSyncState, ar as RecipientArkadeAddressContext, G as GetArkadeInfoOptions, A as ArkadeInfo, c as ArkadeReader, as as EsploraProvider, at as NetworkName, au as OperatorInfo, av as ArkAddress, e as WalletBalance, f as GetVtxosFilter, N as NormalizedExtendedVirtualCoin, g as GetSpendableVtxosFilter, aw as ContractWithVtxos, ax as selectPendingRecoveryOutpoints, j as Activity, ay as Coin, az as ContractManager, aA as ContractManagerConfig, I as IWallet, aB as CSVMultisigTapscript, aC as SettlementConfig, d as ArkadeBroadcaster, q as IAssetManager, aD as VtxoManager, n as IDelegateManager, S as SettleParams, R as Recipient, aE as SignerSession, aF as SignedIntent, aG as Intent, aH as SignedProof, aI as Proof, p as SendParams, aJ as TimeHeight } from './index-DRwe0UDN.cjs';
|
|
3
2
|
import { Bytes } from '@scure/btc-signer/utils.js';
|
|
4
|
-
import {
|
|
3
|
+
import { TransactionOutput } from '@scure/btc-signer/psbt.js';
|
|
4
|
+
import { D as DefaultVtxo, a as DelegateVtxo } from './delegate-f4_t864Z.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* IndexedDB-based implementation of WalletRepository.
|
|
@@ -9,7 +9,10 @@ import { D as DefaultVtxo, a as DelegateVtxo } from './delegate-CaL8EN4Q.cjs';
|
|
|
9
9
|
declare class IndexedDBWalletRepository implements WalletRepository {
|
|
10
10
|
readonly version: 2;
|
|
11
11
|
private readonly connection;
|
|
12
|
-
|
|
12
|
+
/** persistentWalletState asserts persistence beyond this process; it cannot detect browser eviction. */
|
|
13
|
+
constructor(dbName?: string, options?: {
|
|
14
|
+
persistentWalletState?: boolean;
|
|
15
|
+
});
|
|
13
16
|
clear(): Promise<void>;
|
|
14
17
|
[Symbol.asyncDispose](): Promise<void>;
|
|
15
18
|
getVtxosPage(address: string, page: PageRequest<Outpoint>): Promise<PageResult<ExtendedVirtualCoin, Outpoint>>;
|
|
@@ -25,6 +28,7 @@ declare class IndexedDBWalletRepository implements WalletRepository {
|
|
|
25
28
|
getTransactionHistoryPage(filter: TransactionHistoryPageFilter, page: PageRequest<TransactionHistoryPageCursor>): Promise<PageResult<ArkTransaction, TransactionHistoryPageCursor>>;
|
|
26
29
|
saveTransactions(address: string, txs: ArkTransaction[]): Promise<void>;
|
|
27
30
|
deleteTransactions(address: string): Promise<void>;
|
|
31
|
+
readonly atomicWalletState: AtomicWalletState;
|
|
28
32
|
getWalletState(): Promise<WalletState | null>;
|
|
29
33
|
saveWalletState(state: WalletState): Promise<void>;
|
|
30
34
|
private getDB;
|
|
@@ -431,7 +435,7 @@ type ServerInfoSource = "live" | "cache";
|
|
|
431
435
|
* const handler = wallet.createBatchHandler(intentId, inputs, expectedRecipients, musig2session);
|
|
432
436
|
*
|
|
433
437
|
* const abortController = new AbortController();
|
|
434
|
-
* // Get event stream from the
|
|
438
|
+
* // Get event stream from the operator provider
|
|
435
439
|
* const eventStream = arkProvider.getEventStream(
|
|
436
440
|
* abortController.signal,
|
|
437
441
|
* ['your-topic-1', 'your-topic-2']
|
|
@@ -831,7 +835,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
831
835
|
readonly network: Network;
|
|
832
836
|
readonly onchainProvider: OnchainProvider;
|
|
833
837
|
/** Narrowed so a readonly wallet can't grow a `submitTx` use; `Wallet` re-widens it. */
|
|
834
|
-
protected readonly arkProvider: Pick<
|
|
838
|
+
protected readonly arkProvider: Pick<OperatorProvider, "getInfo">;
|
|
835
839
|
readonly indexerProvider: IndexerProvider;
|
|
836
840
|
readonly dustAmount: bigint;
|
|
837
841
|
readonly walletRepository: WalletRepository;
|
|
@@ -905,7 +909,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
905
909
|
getContractSyncState(): ContractSyncState;
|
|
906
910
|
protected constructor(identity: ReadonlyIdentity, network: Network, onchainProvider: OnchainProvider,
|
|
907
911
|
/** Narrowed so a readonly wallet can't grow a `submitTx` use; `Wallet` re-widens it. */
|
|
908
|
-
arkProvider: Pick<
|
|
912
|
+
arkProvider: Pick<OperatorProvider, "getInfo">, indexerProvider: IndexerProvider, arkServerPublicKey: Bytes, offchainTapscript: DefaultVtxo.Script | DelegateVtxo.Script, boardingTapscript: DefaultVtxo.Script, dustAmount: bigint, walletRepository: WalletRepository, contractRepository: ContractRepository, delegateProvider?: DelegateProvider | undefined, watcherConfig?: ReadonlyWalletConfig["watcherConfig"], walletContractTimelocks?: RelativeTimelock[]);
|
|
909
913
|
/**
|
|
910
914
|
* x-only hex → cutoff of the operator's deprecated signers, cached for OFFLINE read/watch.
|
|
911
915
|
* Boarding watch/history fan out over {current} ∪ this set so deposits at addresses minted
|
|
@@ -974,7 +978,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
974
978
|
protected notifyBoardingRotation(): void;
|
|
975
979
|
/** Shared setup for ReadonlyWallet.create() and Wallet.create(). */
|
|
976
980
|
protected static setupWalletConfig(config: ReadonlyWalletConfig, pubKey: Uint8Array): Promise<{
|
|
977
|
-
arkProvider:
|
|
981
|
+
arkProvider: OperatorProvider;
|
|
978
982
|
indexerProvider: IndexerProvider;
|
|
979
983
|
onchainProvider: OnchainProvider | EsploraProvider;
|
|
980
984
|
network: Network;
|
|
@@ -985,7 +989,7 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
985
989
|
dustAmount: bigint;
|
|
986
990
|
walletRepository: WalletRepository | IndexedDBWalletRepository;
|
|
987
991
|
contractRepository: ContractRepository;
|
|
988
|
-
info:
|
|
992
|
+
info: OperatorInfo;
|
|
989
993
|
serverInfoSource: ServerInfoSource;
|
|
990
994
|
serverInfoLastOnlineAt: number | undefined;
|
|
991
995
|
delegateProvider: DelegateProvider | undefined;
|
|
@@ -1214,14 +1218,14 @@ declare class ReadonlyWallet implements IReadonlyWallet {
|
|
|
1214
1218
|
* // Create a wallet with providers
|
|
1215
1219
|
* const wallet = await Wallet.create({
|
|
1216
1220
|
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
|
|
1217
|
-
*
|
|
1221
|
+
* operatorProvider: new RestOperatorProvider(),
|
|
1218
1222
|
* onchainProvider: new EsploraProvider()
|
|
1219
1223
|
* });
|
|
1220
1224
|
*
|
|
1221
1225
|
* // Use custom providers and/or URLs (e.g., for Expo/React Native)
|
|
1222
1226
|
* const wallet = await Wallet.create({
|
|
1223
1227
|
* identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
|
|
1224
|
-
*
|
|
1228
|
+
* operatorProvider: new ExpoOperatorProvider('https://arkade.computer'),
|
|
1225
1229
|
* indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
|
|
1226
1230
|
* onchainProvider: new EsploraProvider('https://mempool.space/api')
|
|
1227
1231
|
* });
|
|
@@ -1242,6 +1246,8 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1242
1246
|
readonly forfeitPubkey: Bytes;
|
|
1243
1247
|
/** Overrides for the `batchExpiry` bounds; defaults derive from `network`. */
|
|
1244
1248
|
protected readonly batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined;
|
|
1249
|
+
/** @see WalletConfig.oneShotSubmit */
|
|
1250
|
+
readonly oneShotSubmit: boolean;
|
|
1245
1251
|
static MIN_FEE_RATE: number;
|
|
1246
1252
|
readonly identity: Identity;
|
|
1247
1253
|
private readonly _delegateManager?;
|
|
@@ -1519,15 +1525,17 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1519
1525
|
/** @see WalletConfig.concurrentSpending */
|
|
1520
1526
|
get concurrentSpending(): boolean;
|
|
1521
1527
|
/** Public here; `ReadonlyWallet` keeps it protected so a readonly view can't submit. */
|
|
1522
|
-
readonly arkProvider:
|
|
1528
|
+
readonly arkProvider: OperatorProvider;
|
|
1523
1529
|
/**
|
|
1524
1530
|
* Broadcast access bound to this wallet's server, so a plugin needs only the wallet. Not on
|
|
1525
1531
|
* {@link ReadonlyWallet}: a readonly wallet or `toReadonly()` view must not be able to submit.
|
|
1526
1532
|
*/
|
|
1527
1533
|
getArkadeBroadcaster(): Promise<ArkadeBroadcaster>;
|
|
1528
|
-
protected constructor(identity: Identity, network: Network, onchainProvider: OnchainProvider, arkProvider:
|
|
1534
|
+
protected constructor(identity: Identity, network: Network, onchainProvider: OnchainProvider, arkProvider: OperatorProvider, indexerProvider: IndexerProvider, arkServerPublicKey: Bytes, offchainTapscript: DefaultVtxo.Script | DelegateVtxo.Script, boardingTapscript: DefaultVtxo.Script, serverUnrollScript: CSVMultisigTapscript.Type, forfeitOutputScript: Bytes, forfeitPubkey: Bytes, dustAmount: bigint, walletRepository: WalletRepository, contractRepository: ContractRepository, delegateProvider?: DelegateProvider, watcherConfig?: WalletConfig["watcherConfig"], settlementConfig?: WalletConfig["settlementConfig"], walletContractTimelocks?: RelativeTimelock[], receiveRotator?: WalletReceiveRotator, descriptorProvider?: DescriptorProvider, keyring?: KeyringDescriptorProvider, lookAheadWindow?: number,
|
|
1529
1535
|
/** Overrides for the `batchExpiry` bounds; defaults derive from `network`. */
|
|
1530
|
-
batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined
|
|
1536
|
+
batchExpiryPolicy?: Partial<BatchExpiryPolicy> | undefined,
|
|
1537
|
+
/** @see WalletConfig.oneShotSubmit */
|
|
1538
|
+
oneShotSubmit?: boolean);
|
|
1531
1539
|
get assetManager(): IAssetManager;
|
|
1532
1540
|
getVtxoManager(): Promise<VtxoManager>;
|
|
1533
1541
|
dispose(): Promise<void>;
|
|
@@ -1540,7 +1548,7 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1540
1548
|
* ```typescript
|
|
1541
1549
|
* const wallet = await Wallet.create({
|
|
1542
1550
|
* identity,
|
|
1543
|
-
*
|
|
1551
|
+
* operatorProvider: new RestOperatorProvider(),
|
|
1544
1552
|
* });
|
|
1545
1553
|
* ```
|
|
1546
1554
|
*/
|
|
@@ -1615,9 +1623,9 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1615
1623
|
signInputsByWitnessScript(tx: Transaction): Promise<Transaction>;
|
|
1616
1624
|
signOnchainBoardingTx(tx: Transaction): Promise<Transaction>;
|
|
1617
1625
|
safeRegisterIntent(intent: SignedIntent<Intent.RegisterMessage>, inputs: ExtendedCoin[]): Promise<string>;
|
|
1618
|
-
makeRegisterIntentSignature(coins: ExtendedCoin[], outputs: TransactionOutput[], onchainOutputsIndexes: number[], cosignerPubKeys: string[], validAt?: number): Promise<
|
|
1619
|
-
makeDeleteIntentSignature(coins: ExtendedCoin[]): Promise<
|
|
1620
|
-
makeGetPendingTxIntentSignature(coins: ExtendedVirtualCoin[]): Promise<
|
|
1626
|
+
makeRegisterIntentSignature(coins: ExtendedCoin[], outputs: TransactionOutput[], onchainOutputsIndexes: number[], cosignerPubKeys: string[], validAt?: number): Promise<SignedProof<Proof.RegisterMessage>>;
|
|
1627
|
+
makeDeleteIntentSignature(coins: ExtendedCoin[]): Promise<SignedProof<Proof.DeleteMessage>>;
|
|
1628
|
+
makeGetPendingTxIntentSignature(coins: ExtendedVirtualCoin[]): Promise<SignedProof<Proof.GetPendingTxMessage>>;
|
|
1621
1629
|
/**
|
|
1622
1630
|
* Finalizes pending transactions by retrieving them from the server and finalizing each one.
|
|
1623
1631
|
* Skips the server check entirely when no send was interrupted (no pending tx flag set).
|
|
@@ -1780,7 +1788,7 @@ declare class Wallet extends ReadonlyWallet implements IWallet, HDWalletCapable,
|
|
|
1780
1788
|
sendSelectedVtxosToSelf(inputs: ExtendedVirtualCoin[], now?: TimeHeight): Promise<string>;
|
|
1781
1789
|
/**
|
|
1782
1790
|
* Build an offchain transaction from the given inputs and outputs,
|
|
1783
|
-
* sign it, submit to the
|
|
1791
|
+
* sign it, submit to the operator provider, and finalize.
|
|
1784
1792
|
*
|
|
1785
1793
|
* Signs whatever it is handed, ungated — see {@link settle} for the trade.
|
|
1786
1794
|
*
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../chunk-
|
|
5
|
-
require('../../chunk-
|
|
6
|
-
require('../../chunk-
|
|
7
|
-
require('../../chunk-
|
|
3
|
+
var chunkB6VNKGIH_cjs = require('../../chunk-B6VNKGIH.cjs');
|
|
4
|
+
require('../../chunk-F3FAE7VJ.cjs');
|
|
5
|
+
require('../../chunk-WXNSISXK.cjs');
|
|
6
|
+
require('../../chunk-E6OOJEHL.cjs');
|
|
7
|
+
require('../../chunk-GHUUT54D.cjs');
|
|
8
8
|
|
|
9
9
|
// src/worker/expo/taskQueue.ts
|
|
10
10
|
var InMemoryTaskQueue = class {
|
|
@@ -120,19 +120,19 @@ var AsyncStorageTaskQueue = class {
|
|
|
120
120
|
|
|
121
121
|
Object.defineProperty(exports, "CONTRACT_POLL_TASK_TYPE", {
|
|
122
122
|
enumerable: true,
|
|
123
|
-
get: function () { return
|
|
123
|
+
get: function () { return chunkB6VNKGIH_cjs.CONTRACT_POLL_TASK_TYPE; }
|
|
124
124
|
});
|
|
125
125
|
Object.defineProperty(exports, "contractPollProcessor", {
|
|
126
126
|
enumerable: true,
|
|
127
|
-
get: function () { return
|
|
127
|
+
get: function () { return chunkB6VNKGIH_cjs.contractPollProcessor; }
|
|
128
128
|
});
|
|
129
129
|
Object.defineProperty(exports, "createTaskDependencies", {
|
|
130
130
|
enumerable: true,
|
|
131
|
-
get: function () { return
|
|
131
|
+
get: function () { return chunkB6VNKGIH_cjs.createTaskDependencies; }
|
|
132
132
|
});
|
|
133
133
|
Object.defineProperty(exports, "runTasks", {
|
|
134
134
|
enumerable: true,
|
|
135
|
-
get: function () { return
|
|
135
|
+
get: function () { return chunkB6VNKGIH_cjs.runTasks; }
|
|
136
136
|
});
|
|
137
137
|
exports.AsyncStorageTaskQueue = AsyncStorageTaskQueue;
|
|
138
138
|
exports.InMemoryTaskQueue = InMemoryTaskQueue;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { T as TaskProcessor } from '../../taskRunner-
|
|
2
|
-
export { C as CreateTaskDependenciesOptions, I as InMemoryTaskQueue,
|
|
3
|
-
export {
|
|
4
|
-
import '../../index-
|
|
1
|
+
import { T as TaskProcessor } from '../../taskRunner-BPPU-YHG.cjs';
|
|
2
|
+
export { C as CreateTaskDependenciesOptions, I as InMemoryTaskQueue, a as TaskDependencies, b as TaskItem, c as TaskQueue, d as TaskResult, e as createTaskDependencies, r as runTasks } from '../../taskRunner-BPPU-YHG.cjs';
|
|
3
|
+
export { A as AsyncStorageLike, a as AsyncStorageTaskQueue } from '../../asyncStorageTaskQueue-DTBa8EH7.cjs';
|
|
4
|
+
import '../../index-DRwe0UDN.cjs';
|
|
5
5
|
import '@scure/btc-signer/utils.js';
|
|
6
6
|
import '@scure/btc-signer/psbt.js';
|
|
7
7
|
import '@scure/btc-signer';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { T as TaskProcessor } from '../../taskRunner-
|
|
2
|
-
export { C as CreateTaskDependenciesOptions, I as InMemoryTaskQueue,
|
|
3
|
-
export {
|
|
4
|
-
import '../../index-
|
|
1
|
+
import { T as TaskProcessor } from '../../taskRunner-CDlNeth0.js';
|
|
2
|
+
export { C as CreateTaskDependenciesOptions, I as InMemoryTaskQueue, a as TaskDependencies, b as TaskItem, c as TaskQueue, d as TaskResult, e as createTaskDependencies, r as runTasks } from '../../taskRunner-CDlNeth0.js';
|
|
3
|
+
export { A as AsyncStorageLike, a as AsyncStorageTaskQueue } from '../../asyncStorageTaskQueue-DHMIxY04.js';
|
|
4
|
+
import '../../index-DRwe0UDN.js';
|
|
5
5
|
import '@scure/btc-signer/utils.js';
|
|
6
6
|
import '@scure/btc-signer/psbt.js';
|
|
7
7
|
import '@scure/btc-signer';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { CONTRACT_POLL_TASK_TYPE, contractPollProcessor, createTaskDependencies, runTasks } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
4
|
-
import '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
1
|
+
export { CONTRACT_POLL_TASK_TYPE, contractPollProcessor, createTaskDependencies, runTasks } from '../../chunk-MWVAWFX6.js';
|
|
2
|
+
import '../../chunk-ZJHLLDBP.js';
|
|
3
|
+
import '../../chunk-BTRCN4JJ.js';
|
|
4
|
+
import '../../chunk-6CUP6ZIF.js';
|
|
5
|
+
import '../../chunk-AG4TFD6F.js';
|
|
6
6
|
|
|
7
7
|
// src/worker/expo/taskQueue.ts
|
|
8
8
|
var InMemoryTaskQueue = class {
|