@arkade-os/sdk 0.4.39 → 0.4.41

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.
Files changed (80) hide show
  1. package/README.md +24 -0
  2. package/dist/adapters/expo.cjs +5 -5
  3. package/dist/adapters/expo.d.cts +2 -2
  4. package/dist/adapters/expo.d.ts +2 -2
  5. package/dist/adapters/expo.js +3 -3
  6. package/dist/adapters/indexedDB.cjs +5 -5
  7. package/dist/adapters/indexedDB.js +4 -4
  8. package/dist/{ark-BzUNnkoc.d.cts → ark-CSqMJczW.d.cts} +111 -4
  9. package/dist/{ark-BzUNnkoc.d.ts → ark-CSqMJczW.d.ts} +111 -4
  10. package/dist/{asyncStorageTaskQueue-C0kQoY1x.d.cts → asyncStorageTaskQueue-79XdGsdW.d.cts} +1 -1
  11. package/dist/{asyncStorageTaskQueue-CIYeI6GM.d.ts → asyncStorageTaskQueue-SZPrhw23.d.ts} +1 -1
  12. package/dist/{chunk-GUTKJMSF.cjs → chunk-32YKLQPS.cjs} +29 -29
  13. package/dist/{chunk-GUTKJMSF.cjs.map → chunk-32YKLQPS.cjs.map} +1 -1
  14. package/dist/{chunk-P5FKMIGY.cjs → chunk-3MPXMLP4.cjs} +538 -282
  15. package/dist/chunk-3MPXMLP4.cjs.map +1 -0
  16. package/dist/{chunk-D744IES4.js → chunk-5XAYUPK4.js} +15 -6
  17. package/dist/chunk-5XAYUPK4.js.map +1 -0
  18. package/dist/{chunk-LJLEFPWD.cjs → chunk-ALISWEQ5.cjs} +20 -11
  19. package/dist/chunk-ALISWEQ5.cjs.map +1 -0
  20. package/dist/{chunk-OUVTG72A.js → chunk-BE5MUB7T.js} +5 -3
  21. package/dist/chunk-BE5MUB7T.js.map +1 -0
  22. package/dist/{chunk-SYEGCMNV.js → chunk-D5MQYYYF.js} +355 -104
  23. package/dist/chunk-D5MQYYYF.js.map +1 -0
  24. package/dist/{chunk-VGXTJ7HR.js → chunk-DDG4RE5F.js} +4 -4
  25. package/dist/{chunk-VGXTJ7HR.js.map → chunk-DDG4RE5F.js.map} +1 -1
  26. package/dist/{chunk-CMPJR3HS.cjs → chunk-HXDZ2QTW.cjs} +5 -3
  27. package/dist/chunk-HXDZ2QTW.cjs.map +1 -0
  28. package/dist/{chunk-A5RLZCPO.cjs → chunk-KNASU3QI.cjs} +7 -7
  29. package/dist/{chunk-A5RLZCPO.cjs.map → chunk-KNASU3QI.cjs.map} +1 -1
  30. package/dist/{chunk-UIFBMKI7.js → chunk-MYI333YH.js} +3 -3
  31. package/dist/{chunk-UIFBMKI7.js.map → chunk-MYI333YH.js.map} +1 -1
  32. package/dist/{chunk-N56IDZON.cjs → chunk-WBF3FNS3.cjs} +14 -14
  33. package/dist/{chunk-N56IDZON.cjs.map → chunk-WBF3FNS3.cjs.map} +1 -1
  34. package/dist/{chunk-CUSABEUQ.js → chunk-YNEDJTX2.js} +3 -3
  35. package/dist/{chunk-CUSABEUQ.js.map → chunk-YNEDJTX2.js.map} +1 -1
  36. package/dist/contracts/handlers/index.cjs +7 -7
  37. package/dist/contracts/handlers/index.d.cts +3 -3
  38. package/dist/contracts/handlers/index.d.ts +3 -3
  39. package/dist/contracts/handlers/index.js +2 -2
  40. package/dist/{delegate-BjPbX-MR.d.ts → delegate-BTn9BK8E.d.ts} +1 -1
  41. package/dist/{delegate-DHAgMIS9.d.cts → delegate-Bqwe-kbj.d.cts} +1 -1
  42. package/dist/{index-YkMAtSfw.d.cts → index-aYiHTMkX.d.cts} +2 -2
  43. package/dist/{index-BOQKDCmS.d.ts → index-kITujXlS.d.ts} +2 -2
  44. package/dist/index.cjs +163 -139
  45. package/dist/index.d.cts +53 -11
  46. package/dist/index.d.ts +53 -11
  47. package/dist/index.js +4 -4
  48. package/dist/repositories/realm/index.cjs +13 -13
  49. package/dist/repositories/realm/index.d.cts +1 -1
  50. package/dist/repositories/realm/index.d.ts +1 -1
  51. package/dist/repositories/realm/index.js +4 -4
  52. package/dist/repositories/sqlite/index.cjs +13 -13
  53. package/dist/repositories/sqlite/index.d.cts +1 -1
  54. package/dist/repositories/sqlite/index.d.ts +1 -1
  55. package/dist/repositories/sqlite/index.js +4 -4
  56. package/dist/{taskRunner-Dfmt7ZPN.d.ts → taskRunner-BuBAZQwB.d.ts} +1 -1
  57. package/dist/{taskRunner-CVEgBO6d.d.cts → taskRunner-DRHElPMG.d.cts} +1 -1
  58. package/dist/wallet/expo/background.cjs +14 -14
  59. package/dist/wallet/expo/background.d.cts +3 -3
  60. package/dist/wallet/expo/background.d.ts +3 -3
  61. package/dist/wallet/expo/background.js +6 -6
  62. package/dist/wallet/expo/index.cjs +44 -14
  63. package/dist/wallet/expo/index.cjs.map +1 -1
  64. package/dist/wallet/expo/index.d.cts +14 -4
  65. package/dist/wallet/expo/index.d.ts +14 -4
  66. package/dist/wallet/expo/index.js +36 -6
  67. package/dist/wallet/expo/index.js.map +1 -1
  68. package/dist/{wallet-C4Pide44.d.ts → wallet-BZgRfnAE.d.cts} +15 -2
  69. package/dist/{wallet-_PTv-lMe.d.cts → wallet-CTEQpKG9.d.ts} +15 -2
  70. package/dist/worker/expo/index.cjs +9 -9
  71. package/dist/worker/expo/index.d.cts +4 -4
  72. package/dist/worker/expo/index.d.ts +4 -4
  73. package/dist/worker/expo/index.js +5 -5
  74. package/package.json +1 -1
  75. package/dist/chunk-CMPJR3HS.cjs.map +0 -1
  76. package/dist/chunk-D744IES4.js.map +0 -1
  77. package/dist/chunk-LJLEFPWD.cjs.map +0 -1
  78. package/dist/chunk-OUVTG72A.js.map +0 -1
  79. package/dist/chunk-P5FKMIGY.cjs.map +0 -1
  80. package/dist/chunk-SYEGCMNV.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { H as ReadonlyIdentity, a as Identity, a5 as DescriptorSigningRequest, a6 as Transaction, $ as SignerSession, W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, r as Contract, C as ContractRepository, a4 as ContractFilter, a7 as IntentFeeConfig, a8 as OffchainInput, a9 as FeeAmount, aa as OnchainInput, ab as FeeOutput, m as ArkProvider, Z as SettlementConfig, ac as ContractWatcherConfig, I as IWallet, ad as FeeInfo, h as SettlementEvent, D as DescriptorProvider, g as SettleParams, S as SendBitcoinParams, G as GetVtxosFilter, ae as CreateContractParams, af as GetContractsFilter, q as VirtualCoin, ag as GetSpendablePathsOptions, ah as GetAllSpendingPathsOptions, R as Recipient, ai as IssuanceParams, aj as ReissuanceParams, ak as BurnParams, al as RenewVtxosOptions, c as WalletBalance, am as ContractWithVtxos, an as PathSelection, ao as ContractEvent, ap as AssetDetails, aq as IssuanceResult, ar as DelegateInfo, as as MigrationGlobalSkipReason, at as MigrationLegSkipReason, au as SignerStatus, F as IReadonlyWallet, L as IReadonlyAssetManager, av as StorageConfig, e as IContractManager, i as IAssetManager, f as IDelegateManager, aw as IVtxoManager, O as OnchainProvider, N as Network, M as NetworkName, U as Coin, ax as ExplorerTransaction, p as TapLeafScript, ay as EncodedVtxoScript, Y as CSVMultisigTapscript, o as RelativeTimelock, V as VtxoScript, az as Status, aA as Outpoint, aB as ChainTx, n as IndexerProvider, t as TxTree, aC as PathContext } from './ark-BzUNnkoc.cjs';
