@arkade-os/sdk 0.5.0-rc.3 → 0.5.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +12 -67
  2. package/dist/adapters/expo.cjs +5 -6
  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 -4
  6. package/dist/{asyncStorageTaskQueue-DAs_n1xr.d.ts → asyncStorageTaskQueue-BCiOgs5x.d.ts} +1 -1
  7. package/dist/{asyncStorageTaskQueue-DqGRG66E.d.cts → asyncStorageTaskQueue-CTIwKrt5.d.cts} +1 -1
  8. package/dist/{chunk-7W6FHWYN.js → chunk-4EZOMPAO.js} +14 -38
  9. package/dist/chunk-4EZOMPAO.js.map +1 -0
  10. package/dist/{chunk-BCT7DT2J.cjs → chunk-5NLJUXXQ.cjs} +10 -10
  11. package/dist/{chunk-BCT7DT2J.cjs.map → chunk-5NLJUXXQ.cjs.map} +1 -1
  12. package/dist/{chunk-UJTYUYY4.cjs → chunk-C5Y2R63Z.cjs} +25 -71
  13. package/dist/chunk-C5Y2R63Z.cjs.map +1 -0
  14. package/dist/{chunk-ROD5H7RX.js → chunk-CIBGIZUW.js} +4 -4
  15. package/dist/{chunk-ROD5H7RX.js.map → chunk-CIBGIZUW.js.map} +1 -1
  16. package/dist/{chunk-UCSTNXB4.cjs → chunk-F7HJO5GT.cjs} +61 -85
  17. package/dist/chunk-F7HJO5GT.cjs.map +1 -0
  18. package/dist/{chunk-HSG2GQTM.js → chunk-GLZNJFAT.js} +24 -66
  19. package/dist/chunk-GLZNJFAT.js.map +1 -0
  20. package/dist/{chunk-43XGA362.cjs → chunk-GPJSGLWM.cjs} +17 -17
  21. package/dist/{chunk-43XGA362.cjs.map → chunk-GPJSGLWM.cjs.map} +1 -1
  22. package/dist/{chunk-G4UPMCKW.js → chunk-MOWSLXGO.js} +4 -4
  23. package/dist/{chunk-G4UPMCKW.js.map → chunk-MOWSLXGO.js.map} +1 -1
  24. package/dist/{chunk-VQCDDGRW.js → chunk-PYTAH2NY.js} +167 -703
  25. package/dist/chunk-PYTAH2NY.js.map +1 -0
  26. package/dist/{chunk-L4HZK4KK.cjs → chunk-SYRQJS5N.cjs} +18 -19
  27. package/dist/chunk-SYRQJS5N.cjs.map +1 -0
  28. package/dist/{chunk-ERUAQGYF.js → chunk-XHASFSDU.js} +3 -4
  29. package/dist/chunk-XHASFSDU.js.map +1 -0
  30. package/dist/{chunk-FSF2PGTR.cjs → chunk-ZHLYFRYY.cjs} +583 -1128
  31. package/dist/chunk-ZHLYFRYY.cjs.map +1 -0
  32. package/dist/contracts/handlers/index.cjs +9 -10
  33. package/dist/contracts/handlers/index.d.cts +3 -3
  34. package/dist/contracts/handlers/index.d.ts +3 -3
  35. package/dist/contracts/handlers/index.js +2 -3
  36. package/dist/{delegate-CZzIduW4.d.cts → delegate-CpQIgTs7.d.cts} +1 -1
  37. package/dist/{delegate-B9Bmrns7.d.ts → delegate-Dv-us16c.d.ts} +1 -1
  38. package/dist/{hdWalletCapable-Cr5nGpK5.d.ts → hdWalletCapable-BC4Fmmht.d.ts} +6 -24
  39. package/dist/{hdWalletCapable-BIl3yLVM.d.cts → hdWalletCapable-DotEa5rZ.d.cts} +6 -24
  40. package/dist/{index-DnNIOqHS.d.cts → index-Czz9HSqE.d.cts} +21 -220
  41. package/dist/{index-DnNIOqHS.d.ts → index-Czz9HSqE.d.ts} +21 -220
  42. package/dist/{index-DQ1Hb2w_.d.ts → index-DUkvXxpt.d.ts} +2 -2
  43. package/dist/{index-Ci5MmNnK.d.cts → index-DdJt5fRc.d.cts} +2 -2
  44. package/dist/index.cjs +291 -340
  45. package/dist/index.d.cts +58 -223
  46. package/dist/index.d.ts +58 -223
  47. package/dist/index.js +4 -5
  48. package/dist/repositories/realm/index.cjs +57 -24
  49. package/dist/repositories/realm/index.cjs.map +1 -1
  50. package/dist/repositories/realm/index.d.cts +12 -4
  51. package/dist/repositories/realm/index.d.ts +12 -4
  52. package/dist/repositories/realm/index.js +43 -10
  53. package/dist/repositories/realm/index.js.map +1 -1
  54. package/dist/repositories/sqlite/index.cjs +103 -33
  55. package/dist/repositories/sqlite/index.cjs.map +1 -1
  56. package/dist/repositories/sqlite/index.d.cts +12 -2
  57. package/dist/repositories/sqlite/index.d.ts +12 -2
  58. package/dist/repositories/sqlite/index.js +90 -20
  59. package/dist/repositories/sqlite/index.js.map +1 -1
  60. package/dist/{taskRunner-BDb5Ee2J.d.cts → taskRunner-7E_Rx8bD.d.cts} +1 -1
  61. package/dist/{taskRunner-F7wNJcF3.d.ts → taskRunner-DUId1UJ8.d.ts} +1 -1
  62. package/dist/wallet/expo/background.cjs +14 -15
  63. package/dist/wallet/expo/background.cjs.map +1 -1
  64. package/dist/wallet/expo/background.d.cts +3 -3
  65. package/dist/wallet/expo/background.d.ts +3 -3
  66. package/dist/wallet/expo/background.js +6 -7
  67. package/dist/wallet/expo/background.js.map +1 -1
  68. package/dist/wallet/expo/index.cjs +15 -23
  69. package/dist/wallet/expo/index.cjs.map +1 -1
  70. package/dist/wallet/expo/index.d.cts +4 -7
  71. package/dist/wallet/expo/index.d.ts +4 -7
  72. package/dist/wallet/expo/index.js +7 -15
  73. package/dist/wallet/expo/index.js.map +1 -1
  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 +4 -4
  77. package/dist/worker/expo/index.d.ts +4 -4
  78. package/dist/worker/expo/index.js +5 -6
  79. package/dist/worker/expo/index.js.map +1 -1
  80. package/package.json +4 -42
  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-5BLDMQED.cjs +0 -18
  106. package/dist/chunk-5BLDMQED.cjs.map +0 -1
  107. package/dist/chunk-7W6FHWYN.js.map +0 -1
  108. package/dist/chunk-ERUAQGYF.js.map +0 -1
  109. package/dist/chunk-FSF2PGTR.cjs.map +0 -1
  110. package/dist/chunk-HSG2GQTM.js.map +0 -1
  111. package/dist/chunk-L4HZK4KK.cjs.map +0 -1
  112. package/dist/chunk-NSBPE2FW.js +0 -15
  113. package/dist/chunk-NSBPE2FW.js.map +0 -1
  114. package/dist/chunk-UCSTNXB4.cjs.map +0 -1
  115. package/dist/chunk-UJTYUYY4.cjs.map +0 -1
  116. package/dist/chunk-VQCDDGRW.js.map +0 -1
  117. package/dist/index-C0IanN1m.d.cts +0 -11
  118. package/dist/index-C0IanN1m.d.ts +0 -11
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkFSF2PGTR_cjs = require('./chunk-FSF2PGTR.cjs');
4
- var chunkUJTYUYY4_cjs = require('./chunk-UJTYUYY4.cjs');
3
+ var chunkZHLYFRYY_cjs = require('./chunk-ZHLYFRYY.cjs');
4
+ var chunkC5Y2R63Z_cjs = require('./chunk-C5Y2R63Z.cjs');
5
5
 
