@arkade-os/sdk 0.5.0-rc.2 → 0.5.0-rc.20

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 (126) hide show
  1. package/README.md +90 -83
  2. package/dist/adapters/expo.cjs +5 -6
  3. package/dist/adapters/expo.d.cts +4 -4
  4. package/dist/adapters/expo.d.ts +4 -4
  5. package/dist/adapters/expo.js +3 -4
  6. package/dist/{asyncStorageTaskQueue-C5rBYlru.d.ts → asyncStorageTaskQueue-aL7K14e4.d.ts} +2 -2
  7. package/dist/{asyncStorageTaskQueue-BuDvgWh6.d.cts → asyncStorageTaskQueue-x8ok3tJy.d.cts} +2 -2
  8. package/dist/{chunk-43FKNLX4.cjs → chunk-5SLUXXWQ.cjs} +357 -1114
  9. package/dist/chunk-5SLUXXWQ.cjs.map +1 -0
  10. package/dist/{chunk-HLCGYOIH.cjs → chunk-6YVGWOLG.cjs} +37 -36
  11. package/dist/chunk-6YVGWOLG.cjs.map +1 -0
  12. package/dist/{chunk-4PKLULWT.js → chunk-AARSVV3S.js} +109 -246
  13. package/dist/chunk-AARSVV3S.js.map +1 -0
  14. package/dist/{chunk-D25O4EGY.cjs → chunk-AFJSJACF.cjs} +12 -10
  15. package/dist/chunk-AFJSJACF.cjs.map +1 -0
  16. package/dist/{chunk-6DNR46C7.js → chunk-IM3J3T5P.js} +7 -5
  17. package/dist/chunk-IM3J3T5P.js.map +1 -0
  18. package/dist/{chunk-ISO4TI5J.js → chunk-NR4XYTN3.js} +566 -459
  19. package/dist/chunk-NR4XYTN3.js.map +1 -0
  20. package/dist/{chunk-ZRNQV6HV.js → chunk-O2ZZD5Z6.js} +4578 -4396
  21. package/dist/chunk-O2ZZD5Z6.js.map +1 -0
  22. package/dist/{chunk-ZOTXDOS5.js → chunk-P267BXL7.js} +30 -29
  23. package/dist/chunk-P267BXL7.js.map +1 -0
  24. package/dist/{chunk-NVZJSKZS.cjs → chunk-P42MGA4K.cjs} +121 -257
  25. package/dist/chunk-P42MGA4K.cjs.map +1 -0
  26. package/dist/{chunk-GMZZQXV5.cjs → chunk-QARA4IYT.cjs} +4961 -4767
  27. package/dist/chunk-QARA4IYT.cjs.map +1 -0
  28. package/dist/{chunk-JZWLXNHV.cjs → chunk-T6N6B7HK.cjs} +574 -464
  29. package/dist/chunk-T6N6B7HK.cjs.map +1 -0
  30. package/dist/{chunk-3R476TDV.js → chunk-TIVYJIIX.js} +293 -1071
  31. package/dist/chunk-TIVYJIIX.js.map +1 -0
  32. package/dist/contracts/handlers/index.cjs +9 -10
  33. package/dist/contracts/handlers/index.d.cts +5 -5
  34. package/dist/contracts/handlers/index.d.ts +5 -5
  35. package/dist/contracts/handlers/index.js +2 -3
  36. package/dist/{delegate-BAX5QftB.d.ts → delegate-BT5iON1T.d.ts} +1 -1
  37. package/dist/{delegate-1yp1HyP7.d.cts → delegate-u6kXTtWY.d.cts} +1 -1
  38. package/dist/index-BCnhItOQ.d.cts +639 -0
  39. package/dist/{index-DUxufw76.d.cts → index-CK5QbTmZ.d.cts} +1387 -2404
  40. package/dist/{index-DUxufw76.d.ts → index-CK5QbTmZ.d.ts} +1387 -2404
  41. package/dist/index-D1D4cR-G.d.ts +639 -0
  42. package/dist/index.cjs +375 -340
  43. package/dist/index.d.cts +784 -1197
  44. package/dist/index.d.ts +784 -1197
  45. package/dist/index.js +4 -5
  46. package/dist/repositories/realm/index.cjs +201 -106
  47. package/dist/repositories/realm/index.cjs.map +1 -1
  48. package/dist/repositories/realm/index.d.cts +28 -16
  49. package/dist/repositories/realm/index.d.ts +28 -16
  50. package/dist/repositories/realm/index.js +190 -95
  51. package/dist/repositories/realm/index.js.map +1 -1
  52. package/dist/repositories/sqlite/index.cjs +301 -189
  53. package/dist/repositories/sqlite/index.cjs.map +1 -1
  54. package/dist/repositories/sqlite/index.d.cts +32 -21
  55. package/dist/repositories/sqlite/index.d.ts +32 -21
  56. package/dist/repositories/sqlite/index.js +294 -182
  57. package/dist/repositories/sqlite/index.js.map +1 -1
  58. package/dist/{taskRunner-D_iPiZIi.d.ts → taskRunner-BeYR6NpQ.d.ts} +2 -2
  59. package/dist/{taskRunner-Dr3NStc0.d.cts → taskRunner-Csey3EYJ.d.cts} +2 -2
  60. package/dist/wallet/expo/background.cjs +14 -15
  61. package/dist/wallet/expo/background.cjs.map +1 -1
  62. package/dist/wallet/expo/background.d.cts +10 -16
  63. package/dist/wallet/expo/background.d.ts +10 -16
  64. package/dist/wallet/expo/background.js +6 -7
  65. package/dist/wallet/expo/background.js.map +1 -1
  66. package/dist/wallet/expo/index.cjs +16 -23
  67. package/dist/wallet/expo/index.cjs.map +1 -1
  68. package/dist/wallet/expo/index.d.cts +6 -9
  69. package/dist/wallet/expo/index.d.ts +6 -9
  70. package/dist/wallet/expo/index.js +8 -15
  71. package/dist/wallet/expo/index.js.map +1 -1
  72. package/dist/wallet-DG3Qmbmt.d.cts +1848 -0
  73. package/dist/wallet-DzSLMxBZ.d.ts +1848 -0
  74. package/dist/worker/expo/index.cjs +9 -10
  75. package/dist/worker/expo/index.cjs.map +1 -1
  76. package/dist/worker/expo/index.d.cts +6 -6
  77. package/dist/worker/expo/index.d.ts +6 -6
  78. package/dist/worker/expo/index.js +5 -6
  79. package/dist/worker/expo/index.js.map +1 -1
  80. package/package.json +12 -51
  81. package/dist/adapters/asyncStorage.cjs +0 -48
  82. package/dist/adapters/asyncStorage.cjs.map +0 -1
  83. package/dist/adapters/asyncStorage.d.cts +0 -16
  84. package/dist/adapters/asyncStorage.d.ts +0 -16
  85. package/dist/adapters/asyncStorage.js +0 -46
  86. package/dist/adapters/asyncStorage.js.map +0 -1
  87. package/dist/adapters/fileSystem.cjs +0 -116
  88. package/dist/adapters/fileSystem.cjs.map +0 -1
  89. package/dist/adapters/fileSystem.d.cts +0 -17
  90. package/dist/adapters/fileSystem.d.ts +0 -17
  91. package/dist/adapters/fileSystem.js +0 -93
  92. package/dist/adapters/fileSystem.js.map +0 -1
  93. package/dist/adapters/indexedDB.cjs +0 -103
  94. package/dist/adapters/indexedDB.cjs.map +0 -1
  95. package/dist/adapters/indexedDB.d.cts +0 -18
  96. package/dist/adapters/indexedDB.d.ts +0 -18
  97. package/dist/adapters/indexedDB.js +0 -101
  98. package/dist/adapters/indexedDB.js.map +0 -1
  99. package/dist/adapters/localStorage.cjs +0 -50
  100. package/dist/adapters/localStorage.cjs.map +0 -1
  101. package/dist/adapters/localStorage.d.cts +0 -14
  102. package/dist/adapters/localStorage.d.ts +0 -14
  103. package/dist/adapters/localStorage.js +0 -48
  104. package/dist/adapters/localStorage.js.map +0 -1
  105. package/dist/chunk-3R476TDV.js.map +0 -1
  106. package/dist/chunk-43FKNLX4.cjs.map +0 -1
  107. package/dist/chunk-4PKLULWT.js.map +0 -1
  108. package/dist/chunk-5BLDMQED.cjs +0 -18
  109. package/dist/chunk-5BLDMQED.cjs.map +0 -1
  110. package/dist/chunk-6DNR46C7.js.map +0 -1
  111. package/dist/chunk-D25O4EGY.cjs.map +0 -1
  112. package/dist/chunk-GMZZQXV5.cjs.map +0 -1
  113. package/dist/chunk-HLCGYOIH.cjs.map +0 -1
  114. package/dist/chunk-ISO4TI5J.js.map +0 -1
  115. package/dist/chunk-JZWLXNHV.cjs.map +0 -1
  116. package/dist/chunk-NSBPE2FW.js +0 -15
  117. package/dist/chunk-NSBPE2FW.js.map +0 -1
  118. package/dist/chunk-NVZJSKZS.cjs.map +0 -1
  119. package/dist/chunk-ZOTXDOS5.js.map +0 -1
  120. package/dist/chunk-ZRNQV6HV.js.map +0 -1
  121. package/dist/hdWalletCapable-CmEU0NP1.d.ts +0 -2232
  122. package/dist/hdWalletCapable-eJgaT-ec.d.cts +0 -2232
  123. package/dist/index-Bem5vKzX.d.ts +0 -850
  124. package/dist/index-C0IanN1m.d.cts +0 -11
  125. package/dist/index-C0IanN1m.d.ts +0 -11
  126. package/dist/index-W_oMcOmG.d.cts +0 -850
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
- export { ARKADE_MAGIC, ARKADE_SALTED_PREIMAGE_TAG, ARKADE_SWAP_PREIMAGE_TAG, ASSET_CARRIER_SATS, AbortError, ActivityRegistry, AmbiguousRouteError, ArkNote, ArkadeCash, ArkadeCashCreateError, AssetManager, BIP21, BIP21Error, BIP322, BLOCKED_UPGRADE_TIMEOUT_MS, Batch, CachingArkProvider, ChainedTxType, ConnectionDisposedError, ContractManager, ContractRepositoryImpl, ContractWatcher, DEFAULT_MESSAGE_TIMEOUTS, DEFAULT_MIN_BATCH_EXPIRY_SECONDS, DEFAULT_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, DatabaseUpgradeBlockedError, DelegateManagerImpl, DelegateNotConfiguredError, DelegatorManagerImpl, DelegatorNotConfiguredError, DescriptorIdentity, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, ESPLORA_URL, ElectrumOnchainProvider, EmulatorPacket, EsploraProvider, Estimator, Extension, ExtensionNotFoundError, ForeignDescriptorError, HDDescriptorProvider, INTENT_TERMINAL_STATES, InMemoryContractRepository, InMemoryIntentRepository, InMemoryVirtualTxRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBIntentRepository, IndexedDBVirtualTxRepository, IndexedDBWalletRepository, MAX_USED_SIGNING_DESCRIPTORS_LOOK_AHEAD, MESSAGE_BUS_INITIALIZING, MESSAGE_BUS_NOT_INITIALIZED, MIGRATION_KEY, MUTINYNET_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, MessageBus, MessageBusInitializingError, MessageBusNotInitializedError, MissingSigningDescriptorError, MnemonicIdentity, OnchainWallet, P2A, PaymentRouter, PrevTxUnavailableError, REGTEST_MIN_BATCH_EXPIRY_SECONDS, REGTEST_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, RestDelegateProvider, RestDelegatorProvider, RestEmulatorProvider, SIGNET_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, SeedIdentity, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, SingleKey, TxTree, TxType, TxWeightEstimator, UnannotatableInputError, UnilateralExit, UnknownPacket, Unroll, VtxoManager, Wallet, WalletCannotAllocateAddressError, WalletCannotSignError, WalletMessageHandler, WalletNotInitializedError, WalletRepositoryImpl, WsElectrumChainSource, adoptContractDescriptor, arkAssetRail, arkRail, arkTarget, arkade_exports as arkade, assertFinalCommitmentMatchesValidated, assertNoAssets, assertRecipientArkadeAddress, assertSendableAmount, assertSubmittedArkTxid, assertValidBatchExpiry, assertValidServerUnrollScript, assetMintResolver, assetsOf, attachPrevArkTxs, attachPrevoutTxs, awaitTransaction, boardingResolver, btcTarget, buildForfeitTx, buildOffchainTx, buildPreimageMessage, buildSaltedPreimageMessage, claimWithPreimageIdentity, classifyAgainstSignerSet, classifyContractSigner, closeDatabase, collabExitResolver, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, contractPreimage, contractSigner, createAssetPacket, createDefaultActivityRegistry, createDefaultPaymentRouter, createExitChainResolver, createManagedConnection, decodeArkContract, defaultBatchExpiryPolicy, defaultCheckpointExitDelayPolicy, deleteByIndex, deserializeExitPackage, encodeArkContract, exitObserverFor, gateExclusion, gatedContracts, getAllByIndexValues, getMigrationStatus, getRandomId, hasBoardingTxExpired, hasCandidates, invoiceTarget, isAddressAllocationCapable, isArkContract, isBatchSignable, isBtcAddress, isContractGenericallySpendable, isCooperativelyMigratable, isDeterministicSigner, isDiscoverable, isHDAllocationCapable, isHDDeterministicSignCapable, isHDWalletCapable, isLightningInvoice, isLnurl, isMessageBusInitializingError, isMessageBusNotInitializedError, isPerArtifactDescriptor, isSigningIdentity, isSubdust, isTerminalIntentState, isValidArkAddress, isVtxoExpiringSoon, logExcludedVtxos, makeHandle, matchServerCheckpoints, migrateWalletRepository, notifyExitObserved, onchainRail, openDatabase, outpointExclusion, outpointReasons, promisifyRequest, provisionClaimSecret, provisionRefundKey, requiresMigration, resolveAssetAmount, resolveBatchExpiryPolicy, resolveCheckpointExitDelayPolicy, resolveDescriptorSigner, resolvePrevTxs, resolveSendAmount, rollbackMigration, selectCoinsWithAsset, selectVirtualCoins, serializeExitPackage, setupServiceWorker, signAndSubmitOffchainTx, signerSetFromInfo, signingDescriptorIndex, strictSigningDescriptorIndex, toXOnlySignerHex, tryResolveSendAmount, validateBatchRecipients, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures, waitForIncomingFunds, withPrevTxs } from './chunk-ZRNQV6HV.js';
2
- export { ChainTxType, DEFAULT_VTXO_PAGE_SIZE, IndexerTxType, RestIndexerProvider, asset_exports as asset } from './chunk-4PKLULWT.js';
3
- export { ArkadeContractHandler, BoardingContractHandler, DefaultContractHandler, DefaultVtxo, DelegateContractHandler, DelegateVtxo, VHTLC, VHTLCContractHandler, VHTLCV2ContractHandler, contractHandlers, deriveDescriptorLeafCompressedPubKey, deriveDescriptorLeafPubKey, identityDescriptor, isCltvSatisfied, isCsvSpendable, normalizeToDescriptor, parseHDDescriptor, toXOnly } from './chunk-3R476TDV.js';
4
- export { ArkAddress, ArkError, ArkErrorName, ArkPsbtFieldKey, ArkPsbtFieldKeyType, BITCOIN_EMULATOR_PUBKEY, CLTVMultisigTapscript, CSVMultisigTapscript, ConditionCSVMultisigTapscript, ConditionMultisigTapscript, ConditionWitness, CosignerPublicKey, DigestMismatchError, EventSourceUnavailableError, FetchError, Intent, MUTINYNET_EMULATOR_PUBKEY, MultisigTapscript, PrevArkTxField, PrevoutTxField, ProviderUnavailableError, REGTEST_EMULATOR_PUBKEY, RestArkProvider, ServerResponseMismatchError, SettlementEventType, TapTreeCoder, Transaction, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, assembleBtcdTaprootTree, assertAllowedSighashTypes, buildVersion, canRecoverOnchain, canSpendOffchain, canSweepOnchain, configureEventSource, decodeTapscript, defaultEmulatorPubkey, getAllNormalizedVtxos, getArkPsbtFields, getConfiguredEventSource, getNetwork, getNormalizedVtxos, getSequence, hasTerminalSpend, isArkError, isEventSourceUnavailableError, isExpired, isPastExpiry, isRecoverable, isRetryableProviderError, isSpendable, isVirtualCoin, maybeArkError, networkFromArkadeInfo, networks, resolveEmulatorPubkey, resolveEventSource, scriptFromTapLeafScript, sdkVersion, sequenceToTimelock, setArkPsbtField, timelockToSequence } from './chunk-ISO4TI5J.js';
5
- import './chunk-NSBPE2FW.js';
1
+ export { ARKADE_MAGIC, ARKADE_SALTED_PREIMAGE_TAG, ARKADE_SWAP_PREIMAGE_TAG, ASSET_CARRIER_SATS, AbortError, ActivityRegistry, AmbiguousRouteError, ArkNote, ArkadeCash, ArkadeCashCreateError, AssetManager, BIP21, BIP21Error, BIP322, BLOCKED_UPGRADE_TIMEOUT_MS, Batch, CachingArkProvider, ChainedTxType, ConnectionDisposedError, ContractManager, ContractWatcher, DEFAULT_MESSAGE_TIMEOUTS, DEFAULT_MIN_BATCH_EXPIRY_SECONDS, DEFAULT_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, DatabaseUpgradeBlockedError, DelegateManagerImpl, DelegateNotConfiguredError, DescriptorIdentity, DescriptorSigningProviderMissingError, DustChangeError, ELECTRUM_TCP_HOST, ELECTRUM_WS_URL, ESPLORA_URL, ElectrumOnchainProvider, EmulatorPacket, EsploraProvider, Estimator, Extension, ExtensionNotFoundError, ForeignDescriptorError, HDDescriptorProvider, INTENT_TERMINAL_STATES, InMemoryContractRepository, InMemoryIntentRepository, InMemoryVirtualTxRepository, InMemoryWalletRepository, IndexedDBContractRepository, IndexedDBIntentRepository, IndexedDBVirtualTxRepository, IndexedDBWalletRepository, KeyringDescriptorProvider, MAX_PAGE_SIZE, MAX_USED_SIGNING_DESCRIPTORS_LOOK_AHEAD, MESSAGE_BUS_INITIALIZING, MESSAGE_BUS_NOT_INITIALIZED, MUTINYNET_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, MessageBus, MessageBusInitializingError, MessageBusNotInitializedError, MissingSigningDescriptorError, MnemonicIdentity, OnchainWallet, OversizedChangeError, P2A, PaymentRouter, PrevTxUnavailableError, REGTEST_MIN_BATCH_EXPIRY_SECONDS, REGTEST_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, Ramps, ReadonlyAssetManager, ReadonlyDescriptorIdentity, ReadonlySingleKey, ReadonlyWallet, ReadonlyWalletError, RestDelegateProvider, RestEmulatorProvider, SIGNET_MIN_CHECKPOINT_EXIT_DELAY_SECONDS, SeedIdentity, ServiceWorkerReadonlyWallet, ServiceWorkerTimeoutError, ServiceWorkerWallet, SingleKey, StaticDescriptorProvider, TxTree, TxType, TxWeightEstimator, UnannotatableInputError, UnilateralExit, UnknownPacket, Unroll, VtxoManager, Wallet, WalletCannotAllocateAddressError, WalletCannotSignError, WalletMessageHandler, WalletNotInitializedError, WsElectrumChainSource, adoptContractDescriptor, arkAssetRail, arkRail, arkTarget, arkade_exports as arkade, assertFinalCommitmentMatchesValidated, assertNoAssets, assertNoSelection, assertPageRequest, assertRecipientArkadeAddress, assertSendableAmount, assertSubmittedArkTxid, assertValidBatchExpiry, assertValidServerUnrollScript, assetMintResolver, assetsOf, attachPrevArkTxs, attachPrevoutTxs, awaitTransaction, boardingResolver, btcTarget, buildForfeitTx, buildOffchainTx, buildPreimageMessage, buildSaltedPreimageMessage, claimWithPreimageIdentity, classifyAgainstSignerSet, classifyContractSigner, closeDatabase, collabExitResolver, collectContracts, collectIntents, collectPages, collectScriptVtxos, collectTransactionHistory, collectUtxos, collectVtxos, combineTapscriptSigs, contractFromArkContract, contractFromArkContractWithAddress, contractPreimage, contractSigner, createAssetPacket, createDefaultActivityRegistry, createDefaultPaymentRouter, createExitChainResolver, createManagedConnection, decodeArkContract, defaultBatchExpiryPolicy, defaultCheckpointExitDelayPolicy, deleteByIndex, deserializeExitPackage, encodeArkContract, exitObserverFor, gateExclusion, gatedContracts, getAllByIndexValues, getRandomId, hasBoardingTxExpired, hasCandidates, invoiceTarget, isAddressAllocationCapable, isArkContract, isBatchSignable, isBtcAddress, isContractGenericallySpendable, isContractVtxoEvent, isCooperativelyMigratable, isDeterministicSigner, isDiscoverable, isHDAllocationCapable, isHDDeterministicSignCapable, isHDWalletCapable, isLightningInvoice, isLnurl, isMessageBusInitializingError, isMessageBusNotInitializedError, isPerArtifactDescriptor, isSigningIdentity, isSubdust, isTerminalIntentState, isValidArkAddress, isVtxoExpiringSoon, iteratePages, logExcludedVtxos, makeHandle, matchServerCheckpoints, notifyExitObserved, onchainRail, openDatabase, outpointExclusion, outpointReasons, pageResult, promisifyRequest, provisionClaimSecret, provisionRefundKey, registerWalletRestoreHook, resolveAssetAmount, resolveBatchExpiryPolicy, resolveCheckpointExitDelayPolicy, resolveDescriptorSigner, resolvePrevTxs, resolveSendAmount, selectCoinsWithAsset, selectVirtualCoins, selectionOf, serializeExitPackage, setupServiceWorker, signAndSubmitOffchainTx, signerSetFromInfo, signingDescriptorIndex, strictSigningDescriptorIndex, toXOnlySignerHex, tryResolveSendAmount, validateBatchRecipients, validateConnectorsTxGraph, validateVtxoTxGraph, verifyTapscriptSignatures, waitForIncomingFunds, walletFeeSource, withPrevTxs } from './chunk-O2ZZD5Z6.js';
2
+ export { ChainTxType, DEFAULT_VTXO_PAGE_SIZE, IndexerTxType, RestIndexerProvider, asset_exports as asset } from './chunk-AARSVV3S.js';
3
+ export { ArkadeContractHandler, BoardingContractHandler, DefaultContractHandler, DefaultVtxo, DelegateContractHandler, DelegateVtxo, VHTLC, VHTLCContractHandler, VHTLCV2ContractHandler, contractHandlers, deriveDescriptorLeafCompressedPubKey, deriveDescriptorLeafPubKey, identityDescriptor, isCltvSatisfied, isCsvSpendable, normalizeToDescriptor, parseHDDescriptor, toXOnly } from './chunk-TIVYJIIX.js';
4
+ export { ArkAddress, ArkError, ArkErrorName, ArkPsbtFieldKey, ArkPsbtFieldKeyType, BITCOIN_EMULATOR_PUBKEY, CLTVMultisigTapscript, CSVMultisigTapscript, ConditionCSVMultisigTapscript, ConditionMultisigTapscript, ConditionWitness, CosignerPublicKey, DigestMismatchError, EventSourceUnavailableError, FetchError, Intent, MUTINYNET_EMULATOR_PUBKEY, MultisigTapscript, PrevArkTxField, PrevoutTxField, ProviderUnavailableError, READ_TIMEOUT_MS, REGTEST_EMULATOR_PUBKEY, RestArkProvider, ServerResponseMismatchError, SettlementEventType, TapTreeCoder, Transaction, VtxoScript, VtxoTaprootTree, VtxoTreeExpiry, assembleBtcdTaprootTree, assertAllowedSighashTypes, assertNonNegativeMs, assertTimerMs, buildVersion, canRecoverOnchain, canSpendOffchain, canSweepOnchain, configureEventSource, decodeTapscript, defaultEmulatorPubkey, getAllNormalizedVtxos, getArkPsbtFields, getConfiguredEventSource, getNetwork, getNormalizedVtxos, getSequence, isArkError, isEventSourceUnavailableError, isPastExpiry, isRetryableProviderError, isVirtualCoin, isVtxoSpent, maybeArkError, networkFromArkadeInfo, networks, resolveEmulatorPubkey, resolveEventSource, scriptFromTapLeafScript, sdkVersion, sequenceToTimelock, setArkPsbtField, timelockToSequence } from './chunk-NR4XYTN3.js';
6
5
  //# sourceMappingURL=index.js.map