2
- export { Q as ArkAddress, P as ArkInfo, aD as ArkTapscript, aE as Asset, aF as AssetMetadata, aG as BaseWalletConfig, x as BatchFailedEvent, v as BatchFinalizationEvent, w as BatchFinalizedEvent, aH as BatchInfo, aI as BatchSignableIdentity, B as BatchStartedEvent, aJ as CLTVMultisigTapscript, aK as ChainTxType, aL as CommitmentTx, aM as ConditionCSVMultisigTapscript, aN as ConditionMultisigTapscript, aO as ContractBalance, aP as ContractEventCallback, aQ as ContractHandler, X as ContractManager, aR as ContractManagerConfig, aS as ContractState, aT as ContractVtxo, aU as ContractWatcher, aV as DelegateManagerImpl, aW as DelegateOptions, J as DelegateProvider, aX as DelegatorManagerImpl, aY as DelegatorProvider, aZ as DeprecatedSignerMigrationReport, a_ as DeprecatedSignerReport, a$ as DigestMismatchError, b0 as Discoverable, b1 as DiscoveredContract, b2 as DiscoveryDeps, b3 as ESPLORA_URL, b4 as EsploraProvider, b5 as ExtendedContractVtxo, b6 as HandlerError, b7 as IDelegatorManager, b8 as IndexerTxType, a1 as Intent, b9 as KnownMetadata, ba as MigrateDeprecatedSignerOptions, bb as MigrationLegReport, bc as MigrationVtxoRef, bd as MultisigTapscript, be as Nonces, bf as Output, bg as PageResponse, bh as PaginationOptions, bi as PartialSig, bj as ProviderClass, K as ReadonlyWalletConfig, j as RestArkProvider, bk as RestDelegateProvider, bl as RestDelegatorProvider, k as RestIndexerProvider, bm as ScanContractsOptions, bn as ScanResult, bo as ScheduledSession, bp as SettlementEventType, bq as SignRequest, a0 as SignedIntent, br as SignerClassification, bs as SignerSet, bt as SubscriptionEvent, bu as SubscriptionHeartbeat, l as SubscriptionResponse, bv as TapLeaves, bw as TapTreeCoder, bx as TapscriptType, by as TreeNonces, u as TreeNoncesEvent, bz as TreePartialSigs, z as TreeSignatureEvent, s as TreeSigningStartedEvent, y as TreeTxEvent, bA as Tx, bB as TxHistoryRecord, bC as TxKey, T as TxNotification, bD as TxTreeNode, bE as TxType, bF as VirtualStatus, bG as Vtxo, bH as VtxoChain, _ as VtxoManager, bI as VtxoType, b as WalletConfig, bJ as WalletMode, bK as classifyAgainstSignerSet, bL as classifyContractSigner, bM as decodeTapscript, bN as getSequence, bO as isBatchSignable, bP as isCooperativelyMigratable, bQ as isDiscoverable, bR as isExpired, bS as isRecoverable, bT as isSpendable, bU as isSubdust, bV as isVtxoExpiringSoon, bW as networks, bX as signerSetFromInfo, bY as toXOnlySignerHex } from './ark-BzUNnkoc.cjs';
3
- export { B as BoardingContractHandler, a as BoardingContractParams, D as DefaultContractHandler, b as DefaultContractParams, c as DelegateContractHandler, d as DelegateContractParams, V as VHTLC, e as VHTLCContractHandler, f as VHTLCContractParams, g as contractHandlers } from './index-YkMAtSfw.cjs';
4
- export { D as DefaultVtxo, a as DelegateVtxo } from './delegate-DHAgMIS9.cjs';
5
- import { W as Wallet, R as ReadonlyWallet, a as ReceiveRotatorFactory, b as ReceiveRotatorBootOpts, c as ReceiveRotatorBoot } from './wallet-_PTv-lMe.cjs';
6
- export { B as Batch, d as BoardingUtxoGroup, I as IncomingFunds, w as waitForIncomingFunds } from './wallet-_PTv-lMe.cjs';
1
+ import { N as ReadonlyIdentity, a as Identity, a7 as DescriptorSigningRequest, a8 as Transaction, a4 as SignerSession, W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, t as Contract, C as ContractRepository, w as ContractFilter, a9 as IntentFeeConfig, aa as OffchainInput, ab as FeeAmount, ac as OnchainInput, ad as FeeOutput, o as ArkProvider, a2 as SettlementConfig, ae as ContractWatcherConfig, I as IWallet, af as FeeInfo, j as SettlementEvent, L as DescriptorProvider, i as SettleParams, S as SendBitcoinParams, G as GetVtxosFilter, ag as CreateContractParams, ah as GetContractsFilter, s as VirtualCoin, ai as GetSpendablePathsOptions, aj as GetAllSpendingPathsOptions, R as Recipient, ak as IssuanceParams, al as ReissuanceParams, am as BurnParams, an as RenewVtxosOptions, c as WalletBalance, ao as ContractWithVtxos, ap as PathSelection, aq as ContractEvent, ar as AssetDetails, as as IssuanceResult, at as DelegateInfo, au as MigrationGlobalSkipReason, av as MigrationLegSkipReason, aw as SignerStatus, M as IReadonlyWallet, e as ActivityRegistry, X as IReadonlyAssetManager, ax as StorageConfig, f as Activity, g as IContractManager, k as IAssetManager, h as IDelegateManager, ay as IVtxoManager, P as OnchainProvider, O as Network, Y as NetworkName, $ as Coin, az as ExplorerTransaction, r as TapLeafScript, aA as EncodedVtxoScript, a1 as CSVMultisigTapscript, q as RelativeTimelock, V as VtxoScript, aB as Status, aC as Outpoint, aD as ChainTx, p as IndexerProvider, y as TxTree, aE as PathContext } from './ark-CSqMJczW.cjs';
2
+ export { aF as ActivityIntent, aG as ActivityResolver, _ as ArkAddress, Z as ArkInfo, aH as ArkTapscript, aI as Asset, aJ as AssetMetadata, aK as BaseWalletConfig, H as BatchFailedEvent, D as BatchFinalizationEvent, F as BatchFinalizedEvent, aL as BatchInfo, aM as BatchSignableIdentity, B as BatchStartedEvent, aN as CLTVMultisigTapscript, aO as ChainTxType, aP as CommitmentTx, aQ as ConditionCSVMultisigTapscript, aR as ConditionMultisigTapscript, aS as ContractBalance, aT as ContractEventCallback, aU as ContractHandler, a0 as ContractManager, aV as ContractManagerConfig, aW as ContractState, aX as ContractVtxo, aY as ContractWatcher, aZ as DelegateManagerImpl, a_ as DelegateOptions, Q as DelegateProvider, a$ as DelegatorManagerImpl, b0 as DelegatorProvider, b1 as DeprecatedSignerMigrationReport, b2 as DeprecatedSignerReport, b3 as DigestMismatchError, b4 as Discoverable, b5 as DiscoveredContract, b6 as DiscoveryDeps, b7 as ESPLORA_URL, b8 as EsploraProvider, b9 as ExtendedContractVtxo, ba as GroupMembership, bb as HandlerError, bc as IDelegatorManager, bd as IndexerTxType, a6 as Intent, be as KnownMetadata, bf as MigrateDeprecatedSignerOptions, bg as MigrationLegReport, bh as MigrationVtxoRef, bi as MultisigTapscript, bj as Nonces, bk as Output, bl as PageResponse, bm as PaginationOptions, bn as PartialSig, bo as ProviderClass, U as ReadonlyWalletConfig, l as RestArkProvider, bp as RestDelegateProvider, bq as RestDelegatorProvider, m as RestIndexerProvider, br as ScanContractsOptions, bs as ScanResult, bt as ScheduledSession, bu as SettlementEventType, bv as SignRequest, a5 as SignedIntent, bw as SignerClassification, bx as SignerSet, by as SubscriptionEvent, bz as SubscriptionHeartbeat, n as SubscriptionResponse, bA as TapLeaves, bB as TapTreeCoder, bC as TapscriptType, bD as TreeNonces, z as TreeNoncesEvent, bE as TreePartialSigs, K as TreeSignatureEvent, x as TreeSigningStartedEvent, J as TreeTxEvent, bF as Tx, bG as TxHistoryRecord, bH as TxKey, T as TxNotification, bI as TxTreeNode, bJ as TxType, bK as VirtualStatus, bL as Vtxo, bM as VtxoChain, a3 as VtxoManager, bN as VtxoType, b as WalletConfig, bO as WalletMode, bP as boardingResolver, bQ as classifyAgainstSignerSet, bR as classifyContractSigner, bS as createDefaultActivityRegistry, bT as decodeTapscript, bU as getNetwork, bV as getSequence, bW as isBatchSignable, bX as isCooperativelyMigratable, bY as isDiscoverable, bZ as isExpired, b_ as isRecoverable, b$ as isSpendable, c0 as isSubdust, c1 as isVtxoExpiringSoon, c2 as networks, c3 as signerSetFromInfo, c4 as toXOnlySignerHex } from './ark-CSqMJczW.cjs';
3
+ export { B as BoardingContractHandler, a as BoardingContractParams, D as DefaultContractHandler, b as DefaultContractParams, c as DelegateContractHandler, d as DelegateContractParams, V as VHTLC, e as VHTLCContractHandler, f as VHTLCContractParams, g as contractHandlers } from './index-aYiHTMkX.cjs';
4
+ export { D as DefaultVtxo, a as DelegateVtxo } from './delegate-Bqwe-kbj.cjs';
5
+ import { W as Wallet, R as ReadonlyWallet, a as ReceiveRotatorFactory, b as ReceiveRotatorBootOpts, c as ReceiveRotatorBoot } from './wallet-BZgRfnAE.cjs';
6
+ export { B as Batch, d as BoardingUtxoGroup, I as IncomingFunds, w as waitForIncomingFunds } from './wallet-BZgRfnAE.cjs';
7
7
  import { Bytes, BTC_NETWORK } from '@scure/btc-signer/utils.js';
8
8
  import { P2TR } from '@scure/btc-signer/payment.js';
9
9
  import { Transaction as Transaction$1 } from '@scure/btc-signer';