6
6
  // src/worker/expo/taskRunner.ts
7
7
  async function runTasks(queue, processors, deps) {
@@ -33,7 +33,7 @@ async function runTasks(queue, processors, deps) {
33
33
  }
34
34
  const result = {
35
35
  ...partial,
36
- id: chunkFSF2PGTR_cjs.getRandomId(),
36
+ id: chunkZHLYFRYY_cjs.getRandomId(),
37
37
  executedAt: Date.now()
38
38
  };
39
39
  await queue.pushResult(result);
@@ -45,7 +45,7 @@ async function runTasks(queue, processors, deps) {
45
45
  function createTaskDependencies(options) {
46
46
  return {
47
47
  ...options,
48
- extendVtxo: (vtxo, contract) => chunkFSF2PGTR_cjs.extendVirtualCoinForContract(vtxo, contract)
48
+ extendVtxo: (vtxo, contract) => chunkZHLYFRYY_cjs.extendVirtualCoinForContract(vtxo, contract)
49
49
  };
50
50
  }
51
51
 
@@ -55,7 +55,7 @@ var contractPollProcessor = {
55
55
  taskType: CONTRACT_POLL_TASK_TYPE,
56
56
  async execute(item, deps) {
57
57
  const { contractRepository, walletRepository, indexerProvider, extendVtxo } = deps;
58
- const contracts = (await contractRepository.getContracts()).filter(chunkFSF2PGTR_cjs.isWatchedContract);
58
+ const contracts = (await contractRepository.getContracts()).filter(chunkZHLYFRYY_cjs.isWatchedContract);
59
59
  let contractsProcessed = 0;
60
60
  let vtxosSaved = 0;
61
61
  for (const contract of contracts) {
@@ -64,7 +64,7 @@ var contractPollProcessor = {
64
64
  let hasMore = true;
65
65
  const allVtxos = [];
66
66
  while (hasMore) {
67
- const { vtxos, page } = await chunkUJTYUYY4_cjs.getNormalizedVtxos(indexerProvider, {
67
+ const { vtxos, page } = await chunkC5Y2R63Z_cjs.getNormalizedVtxos(indexerProvider, {
68
68
  scripts: [contract.script],
69
69
  pageIndex,
70
70
  pageSize
@@ -75,12 +75,12 @@ var contractPollProcessor = {
75
75
  hasMore = page ? vtxos.length === pageSize : false;
76
76
  pageIndex++;
77
77
  }
78
- const filtered = chunkFSF2PGTR_cjs.warnAndFilterVtxosForScript(
78
+ const filtered = chunkZHLYFRYY_cjs.warnAndFilterVtxosForScript(
79
79
  allVtxos,
80
80
  contract.script,
81
81
  "contractPollProcessor"
82
82
  );
83
- await chunkFSF2PGTR_cjs.saveVtxosForContract(walletRepository, contract, filtered);
83
+ await chunkZHLYFRYY_cjs.saveVtxosForContract(walletRepository, contract, filtered);
84
84
  vtxosSaved += filtered.length;
85
85
  contractsProcessed++;
86
86
  }
@@ -97,5 +97,5 @@ exports.CONTRACT_POLL_TASK_TYPE = CONTRACT_POLL_TASK_TYPE;
97
97
  exports.contractPollProcessor = contractPollProcessor;
98
98
  exports.createTaskDependencies = createTaskDependencies;
99
99
  exports.runTasks = runTasks;
100
- //# sourceMappingURL=chunk-BCT7DT2J.cjs.map
101
- //# sourceMappingURL=chunk-BCT7DT2J.cjs.map
100
+ //# sourceMappingURL=chunk-5NLJUXXQ.cjs.map
101
+ //# sourceMappingURL=chunk-5NLJUXXQ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/worker/expo/taskRunner.ts","../src/worker/expo/processors/contractPollProcessor.ts"],"names":["getRandomId","extendVirtualCoinForContract","isWatchedContract","getNormalizedVtxos","warnAndFilterVtxosForScript","saveVtxosForContract"],"mappings":"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","file":"chunk-BCT7DT2J.cjs","sourcesContent":["import type { TaskItem, TaskResult, TaskQueue } from \"./taskQueue\";\nimport type { WalletRepository } from \"../../repositories/walletRepository\";\nimport type { ContractRepository } from \"../../repositories/contractRepository\";\nimport type { IndexerProvider } from \"../../providers/indexer\";\nimport type { ArkProvider } from \"../../providers/ark\";\nimport type { ExtendedVirtualCoin, VirtualCoin } from \"../../wallet\";\nimport type { Contract } from \"../../contracts/types\";\nimport { getRandomId, extendVirtualCoinForContract } from \"../../wallet/utils\";\n\n/**\n * Shared dependencies injected into every processor at runtime.\n *\n * `extendVtxo` requires the owning contract — processors must resolve each\n * vtxo's `script` to a known contract (via the contract repository) before\n * calling this. The strict signature prevents the footgun where a missing\n * contract silently falls back to the wallet's default tapscript.\n */\nexport interface TaskDependencies {\n walletRepository: WalletRepository;\n contractRepository: ContractRepository;\n indexerProvider: IndexerProvider;\n arkProvider: ArkProvider;\n extendVtxo: (vtxo: VirtualCoin, contract: Contract) => ExtendedVirtualCoin;\n}\n\n/**\n * A stateless unit that handles one type of task item.\n *\n * Processors must not keep in-memory state across invocations —\n * all coordination lives in the @see TaskQueue and repositories.\n *\n * The `TDeps` parameter defaults to @see TaskDependencies but\n * can be overridden for domain-specific processors (e.g. swap processing).\n */\nexport interface TaskProcessor<TDeps = TaskDependencies> {\n readonly taskType: string;\n execute(item: TaskItem, deps: TDeps): Promise<Omit<TaskResult, \"id\" | \"executedAt\">>;\n}\n\n/**\n * Run all pending tasks from the queue through matching processors.\n *\n * For each task in the inbox:\n * 1. Find the processor whose `taskType` matches `task.type`.\n * 2. Execute it, producing a @see TaskResult.\n * 3. Push the result to the outbox and remove the task from the inbox.\n *\n * Tasks with no matching processor produce a `\"noop\"` result.\n * Processor errors produce a `\"failed\"` result with the error message.\n */\nexport async function runTasks<TDeps = TaskDependencies>(\n queue: TaskQueue,\n processors: TaskProcessor<TDeps>[],\n deps: TDeps,\n): Promise<TaskResult[]> {\n const tasks = await queue.getTasks();\n const processorMap = new Map(processors.map((p) => [p.taskType, p]));\n const results: TaskResult[] = [];\n\n for (const task of tasks) {\n const processor = processorMap.get(task.type);\n\n let partial: Omit<TaskResult, \"id\" | \"executedAt\">;\n\n if (!processor) {\n partial = {\n taskItemId: task.id,\n type: task.type,\n status: \"noop\",\n };\n } else {\n try {\n partial = await processor.execute(task, deps);\n } catch (error) {\n partial = {\n taskItemId: task.id,\n type: task.type,\n status: \"failed\",\n data: {\n error: error instanceof Error ? error.message : String(error),\n },\n };\n }\n }\n\n const result: TaskResult = {\n ...partial,\n id: getRandomId(),\n executedAt: Date.now(),\n };\n\n await queue.pushResult(result);\n await queue.removeTask(task.id);\n results.push(result);\n }\n\n return results;\n}\n\n/**\n * Options for @see createTaskDependencies.\n */\nexport interface CreateTaskDependenciesOptions {\n walletRepository: WalletRepository;\n contractRepository: ContractRepository;\n indexerProvider: IndexerProvider;\n arkProvider: ArkProvider;\n}\n\n/**\n * Build the @see TaskDependencies needed by task processors\n * (e.g. `src/worker/expo/processors/contractPollProcessor.ts`)\n *\n * This is the same construction that `defineExpoBackgroundTask` does\n * internally, extracted so that consumers with custom schedulers\n * (e.g. bare React Native with `react-native-background-fetch`)\n * can build deps without depending on Expo.\n */\nexport function createTaskDependencies(options: CreateTaskDependenciesOptions): TaskDependencies {\n return {\n ...options,\n extendVtxo: (vtxo: VirtualCoin, contract: Contract) =>\n extendVirtualCoinForContract(vtxo, contract),\n };\n}\n","import type { TaskItem, TaskResult } from \"../taskQueue\";\nimport type { TaskProcessor, TaskDependencies } from \"../taskRunner\";\nimport type { ExtendedVirtualCoin } from \"../../../wallet\";\nimport { getNormalizedVtxos } from \"../../../wallet/vtxo\";\nimport {\n warnAndFilterVtxosForScript,\n saveVtxosForContract,\n} from \"../../../contracts/vtxoOwnership\";\nimport { isWatchedContract } from \"../../../contracts/types\";\n\nexport const CONTRACT_POLL_TASK_TYPE = \"contract-poll\";\n\n/**\n * Polls the indexer for the latest VTXO state of every contract and\n * persists the results to the wallet repository.\n *\n * Replicates the polling subset of @see ContractManager.initialize:\n * 1. Load every watched contract from the contract repository.\n * 2. Paginated fetch of every VTXO (including spent) from the indexer.\n * 3. Extend each VTXO with tapscript data.\n * 4. Save to the wallet repository.\n *\n * NOTE: the indexer query deliberately omits `spendableOnly`. Every\n * repository implements `saveVtxos` as an upsert with no batch delete,\n * so filtering to spendable-only would leave VTXOs that became spent\n * between polls marked as spendable forever. Fetching the full set lets\n * the upsert overwrite stale records with their latest state.\n */\nexport const contractPollProcessor: TaskProcessor = {\n taskType: CONTRACT_POLL_TASK_TYPE,\n\n async execute(\n item: TaskItem,\n deps: TaskDependencies,\n ): Promise<Omit<TaskResult, \"id\" | \"executedAt\">> {\n const { contractRepository, walletRepository, indexerProvider, extendVtxo } = deps;\n\n // Background channel, so it covers exactly what the watcher's\n // subscription covers: `retained` rows are kept for reads only.\n const contracts = (await contractRepository.getContracts()).filter(isWatchedContract);\n let contractsProcessed = 0;\n let vtxosSaved = 0;\n\n for (const contract of contracts) {\n // Paginated fetch of spendable virtual outputs\n const pageSize = 100;\n let pageIndex = 0;\n let hasMore = true;\n const allVtxos: ExtendedVirtualCoin[] = [];\n\n while (hasMore) {\n const { vtxos, page } = await getNormalizedVtxos(indexerProvider, {\n scripts: [contract.script],\n pageIndex,\n pageSize,\n });\n\n for (const vtxo of vtxos) {\n allVtxos.push(extendVtxo(vtxo, contract));\n }\n\n hasMore = page ? vtxos.length === pageSize : false;\n pageIndex++;\n }\n\n // Skip wrong-script rows (legacy duplicates or indexer drift)\n // before persisting; the loop must keep going for the remaining\n // contracts even when one row is rejected.\n const filtered = warnAndFilterVtxosForScript(\n allVtxos,\n contract.script,\n \"contractPollProcessor\",\n );\n await saveVtxosForContract(walletRepository, contract, filtered);\n vtxosSaved += filtered.length;\n contractsProcessed++;\n }\n\n return {\n taskItemId: item.id,\n type: CONTRACT_POLL_TASK_TYPE,\n status: \"success\",\n data: { contractsProcessed, vtxosSaved },\n };\n },\n};\n"]}
1
+ {"version":3,"sources":["../src/worker/expo/taskRunner.ts","../src/worker/expo/processors/contractPollProcessor.ts"],"names":["getRandomId","extendVirtualCoinForContract","isWatchedContract","getNormalizedVtxos","warnAndFilterVtxosForScript","saveVtxosForContract"],"mappings":"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","file":"chunk-5NLJUXXQ.cjs","sourcesContent":["import type { TaskItem, TaskResult, TaskQueue } from \"./taskQueue\";\nimport type { WalletRepository } from \"../../repositories/walletRepository\";\nimport type { ContractRepository } from \"../../repositories/contractRepository\";\nimport type { IndexerProvider } from \"../../providers/indexer\";\nimport type { ArkProvider } from \"../../providers/ark\";\nimport type { ExtendedVirtualCoin, VirtualCoin } from \"../../wallet\";\nimport type { Contract } from \"../../contracts/types\";\nimport { getRandomId, extendVirtualCoinForContract } from \"../../wallet/utils\";\n\n/**\n * Shared dependencies injected into every processor at runtime.\n *\n * `extendVtxo` requires the owning contract — processors must resolve each\n * vtxo's `script` to a known contract (via the contract repository) before\n * calling this. The strict signature prevents the footgun where a missing\n * contract silently falls back to the wallet's default tapscript.\n */\nexport interface TaskDependencies {\n walletRepository: WalletRepository;\n contractRepository: ContractRepository;\n indexerProvider: IndexerProvider;\n arkProvider: ArkProvider;\n extendVtxo: (vtxo: VirtualCoin, contract: Contract) => ExtendedVirtualCoin;\n}\n\n/**\n * A stateless unit that handles one type of task item.\n *\n * Processors must not keep in-memory state across invocations —\n * all coordination lives in the @see TaskQueue and repositories.\n *\n * The `TDeps` parameter defaults to @see TaskDependencies but\n * can be overridden for domain-specific processors (e.g. swap processing).\n */\nexport interface TaskProcessor<TDeps = TaskDependencies> {\n readonly taskType: string;\n execute(item: TaskItem, deps: TDeps): Promise<Omit<TaskResult, \"id\" | \"executedAt\">>;\n}\n\n/**\n * Run all pending tasks from the queue through matching processors.\n *\n * For each task in the inbox:\n * 1. Find the processor whose `taskType` matches `task.type`.\n * 2. Execute it, producing a @see TaskResult.\n * 3. Push the result to the outbox and remove the task from the inbox.\n *\n * Tasks with no matching processor produce a `\"noop\"` result.\n * Processor errors produce a `\"failed\"` result with the error message.\n */\nexport async function runTasks<TDeps = TaskDependencies>(\n queue: TaskQueue,\n processors: TaskProcessor<TDeps>[],\n deps: TDeps,\n): Promise<TaskResult[]> {\n const tasks = await queue.getTasks();\n const processorMap = new Map(processors.map((p) => [p.taskType, p]));\n const results: TaskResult[] = [];\n\n for (const task of tasks) {\n const processor = processorMap.get(task.type);\n\n let partial: Omit<TaskResult, \"id\" | \"executedAt\">;\n\n if (!processor) {\n partial = {\n taskItemId: task.id,\n type: task.type,\n status: \"noop\",\n };\n } else {\n try {\n partial = await processor.execute(task, deps);\n } catch (error) {\n partial = {\n taskItemId: task.id,\n type: task.type,\n status: \"failed\",\n data: {\n error: error instanceof Error ? error.message : String(error),\n },\n };\n }\n }\n\n const result: TaskResult = {\n ...partial,\n id: getRandomId(),\n executedAt: Date.now(),\n };\n\n await queue.pushResult(result);\n await queue.removeTask(task.id);\n results.push(result);\n }\n\n return results;\n}\n\n/**\n * Options for @see createTaskDependencies.\n */\nexport interface CreateTaskDependenciesOptions {\n walletRepository: WalletRepository;\n contractRepository: ContractRepository;\n indexerProvider: IndexerProvider;\n arkProvider: ArkProvider;\n}\n\n/**\n * Build the @see TaskDependencies needed by task processors\n * (e.g. `src/worker/expo/processors/contractPollProcessor.ts`)\n *\n * This is the same construction that `defineExpoBackgroundTask` does\n * internally, extracted so that consumers with custom schedulers\n * (e.g. bare React Native with `react-native-background-fetch`)\n * can build deps without depending on Expo.\n */\nexport function createTaskDependencies(options: CreateTaskDependenciesOptions): TaskDependencies {\n return {\n ...options,\n extendVtxo: (vtxo: VirtualCoin, contract: Contract) =>\n extendVirtualCoinForContract(vtxo, contract),\n };\n}\n","import type { TaskItem, TaskResult } from \"../taskQueue\";\nimport type { TaskProcessor, TaskDependencies } from \"../taskRunner\";\nimport type { ExtendedVirtualCoin } from \"../../../wallet\";\nimport { getNormalizedVtxos } from \"../../../wallet/vtxo\";\nimport {\n warnAndFilterVtxosForScript,\n saveVtxosForContract,\n} from \"../../../contracts/vtxoOwnership\";\nimport { isWatchedContract } from \"../../../contracts/types\";\n\nexport const CONTRACT_POLL_TASK_TYPE = \"contract-poll\";\n\n/**\n * Polls the indexer for the latest VTXO state of every contract and\n * persists the results to the wallet repository.\n *\n * Replicates the polling subset of @see ContractManager.initialize:\n * 1. Load every watched contract from the contract repository.\n * 2. Paginated fetch of every VTXO (including spent) from the indexer.\n * 3. Extend each VTXO with tapscript data.\n * 4. Save to the wallet repository.\n *\n * NOTE: the indexer query deliberately omits `spendableOnly`. Every\n * repository implements `saveVtxos` as an upsert with no batch delete,\n * so filtering to spendable-only would leave VTXOs that became spent\n * between polls marked as spendable forever. Fetching the full set lets\n * the upsert overwrite stale records with their latest state.\n */\nexport const contractPollProcessor: TaskProcessor = {\n taskType: CONTRACT_POLL_TASK_TYPE,\n\n async execute(\n item: TaskItem,\n deps: TaskDependencies,\n ): Promise<Omit<TaskResult, \"id\" | \"executedAt\">> {\n const { contractRepository, walletRepository, indexerProvider, extendVtxo } = deps;\n\n // Background channel, so it covers exactly what the watcher's\n // subscription covers: `retained` rows are kept for reads only.\n const contracts = (await contractRepository.getContracts()).filter(isWatchedContract);\n let contractsProcessed = 0;\n let vtxosSaved = 0;\n\n for (const contract of contracts) {\n // Paginated fetch of spendable virtual outputs\n const pageSize = 100;\n let pageIndex = 0;\n let hasMore = true;\n const allVtxos: ExtendedVirtualCoin[] = [];\n\n while (hasMore) {\n const { vtxos, page } = await getNormalizedVtxos(indexerProvider, {\n scripts: [contract.script],\n pageIndex,\n pageSize,\n });\n\n for (const vtxo of vtxos) {\n allVtxos.push(extendVtxo(vtxo, contract));\n }\n\n hasMore = page ? vtxos.length === pageSize : false;\n pageIndex++;\n }\n\n // Skip wrong-script rows (legacy duplicates or indexer drift)\n // before persisting; the loop must keep going for the remaining\n // contracts even when one row is rejected.\n const filtered = warnAndFilterVtxosForScript(\n allVtxos,\n contract.script,\n \"contractPollProcessor\",\n );\n await saveVtxosForContract(walletRepository, contract, filtered);\n vtxosSaved += filtered.length;\n contractsProcessed++;\n }\n\n return {\n taskItemId: item.id,\n type: CONTRACT_POLL_TASK_TYPE,\n status: \"success\",\n data: { contractsProcessed, vtxosSaved },\n };\n },\n};\n"]}
@@ -29,7 +29,11 @@ function _interopNamespace(e) {
29
29
 
30
30
  var bip68__namespace = /*#__PURE__*/_interopNamespace(bip68);
31
31
 
32
- // src/utils/transaction.ts
32
+ var __defProp = Object.defineProperty;
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, { get: all[name], enumerable: true });
36
+ };
33
37
  var Transaction = class extends btcSigner.Transaction {
34
38
  static ARK_TX_OPTS = {
35
39
  allowUnknown: true,
@@ -1045,7 +1049,7 @@ function resolveEventSource(override) {
1045
1049
  }
1046
1050
 
1047
1051
  // package.json
1048
- var version = "0.5.0-rc.3";
1052
+ var version = "0.5.0-rc.4";
1049
1053
 
1050
1054
  // src/utils/fetch.ts
1051
1055
  var buildVersion = "0.9.9";
@@ -2289,60 +2293,23 @@ function parseWireExpiry(raw) {
2289
2293
  if (ms >= EXPIRY_MIN_PLAUSIBLE_MS) return { expiresAt: new Date(ms) };
2290
2294
  return { expiresAtHeight: n };
2291
2295
  }
2292
- function toBatchExpiry(c) {
2293
- if (c.expiresAt !== void 0) return c.expiresAt.getTime();
2294
- if (c.expiresAtHeight !== void 0) return c.expiresAtHeight * 1e3;
2295
- return void 0;
2296
- }
2297
- function parseLegacyExpiry(batchExpiry) {
2298
- if (batchExpiry === void 0 || batchExpiry <= 0) return {};
2299
- if (batchExpiry >= EXPIRY_MIN_PLAUSIBLE_MS) return { expiresAt: new Date(batchExpiry) };
2300
- return { expiresAtHeight: batchExpiry / 1e3 };
2301
- }
2302
- function toVirtualStatus(c) {
2303
- return {
2304
- // Precedence is load-bearing: consumers bucket on this label, so any other order silently
2305
- // moves VTXOs between buckets.
2306
- state: c.isSpent ? "spent" : c.isSwept ? "swept" : c.isPreconfirmed ? "preconfirmed" : "settled",
2307
- commitmentTxIds: c.commitmentTxIds,
2308
- batchExpiry: toBatchExpiry(c)
2309
- };
2310
- }
2311
2296
  function normalizeVtxo(v) {
2312
- const state = v.virtualStatus?.state;
2313
- const canonicalExpiry = v.expiresAt !== void 0 || v.expiresAtHeight !== void 0;
2314
- const expiry = canonicalExpiry ? (
2315
- // Coerce: a backend that persists through JSON hands back an ISO string, which typechecks
2316
- // as `Date` but returns NaN from `.getTime()` — comparing false against everything.
2317
- {
2318
- expiresAt: v.expiresAt === void 0 ? void 0 : new Date(v.expiresAt),
2319
- expiresAtHeight: v.expiresAtHeight
2320
- }
2321
- ) : parseLegacyExpiry(v.virtualStatus?.batchExpiry);
2322
- const isSpent = v.isSpent ?? state === "spent";
2323
- const isSwept = v.isSwept ?? state === "swept";
2324
- const isPreconfirmed = v.isPreconfirmed ?? state === "preconfirmed";
2325
- const commitmentTxIds = v.commitmentTxIds ?? v.virtualStatus?.commitmentTxIds ?? [];
2297
+ const expiry = {
2298
+ expiresAt: v.expiresAt === void 0 ? void 0 : new Date(v.expiresAt),
2299
+ expiresAtHeight: v.expiresAtHeight
2300
+ };
2326
2301
  return {
2327
2302
  ...v,
2328
- isSpent,
2329
- isSwept,
2330
- isPreconfirmed,
2303
+ isSpent: v.isSpent ?? false,
2304
+ isSwept: v.isSwept ?? false,
2305
+ isPreconfirmed: v.isPreconfirmed ?? false,
2331
2306
  spentBy: v.spentBy ?? "",
2332
- commitmentTxIds,
2333
- ...expiry,
2334
- virtualStatus: v.virtualStatus ?? toVirtualStatus({ isSpent, isSwept, isPreconfirmed, commitmentTxIds, ...expiry })
2307
+ commitmentTxIds: v.commitmentTxIds ?? [],
2308
+ ...expiry
2335
2309
  };
2336
2310
  }
2337
2311
  function convertVtxo(vtxo) {
2338
2312
  const expiry = parseWireExpiry(vtxo.expiresAt);
2339
- const facts = {
2340
- isSpent: vtxo.isSpent,
2341
- isSwept: vtxo.isSwept,
2342
- isPreconfirmed: vtxo.isPreconfirmed,
2343
- commitmentTxIds: vtxo.commitmentTxids,
2344
- ...expiry
2345
- };
2346
2313
  return {
2347
2314
  txid: vtxo.outpoint.txid,
2348
2315
  vout: vtxo.outpoint.vout,
@@ -2351,8 +2318,11 @@ function convertVtxo(vtxo) {
2351
2318
  confirmed: !vtxo.isSwept && !vtxo.isPreconfirmed,
2352
2319
  isLeaf: !vtxo.isPreconfirmed
2353
2320
  },
2354
- ...facts,
2355
- virtualStatus: toVirtualStatus(facts),
2321
+ isSpent: vtxo.isSpent,
2322
+ isSwept: vtxo.isSwept,
2323
+ isPreconfirmed: vtxo.isPreconfirmed,
2324
+ commitmentTxIds: vtxo.commitmentTxids,
2325
+ ...expiry,
2356
2326
  spentBy: vtxo.spentBy ?? "",
2357
2327
  settledBy: vtxo.settledBy,
2358
2328
  arkTxId: vtxo.arkTxid,
@@ -2432,29 +2402,17 @@ function canSweepOnchain(vtxo) {
2432
2402
  return !hasTerminalSpend(n) && !!n.isUnrolled;
2433
2403
  }
2434
2404
  function toOffchainInputFeeParams(vtxo) {
2435
- const batchExpiry = toBatchExpiry(vtxo);
2436
2405
  return {
2437
2406
  amount: BigInt(vtxo.value),
2438
2407
  type: vtxo.isSwept ? "recoverable" : "vtxo",
2439
2408
  weight: 0,
2440
2409
  birth: vtxo.createdAt,
2441
- expiry: batchExpiry ? new Date(batchExpiry) : void 0
2410
+ expiry: vtxo.expiresAt
2442
2411
  };
2443
2412
  }
2444
2413
  function isVirtualCoin(input) {
2445
2414
  return typeof input === "object" && input !== null && typeof input.script === "string";
2446
2415
  }
2447
- function isSpendable(vtxo) {
2448
- return !hasTerminalSpend(vtxo);
2449
- }
2450
- function isRecoverable(vtxo) {
2451
- const n = normalizeVtxo(vtxo);
2452
- return n.isSwept && !hasTerminalSpend(n);
2453
- }
2454
- function isExpired(vtxo) {
2455
- const n = normalizeVtxo(vtxo);
2456
- return n.isSwept || n.expiresAt !== void 0 && n.expiresAt.getTime() <= Date.now();
2457
- }
2458
2416
 
2459
2417
  exports.ArkAddress = ArkAddress;
2460
2418
  exports.ArkError = ArkError;
@@ -2469,6 +2427,7 @@ exports.DEFAULT_NETWORK = DEFAULT_NETWORK;
2469
2427
  exports.DEFAULT_NETWORK_NAME = DEFAULT_NETWORK_NAME;
2470
2428
  exports.DEFAULT_PAGE_SIZE = DEFAULT_PAGE_SIZE;
2471
2429
  exports.DigestMismatchError = DigestMismatchError;
2430
+ exports.EXPIRY_MIN_PLAUSIBLE_MS = EXPIRY_MIN_PLAUSIBLE_MS;
2472
2431
  exports.EventSourceUnavailableError = EventSourceUnavailableError;
2473
2432
  exports.FetchError = FetchError;
2474
2433
  exports.INFO_FETCH_TIMEOUT_MS = INFO_FETCH_TIMEOUT_MS;
@@ -2487,6 +2446,7 @@ exports.Transaction = Transaction;
2487
2446
  exports.VtxoScript = VtxoScript;
2488
2447
  exports.VtxoTaprootTree = VtxoTaprootTree;
2489
2448
  exports.VtxoTreeExpiry = VtxoTreeExpiry;
2449
+ exports.__export = __export;
2490
2450
  exports.assembleBtcdTaprootTree = assembleBtcdTaprootTree;
2491
2451
  exports.assertAllowedSighashTypes = assertAllowedSighashTypes;
2492
2452
  exports.baseFetch = baseFetch;
@@ -2513,18 +2473,14 @@ exports.hasTerminalSpend = hasTerminalSpend;
2513
2473
  exports.isArkError = isArkError;
2514
2474
  exports.isEventSourceError = isEventSourceError;
2515
2475
  exports.isEventSourceUnavailableError = isEventSourceUnavailableError;
2516
- exports.isExpired = isExpired;
2517
2476
  exports.isFetchTimeoutError = isFetchTimeoutError;
2518
2477
  exports.isPastExpiry = isPastExpiry;
2519
- exports.isRecoverable = isRecoverable;
2520
2478
  exports.isRetryableProviderError = isRetryableProviderError;
2521
- exports.isSpendable = isSpendable;
2522
2479
  exports.isVirtualCoin = isVirtualCoin;
2523
2480
  exports.maybeArkError = maybeArkError;
2524
2481
  exports.networkFromArkadeInfo = networkFromArkadeInfo;
2525
2482
  exports.networks = networks;
2526
2483
  exports.normalizeVtxo = normalizeVtxo;
2527
- exports.parseLegacyExpiry = parseLegacyExpiry;
2528
2484
  exports.rateGate = rateGate;
2529
2485
  exports.resolveEmulatorPubkey = resolveEmulatorPubkey;
2530
2486
  exports.resolveEventSource = resolveEventSource;
@@ -2535,9 +2491,7 @@ exports.sequenceToTimelock = sequenceToTimelock;
2535
2491
  exports.setArkPsbtField = setArkPsbtField;
2536
2492
  exports.throwIfHttpUnavailable = throwIfHttpUnavailable;
2537
2493
  exports.timelockToSequence = timelockToSequence;
2538
- exports.toBatchExpiry = toBatchExpiry;
2539
2494
  exports.toOffchainInputFeeParams = toOffchainInputFeeParams;
2540
2495
  exports.toProviderUnavailable = toProviderUnavailable;
2541
- exports.toVirtualStatus = toVirtualStatus;
2542
- //# sourceMappingURL=chunk-UJTYUYY4.cjs.map
2543
- //# sourceMappingURL=chunk-UJTYUYY4.cjs.map
2496
+ //# sourceMappingURL=chunk-C5Y2R63Z.cjs.map
2497
+ //# sourceMappingURL=chunk-C5Y2R63Z.cjs.map