7
6
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkGMZZQXV5_cjs = require('../../chunk-GMZZQXV5.cjs');
4
- require('../../chunk-NVZJSKZS.cjs');
5
- require('../../chunk-43FKNLX4.cjs');
6
- require('../../chunk-JZWLXNHV.cjs');
7
- require('../../chunk-5BLDMQED.cjs');
3
+ var chunkQARA4IYT_cjs = require('../../chunk-QARA4IYT.cjs');
4
+ require('../../chunk-P42MGA4K.cjs');
5
+ require('../../chunk-5SLUXXWQ.cjs');
6
+ var chunkT6N6B7HK_cjs = require('../../chunk-T6N6B7HK.cjs');
8
7
 
9
8
  // src/repositories/realm/walletRepository.ts
10
9
  var RealmWalletRepository = class {
@@ -12,7 +11,7 @@ var RealmWalletRepository = class {
12
11
  this.realm = realm;
13
12
  }
14
13
  realm;
15
- version = 1;
14
+ version = 2;
16
15
  // ── Lifecycle ──────────────────────────────────────────────────────
17
16
  async ensureInit() {
18
17
  }
@@ -29,16 +28,14 @@ var RealmWalletRepository = class {
29
28
  });
30
29
  }
31
30
  // ── VTXO management ────────────────────────────────────────────────