@@ -713,7 +713,7 @@ declare class Estimator {
713
713
  * @param onchainOutputs - Array of onchain outputs to evaluate
714
714
  * @returns The total fee amount
715
715
  */
716
- eval(offchainInputs: OffchainInput[], onchainInputs: OnchainInput[], offchainOutputs: FeeOutput[], onchainOutputs: FeeOutput[]): FeeAmount;
716
+ evaluate(offchainInputs: OffchainInput[], onchainInputs: OnchainInput[], offchainOutputs: FeeOutput[], onchainOutputs: FeeOutput[]): FeeAmount;
717
717
  }
718
718
 
719
719
  /**
@@ -850,6 +850,16 @@ declare class MessageBus {
850
850
  private tickInProgress;
851
851
  private debug;
852
852
  private initialized;
853
+ /**
854
+ * FIFO chain that serializes `INITIALIZE_MESSAGE_BUS` handling. Each init
855
+ * runs to completion in enqueue order.
856
+ */
857
+ private initChain;
858
+ /**
859
+ * Number of inits accepted but not yet settled (queued or running). The
860
+ * bus refuses ordinary wallet messages while this is > 0.
861
+ */
862
+ private pendingInitCount;
853
863
  private readonly buildServicesFn;
854
864
  private readonly boundOnMessage;
855
865
  /** Create the service-worker message bus with repositories and handler configuration. */
@@ -860,7 +870,17 @@ declare class MessageBus {
860
870
  stop(): Promise<void>;
861
871
  private scheduleNextTick;
862
872
  private runTick;
873
+ /**
874
+ * Serialize init requests on {@link initChain}.
875
+ * Returns this init's own result.
876
+ */
863
877
  private waitForInit;
878
+ /**
879
+ * The bus serves ordinary wallet messages only when it is initialized AND
880
+ * no init is in flight.
881
+ */
882
+ private acceptsWalletMessages;
883
+ private doInit;
864
884
  private buildServices;
865
885
  private onMessage;
866
886
  private processMessage;
@@ -1767,6 +1787,7 @@ declare class WalletMessageHandler implements MessageHandler<WalletUpdaterReques
1767
1787
  private handleSignTransaction;
1768
1788
  private handleDelegate;
1769
1789
  private handleGetVtxos;
1790
+ /** Tear down handler subscriptions, then delegate the full wipe to the wallet. */
1770
1791
  private clear;
1771
1792
  /**
1772
1793
  * Read all virtual outputs from the repository, aggregated across all contract
@@ -1918,6 +1939,7 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1918
1939
  readonly walletRepository: WalletRepository;
1919
1940
  readonly contractRepository: ContractRepository;
1920
1941
  readonly identity: ReadonlyIdentity;
1942
+ readonly activity: ActivityRegistry;
1921
1943
  private readonly _readonlyAssetManager;
1922
1944
  protected initConfig: MessageBusInitConfig | null;
1923
1945
  protected initWalletPayload: RequestInitWallet["payload"] | null;
@@ -1966,8 +1988,10 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1966
1988
  private sendMessageStreaming;
1967
1989
  protected sendMessage(request: WalletUpdaterRequest): Promise<WalletUpdaterResponse>;
1968
1990
  private pingServiceWorker;
1969
- private sendMessageWithRetry;
1970
- protected sendMessageWithEvents(request: WalletUpdaterRequest, onEvent: (response: WalletUpdaterResponse) => void, isComplete: (response: WalletUpdaterResponse) => boolean): Promise<WalletUpdaterResponse>;
1991
+ protected sendMessageWithRetry(request: WalletUpdaterRequest, withEvents?: {
1992
+ onEvent: (response: WalletUpdaterResponse) => void;
1993
+ isComplete: (response: WalletUpdaterResponse) => boolean;
1994
+ }): Promise<WalletUpdaterResponse>;
1971
1995
  /**
1972
1996
  * Produce a serialized envelope for the wallet's identity. The base
1973
1997
  * class always emits a readonly envelope; `ServiceWorkerWallet`
@@ -1984,7 +2008,15 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1984
2008
  /** Minimal INIT_WALLET payload used on reinitialize when the cache is gone. */
1985
2009
  protected buildInitWalletPayload(): RequestInitWallet["payload"];
1986
2010
  private reinitialize;
1987
- /** Clear cached wallet state from both the page and service worker storage. */
2011
+ /**
2012
+ * Verify the worker is bound to this wallet's identity before the SDK hands
2013
+ * back (or recovers) a usable wallet object.
2014
+ *
2015
+ * Compares the stable baseline identity key (`identity.xOnlyPublicKey()`) to the one reported
2016
+ * by the worker via GET_STATUS.
2017
+ */
2018
+ protected assertWorkerIdentityMatches(): Promise<void>;
2019
+ /** This tells the service worker to wipe all locally persisted wallet data. */
1988
2020
  clear(): Promise<void>;
1989
2021
  getAddress(): Promise<string>;
1990
2022
  getBoardingAddress(): Promise<string>;
@@ -1996,6 +2028,7 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1996
2028
  * @returns Current service-worker wallet status payload including `walletInitalized` and `xOnlyPublicKey`
1997
2029
  */
1998
2030
  getStatus(): Promise<ResponseGetStatus["payload"]>;
2031
+ getActivityHistory(): Promise<Activity[]>;
1999
2032
  getTransactionHistory(): Promise<ArkTransaction[]>;
2000
2033
  getVtxos(filter?: GetVtxosFilter): Promise<ExtendedVirtualCoin[]>;
2001
2034
  /**
@@ -3535,7 +3568,16 @@ declare function openDatabase(dbName: string, dbVersion: number, initDatabase: (
3535
3568
  declare function closeDatabase(dbName: string): Promise<boolean>;
3536
3569
 
3537
3570
  declare const MESSAGE_BUS_NOT_INITIALIZED = "MessageBus not initialized";
3571
+ /**
3572
+ * Message for the "an init is in flight" variant.
3573
+ * It is a superset of MESSAGE_BUS_NOT_INITIALIZED so the existing consumers
3574
+ * keeps classifying it as "not initialized".
3575
+ */
3576
+ declare const MESSAGE_BUS_INITIALIZING = "MessageBus not initialized: initializing";
3538
3577
  declare class MessageBusNotInitializedError extends Error {
3578
+ constructor(message?: string);
3579
+ }
3580
+ declare class MessageBusInitializingError extends MessageBusNotInitializedError {
3539
3581
  constructor();
3540
3582
  }
3541
3583
  declare class ServiceWorkerTimeoutError extends Error {
@@ -3609,4 +3651,4 @@ declare class AssetManager extends ReadonlyAssetManager implements IAssetManager
3609
3651
  burn(params: BurnParams): Promise<string>;
3610
3652
  }
3611
3653
 
3612
- export { type AnchorBumper, ArkError, ArkNote, ArkProvider, type ArkPsbtFieldCoder, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ArkTransaction, type ArkTxInput, AssetDetails, AssetManager, BIP322, BurnParams, CSVMultisigTapscript, ChainTx, Coin, ConditionWitness, Contract, ContractEvent, ContractRepository, ContractRepositoryImpl, ContractWatcherConfig, ContractWithVtxos, CosignerPublicKey, CreateContractParams, DEFAULT_MESSAGE_TIMEOUTS, DelegateInfo, DelegateNotConfiguredError, DelegatorNotConfiguredError, type DescriptorOptions, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, type BlockHeader as ElectrumBlockHeader, ElectrumOnchainProvider, type TransactionHistory as ElectrumTransactionHistory, type Unspent as ElectrumUnspent, EncodedVtxoScript, Estimator, ExplorerTransaction, ExtendedCoin, ExtendedVirtualCoin, FeeAmount, FeeInfo, FeeOutput, GetVtxosFilter, HDDescriptorProvider, IAssetManager, IContractManager, IDelegateManager, IReadonlyAssetManager, IReadonlyWallet, IVtxoManager, IWallet, Identity, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, IndexerProvider, IntentFeeConfig, IssuanceParams, IssuanceResult, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusNotInitializedError, type MessageHandler, type MessageTimeouts, MigrationGlobalSkipReason, MigrationLegSkipReason, type MigrationStatus, MissingSigningDescriptorError, MnemonicIdentity, type MnemonicOptions, Network, NetworkName, type NetworkOptions, OffchainInput, type OffchainTx, OnchainInput, OnchainProvider, OnchainWallet, Outpoint, P2A, type ParsedArkContract, PathContext, PathSelection, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlyIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, Recipient, ReissuanceParams, RelativeTimelock, RenewVtxosOptions, type RequestEnvelope, type ResponseEnvelope, SeedIdentity, type SeedIdentityOptions, SendBitcoinParams, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, type ServiceWorkerWalletMode, SettleParams, SettlementConfig, SettlementEvent, SignerSession, SignerStatus, SingleKey, Status, StorageConfig, TapLeafScript, Transaction, TxTree, TxWeightEstimator, Unroll, type VSize, VirtualCoin, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, Wallet, WalletBalance, WalletMessageHandler, WalletNotInitializedError, WalletRepository, WalletRepositoryImpl, WsElectrumChainSource, assembleBtcdTaprootTree, index as asset, buildForfeitTx, buildOffchainTx, buildVersion, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, decodeArkContract, encodeArkContract, getArkPsbtFields, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isCltvSatisfied, isCsvSpendable, isValidArkAddress, maybeArkError, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, sdkVersion, sequenceToTimelock, setArkPsbtField, setupServiceWorker, timelockToSequence, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures };
3654
+ export { Activity, ActivityRegistry, type AnchorBumper, ArkError, ArkNote, ArkProvider, type ArkPsbtFieldCoder, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ArkTransaction, type ArkTxInput, AssetDetails, AssetManager, BIP322, BurnParams, CSVMultisigTapscript, ChainTx, Coin, ConditionWitness, Contract, ContractEvent, ContractRepository, ContractRepositoryImpl, ContractWatcherConfig, ContractWithVtxos, CosignerPublicKey, CreateContractParams, DEFAULT_MESSAGE_TIMEOUTS, DelegateInfo, DelegateNotConfiguredError, DelegatorNotConfiguredError, type DescriptorOptions, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, type BlockHeader as ElectrumBlockHeader, ElectrumOnchainProvider, type TransactionHistory as ElectrumTransactionHistory, type Unspent as ElectrumUnspent, EncodedVtxoScript, Estimator, ExplorerTransaction, ExtendedCoin, ExtendedVirtualCoin, FeeAmount, FeeInfo, FeeOutput, GetVtxosFilter, HDDescriptorProvider, IAssetManager, IContractManager, IDelegateManager, IReadonlyAssetManager, IReadonlyWallet, IVtxoManager, IWallet, Identity, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, IndexerProvider, IntentFeeConfig, IssuanceParams, IssuanceResult, MESSAGE_BUS_INITIALIZING, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusInitializingError, MessageBusNotInitializedError, type MessageHandler, type MessageTimeouts, MigrationGlobalSkipReason, MigrationLegSkipReason, type MigrationStatus, MissingSigningDescriptorError, MnemonicIdentity, type MnemonicOptions, Network, NetworkName, type NetworkOptions, OffchainInput, type OffchainTx, OnchainInput, OnchainProvider, OnchainWallet, Outpoint, P2A, type ParsedArkContract, PathContext, PathSelection, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlyIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, Recipient, ReissuanceParams, RelativeTimelock, RenewVtxosOptions, type RequestEnvelope, type ResponseEnvelope, SeedIdentity, type SeedIdentityOptions, SendBitcoinParams, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, type ServiceWorkerWalletMode, SettleParams, SettlementConfig, SettlementEvent, SignerSession, SignerStatus, SingleKey, Status, StorageConfig, TapLeafScript, Transaction, TxTree, TxWeightEstimator, Unroll, type VSize, VirtualCoin, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, Wallet, WalletBalance, WalletMessageHandler, WalletNotInitializedError, WalletRepository, WalletRepositoryImpl, WsElectrumChainSource, assembleBtcdTaprootTree, index as asset, buildForfeitTx, buildOffchainTx, buildVersion, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, decodeArkContract, encodeArkContract, getArkPsbtFields, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isCltvSatisfied, isCsvSpendable, isValidArkAddress, maybeArkError, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, sdkVersion, sequenceToTimelock, setArkPsbtField, setupServiceWorker, timelockToSequence, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { H as ReadonlyIdentity, a as Identity, a5 as DescriptorSigningRequest, a6 as Transaction, $ as SignerSession, W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, r as Contract, C as ContractRepository, a4 as ContractFilter, a7 as IntentFeeConfig, a8 as OffchainInput, a9 as FeeAmount, aa as OnchainInput, ab as FeeOutput, m as ArkProvider, Z as SettlementConfig, ac as ContractWatcherConfig, I as IWallet, ad as FeeInfo, h as SettlementEvent, D as DescriptorProvider, g as SettleParams, S as SendBitcoinParams, G as GetVtxosFilter, ae as CreateContractParams, af as GetContractsFilter, q as VirtualCoin, ag as GetSpendablePathsOptions, ah as GetAllSpendingPathsOptions, R as Recipient, ai as IssuanceParams, aj as ReissuanceParams, ak as BurnParams, al as RenewVtxosOptions, c as WalletBalance, am as ContractWithVtxos, an as PathSelection, ao as ContractEvent, ap as AssetDetails, aq as IssuanceResult, ar as DelegateInfo, as as MigrationGlobalSkipReason, at as MigrationLegSkipReason, au as SignerStatus, F as IReadonlyWallet, L as IReadonlyAssetManager, av as StorageConfig, e as IContractManager, i as IAssetManager, f as IDelegateManager, aw as IVtxoManager, O as OnchainProvider, N as Network, M as NetworkName, U as Coin, ax as ExplorerTransaction, p as TapLeafScript, ay as EncodedVtxoScript, Y as CSVMultisigTapscript, o as RelativeTimelock, V as VtxoScript, az as Status, aA as Outpoint, aB as ChainTx, n as IndexerProvider, t as TxTree, aC as PathContext } from './ark-BzUNnkoc.js';
2
- export { Q as ArkAddress, P as ArkInfo, aD as ArkTapscript, aE as Asset, aF as AssetMetadata, aG as BaseWalletConfig, x as BatchFailedEvent, v as BatchFinalizationEvent, w as BatchFinalizedEvent, aH as BatchInfo, aI as BatchSignableIdentity, B as BatchStartedEvent, aJ as CLTVMultisigTapscript, aK as ChainTxType, aL as CommitmentTx, aM as ConditionCSVMultisigTapscript, aN as ConditionMultisigTapscript, aO as ContractBalance, aP as ContractEventCallback, aQ as ContractHandler, X as ContractManager, aR as ContractManagerConfig, aS as ContractState, aT as ContractVtxo, aU as ContractWatcher, aV as DelegateManagerImpl, aW as DelegateOptions, J as DelegateProvider, aX as DelegatorManagerImpl, aY as DelegatorProvider, aZ as DeprecatedSignerMigrationReport, a_ as DeprecatedSignerReport, a$ as DigestMismatchError, b0 as Discoverable, b1 as DiscoveredContract, b2 as DiscoveryDeps, b3 as ESPLORA_URL, b4 as EsploraProvider, b5 as ExtendedContractVtxo, b6 as HandlerError, b7 as IDelegatorManager, b8 as IndexerTxType, a1 as Intent, b9 as KnownMetadata, ba as MigrateDeprecatedSignerOptions, bb as MigrationLegReport, bc as MigrationVtxoRef, bd as MultisigTapscript, be as Nonces, bf as Output, bg as PageResponse, bh as PaginationOptions, bi as PartialSig, bj as ProviderClass, K as ReadonlyWalletConfig, j as RestArkProvider, bk as RestDelegateProvider, bl as RestDelegatorProvider, k as RestIndexerProvider, bm as ScanContractsOptions, bn as ScanResult, bo as ScheduledSession, bp as SettlementEventType, bq as SignRequest, a0 as SignedIntent, br as SignerClassification, bs as SignerSet, bt as SubscriptionEvent, bu as SubscriptionHeartbeat, l as SubscriptionResponse, bv as TapLeaves, bw as TapTreeCoder, bx as TapscriptType, by as TreeNonces, u as TreeNoncesEvent, bz as TreePartialSigs, z as TreeSignatureEvent, s as TreeSigningStartedEvent, y as TreeTxEvent, bA as Tx, bB as TxHistoryRecord, bC as TxKey, T as TxNotification, bD as TxTreeNode, bE as TxType, bF as VirtualStatus, bG as Vtxo, bH as VtxoChain, _ as VtxoManager, bI as VtxoType, b as WalletConfig, bJ as WalletMode, bK as classifyAgainstSignerSet, bL as classifyContractSigner, bM as decodeTapscript, bN as getSequence, bO as isBatchSignable, bP as isCooperativelyMigratable, bQ as isDiscoverable, bR as isExpired, bS as isRecoverable, bT as isSpendable, bU as isSubdust, bV as isVtxoExpiringSoon, bW as networks, bX as signerSetFromInfo, bY as toXOnlySignerHex } from './ark-BzUNnkoc.js';
3
- export { B as BoardingContractHandler, a as BoardingContractParams, D as DefaultContractHandler, b as DefaultContractParams, c as DelegateContractHandler, d as DelegateContractParams, V as VHTLC, e as VHTLCContractHandler, f as VHTLCContractParams, g as contractHandlers } from './index-BOQKDCmS.js';
4
- export { D as DefaultVtxo, a as DelegateVtxo } from './delegate-BjPbX-MR.js';
5
- import { W as Wallet, R as ReadonlyWallet, a as ReceiveRotatorFactory, b as ReceiveRotatorBootOpts, c as ReceiveRotatorBoot } from './wallet-C4Pide44.js';
6
- export { B as Batch, d as BoardingUtxoGroup, I as IncomingFunds, w as waitForIncomingFunds } from './wallet-C4Pide44.js';
1
+ import { N as ReadonlyIdentity, a as Identity, a7 as DescriptorSigningRequest, a8 as Transaction, a4 as SignerSession, W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, t as Contract, C as ContractRepository, w as ContractFilter, a9 as IntentFeeConfig, aa as OffchainInput, ab as FeeAmount, ac as OnchainInput, ad as FeeOutput, o as ArkProvider, a2 as SettlementConfig, ae as ContractWatcherConfig, I as IWallet, af as FeeInfo, j as SettlementEvent, L as DescriptorProvider, i as SettleParams, S as SendBitcoinParams, G as GetVtxosFilter, ag as CreateContractParams, ah as GetContractsFilter, s as VirtualCoin, ai as GetSpendablePathsOptions, aj as GetAllSpendingPathsOptions, R as Recipient, ak as IssuanceParams, al as ReissuanceParams, am as BurnParams, an as RenewVtxosOptions, c as WalletBalance, ao as ContractWithVtxos, ap as PathSelection, aq as ContractEvent, ar as AssetDetails, as as IssuanceResult, at as DelegateInfo, au as MigrationGlobalSkipReason, av as MigrationLegSkipReason, aw as SignerStatus, M as IReadonlyWallet, e as ActivityRegistry, X as IReadonlyAssetManager, ax as StorageConfig, f as Activity, g as IContractManager, k as IAssetManager, h as IDelegateManager, ay as IVtxoManager, P as OnchainProvider, O as Network, Y as NetworkName, $ as Coin, az as ExplorerTransaction, r as TapLeafScript, aA as EncodedVtxoScript, a1 as CSVMultisigTapscript, q as RelativeTimelock, V as VtxoScript, aB as Status, aC as Outpoint, aD as ChainTx, p as IndexerProvider, y as TxTree, aE as PathContext } from './ark-CSqMJczW.js';
2
+ export { aF as ActivityIntent, aG as ActivityResolver, _ as ArkAddress, Z as ArkInfo, aH as ArkTapscript, aI as Asset, aJ as AssetMetadata, aK as BaseWalletConfig, H as BatchFailedEvent, D as BatchFinalizationEvent, F as BatchFinalizedEvent, aL as BatchInfo, aM as BatchSignableIdentity, B as BatchStartedEvent, aN as CLTVMultisigTapscript, aO as ChainTxType, aP as CommitmentTx, aQ as ConditionCSVMultisigTapscript, aR as ConditionMultisigTapscript, aS as ContractBalance, aT as ContractEventCallback, aU as ContractHandler, a0 as ContractManager, aV as ContractManagerConfig, aW as ContractState, aX as ContractVtxo, aY as ContractWatcher, aZ as DelegateManagerImpl, a_ as DelegateOptions, Q as DelegateProvider, a$ as DelegatorManagerImpl, b0 as DelegatorProvider, b1 as DeprecatedSignerMigrationReport, b2 as DeprecatedSignerReport, b3 as DigestMismatchError, b4 as Discoverable, b5 as DiscoveredContract, b6 as DiscoveryDeps, b7 as ESPLORA_URL, b8 as EsploraProvider, b9 as ExtendedContractVtxo, ba as GroupMembership, bb as HandlerError, bc as IDelegatorManager, bd as IndexerTxType, a6 as Intent, be as KnownMetadata, bf as MigrateDeprecatedSignerOptions, bg as MigrationLegReport, bh as MigrationVtxoRef, bi as MultisigTapscript, bj as Nonces, bk as Output, bl as PageResponse, bm as PaginationOptions, bn as PartialSig, bo as ProviderClass, U as ReadonlyWalletConfig, l as RestArkProvider, bp as RestDelegateProvider, bq as RestDelegatorProvider, m as RestIndexerProvider, br as ScanContractsOptions, bs as ScanResult, bt as ScheduledSession, bu as SettlementEventType, bv as SignRequest, a5 as SignedIntent, bw as SignerClassification, bx as SignerSet, by as SubscriptionEvent, bz as SubscriptionHeartbeat, n as SubscriptionResponse, bA as TapLeaves, bB as TapTreeCoder, bC as TapscriptType, bD as TreeNonces, z as TreeNoncesEvent, bE as TreePartialSigs, K as TreeSignatureEvent, x as TreeSigningStartedEvent, J as TreeTxEvent, bF as Tx, bG as TxHistoryRecord, bH as TxKey, T as TxNotification, bI as TxTreeNode, bJ as TxType, bK as VirtualStatus, bL as Vtxo, bM as VtxoChain, a3 as VtxoManager, bN as VtxoType, b as WalletConfig, bO as WalletMode, bP as boardingResolver, bQ as classifyAgainstSignerSet, bR as classifyContractSigner, bS as createDefaultActivityRegistry, bT as decodeTapscript, bU as getNetwork, bV as getSequence, bW as isBatchSignable, bX as isCooperativelyMigratable, bY as isDiscoverable, bZ as isExpired, b_ as isRecoverable, b$ as isSpendable, c0 as isSubdust, c1 as isVtxoExpiringSoon, c2 as networks, c3 as signerSetFromInfo, c4 as toXOnlySignerHex } from './ark-CSqMJczW.js';
3
+ export { B as BoardingContractHandler, a as BoardingContractParams, D as DefaultContractHandler, b as DefaultContractParams, c as DelegateContractHandler, d as DelegateContractParams, V as VHTLC, e as VHTLCContractHandler, f as VHTLCContractParams, g as contractHandlers } from './index-kITujXlS.js';
4
+ export { D as DefaultVtxo, a as DelegateVtxo } from './delegate-BTn9BK8E.js';
5
+ import { W as Wallet, R as ReadonlyWallet, a as ReceiveRotatorFactory, b as ReceiveRotatorBootOpts, c as ReceiveRotatorBoot } from './wallet-CTEQpKG9.js';
6
+ export { B as Batch, d as BoardingUtxoGroup, I as IncomingFunds, w as waitForIncomingFunds } from './wallet-CTEQpKG9.js';
7
7
  import { Bytes, BTC_NETWORK } from '@scure/btc-signer/utils.js';
8
8
  import { P2TR } from '@scure/btc-signer/payment.js';
9
9
  import { Transaction as Transaction$1 } from '@scure/btc-signer';
@@ -713,7 +713,7 @@ declare class Estimator {
713
713
  * @param onchainOutputs - Array of onchain outputs to evaluate
714
714
  * @returns The total fee amount
715
715
  */
716
- eval(offchainInputs: OffchainInput[], onchainInputs: OnchainInput[], offchainOutputs: FeeOutput[], onchainOutputs: FeeOutput[]): FeeAmount;
716
+ evaluate(offchainInputs: OffchainInput[], onchainInputs: OnchainInput[], offchainOutputs: FeeOutput[], onchainOutputs: FeeOutput[]): FeeAmount;
717
717
  }
718
718
 
719
719
  /**
@@ -850,6 +850,16 @@ declare class MessageBus {
850
850
  private tickInProgress;
851
851
  private debug;
852
852
  private initialized;
853
+ /**
854
+ * FIFO chain that serializes `INITIALIZE_MESSAGE_BUS` handling. Each init
855
+ * runs to completion in enqueue order.
856
+ */
857
+ private initChain;
858
+ /**
859
+ * Number of inits accepted but not yet settled (queued or running). The
860
+ * bus refuses ordinary wallet messages while this is > 0.
861
+ */
862
+ private pendingInitCount;
853
863
  private readonly buildServicesFn;
854
864
  private readonly boundOnMessage;
855
865
  /** Create the service-worker message bus with repositories and handler configuration. */
@@ -860,7 +870,17 @@ declare class MessageBus {
860
870
  stop(): Promise<void>;
861
871
  private scheduleNextTick;
862
872
  private runTick;
873
+ /**
874
+ * Serialize init requests on {@link initChain}.
875
+ * Returns this init's own result.
876
+ */
863
877
  private waitForInit;
878
+ /**
879
+ * The bus serves ordinary wallet messages only when it is initialized AND
880
+ * no init is in flight.
881
+ */
882
+ private acceptsWalletMessages;
883
+ private doInit;
864
884
  private buildServices;
865
885
  private onMessage;
866
886
  private processMessage;
@@ -1767,6 +1787,7 @@ declare class WalletMessageHandler implements MessageHandler<WalletUpdaterReques
1767
1787
  private handleSignTransaction;
1768
1788
  private handleDelegate;
1769
1789
  private handleGetVtxos;
1790
+ /** Tear down handler subscriptions, then delegate the full wipe to the wallet. */
1770
1791
  private clear;
1771
1792
  /**
1772
1793
  * Read all virtual outputs from the repository, aggregated across all contract
@@ -1918,6 +1939,7 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1918
1939
  readonly walletRepository: WalletRepository;
1919
1940
  readonly contractRepository: ContractRepository;
1920
1941
  readonly identity: ReadonlyIdentity;
1942
+ readonly activity: ActivityRegistry;
1921
1943
  private readonly _readonlyAssetManager;
1922
1944
  protected initConfig: MessageBusInitConfig | null;
1923
1945
  protected initWalletPayload: RequestInitWallet["payload"] | null;
@@ -1966,8 +1988,10 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1966
1988
  private sendMessageStreaming;
1967
1989
  protected sendMessage(request: WalletUpdaterRequest): Promise<WalletUpdaterResponse>;
1968
1990
  private pingServiceWorker;
1969
- private sendMessageWithRetry;
1970
- protected sendMessageWithEvents(request: WalletUpdaterRequest, onEvent: (response: WalletUpdaterResponse) => void, isComplete: (response: WalletUpdaterResponse) => boolean): Promise<WalletUpdaterResponse>;
1991
+ protected sendMessageWithRetry(request: WalletUpdaterRequest, withEvents?: {
1992
+ onEvent: (response: WalletUpdaterResponse) => void;
1993
+ isComplete: (response: WalletUpdaterResponse) => boolean;
1994
+ }): Promise<WalletUpdaterResponse>;
1971
1995
  /**
1972
1996
  * Produce a serialized envelope for the wallet's identity. The base
1973
1997
  * class always emits a readonly envelope; `ServiceWorkerWallet`
@@ -1984,7 +2008,15 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1984
2008
  /** Minimal INIT_WALLET payload used on reinitialize when the cache is gone. */
1985
2009
  protected buildInitWalletPayload(): RequestInitWallet["payload"];
1986
2010
  private reinitialize;
1987
- /** Clear cached wallet state from both the page and service worker storage. */
2011
+ /**
2012
+ * Verify the worker is bound to this wallet's identity before the SDK hands
2013
+ * back (or recovers) a usable wallet object.
2014
+ *
2015
+ * Compares the stable baseline identity key (`identity.xOnlyPublicKey()`) to the one reported
2016
+ * by the worker via GET_STATUS.
2017
+ */
2018
+ protected assertWorkerIdentityMatches(): Promise<void>;
2019
+ /** This tells the service worker to wipe all locally persisted wallet data. */
1988
2020
  clear(): Promise<void>;
1989
2021
  getAddress(): Promise<string>;
1990
2022
  getBoardingAddress(): Promise<string>;
@@ -1996,6 +2028,7 @@ declare class ServiceWorkerReadonlyWallet implements IReadonlyWallet {
1996
2028
  * @returns Current service-worker wallet status payload including `walletInitalized` and `xOnlyPublicKey`
1997
2029
  */
1998
2030
  getStatus(): Promise<ResponseGetStatus["payload"]>;
2031
+ getActivityHistory(): Promise<Activity[]>;
1999
2032
  getTransactionHistory(): Promise<ArkTransaction[]>;
2000
2033
  getVtxos(filter?: GetVtxosFilter): Promise<ExtendedVirtualCoin[]>;
2001
2034
  /**
@@ -3535,7 +3568,16 @@ declare function openDatabase(dbName: string, dbVersion: number, initDatabase: (
3535
3568
  declare function closeDatabase(dbName: string): Promise<boolean>;
3536
3569
 
3537
3570
  declare const MESSAGE_BUS_NOT_INITIALIZED = "MessageBus not initialized";
3571
+ /**
3572
+ * Message for the "an init is in flight" variant.
3573
+ * It is a superset of MESSAGE_BUS_NOT_INITIALIZED so the existing consumers
3574
+ * keeps classifying it as "not initialized".
3575
+ */
3576
+ declare const MESSAGE_BUS_INITIALIZING = "MessageBus not initialized: initializing";
3538
3577
  declare class MessageBusNotInitializedError extends Error {
3578
+ constructor(message?: string);
3579
+ }
3580
+ declare class MessageBusInitializingError extends MessageBusNotInitializedError {
3539
3581
  constructor();
3540
3582
  }
3541
3583
  declare class ServiceWorkerTimeoutError extends Error {
@@ -3609,4 +3651,4 @@ declare class AssetManager extends ReadonlyAssetManager implements IAssetManager
3609
3651
  burn(params: BurnParams): Promise<string>;
3610
3652
  }
3611
3653
 
3612
- export { type AnchorBumper, ArkError, ArkNote, ArkProvider, type ArkPsbtFieldCoder, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ArkTransaction, type ArkTxInput, AssetDetails, AssetManager, BIP322, BurnParams, CSVMultisigTapscript, ChainTx, Coin, ConditionWitness, Contract, ContractEvent, ContractRepository, ContractRepositoryImpl, ContractWatcherConfig, ContractWithVtxos, CosignerPublicKey, CreateContractParams, DEFAULT_MESSAGE_TIMEOUTS, DelegateInfo, DelegateNotConfiguredError, DelegatorNotConfiguredError, type DescriptorOptions, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, type BlockHeader as ElectrumBlockHeader, ElectrumOnchainProvider, type TransactionHistory as ElectrumTransactionHistory, type Unspent as ElectrumUnspent, EncodedVtxoScript, Estimator, ExplorerTransaction, ExtendedCoin, ExtendedVirtualCoin, FeeAmount, FeeInfo, FeeOutput, GetVtxosFilter, HDDescriptorProvider, IAssetManager, IContractManager, IDelegateManager, IReadonlyAssetManager, IReadonlyWallet, IVtxoManager, IWallet, Identity, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, IndexerProvider, IntentFeeConfig, IssuanceParams, IssuanceResult, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusNotInitializedError, type MessageHandler, type MessageTimeouts, MigrationGlobalSkipReason, MigrationLegSkipReason, type MigrationStatus, MissingSigningDescriptorError, MnemonicIdentity, type MnemonicOptions, Network, NetworkName, type NetworkOptions, OffchainInput, type OffchainTx, OnchainInput, OnchainProvider, OnchainWallet, Outpoint, P2A, type ParsedArkContract, PathContext, PathSelection, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlyIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, Recipient, ReissuanceParams, RelativeTimelock, RenewVtxosOptions, type RequestEnvelope, type ResponseEnvelope, SeedIdentity, type SeedIdentityOptions, SendBitcoinParams, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, type ServiceWorkerWalletMode, SettleParams, SettlementConfig, SettlementEvent, SignerSession, SignerStatus, SingleKey, Status, StorageConfig, TapLeafScript, Transaction, TxTree, TxWeightEstimator, Unroll, type VSize, VirtualCoin, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, Wallet, WalletBalance, WalletMessageHandler, WalletNotInitializedError, WalletRepository, WalletRepositoryImpl, WsElectrumChainSource, assembleBtcdTaprootTree, index as asset, buildForfeitTx, buildOffchainTx, buildVersion, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, decodeArkContract, encodeArkContract, getArkPsbtFields, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isCltvSatisfied, isCsvSpendable, isValidArkAddress, maybeArkError, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, sdkVersion, sequenceToTimelock, setArkPsbtField, setupServiceWorker, timelockToSequence, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures };
3654
+ export { Activity, ActivityRegistry, type AnchorBumper, ArkError, ArkNote, ArkProvider, type ArkPsbtFieldCoder, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ArkTransaction, type ArkTxInput, AssetDetails, AssetManager, BIP322, BurnParams, CSVMultisigTapscript, ChainTx, Coin, ConditionWitness, Contract, ContractEvent, ContractRepository, ContractRepositoryImpl, ContractWatcherConfig, ContractWithVtxos, CosignerPublicKey, CreateContractParams, DEFAULT_MESSAGE_TIMEOUTS, DelegateInfo, DelegateNotConfiguredError, DelegatorNotConfiguredError, type DescriptorOptions, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, type BlockHeader as ElectrumBlockHeader, ElectrumOnchainProvider, type TransactionHistory as ElectrumTransactionHistory, type Unspent as ElectrumUnspent, EncodedVtxoScript, Estimator, ExplorerTransaction, ExtendedCoin, ExtendedVirtualCoin, FeeAmount, FeeInfo, FeeOutput, GetVtxosFilter, HDDescriptorProvider, IAssetManager, IContractManager, IDelegateManager, IReadonlyAssetManager, IReadonlyWallet, IVtxoManager, IWallet, Identity, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, IndexerProvider, IntentFeeConfig, IssuanceParams, IssuanceResult, MESSAGE_BUS_INITIALIZING, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusInitializingError, MessageBusNotInitializedError, type MessageHandler, type MessageTimeouts, MigrationGlobalSkipReason, MigrationLegSkipReason, type MigrationStatus, MissingSigningDescriptorError, MnemonicIdentity, type MnemonicOptions, Network, NetworkName, type NetworkOptions, OffchainInput, type OffchainTx, OnchainInput, OnchainProvider, OnchainWallet, Outpoint, P2A, type ParsedArkContract, PathContext, PathSelection, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlyIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, Recipient, ReissuanceParams, RelativeTimelock, RenewVtxosOptions, type RequestEnvelope, type ResponseEnvelope, SeedIdentity, type SeedIdentityOptions, SendBitcoinParams, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, type ServiceWorkerWalletMode, SettleParams, SettlementConfig, SettlementEvent, SignerSession, SignerStatus, SingleKey, Status, StorageConfig, TapLeafScript, Transaction, TxTree, TxWeightEstimator, Unroll, type VSize, VirtualCoin, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, Wallet, WalletBalance, WalletMessageHandler, WalletNotInitializedError, WalletRepository, WalletRepositoryImpl, WsElectrumChainSource, assembleBtcdTaprootTree, index as asset, buildForfeitTx, buildOffchainTx, buildVersion, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, decodeArkContract, encodeArkContract, getArkPsbtFields, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isCltvSatisfied, isCsvSpendable, isValidArkAddress, maybeArkError, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, sdkVersion, sequenceToTimelock, setArkPsbtField, setupServiceWorker, timelockToSequence, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { ArkNote, AssetManager, BIP322, Batch, ContractManager, ContractRepositoryImpl, ContractWatcher, DEFAULT_MESSAGE_TIMEOUTS, DelegateManagerImpl, DelegateNotConfiguredError, DelegatorManagerImpl, DelegatorNotConfiguredError, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, ESPLORA_URL, ElectrumOnchainProvider, EsploraProvider, Estimator, HDDescriptorProvider, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusNotInitializedError, MissingSigningDescriptorError, MnemonicIdentity, OnchainWallet, P2A, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, RestDelegateProvider, RestDelegatorProvider, SeedIdentity, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, SingleKey, TxTree, TxType, TxWeightEstimator, Unroll, VtxoManager, Wallet, WalletMessageHandler, WalletNotInitializedError, WalletRepositoryImpl, WsElectrumChainSource, buildForfeitTx, buildOffchainTx, classifyAgainstSignerSet, classifyContractSigner, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, decodeArkContract, encodeArkContract, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isBatchSignable, isCooperativelyMigratable, isDiscoverable, isExpired, isRecoverable, isSpendable, isSubdust, isValidArkAddress, isVtxoExpiringSoon, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, setupServiceWorker, signerSetFromInfo, toXOnlySignerHex, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures, waitForIncomingFunds } from './chunk-SYEGCMNV.js';
2
- export { ArkError, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ChainTxType, ConditionWitness, CosignerPublicKey, DigestMismatchError, IndexerTxType, Intent, RestArkProvider, RestIndexerProvider, SettlementEventType, Transaction, VtxoTaprootTree, VtxoTreeExpiry, asset_exports as asset, buildVersion, getArkPsbtFields, maybeArkError, sdkVersion, setArkPsbtField } from './chunk-D744IES4.js';
3
- export { BoardingContractHandler, DefaultContractHandler, DefaultVtxo, DelegateContractHandler, DelegateVtxo, VHTLC, VHTLCContractHandler, contractHandlers, isCltvSatisfied, isCsvSpendable } from './chunk-CUSABEUQ.js';
4
- export { ArkAddress, CLTVMultisigTapscript, CSVMultisigTapscript, ConditionCSVMultisigTapscript, ConditionMultisigTapscript, MultisigTapscript, TapTreeCoder, VtxoScript, assembleBtcdTaprootTree, decodeTapscript, getSequence, networks, sequenceToTimelock, timelockToSequence } from './chunk-OUVTG72A.js';
1
+ export { ActivityRegistry, ArkNote, AssetManager, BIP322, Batch, ContractManager, ContractRepositoryImpl, ContractWatcher, DEFAULT_MESSAGE_TIMEOUTS, DelegateManagerImpl, DelegateNotConfiguredError, DelegatorManagerImpl, DelegatorNotConfiguredError, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, ESPLORA_URL, ElectrumOnchainProvider, EsploraProvider, Estimator, HDDescriptorProvider, InMemoryContractRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBWalletRepository, MESSAGE_BUS_INITIALIZING, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MessageBus, MessageBusInitializingError, MessageBusNotInitializedError, MissingSigningDescriptorError, MnemonicIdentity, OnchainWallet, P2A, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, RestDelegateProvider, RestDelegatorProvider, SeedIdentity, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, SingleKey, TxTree, TxType, TxWeightEstimator, Unroll, VtxoManager, Wallet, WalletMessageHandler, WalletNotInitializedError, WalletRepositoryImpl, WsElectrumChainSource, boardingResolver, buildForfeitTx, buildOffchainTx, classifyAgainstSignerSet, classifyContractSigner, closeDatabase, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, createDefaultActivityRegistry, decodeArkContract, encodeArkContract, getMigrationStatus, getRandomId, hasBoardingTxExpired, isArkContract, isBatchSignable, isCooperativelyMigratable, isDiscoverable, isExpired, isRecoverable, isSpendable, isSubdust, isValidArkAddress, isVtxoExpiringSoon, migrateWalletRepository, openDatabase, requiresMigration, rollbackMigration, setupServiceWorker, signerSetFromInfo, toXOnlySignerHex, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures, waitForIncomingFunds } from './chunk-D5MQYYYF.js';
2
+ export { ArkError, ArkPsbtFieldKey, ArkPsbtFieldKeyType, ChainTxType, ConditionWitness, CosignerPublicKey, DigestMismatchError, IndexerTxType, Intent, RestArkProvider, RestIndexerProvider, SettlementEventType, Transaction, VtxoTaprootTree, VtxoTreeExpiry, asset_exports as asset, buildVersion, getArkPsbtFields, maybeArkError, sdkVersion, setArkPsbtField } from './chunk-5XAYUPK4.js';
3
+ export { BoardingContractHandler, DefaultContractHandler, DefaultVtxo, DelegateContractHandler, DelegateVtxo, VHTLC, VHTLCContractHandler, contractHandlers, isCltvSatisfied, isCsvSpendable } from './chunk-YNEDJTX2.js';
4
+ export { ArkAddress, CLTVMultisigTapscript, CSVMultisigTapscript, ConditionCSVMultisigTapscript, ConditionMultisigTapscript, MultisigTapscript, TapTreeCoder, VtxoScript, assembleBtcdTaprootTree, decodeTapscript, getNetwork, getSequence, networks, sequenceToTimelock, timelockToSequence } from './chunk-BE5MUB7T.js';
5
5
  import './chunk-NSBPE2FW.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkP5FKMIGY_cjs = require('../../chunk-P5FKMIGY.cjs');
4
- require('../../chunk-LJLEFPWD.cjs');
5
- require('../../chunk-GUTKJMSF.cjs');
6
- require('../../chunk-CMPJR3HS.cjs');
3
+ var chunk3MPXMLP4_cjs = require('../../chunk-3MPXMLP4.cjs');
4
+ require('../../chunk-ALISWEQ5.cjs');
5
+ require('../../chunk-32YKLQPS.cjs');
6
+ require('../../chunk-HXDZ2QTW.cjs');
7
7
  require('../../chunk-5BLDMQED.cjs');
8
8
 
9
9
  // src/repositories/realm/walletRepository.ts
@@ -37,7 +37,7 @@ var RealmWalletRepository = class {
37
37
  await this.ensureInit();
38
38
  this.realm.write(() => {
39
39
  for (const vtxo of vtxos) {
40
- const s = chunkP5FKMIGY_cjs.serializeVtxo(vtxo);
40
+ const s = chunk3MPXMLP4_cjs.serializeVtxo(vtxo);
41
41
  this.realm.create(
42
42
  "ArkVtxo",
43
43
  {
@@ -85,7 +85,7 @@ var RealmWalletRepository = class {
85
85
  throw new Error("RealmWalletRepository requires an address");
86
86
  }
87
87
  for (const vtxo of vtxos) {
88
- if (!chunkP5FKMIGY_cjs.isVtxoForScript(vtxo, key.script)) {
88
+ if (!chunk3MPXMLP4_cjs.isVtxoForScript(vtxo, key.script)) {
89
89
  throw new Error(
90
90
  `VTXO ${vtxo.txid}:${vtxo.vout} script mismatch: expected ${key.script}, got ${vtxo.script}`
91
91
  );
@@ -110,7 +110,7 @@ var RealmWalletRepository = class {
110
110
  await this.ensureInit();
111
111
  this.realm.write(() => {
112
112
  for (const utxo of utxos) {
113
- const s = chunkP5FKMIGY_cjs.serializeUtxo(utxo);
113
+ const s = chunk3MPXMLP4_cjs.serializeUtxo(utxo);
114
114
  this.realm.create(
115
115
  "ArkUtxo",
116
116
  {
@@ -163,7 +163,7 @@ var RealmWalletRepository = class {
163
163
  amount: tx.amount,
164
164
  settled: tx.settled,
165
165
  createdAt: tx.createdAt,
166
- assetsJson: tx.assets ? JSON.stringify(chunkP5FKMIGY_cjs.serializeAssets(tx.assets)) : null
166
+ assetsJson: tx.assets ? JSON.stringify(chunk3MPXMLP4_cjs.serializeAssets(tx.assets)) : null
167
167
  },
168
168
  "modified"
169
169
  );
@@ -233,9 +233,9 @@ function vtxoObjectToDomain(obj) {
233
233
  // Post-migration every row has `script`, but the backfill is
234
234
  // idempotent: derive from `address` if the legacy column is still
235
235
  // null (e.g. the migration hasn't run yet on this handle).
236
- script: obj.script ?? chunkP5FKMIGY_cjs.scriptFromArkAddress(obj.address)
236
+ script: obj.script ?? chunk3MPXMLP4_cjs.scriptFromArkAddress(obj.address)
237
237
  };
238
- return chunkP5FKMIGY_cjs.deserializeVtxo(serialized);
238
+ return chunk3MPXMLP4_cjs.deserializeVtxo(serialized);
239
239
  }
240
240
  function utxoObjectToDomain(obj) {
241
241
  const serialized = {
@@ -254,7 +254,7 @@ function utxoObjectToDomain(obj) {
254
254
  status: JSON.parse(obj.statusJson),
255
255
  extraWitness: obj.extraWitnessJson ? JSON.parse(obj.extraWitnessJson) : void 0
256
256
  };
257
- return chunkP5FKMIGY_cjs.deserializeUtxo(serialized);
257
+ return chunk3MPXMLP4_cjs.deserializeUtxo(serialized);
258
258
  }
259
259
  function txObjectToDomain(obj) {
260
260
  const tx = {
@@ -269,7 +269,7 @@ function txObjectToDomain(obj) {
269
269
  createdAt: obj.createdAt
270
270
  };
271
271
  if (obj.assetsJson) {
272
- tx.assets = chunkP5FKMIGY_cjs.deserializeAssets(JSON.parse(obj.assetsJson));
272
+ tx.assets = chunk3MPXMLP4_cjs.deserializeAssets(JSON.parse(obj.assetsJson));
273
273
  }
274
274
  return tx;
275
275
  }
@@ -499,7 +499,7 @@ function runArkRealmMigrations(_oldRealm, newRealm) {
499
499
  for (let i = 0; i < newVtxos.length; i++) {
500
500
  const newVtxo = newVtxos[i];
501
501
  if (!newVtxo.script) {
502
- newVtxo.script = chunkP5FKMIGY_cjs.scriptFromArkAddress(newVtxo.address);
502
+ newVtxo.script = chunk3MPXMLP4_cjs.scriptFromArkAddress(newVtxo.address);
503
503
  }
504
504
  }
505
505
  }
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, C as ContractRepository, a4 as ContractFilter, r as Contract } from '../../ark-BzUNnkoc.cjs';
1
+ import { W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, C as ContractRepository, w as ContractFilter, t as Contract } from '../../ark-CSqMJczW.cjs';
2
2
  import '@scure/btc-signer/transaction.js';
3
3
  import '@scure/btc-signer/utils.js';
4
4
  import '@scure/btc-signer/psbt.js';
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, C as ContractRepository, a4 as ContractFilter, r as Contract } from '../../ark-BzUNnkoc.js';
1
+ import { W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, C as ContractRepository, w as ContractFilter, t as Contract } from '../../ark-CSqMJczW.js';
2
2
  import '@scure/btc-signer/transaction.js';
3
3
  import '@scure/btc-signer/utils.js';
4
4
  import '@scure/btc-signer/psbt.js';
@@ -1,7 +1,7 @@
1
- import { serializeVtxo, isVtxoForScript, serializeUtxo, serializeAssets, scriptFromArkAddress, deserializeVtxo, deserializeUtxo, deserializeAssets } from '../../chunk-SYEGCMNV.js';
2
- import '../../chunk-D744IES4.js';
3
- import '../../chunk-CUSABEUQ.js';
4
- import '../../chunk-OUVTG72A.js';
1
+ import { serializeVtxo, isVtxoForScript, serializeUtxo, serializeAssets, scriptFromArkAddress, deserializeVtxo, deserializeUtxo, deserializeAssets } from '../../chunk-D5MQYYYF.js';
2
+ import '../../chunk-5XAYUPK4.js';
3
+ import '../../chunk-YNEDJTX2.js';
4
+ import '../../chunk-BE5MUB7T.js';
5
5
  import '../../chunk-NSBPE2FW.js';
6
6
 
7
7
  // src/repositories/realm/walletRepository.ts
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkP5FKMIGY_cjs = require('../../chunk-P5FKMIGY.cjs');
4
- require('../../chunk-LJLEFPWD.cjs');
5
- require('../../chunk-GUTKJMSF.cjs');
6
- require('../../chunk-CMPJR3HS.cjs');
3
+ var chunk3MPXMLP4_cjs = require('../../chunk-3MPXMLP4.cjs');
4
+ require('../../chunk-ALISWEQ5.cjs');
5
+ require('../../chunk-32YKLQPS.cjs');
6
+ require('../../chunk-HXDZ2QTW.cjs');
7
7
  require('../../chunk-5BLDMQED.cjs');
8
8
 
9
9
  // src/repositories/sqlite/walletRepository.ts
@@ -126,7 +126,7 @@ var SQLiteWalletRepository = class {
126
126
  for (const row of nullRows) {
127
127
  await this.db.run(
128
128
  `UPDATE ${this.tables.vtxos} SET script = ? WHERE txid = ? AND vout = ?`,
129
- [chunkP5FKMIGY_cjs.scriptFromArkAddress(row.address), row.txid, row.vout]
129
+ [chunk3MPXMLP4_cjs.scriptFromArkAddress(row.address), row.txid, row.vout]
130
130
  );
131
131
  }
132
132
  const tempName = `${this.tables.vtxos}__migrate_tmp`;
@@ -204,7 +204,7 @@ var SQLiteWalletRepository = class {
204
204
  async saveVtxos(address, vtxos) {
205
205
  await this.ensureInit();
206
206
  for (const vtxo of vtxos) {
207
- const s = chunkP5FKMIGY_cjs.serializeVtxo(vtxo);
207
+ const s = chunk3MPXMLP4_cjs.serializeVtxo(vtxo);
208
208
  await this.db.run(
209
209
  `INSERT OR REPLACE INTO ${this.tables.vtxos}
210
210
  (txid, vout, value, address,
@@ -259,7 +259,7 @@ var SQLiteWalletRepository = class {
259
259
  throw new Error("SQLiteWalletRepository requires an address");
260
260
  }
261
261
  for (const vtxo of vtxos) {
262
- if (!chunkP5FKMIGY_cjs.isVtxoForScript(vtxo, key.script)) {
262
+ if (!chunk3MPXMLP4_cjs.isVtxoForScript(vtxo, key.script)) {
263
263
  throw new Error(
264
264
  `VTXO ${vtxo.txid}:${vtxo.vout} script mismatch: expected ${key.script}, got ${vtxo.script}`
265
265
  );
@@ -283,7 +283,7 @@ var SQLiteWalletRepository = class {
283
283
  async saveUtxos(address, utxos) {
284
284
  await this.ensureInit();
285
285
  for (const utxo of utxos) {
286
- const s = chunkP5FKMIGY_cjs.serializeUtxo(utxo);
286
+ const s = chunk3MPXMLP4_cjs.serializeUtxo(utxo);
287
287
  await this.db.run(
288
288
  `INSERT OR REPLACE INTO ${this.tables.utxos}
289
289
  (txid, vout, value, address,
@@ -339,7 +339,7 @@ var SQLiteWalletRepository = class {
339
339
  tx.amount,
340
340
  tx.settled ? 1 : 0,
341
341
  tx.createdAt,
342
- tx.assets ? JSON.stringify(chunkP5FKMIGY_cjs.serializeAssets(tx.assets)) : null
342
+ tx.assets ? JSON.stringify(chunk3MPXMLP4_cjs.serializeAssets(tx.assets)) : null
343
343
  ]
344
344
  );
345
345
  }
@@ -413,9 +413,9 @@ function vtxoRowToDomain(row) {
413
413
  // Post-migration every row has `script`, but the backfill is
414
414
  // idempotent: derive from `address` if the legacy column is still
415
415
  // null (e.g. the migration hasn't run yet on this handle).
416
- script: row.script ?? chunkP5FKMIGY_cjs.scriptFromArkAddress(row.address)
416
+ script: row.script ?? chunk3MPXMLP4_cjs.scriptFromArkAddress(row.address)
417
417
  };
418
- return chunkP5FKMIGY_cjs.deserializeVtxo(serialized);
418
+ return chunk3MPXMLP4_cjs.deserializeVtxo(serialized);
419
419
  }
420
420
  function utxoRowToDomain(row) {
421
421
  const serialized = {
@@ -434,7 +434,7 @@ function utxoRowToDomain(row) {
434
434
  status: JSON.parse(row.status_json),
435
435
  extraWitness: row.extra_witness_json ? JSON.parse(row.extra_witness_json) : void 0
436
436
  };
437
- return chunkP5FKMIGY_cjs.deserializeUtxo(serialized);
437
+ return chunk3MPXMLP4_cjs.deserializeUtxo(serialized);
438
438
  }
439
439
  function txRowToDomain(row) {
440
440
  const tx = {
@@ -449,7 +449,7 @@ function txRowToDomain(row) {
449
449
  createdAt: row.created_at
450
450
  };
451
451
  if (row.assets_json) {
452
- tx.assets = chunkP5FKMIGY_cjs.deserializeAssets(JSON.parse(row.assets_json));
452
+ tx.assets = chunk3MPXMLP4_cjs.deserializeAssets(JSON.parse(row.assets_json));
453
453
  }
454
454
  return tx;
455
455
  }
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, C as ContractRepository, a4 as ContractFilter, r as Contract } from '../../ark-BzUNnkoc.cjs';
1
+ import { W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, C as ContractRepository, w as ContractFilter, t as Contract } from '../../ark-CSqMJczW.cjs';
2
2
  import '@scure/btc-signer/transaction.js';
3
3
  import '@scure/btc-signer/utils.js';
4
4
  import '@scure/btc-signer/psbt.js';
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, E as ExtendedVirtualCoin, a2 as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, a3 as WalletState, C as ContractRepository, a4 as ContractFilter, r as Contract } from '../../ark-BzUNnkoc.js';
1
+ import { W as WalletRepository, E as ExtendedVirtualCoin, u as VtxoRepositoryKey, d as ExtendedCoin, A as ArkTransaction, v as WalletState, C as ContractRepository, w as ContractFilter, t as Contract } from '../../ark-CSqMJczW.js';
2
2
  import '@scure/btc-signer/transaction.js';
3
3
  import '@scure/btc-signer/utils.js';
4
4
  import '@scure/btc-signer/psbt.js';
@@ -1,7 +1,7 @@
1
- import { scriptFromArkAddress, serializeVtxo, isVtxoForScript, serializeUtxo, serializeAssets, deserializeVtxo, deserializeUtxo, deserializeAssets } from '../../chunk-SYEGCMNV.js';
2
- import '../../chunk-D744IES4.js';
3
- import '../../chunk-CUSABEUQ.js';
4
- import '../../chunk-OUVTG72A.js';
1
+ import { scriptFromArkAddress, serializeVtxo, isVtxoForScript, serializeUtxo, serializeAssets, deserializeVtxo, deserializeUtxo, deserializeAssets } from '../../chunk-D5MQYYYF.js';
2
+ import '../../chunk-5XAYUPK4.js';
3
+ import '../../chunk-YNEDJTX2.js';
4
+ import '../../chunk-BE5MUB7T.js';
5
5
  import '../../chunk-NSBPE2FW.js';
6
6
 
7
7
  // src/repositories/sqlite/walletRepository.ts
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, C as ContractRepository, n as IndexerProvider, m as ArkProvider, q as VirtualCoin, r as Contract, E as ExtendedVirtualCoin } from './ark-BzUNnkoc.js';
1
+ import { W as WalletRepository, C as ContractRepository, p as IndexerProvider, o as ArkProvider, s as VirtualCoin, t as Contract, E as ExtendedVirtualCoin } from './ark-CSqMJczW.js';
2
2
 
3
3
  /**
4
4
  * A task item represents a unit of work in the inbox.
@@ -1,4 +1,4 @@
1
- import { W as WalletRepository, C as ContractRepository, n as IndexerProvider, m as ArkProvider, q as VirtualCoin, r as Contract, E as ExtendedVirtualCoin } from './ark-BzUNnkoc.cjs';
1
+ import { W as WalletRepository, C as ContractRepository, p as IndexerProvider, o as ArkProvider, s as VirtualCoin, t as Contract, E as ExtendedVirtualCoin } from './ark-CSqMJczW.cjs';
2
2
 
3
3
  /**
4
4
  * A task item represents a unit of work in the inbox.