32
- async getVtxos(address) {
33
- await this.ensureInit();
34
- const results = this.realm.objects("ArkVtxo").filtered("address == $0", address);
35
- return [...results].map(vtxoObjectToDomain);
31
+ async getVtxosPage(address, page) {
32
+ return this.pageByAddress("ArkVtxo", address, page, vtxoObjectToDomain);
36
33
  }
37
34
  async saveVtxos(address, vtxos) {
38
35
  await this.ensureInit();
39
36
  this.realm.write(() => {
40
37
  for (const vtxo of vtxos) {
41
- const s = chunkGMZZQXV5_cjs.serializeVtxo(vtxo);
38
+ const s = chunkQARA4IYT_cjs.serializeVtxo(vtxo);
42
39
  this.realm.create(
43
40
  "ArkVtxo",
44
41
  {
@@ -53,10 +50,14 @@ var RealmWalletRepository = class {
53
50
  intentCb: s.intentTapLeafScript.cb,
54
51
  intentS: s.intentTapLeafScript.s,
55
52
  statusJson: JSON.stringify(s.status),
56
- virtualStatusJson: JSON.stringify(s.virtualStatus),
57
- createdAt: typeof s.createdAt === "string" ? s.createdAt : s.createdAt instanceof Date ? s.createdAt.toISOString() : new Date(s.createdAt).toISOString(),
53
+ createdAt: chunkQARA4IYT_cjs.createdAtToIso(s.createdAt),
58
54
  isUnrolled: s.isUnrolled ?? false,
59
55
  isSpent: s.isSpent === void 0 ? null : s.isSpent,
56
+ isSwept: s.isSwept === void 0 ? null : s.isSwept,
57
+ isPreconfirmed: s.isPreconfirmed === void 0 ? null : s.isPreconfirmed,
58
+ commitmentTxIdsJson: s.commitmentTxIds ? JSON.stringify(s.commitmentTxIds) : null,
59
+ expiresAt: s.expiresAt === void 0 ? null : new Date(s.expiresAt).toISOString(),
60
+ expiresAtHeight: s.expiresAtHeight ?? null,
60
61
  spentBy: s.spentBy ?? null,
61
62
  settledBy: s.settledBy ?? null,
62
63
  arkTxId: s.arkTxId ?? null,
@@ -70,48 +71,84 @@ var RealmWalletRepository = class {
70
71
  });
71
72
  }
72
73
  async deleteVtxos(address) {
73
- await this.ensureInit();
74
- this.realm.write(() => {
75
- const toDelete = this.realm.objects("ArkVtxo").filtered("address == $0", address);
76
- this.realm.delete(toDelete);
77
- });
74
+ return this.deleteWhere("ArkVtxo", "address", address);
78
75
  }
79
- async getVtxosForScript(script) {
76
+ async getVtxosForScriptPage(script, page, options) {
77
+ chunkQARA4IYT_cjs.assertPageRequest(page);
80
78
  await this.ensureInit();
81
- const results = this.realm.objects("ArkVtxo").filtered("script == $0", script);
82
- return [...results].map(vtxoObjectToDomain);
83
- }
84
- async saveVtxosForScript(key, vtxos) {
85
- if (!key.address) {
86
- throw new Error("RealmWalletRepository requires an address");
79
+ let results = this.realm.objects("ArkVtxo").filtered("script == $0", script);
80
+ if (options?.unspentOnly) {
81
+ results = results.filtered(
82
+ "(isSpent == null OR isSpent == $0) AND (spentBy == null OR spentBy == $1) AND (settledBy == null OR settledBy == $1)",
83
+ false,
84
+ ""
85
+ );
87
86
  }
88
- for (const vtxo of vtxos) {
89
- if (!chunkGMZZQXV5_cjs.isVtxoForScript(vtxo, key.script)) {
90
- throw new Error(
91
- `VTXO ${vtxo.txid}:${vtxo.vout} script mismatch: expected ${key.script}, got ${vtxo.script}`
92
- );
93
- }
87
+ if (page.after) {
88
+ results = results.filtered(
89
+ "address > $0 OR (address == $0 AND (txid > $1 OR (txid == $1 AND vout > $2)))",
90
+ page.after.address,
91
+ page.after.txid,
92
+ page.after.vout
93
+ );
94
94
  }
95
- return this.saveVtxos(key.address, vtxos);
95
+ const rows = [];
96
+ for (const row of results.sorted([
97
+ ["address", false],
98
+ ["txid", false],
99
+ ["vout", false]
100
+ ])) {
101
+ rows.push({ address: row.address, vtxo: vtxoObjectToDomain(row) });
102
+ if (rows.length > page.limit) break;
103
+ }
104
+ const result = chunkQARA4IYT_cjs.pageResult(rows, page.limit, (row) => ({
105
+ address: row.address,
106
+ txid: row.vtxo.txid,
107
+ vout: row.vtxo.vout
108
+ }));
109
+ return options?.unspentOnly ? { ...result, items: result.items.filter((row) => !chunkT6N6B7HK_cjs.isVtxoSpent(row.vtxo)) } : result;
110
+ }
111
+ async saveVtxosForScript(key, vtxos) {
112
+ return this.saveVtxos(chunkQARA4IYT_cjs.checkSaveVtxosForScript("RealmWalletRepository", key, vtxos), vtxos);
96
113
  }
97
114
  async deleteVtxosForScript(script) {
98
- await this.ensureInit();
99
- this.realm.write(() => {
100
- const toDelete = this.realm.objects("ArkVtxo").filtered("script == $0", script);
101
- this.realm.delete(toDelete);
102
- });
115
+ return this.deleteWhere("ArkVtxo", "script", script);
103
116
  }
104
117
  // ── UTXO management ────────────────────────────────────────────────
105
- async getUtxos(address) {
118
+ async getUtxosPage(address, page) {
119
+ return this.pageByAddress("ArkUtxo", address, page, utxoObjectToDomain);
120
+ }
121
+ async pageByAddress(schema, address, page, deserialize) {
122
+ chunkQARA4IYT_cjs.assertPageRequest(page);
106
123
  await this.ensureInit();
107
- const results = this.realm.objects("ArkUtxo").filtered("address == $0", address);
108
- return [...results].map(utxoObjectToDomain);
124
+ let results = this.realm.objects(schema).filtered("address == $0", address);
125
+ if (page.after) {
126
+ results = results.filtered(
127
+ "txid > $0 OR (txid == $0 AND vout > $1)",
128
+ page.after.txid,
129
+ page.after.vout
130
+ );
131
+ }
132
+ const rows = [];
133
+ for (const row of results.sorted([
134
+ ["txid", false],
135
+ ["vout", false]
136
+ ])) {
137
+ rows.push({ key: { txid: row.txid, vout: row.vout }, item: deserialize(row) });
138
+ if (rows.length > page.limit) break;
139
+ }
140
+ const result = chunkQARA4IYT_cjs.pageResult(rows, page.limit, (row) => row.key);
141
+ return { items: result.items.map((row) => row.item), nextCursor: result.nextCursor };
109
142
  }
110
- async saveUtxos(address, utxos) {
143
+ async saveUtxos(addressOrBatch, utxos) {
111
144
  await this.ensureInit();
145
+ const rows = chunkQARA4IYT_cjs.utxoEntries(addressOrBatch, utxos).flatMap(
146
+ ([address, list]) => list.map((utxo) => ({ address, utxo }))
147
+ );
148
+ if (rows.length === 0) return;
112
149
  this.realm.write(() => {
113
- for (const utxo of utxos) {
114
- const s = chunkGMZZQXV5_cjs.serializeUtxo(utxo);
150
+ for (const { address, utxo } of rows) {
151
+ const s = chunkQARA4IYT_cjs.serializeUtxo(utxo);
115
152
  this.realm.create(
116
153
  "ArkUtxo",
117
154
  {
@@ -134,19 +171,31 @@ var RealmWalletRepository = class {
134
171
  });
135
172
  }
136
173
  async deleteUtxos(address) {
137
- await this.ensureInit();
138
- this.realm.write(() => {
139
- const toDelete = this.realm.objects("ArkUtxo").filtered("address == $0", address);
140
- this.realm.delete(toDelete);
141
- });
174
+ return this.deleteWhere("ArkUtxo", "address", address);
142
175
  }
143
176
  // ── Transaction history ────────────────────────────────────────────
144
- async getTransactionHistory(address) {
145
- await this.ensureInit();
146
- const results = this.realm.objects("ArkTransaction").filtered("address == $0", address);
147
- const txs = [...results].map(txObjectToDomain);
148
- txs.sort((a, b) => a.createdAt - b.createdAt);
149
- return txs;
177
+ async getTransactionHistoryPage(filter, page) {
178
+ chunkQARA4IYT_cjs.assertPageRequest(page);
179
+ chunkQARA4IYT_cjs.assertHistoryPageFilter(filter);
180
+ let results = this.realm.objects("ArkTransaction").filtered("address == $0", filter.address);
181
+ results = results.filtered(
182
+ "createdAt >= $0",
183
+ Math.max(filter.since ?? 0, page.after?.createdAt ?? 0)
184
+ );
185
+ const rows = [];
186
+ for (const row of results.sorted([
187
+ ["createdAt", false],
188
+ ["boardingTxid", false],
189
+ ["commitmentTxid", false],
190
+ ["arkTxid", false]
191
+ ])) {
192
+ const tx = txObjectToDomain(row);
193
+ if (page.after !== void 0 && chunkQARA4IYT_cjs.compareHistoryCursors({ createdAt: tx.createdAt, key: tx.key }, page.after) <= 0)
194
+ continue;
195
+ rows.push(tx);
196
+ if (rows.length > page.limit) break;
197
+ }
198
+ return chunkQARA4IYT_cjs.pageResult(rows, page.limit, (tx) => ({ createdAt: tx.createdAt, key: tx.key }));
150
199
  }
151
200
  async saveTransactions(address, txs) {
152
201
  await this.ensureInit();
@@ -164,7 +213,7 @@ var RealmWalletRepository = class {
164
213
  amount: tx.amount,
165
214
  settled: tx.settled,
166
215
  createdAt: tx.createdAt,
167
- assetsJson: tx.assets ? JSON.stringify(chunkGMZZQXV5_cjs.serializeAssets(tx.assets)) : null
216
+ assetsJson: tx.assets ? JSON.stringify(chunkQARA4IYT_cjs.serializeAssets(tx.assets)) : null
168
217
  },
169
218
  "modified"
170
219
  );
@@ -172,9 +221,12 @@ var RealmWalletRepository = class {
172
221
  });
173
222
  }
174
223
  async deleteTransactions(address) {
224
+ return this.deleteWhere("ArkTransaction", "address", address);
225
+ }
226
+ async deleteWhere(objectType, field, value) {
175
227
  await this.ensureInit();
176
228
  this.realm.write(() => {
177
- const toDelete = this.realm.objects("ArkTransaction").filtered("address == $0", address);
229
+ const toDelete = this.realm.objects(objectType).filtered(`${field} == $0`, value);
178
230
  this.realm.delete(toDelete);
179
231
  });
180
232
  }
@@ -222,10 +274,14 @@ function vtxoObjectToDomain(obj) {
222
274
  s: obj.intentS
223
275
  },
224
276
  status: JSON.parse(obj.statusJson),
225
- virtualStatus: JSON.parse(obj.virtualStatusJson),
226
277
  createdAt: new Date(obj.createdAt),
227
278
  isUnrolled: obj.isUnrolled,
228
279
  isSpent: obj.isSpent === null ? void 0 : obj.isSpent,
280
+ isSwept: obj.isSwept == null ? void 0 : obj.isSwept,
281
+ isPreconfirmed: obj.isPreconfirmed == null ? void 0 : obj.isPreconfirmed,
282
+ commitmentTxIds: obj.commitmentTxIdsJson ? JSON.parse(obj.commitmentTxIdsJson) : void 0,
283
+ expiresAt: obj.expiresAt ? new Date(obj.expiresAt) : void 0,
284
+ expiresAtHeight: obj.expiresAtHeight ?? void 0,
229
285
  spentBy: obj.spentBy ?? void 0,
230
286
  settledBy: obj.settledBy ?? void 0,
231
287
  arkTxId: obj.arkTxId ?? void 0,
@@ -234,9 +290,9 @@ function vtxoObjectToDomain(obj) {
234
290
  // Post-migration every row has `script`, but the backfill is
235
291
  // idempotent: derive from `address` if the legacy column is still
236
292
  // null (e.g. the migration hasn't run yet on this handle).
237
- script: obj.script ?? chunkGMZZQXV5_cjs.scriptFromArkAddress(obj.address)
293
+ script: obj.script ?? chunkQARA4IYT_cjs.scriptFromArkAddress(obj.address)
238
294
  };
239
- return chunkGMZZQXV5_cjs.deserializeVtxo(serialized);
295
+ return chunkQARA4IYT_cjs.deserializeVtxo(serialized);
240
296
  }
241
297
  function utxoObjectToDomain(obj) {
242
298
  const serialized = {
@@ -255,7 +311,7 @@ function utxoObjectToDomain(obj) {
255
311
  status: JSON.parse(obj.statusJson),
256
312
  extraWitness: obj.extraWitnessJson ? JSON.parse(obj.extraWitnessJson) : void 0
257
313
  };
258
- return chunkGMZZQXV5_cjs.deserializeUtxo(serialized);
314
+ return chunkQARA4IYT_cjs.deserializeUtxo(serialized);
259
315
  }
260
316
  function txObjectToDomain(obj) {
261
317
  const tx = {
@@ -270,7 +326,7 @@ function txObjectToDomain(obj) {
270
326
  createdAt: obj.createdAt
271
327
  };
272
328
  if (obj.assetsJson) {
273
- tx.assets = chunkGMZZQXV5_cjs.deserializeAssets(JSON.parse(obj.assetsJson));
329
+ tx.assets = chunkQARA4IYT_cjs.deserializeAssets(JSON.parse(obj.assetsJson));
274
330
  }
275
331
  return tx;
276
332
  }
@@ -281,7 +337,7 @@ var RealmContractRepository = class {
281
337
  this.realm = realm;
282
338
  }
283
339
  realm;
284
- version = 2;
340
+ version = 3;
285
341
  // ── Lifecycle ──────────────────────────────────────────────────────
286
342
  async ensureInit() {
287
343
  }
@@ -295,41 +351,47 @@ var RealmContractRepository = class {
295
351
  });
296
352
  }
297
353
  // ── Contract management ────────────────────────────────────────────
298
- async getContracts(filter) {
299
- await this.ensureInit();
354
+ async getContractsPage(filter, page) {
355
+ chunkQARA4IYT_cjs.assertPageRequest(page);
356
+ if (chunkQARA4IYT_cjs.contractFilterMatchesNothing(filter)) return { items: [] };
357
+ const toPage = (rows) => chunkQARA4IYT_cjs.pageResult(rows.map(contractObjectToDomain), page.limit, (contract) => contract.script);
358
+ if (filter?.watch === void 0 || filter.script !== void 0) {
359
+ return toPage(this.readRows(filter, page));
360
+ }
361
+ const merged = [...new Set([filter.watch].flat())].flatMap((state) => state === "watched" ? [state, null] : [state]).flatMap(
362
+ (state) => state === "retained" ? this.readRows({ ...filter, watch: state }, page) : this.readRows({ ...filter, watch: void 0 }, page, state)
363
+ ).map((row) => ({ script: row.script, row })).sort((a, b) => a.script < b.script ? -1 : a.script > b.script ? 1 : 0);
364
+ return toPage(merged.slice(0, page.limit + 1).map(({ row }) => row));
365
+ }
366
+ /** Up to `limit + 1` rows in script order, led by `watch == leadingWatch` when one is given. */
367
+ readRows(filter, page, leadingWatch) {
300
368
  let results = this.realm.objects("ArkContract");
369
+ const parts = [];
370
+ const args = [];
371
+ let argIndex = 0;
301
372
  if (filter) {
302
- const filterParts = [];
303
- const filterArgs = [];
304
- let argIndex = 0;
305
- argIndex = this.addFilterCondition(
306
- filterParts,
307
- filterArgs,
308
- "script",
309
- filter.script,
310
- argIndex
311
- );
312
- argIndex = this.addFilterCondition(
313
- filterParts,
314
- filterArgs,
315
- "state",
316
- filter.state,
317
- argIndex
318
- );
319
- argIndex = this.addFilterCondition(
320
- filterParts,
321
- filterArgs,
322
- "type",
323
- filter.type,
324
- argIndex
325
- );
326
- argIndex = this.addWatchCondition(filterParts, filterArgs, filter.watch, argIndex);
327
- if (filterParts.length > 0) {
328
- const query = filterParts.join(" AND ");
329
- results = results.filtered(query, ...filterArgs);
330
- }
373
+ argIndex = this.addFilterCondition(parts, args, "script", filter.script, argIndex);
374
+ argIndex = this.addFilterCondition(parts, args, "state", filter.state, argIndex);
375
+ argIndex = this.addFilterCondition(parts, args, "type", filter.type, argIndex);
376
+ argIndex = this.addWatchCondition(parts, args, filter.watch, argIndex);
377
+ }
378
+ if (page.after !== void 0) {
379
+ parts.push(`script > $${argIndex}`);
380
+ args.push(page.after);
331
381
  }
332
- return [...results].map(contractObjectToDomain);
382
+ let query = parts.join(" AND ");
383
+ if (leadingWatch !== void 0) {
384
+ const lead = leadingWatch === null ? "watch == null" : `watch == $${args.length}`;
385
+ if (leadingWatch !== null) args.push(leadingWatch);
386
+ query = query ? `${lead} AND (${query})` : lead;
387
+ }
388
+ if (query) results = results.filtered(query, ...args);
389
+ const rows = [];
390
+ for (const row of results.sorted("script")) {
391
+ rows.push(row);
392
+ if (rows.length > page.limit) break;
393
+ }
394
+ return rows;
333
395
  }
334
396
  async saveContract(contract) {
335
397
  await this.ensureInit();
@@ -450,7 +512,7 @@ var RealmIntentRepository = class {
450
512
  const clashes = [
451
513
  ...this.realm.objects("ArkIntent").filtered("intentId == $0", intent.intentId)
452
514
  ].map(toIntent);
453
- chunkGMZZQXV5_cjs.assertIntentIdUnique(intent, clashes);
515
+ chunkQARA4IYT_cjs.assertIntentIdUnique(intent, clashes);
454
516
  }
455
517
  this.realm.create(
456
518
  "ArkIntent",
@@ -477,16 +539,23 @@ var RealmIntentRepository = class {
477
539
  );
478
540
  });
479
541
  }
480
- async getIntents(filter) {
481
- const all = [...this.realm.objects("ArkIntent")].map(toIntent).sort((a, b) => a.createdAt - b.createdAt || a.intentTxId.localeCompare(b.intentTxId));
482
- const out = filter ? all.filter((i) => chunkGMZZQXV5_cjs.intentMatchesFilter(i, filter)) : all;
483
- const { skip, end } = chunkGMZZQXV5_cjs.intentPageBounds(filter, out.length);
484
- return out.slice(skip, end);
542
+ async getIntentsPage(filter, page) {
543
+ chunkQARA4IYT_cjs.assertPageRequest(page);
544
+ let results = this.realm.objects("ArkIntent");
545
+ if (page.after !== void 0) results = results.filtered("intentTxId > $0", page.after);
546
+ const rows = [];
547
+ for (const row of results.sorted("intentTxId")) {
548
+ const intent = toIntent(row);
549
+ if (filter && !chunkQARA4IYT_cjs.intentMatchesFilter(intent, filter)) continue;
550
+ rows.push(intent);
551
+ if (rows.length > page.limit) break;
552
+ }
553
+ return chunkQARA4IYT_cjs.pageResult(rows, page.limit, (intent) => intent.intentTxId);
485
554
  }
486
555
  async getLockedVtxoOutpoints() {
487
556
  const out = [];
488
557
  for (const o of [...this.realm.objects("ArkIntent")].map(toIntent))
489
- if (!chunkGMZZQXV5_cjs.isTerminalIntentState(o.state)) out.push(...o.intentVtxos);
558
+ if (!chunkQARA4IYT_cjs.isTerminalIntentState(o.state)) out.push(...o.intentVtxos);
490
559
  return out;
491
560
  }
492
561
  async [Symbol.asyncDispose]() {
@@ -528,7 +597,7 @@ var RealmVirtualTxRepository = class {
528
597
  txid: t.txid,
529
598
  psbt: t.psbt ?? prev?.psbt ?? null,
530
599
  expiresAt: t.expiresAt ?? prev?.expiresAt ?? null,
531
- type: chunkGMZZQXV5_cjs.mergeChainedTxType(t.type, prev?.type)
600
+ type: chunkQARA4IYT_cjs.mergeChainedTxType(t.type, prev?.type)
532
601
  },
533
602
  "modified"
534
603
  );
@@ -619,7 +688,6 @@ var ArkVtxoSchema = {
619
688
  intentS: "string",
620
689
  extraWitnessJson: "string?",
621
690
  statusJson: "string",
622
- virtualStatusJson: "string",
623
691
  spentBy: "string?",
624
692
  settledBy: "string?",
625
693
  arkTxId: "string?",
@@ -627,6 +695,12 @@ var ArkVtxoSchema = {
627
695
  // ISO 8601
628
696
  isUnrolled: "bool",
629
697
  isSpent: "bool?",
698
+ isSwept: "bool?",
699
+ isPreconfirmed: "bool?",
700
+ commitmentTxIdsJson: "string?",
701
+ expiresAt: "string?",
702
+ // ISO 8601
703
+ expiresAtHeight: "int?",
630
704
  assetsJson: "string?",
631
705
  // scriptPubKey (hex) locking this VTXO, indexed so contract-scoped
632
706
  // queries can resolve ownership without touching address mapping.
@@ -756,13 +830,34 @@ var ArkExperimentalRealmSchemas = [
756
830
  ArkVirtualTxSchema,
757
831
  ArkVtxoBranchSchema
758
832
  ];
759
- var ARK_REALM_SCHEMA_VERSION = 3;
833
+ var ARK_REALM_SCHEMA_VERSION = 5;
760
834
  function runArkRealmMigrations(oldRealm, newRealm) {
835
+ const legacyByPk = /* @__PURE__ */ new Map();
836
+ const oldVtxos = oldRealm?.objects?.("ArkVtxo") ?? [];
837
+ for (let i = 0; i < oldVtxos.length; i++) {
838
+ const raw = oldVtxos[i].virtualStatusJson;
839
+ if (raw) legacyByPk.set(oldVtxos[i].pk, raw);
840
+ }
761
841
  const newVtxos = newRealm.objects("ArkVtxo");
762
842
  for (let i = 0; i < newVtxos.length; i++) {
763
843
  const newVtxo = newVtxos[i];
764
844
  if (!newVtxo.script) {
765
- newVtxo.script = chunkGMZZQXV5_cjs.scriptFromArkAddress(newVtxo.address);
845
+ newVtxo.script = chunkQARA4IYT_cjs.scriptFromArkAddress(newVtxo.address);
846
+ }
847
+ const facts = chunkQARA4IYT_cjs.legacyVtxoFacts(legacyByPk.get(newVtxo.pk));
848
+ if (facts) {
849
+ if (newVtxo.isSpent == null) newVtxo.isSpent = facts.isSpent;
850
+ if (newVtxo.isSwept == null) newVtxo.isSwept = facts.isSwept;
851
+ if (newVtxo.isPreconfirmed == null) newVtxo.isPreconfirmed = facts.isPreconfirmed;
852
+ if (newVtxo.commitmentTxIdsJson == null && facts.commitmentTxIds) {
853
+ newVtxo.commitmentTxIdsJson = JSON.stringify(facts.commitmentTxIds);
854
+ }
855
+ if (newVtxo.expiresAt == null && facts.expiresAt) {
856
+ newVtxo.expiresAt = facts.expiresAt.toISOString();
857
+ }
858
+ if (newVtxo.expiresAtHeight == null && facts.expiresAtHeight !== void 0) {
859
+ newVtxo.expiresAtHeight = facts.expiresAtHeight;
860
+ }
766
861
  }
767
862
  }
768
863
  const oldHasVirtualTx = Array.isArray(oldRealm?.schema) && oldRealm.schema.some((s) => s.name === "ArkVirtualTx");
@@ -779,7 +874,7 @@ function runArkRealmMigrations(oldRealm, newRealm) {
779
874
 
780
875
  Object.defineProperty(exports, "ChainedTxType", {
781
876
  enumerable: true,
782
- get: function () { return chunkGMZZQXV5_cjs.ChainedTxType; }
877
+ get: function () { return chunkQARA4IYT_cjs.ChainedTxType; }
783
878
  });
784
879
  exports.ARK_REALM_SCHEMA_VERSION = ARK_REALM_SCHEMA_VERSION;
785
880
  exports.ArkExperimentalRealmSchemas = ArkExperimentalRealmSchemas;