@arkade-os/sdk 0.4.26 → 0.4.28

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 (522) hide show
  1. package/README.md +36 -125
  2. package/dist/adapters/asyncStorage.cjs +48 -0
  3. package/dist/adapters/asyncStorage.cjs.map +1 -0
  4. package/dist/adapters/asyncStorage.d.cts +16 -0
  5. package/dist/{types/storage → adapters}/asyncStorage.d.ts +5 -2
  6. package/dist/adapters/asyncStorage.js +46 -0
  7. package/dist/adapters/asyncStorage.js.map +1 -0
  8. package/dist/adapters/expo.cjs +19 -0
  9. package/dist/adapters/expo.cjs.map +1 -0
  10. package/dist/adapters/expo.d.cts +48 -0
  11. package/dist/adapters/expo.d.ts +48 -0
  12. package/dist/adapters/expo.js +6 -0
  13. package/dist/adapters/expo.js.map +1 -0
  14. package/dist/adapters/fileSystem.cjs +116 -0
  15. package/dist/adapters/fileSystem.cjs.map +1 -0
  16. package/dist/adapters/fileSystem.d.cts +17 -0
  17. package/dist/{types/storage → adapters}/fileSystem.d.ts +5 -2
  18. package/dist/adapters/fileSystem.js +93 -0
  19. package/dist/adapters/fileSystem.js.map +1 -0
  20. package/dist/adapters/indexedDB.cjs +103 -0
  21. package/dist/adapters/indexedDB.cjs.map +1 -0
  22. package/dist/adapters/indexedDB.d.cts +18 -0
  23. package/dist/{types/storage → adapters}/indexedDB.d.ts +5 -2
  24. package/dist/adapters/indexedDB.js +101 -0
  25. package/dist/adapters/indexedDB.js.map +1 -0
  26. package/dist/adapters/localStorage.cjs +50 -0
  27. package/dist/adapters/localStorage.cjs.map +1 -0
  28. package/dist/{types/storage/inMemory.d.ts → adapters/localStorage.d.cts} +6 -3
  29. package/dist/{types/storage → adapters}/localStorage.d.ts +5 -2
  30. package/dist/adapters/localStorage.js +48 -0
  31. package/dist/adapters/localStorage.js.map +1 -0
  32. package/dist/ark-TZ1gXAXU.d.cts +3880 -0
  33. package/dist/ark-TZ1gXAXU.d.ts +3880 -0
  34. package/dist/{types/worker/expo/asyncStorageTaskQueue.d.ts → asyncStorageTaskQueue-Cb1F_Z9s.d.ts} +6 -3
  35. package/dist/asyncStorageTaskQueue-EFqSmYTg.d.cts +49 -0
  36. package/dist/chunk-5BLDMQED.cjs +18 -0
  37. package/dist/chunk-5BLDMQED.cjs.map +1 -0
  38. package/dist/chunk-5PG7DV7A.cjs +805 -0
  39. package/dist/chunk-5PG7DV7A.cjs.map +1 -0
  40. package/dist/chunk-A3EMF7RN.js +95 -0
  41. package/dist/chunk-A3EMF7RN.js.map +1 -0
  42. package/dist/chunk-ADV27S4N.cjs +2701 -0
  43. package/dist/chunk-ADV27S4N.cjs.map +1 -0
  44. package/dist/chunk-BQLHADL7.js +13805 -0
  45. package/dist/chunk-BQLHADL7.js.map +1 -0
  46. package/dist/chunk-CFZMTDWI.js +209 -0
  47. package/dist/chunk-CFZMTDWI.js.map +1 -0
  48. package/dist/chunk-FG5ACJJW.cjs +212 -0
  49. package/dist/chunk-FG5ACJJW.cjs.map +1 -0
  50. package/dist/chunk-HW3JJ323.js +768 -0
  51. package/dist/chunk-HW3JJ323.js.map +1 -0
  52. package/dist/chunk-I3DGUUCT.cjs +838 -0
  53. package/dist/chunk-I3DGUUCT.cjs.map +1 -0
  54. package/dist/chunk-IPX2R7FR.cjs +100 -0
  55. package/dist/chunk-IPX2R7FR.cjs.map +1 -0
  56. package/dist/chunk-NSBPE2FW.js +15 -0
  57. package/dist/chunk-NSBPE2FW.js.map +1 -0
  58. package/dist/chunk-T64LAI7L.js +829 -0
  59. package/dist/chunk-T64LAI7L.js.map +1 -0
  60. package/dist/chunk-ZBUDLTBO.js +2671 -0
  61. package/dist/chunk-ZBUDLTBO.js.map +1 -0
  62. package/dist/chunk-ZLO6NETT.cjs +13910 -0
  63. package/dist/chunk-ZLO6NETT.cjs.map +1 -0
  64. package/dist/contracts/handlers/index.cjs +26 -0
  65. package/dist/contracts/handlers/index.cjs.map +1 -0
  66. package/dist/contracts/handlers/index.d.cts +7 -0
  67. package/dist/contracts/handlers/index.d.ts +7 -0
  68. package/dist/contracts/handlers/index.js +5 -0
  69. package/dist/contracts/handlers/index.js.map +1 -0
  70. package/dist/delegate-BFZs69hp.d.cts +84 -0
  71. package/dist/delegate-aaVGfWsV.d.ts +84 -0
  72. package/dist/index-B22cA64m.d.cts +199 -0
  73. package/dist/{types/storage/index.d.ts → index-C0IanN1m.d.cts} +3 -1
  74. package/dist/index-C0IanN1m.d.ts +11 -0
  75. package/dist/index-NDla_UoJ.d.ts +199 -0
  76. package/dist/index.cjs +480 -0
  77. package/dist/index.cjs.map +1 -0
  78. package/dist/index.d.cts +3343 -0
  79. package/dist/index.d.ts +3343 -0
  80. package/dist/index.js +7 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/repositories/realm/index.cjs +513 -0
  83. package/dist/repositories/realm/index.cjs.map +1 -0
  84. package/dist/repositories/realm/index.d.cts +217 -0
  85. package/dist/{types/repositories/realm/schemas.d.ts → repositories/realm/index.d.ts} +80 -112
  86. package/dist/repositories/realm/index.js +507 -0
  87. package/dist/repositories/realm/index.js.map +1 -0
  88. package/dist/repositories/sqlite/index.cjs +588 -0
  89. package/dist/repositories/sqlite/index.cjs.map +1 -0
  90. package/dist/repositories/sqlite/index.d.cts +118 -0
  91. package/dist/{types/repositories/sqlite/walletRepository.d.ts → repositories/sqlite/index.d.ts} +58 -5
  92. package/dist/repositories/sqlite/index.js +585 -0
  93. package/dist/repositories/sqlite/index.js.map +1 -0
  94. package/dist/taskRunner-C6Ff4OaU.d.cts +114 -0
  95. package/dist/taskRunner-yvPN8Z0K.d.ts +114 -0
  96. package/dist/wallet/expo/background.cjs +93 -0
  97. package/dist/wallet/expo/background.cjs.map +1 -0
  98. package/dist/wallet/expo/background.d.cts +84 -0
  99. package/dist/wallet/expo/background.d.ts +84 -0
  100. package/dist/wallet/expo/background.js +68 -0
  101. package/dist/wallet/expo/background.js.map +1 -0
  102. package/dist/wallet/expo/index.cjs +171 -0
  103. package/dist/wallet/expo/index.cjs.map +1 -0
  104. package/dist/wallet/expo/index.d.cts +122 -0
  105. package/dist/{types/wallet/expo/wallet.d.ts → wallet/expo/index.d.ts} +45 -22
  106. package/dist/wallet/expo/index.js +169 -0
  107. package/dist/wallet/expo/index.js.map +1 -0
  108. package/dist/wallet-AF-p-OWj.d.cts +774 -0
  109. package/dist/wallet-D9NBRqvC.d.ts +774 -0
  110. package/dist/worker/expo/index.cjs +140 -0
  111. package/dist/worker/expo/index.cjs.map +1 -0
  112. package/dist/worker/expo/index.d.cts +29 -0
  113. package/dist/worker/expo/index.d.ts +29 -0
  114. package/dist/worker/expo/index.js +121 -0
  115. package/dist/worker/expo/index.js.map +1 -0
  116. package/package.json +110 -76
  117. package/dist/cjs/adapters/asyncStorage.js +0 -5
  118. package/dist/cjs/adapters/expo.js +0 -8
  119. package/dist/cjs/adapters/fileSystem.js +0 -5
  120. package/dist/cjs/adapters/indexedDB.js +0 -5
  121. package/dist/cjs/adapters/localStorage.js +0 -5
  122. package/dist/cjs/arkfee/celenv.js +0 -43
  123. package/dist/cjs/arkfee/estimator.js +0 -143
  124. package/dist/cjs/arkfee/index.js +0 -5
  125. package/dist/cjs/arkfee/types.js +0 -26
  126. package/dist/cjs/arknote/index.js +0 -128
  127. package/dist/cjs/bip322/index.js +0 -270
  128. package/dist/cjs/contracts/arkcontract.js +0 -147
  129. package/dist/cjs/contracts/contractManager.js +0 -629
  130. package/dist/cjs/contracts/contractWatcher.js +0 -598
  131. package/dist/cjs/contracts/handlers/default.js +0 -93
  132. package/dist/cjs/contracts/handlers/delegate.js +0 -90
  133. package/dist/cjs/contracts/handlers/helpers.js +0 -115
  134. package/dist/cjs/contracts/handlers/index.js +0 -19
  135. package/dist/cjs/contracts/handlers/registry.js +0 -89
  136. package/dist/cjs/contracts/handlers/vhtlc.js +0 -194
  137. package/dist/cjs/contracts/index.js +0 -41
  138. package/dist/cjs/contracts/types.js +0 -2
  139. package/dist/cjs/contracts/vtxoOwnership.js +0 -78
  140. package/dist/cjs/extension/asset/assetGroup.js +0 -228
  141. package/dist/cjs/extension/asset/assetId.js +0 -152
  142. package/dist/cjs/extension/asset/assetInput.js +0 -222
  143. package/dist/cjs/extension/asset/assetOutput.js +0 -174
  144. package/dist/cjs/extension/asset/assetRef.js +0 -148
  145. package/dist/cjs/extension/asset/index.js +0 -23
  146. package/dist/cjs/extension/asset/metadata.js +0 -187
  147. package/dist/cjs/extension/asset/packet.js +0 -114
  148. package/dist/cjs/extension/asset/types.js +0 -22
  149. package/dist/cjs/extension/asset/utils.js +0 -105
  150. package/dist/cjs/extension/index.js +0 -254
  151. package/dist/cjs/extension/packet.js +0 -20
  152. package/dist/cjs/forfeit.js +0 -45
  153. package/dist/cjs/identity/descriptor.js +0 -169
  154. package/dist/cjs/identity/descriptorProvider.js +0 -2
  155. package/dist/cjs/identity/hdCapableIdentity.js +0 -2
  156. package/dist/cjs/identity/index.js +0 -38
  157. package/dist/cjs/identity/seedIdentity.js +0 -461
  158. package/dist/cjs/identity/serialize.js +0 -171
  159. package/dist/cjs/identity/singleKey.js +0 -126
  160. package/dist/cjs/identity/staticDescriptorProvider.js +0 -65
  161. package/dist/cjs/index.js +0 -200
  162. package/dist/cjs/intent/index.js +0 -259
  163. package/dist/cjs/musig2/index.js +0 -11
  164. package/dist/cjs/musig2/keys.js +0 -57
  165. package/dist/cjs/musig2/nonces.js +0 -48
  166. package/dist/cjs/musig2/sign.js +0 -102
  167. package/dist/cjs/networks.js +0 -26
  168. package/dist/cjs/package.json +0 -3
  169. package/dist/cjs/providers/ark.js +0 -577
  170. package/dist/cjs/providers/delegator.js +0 -85
  171. package/dist/cjs/providers/electrum.js +0 -869
  172. package/dist/cjs/providers/errors.js +0 -59
  173. package/dist/cjs/providers/expoArk.js +0 -82
  174. package/dist/cjs/providers/expoIndexer.js +0 -111
  175. package/dist/cjs/providers/expoUtils.js +0 -124
  176. package/dist/cjs/providers/indexer.js +0 -630
  177. package/dist/cjs/providers/onchain.js +0 -262
  178. package/dist/cjs/providers/utils.js +0 -121
  179. package/dist/cjs/repositories/contractRepository.js +0 -2
  180. package/dist/cjs/repositories/inMemory/contractRepository.js +0 -55
  181. package/dist/cjs/repositories/inMemory/walletRepository.js +0 -115
  182. package/dist/cjs/repositories/index.js +0 -34
  183. package/dist/cjs/repositories/indexedDB/contractRepository.js +0 -187
  184. package/dist/cjs/repositories/indexedDB/db.js +0 -19
  185. package/dist/cjs/repositories/indexedDB/manager.js +0 -100
  186. package/dist/cjs/repositories/indexedDB/schema.js +0 -204
  187. package/dist/cjs/repositories/indexedDB/walletRepository.js +0 -474
  188. package/dist/cjs/repositories/indexedDB/websqlAdapter.js +0 -144
  189. package/dist/cjs/repositories/migrations/contractRepositoryImpl.js +0 -127
  190. package/dist/cjs/repositories/migrations/fromStorageAdapter.js +0 -66
  191. package/dist/cjs/repositories/migrations/walletRepositoryImpl.js +0 -184
  192. package/dist/cjs/repositories/realm/contractRepository.js +0 -116
  193. package/dist/cjs/repositories/realm/index.js +0 -11
  194. package/dist/cjs/repositories/realm/schemas.js +0 -157
  195. package/dist/cjs/repositories/realm/types.js +0 -7
  196. package/dist/cjs/repositories/realm/walletRepository.js +0 -305
  197. package/dist/cjs/repositories/scriptFromAddress.js +0 -16
  198. package/dist/cjs/repositories/serialization.js +0 -82
  199. package/dist/cjs/repositories/sqlite/contractRepository.js +0 -135
  200. package/dist/cjs/repositories/sqlite/index.js +0 -7
  201. package/dist/cjs/repositories/sqlite/types.js +0 -2
  202. package/dist/cjs/repositories/sqlite/walletRepository.js +0 -441
  203. package/dist/cjs/repositories/walletRepository.js +0 -2
  204. package/dist/cjs/script/address.js +0 -108
  205. package/dist/cjs/script/base.js +0 -185
  206. package/dist/cjs/script/default.js +0 -57
  207. package/dist/cjs/script/delegate.js +0 -53
  208. package/dist/cjs/script/tapscript.js +0 -619
  209. package/dist/cjs/script/vhtlc.js +0 -170
  210. package/dist/cjs/storage/asyncStorage.js +0 -50
  211. package/dist/cjs/storage/fileSystem.js +0 -141
  212. package/dist/cjs/storage/inMemory.js +0 -24
  213. package/dist/cjs/storage/index.js +0 -2
  214. package/dist/cjs/storage/indexedDB.js +0 -101
  215. package/dist/cjs/storage/localStorage.js +0 -51
  216. package/dist/cjs/tree/signingSession.js +0 -229
  217. package/dist/cjs/tree/txTree.js +0 -192
  218. package/dist/cjs/tree/validation.js +0 -107
  219. package/dist/cjs/utils/anchor.js +0 -35
  220. package/dist/cjs/utils/arkTransaction.js +0 -271
  221. package/dist/cjs/utils/bip21.js +0 -127
  222. package/dist/cjs/utils/syncCursors.js +0 -128
  223. package/dist/cjs/utils/timelock.js +0 -59
  224. package/dist/cjs/utils/transaction.js +0 -28
  225. package/dist/cjs/utils/transactionHistory.js +0 -183
  226. package/dist/cjs/utils/txSizeEstimator.js +0 -132
  227. package/dist/cjs/utils/unknownFields.js +0 -174
  228. package/dist/cjs/wallet/asset-manager.js +0 -330
  229. package/dist/cjs/wallet/asset.js +0 -119
  230. package/dist/cjs/wallet/batch.js +0 -183
  231. package/dist/cjs/wallet/delegator.js +0 -302
  232. package/dist/cjs/wallet/expo/background.js +0 -116
  233. package/dist/cjs/wallet/expo/index.js +0 -9
  234. package/dist/cjs/wallet/expo/wallet.js +0 -230
  235. package/dist/cjs/wallet/hdDescriptorProvider.js +0 -159
  236. package/dist/cjs/wallet/index.js +0 -82
  237. package/dist/cjs/wallet/onchain.js +0 -290
  238. package/dist/cjs/wallet/ramps.js +0 -216
  239. package/dist/cjs/wallet/serviceWorker/wallet-message-handler.js +0 -953
  240. package/dist/cjs/wallet/serviceWorker/wallet.js +0 -1173
  241. package/dist/cjs/wallet/unroll.js +0 -289
  242. package/dist/cjs/wallet/utils.js +0 -111
  243. package/dist/cjs/wallet/validation.js +0 -154
  244. package/dist/cjs/wallet/vtxo-manager.js +0 -1142
  245. package/dist/cjs/wallet/wallet.js +0 -2049
  246. package/dist/cjs/worker/browser/service-worker-manager.js +0 -183
  247. package/dist/cjs/worker/browser/utils.js +0 -67
  248. package/dist/cjs/worker/errors.js +0 -16
  249. package/dist/cjs/worker/expo/asyncStorageTaskQueue.js +0 -78
  250. package/dist/cjs/worker/expo/index.js +0 -13
  251. package/dist/cjs/worker/expo/processors/contractPollProcessor.js +0 -62
  252. package/dist/cjs/worker/expo/processors/index.js +0 -6
  253. package/dist/cjs/worker/expo/taskQueue.js +0 -41
  254. package/dist/cjs/worker/expo/taskRunner.js +0 -73
  255. package/dist/cjs/worker/messageBus.js +0 -473
  256. package/dist/esm/adapters/asyncStorage.js +0 -1
  257. package/dist/esm/adapters/expo.js +0 -3
  258. package/dist/esm/adapters/fileSystem.js +0 -1
  259. package/dist/esm/adapters/indexedDB.js +0 -1
  260. package/dist/esm/adapters/localStorage.js +0 -1
  261. package/dist/esm/arkfee/celenv.js +0 -40
  262. package/dist/esm/arkfee/estimator.js +0 -139
  263. package/dist/esm/arkfee/index.js +0 -1
  264. package/dist/esm/arkfee/types.js +0 -22
  265. package/dist/esm/arknote/index.js +0 -124
  266. package/dist/esm/bip322/index.js +0 -267
  267. package/dist/esm/contracts/arkcontract.js +0 -140
  268. package/dist/esm/contracts/contractManager.js +0 -625
  269. package/dist/esm/contracts/contractWatcher.js +0 -594
  270. package/dist/esm/contracts/handlers/default.js +0 -90
  271. package/dist/esm/contracts/handlers/delegate.js +0 -87
  272. package/dist/esm/contracts/handlers/helpers.js +0 -110
  273. package/dist/esm/contracts/handlers/index.js +0 -12
  274. package/dist/esm/contracts/handlers/registry.js +0 -86
  275. package/dist/esm/contracts/handlers/vhtlc.js +0 -191
  276. package/dist/esm/contracts/index.js +0 -13
  277. package/dist/esm/contracts/types.js +0 -1
  278. package/dist/esm/contracts/vtxoOwnership.js +0 -69
  279. package/dist/esm/extension/asset/assetGroup.js +0 -224
  280. package/dist/esm/extension/asset/assetId.js +0 -148
  281. package/dist/esm/extension/asset/assetInput.js +0 -217
  282. package/dist/esm/extension/asset/assetOutput.js +0 -169
  283. package/dist/esm/extension/asset/assetRef.js +0 -144
  284. package/dist/esm/extension/asset/index.js +0 -8
  285. package/dist/esm/extension/asset/metadata.js +0 -182
  286. package/dist/esm/extension/asset/packet.js +0 -110
  287. package/dist/esm/extension/asset/types.js +0 -19
  288. package/dist/esm/extension/asset/utils.js +0 -99
  289. package/dist/esm/extension/index.js +0 -248
  290. package/dist/esm/extension/packet.js +0 -16
  291. package/dist/esm/forfeit.js +0 -41
  292. package/dist/esm/identity/descriptor.js +0 -161
  293. package/dist/esm/identity/descriptorProvider.js +0 -1
  294. package/dist/esm/identity/hdCapableIdentity.js +0 -1
  295. package/dist/esm/identity/index.js +0 -12
  296. package/dist/esm/identity/seedIdentity.js +0 -453
  297. package/dist/esm/identity/serialize.js +0 -164
  298. package/dist/esm/identity/singleKey.js +0 -121
  299. package/dist/esm/identity/staticDescriptorProvider.js +0 -61
  300. package/dist/esm/index.js +0 -87
  301. package/dist/esm/intent/index.js +0 -255
  302. package/dist/esm/musig2/index.js +0 -3
  303. package/dist/esm/musig2/keys.js +0 -21
  304. package/dist/esm/musig2/nonces.js +0 -11
  305. package/dist/esm/musig2/sign.js +0 -63
  306. package/dist/esm/networks.js +0 -22
  307. package/dist/esm/package.json +0 -3
  308. package/dist/esm/providers/ark.js +0 -572
  309. package/dist/esm/providers/delegator.js +0 -81
  310. package/dist/esm/providers/electrum.js +0 -864
  311. package/dist/esm/providers/errors.js +0 -54
  312. package/dist/esm/providers/expoArk.js +0 -78
  313. package/dist/esm/providers/expoIndexer.js +0 -107
  314. package/dist/esm/providers/expoUtils.js +0 -87
  315. package/dist/esm/providers/indexer.js +0 -626
  316. package/dist/esm/providers/onchain.js +0 -258
  317. package/dist/esm/providers/utils.js +0 -117
  318. package/dist/esm/repositories/contractRepository.js +0 -1
  319. package/dist/esm/repositories/inMemory/contractRepository.js +0 -51
  320. package/dist/esm/repositories/inMemory/walletRepository.js +0 -111
  321. package/dist/esm/repositories/index.js +0 -10
  322. package/dist/esm/repositories/indexedDB/contractRepository.js +0 -183
  323. package/dist/esm/repositories/indexedDB/db.js +0 -4
  324. package/dist/esm/repositories/indexedDB/manager.js +0 -95
  325. package/dist/esm/repositories/indexedDB/schema.js +0 -199
  326. package/dist/esm/repositories/indexedDB/walletRepository.js +0 -470
  327. package/dist/esm/repositories/indexedDB/websqlAdapter.js +0 -138
  328. package/dist/esm/repositories/migrations/contractRepositoryImpl.js +0 -121
  329. package/dist/esm/repositories/migrations/fromStorageAdapter.js +0 -58
  330. package/dist/esm/repositories/migrations/walletRepositoryImpl.js +0 -180
  331. package/dist/esm/repositories/realm/contractRepository.js +0 -112
  332. package/dist/esm/repositories/realm/index.js +0 -3
  333. package/dist/esm/repositories/realm/schemas.js +0 -153
  334. package/dist/esm/repositories/realm/types.js +0 -6
  335. package/dist/esm/repositories/realm/walletRepository.js +0 -301
  336. package/dist/esm/repositories/scriptFromAddress.js +0 -13
  337. package/dist/esm/repositories/serialization.js +0 -67
  338. package/dist/esm/repositories/sqlite/contractRepository.js +0 -131
  339. package/dist/esm/repositories/sqlite/index.js +0 -2
  340. package/dist/esm/repositories/sqlite/types.js +0 -1
  341. package/dist/esm/repositories/sqlite/walletRepository.js +0 -437
  342. package/dist/esm/repositories/walletRepository.js +0 -1
  343. package/dist/esm/script/address.js +0 -104
  344. package/dist/esm/script/base.js +0 -179
  345. package/dist/esm/script/default.js +0 -54
  346. package/dist/esm/script/delegate.js +0 -50
  347. package/dist/esm/script/tapscript.js +0 -615
  348. package/dist/esm/script/vhtlc.js +0 -167
  349. package/dist/esm/storage/asyncStorage.js +0 -46
  350. package/dist/esm/storage/fileSystem.js +0 -104
  351. package/dist/esm/storage/inMemory.js +0 -20
  352. package/dist/esm/storage/index.js +0 -1
  353. package/dist/esm/storage/indexedDB.js +0 -97
  354. package/dist/esm/storage/localStorage.js +0 -47
  355. package/dist/esm/tree/signingSession.js +0 -191
  356. package/dist/esm/tree/txTree.js +0 -188
  357. package/dist/esm/tree/validation.js +0 -101
  358. package/dist/esm/utils/anchor.js +0 -31
  359. package/dist/esm/utils/arkTransaction.js +0 -264
  360. package/dist/esm/utils/bip21.js +0 -123
  361. package/dist/esm/utils/syncCursors.js +0 -119
  362. package/dist/esm/utils/timelock.js +0 -22
  363. package/dist/esm/utils/transaction.js +0 -24
  364. package/dist/esm/utils/transactionHistory.js +0 -180
  365. package/dist/esm/utils/txSizeEstimator.js +0 -128
  366. package/dist/esm/utils/unknownFields.js +0 -169
  367. package/dist/esm/wallet/asset-manager.js +0 -325
  368. package/dist/esm/wallet/asset.js +0 -113
  369. package/dist/esm/wallet/batch.js +0 -180
  370. package/dist/esm/wallet/delegator.js +0 -297
  371. package/dist/esm/wallet/expo/background.js +0 -111
  372. package/dist/esm/wallet/expo/index.js +0 -2
  373. package/dist/esm/wallet/expo/wallet.js +0 -193
  374. package/dist/esm/wallet/hdDescriptorProvider.js +0 -155
  375. package/dist/esm/wallet/index.js +0 -75
  376. package/dist/esm/wallet/onchain.js +0 -285
  377. package/dist/esm/wallet/ramps.js +0 -212
  378. package/dist/esm/wallet/serviceWorker/wallet-message-handler.js +0 -946
  379. package/dist/esm/wallet/serviceWorker/wallet.js +0 -1168
  380. package/dist/esm/wallet/unroll.js +0 -285
  381. package/dist/esm/wallet/utils.js +0 -103
  382. package/dist/esm/wallet/validation.js +0 -142
  383. package/dist/esm/wallet/vtxo-manager.js +0 -1136
  384. package/dist/esm/wallet/wallet.js +0 -2041
  385. package/dist/esm/worker/browser/service-worker-manager.js +0 -177
  386. package/dist/esm/worker/browser/utils.js +0 -63
  387. package/dist/esm/worker/errors.js +0 -11
  388. package/dist/esm/worker/expo/asyncStorageTaskQueue.js +0 -74
  389. package/dist/esm/worker/expo/index.js +0 -4
  390. package/dist/esm/worker/expo/processors/contractPollProcessor.js +0 -59
  391. package/dist/esm/worker/expo/processors/index.js +0 -1
  392. package/dist/esm/worker/expo/taskQueue.js +0 -37
  393. package/dist/esm/worker/expo/taskRunner.js +0 -69
  394. package/dist/esm/worker/messageBus.js +0 -469
  395. package/dist/types/adapters/asyncStorage.d.ts +0 -2
  396. package/dist/types/adapters/expo.d.ts +0 -4
  397. package/dist/types/adapters/fileSystem.d.ts +0 -2
  398. package/dist/types/adapters/indexedDB.d.ts +0 -2
  399. package/dist/types/adapters/localStorage.d.ts +0 -2
  400. package/dist/types/arkfee/celenv.d.ts +0 -25
  401. package/dist/types/arkfee/estimator.d.ts +0 -49
  402. package/dist/types/arkfee/index.d.ts +0 -2
  403. package/dist/types/arkfee/types.d.ts +0 -38
  404. package/dist/types/arknote/index.d.ts +0 -84
  405. package/dist/types/bip322/index.d.ts +0 -55
  406. package/dist/types/contracts/arkcontract.d.ts +0 -99
  407. package/dist/types/contracts/contractManager.d.ts +0 -381
  408. package/dist/types/contracts/contractWatcher.d.ts +0 -217
  409. package/dist/types/contracts/handlers/default.d.ts +0 -19
  410. package/dist/types/contracts/handlers/delegate.d.ts +0 -21
  411. package/dist/types/contracts/handlers/helpers.d.ts +0 -19
  412. package/dist/types/contracts/handlers/index.d.ts +0 -7
  413. package/dist/types/contracts/handlers/registry.d.ts +0 -65
  414. package/dist/types/contracts/handlers/vhtlc.d.ts +0 -32
  415. package/dist/types/contracts/index.d.ts +0 -14
  416. package/dist/types/contracts/types.d.ts +0 -233
  417. package/dist/types/contracts/vtxoOwnership.d.ts +0 -33
  418. package/dist/types/extension/asset/assetGroup.d.ts +0 -119
  419. package/dist/types/extension/asset/assetId.d.ts +0 -83
  420. package/dist/types/extension/asset/assetInput.d.ts +0 -64
  421. package/dist/types/extension/asset/assetOutput.d.ts +0 -54
  422. package/dist/types/extension/asset/assetRef.d.ts +0 -91
  423. package/dist/types/extension/asset/index.d.ts +0 -8
  424. package/dist/types/extension/asset/metadata.d.ts +0 -52
  425. package/dist/types/extension/asset/packet.d.ts +0 -41
  426. package/dist/types/extension/asset/types.d.ts +0 -16
  427. package/dist/types/extension/asset/utils.d.ts +0 -21
  428. package/dist/types/extension/index.d.ts +0 -56
  429. package/dist/types/extension/packet.d.ts +0 -21
  430. package/dist/types/forfeit.d.ts +0 -18
  431. package/dist/types/identity/descriptor.d.ts +0 -61
  432. package/dist/types/identity/descriptorProvider.d.ts +0 -35
  433. package/dist/types/identity/hdCapableIdentity.d.ts +0 -44
  434. package/dist/types/identity/index.d.ts +0 -56
  435. package/dist/types/identity/seedIdentity.d.ts +0 -254
  436. package/dist/types/identity/serialize.d.ts +0 -96
  437. package/dist/types/identity/singleKey.d.ts +0 -62
  438. package/dist/types/identity/staticDescriptorProvider.d.ts +0 -18
  439. package/dist/types/index.d.ts +0 -59
  440. package/dist/types/intent/index.d.ts +0 -86
  441. package/dist/types/musig2/index.d.ts +0 -4
  442. package/dist/types/musig2/keys.d.ts +0 -9
  443. package/dist/types/musig2/nonces.d.ts +0 -14
  444. package/dist/types/musig2/sign.d.ts +0 -27
  445. package/dist/types/networks.d.ts +0 -16
  446. package/dist/types/providers/ark.d.ts +0 -369
  447. package/dist/types/providers/delegator.d.ts +0 -82
  448. package/dist/types/providers/electrum.d.ts +0 -312
  449. package/dist/types/providers/errors.d.ts +0 -13
  450. package/dist/types/providers/expoArk.d.ts +0 -22
  451. package/dist/types/providers/expoIndexer.d.ts +0 -18
  452. package/dist/types/providers/expoUtils.d.ts +0 -18
  453. package/dist/types/providers/indexer.d.ts +0 -301
  454. package/dist/types/providers/onchain.d.ts +0 -148
  455. package/dist/types/providers/utils.d.ts +0 -12
  456. package/dist/types/repositories/contractRepository.d.ts +0 -32
  457. package/dist/types/repositories/inMemory/contractRepository.d.ts +0 -17
  458. package/dist/types/repositories/inMemory/walletRepository.d.ts +0 -29
  459. package/dist/types/repositories/index.d.ts +0 -9
  460. package/dist/types/repositories/indexedDB/contractRepository.d.ts +0 -21
  461. package/dist/types/repositories/indexedDB/db.d.ts +0 -4
  462. package/dist/types/repositories/indexedDB/manager.d.ts +0 -25
  463. package/dist/types/repositories/indexedDB/schema.d.ts +0 -9
  464. package/dist/types/repositories/indexedDB/walletRepository.d.ts +0 -28
  465. package/dist/types/repositories/indexedDB/websqlAdapter.d.ts +0 -49
  466. package/dist/types/repositories/migrations/contractRepositoryImpl.d.ts +0 -24
  467. package/dist/types/repositories/migrations/fromStorageAdapter.d.ts +0 -19
  468. package/dist/types/repositories/migrations/walletRepositoryImpl.d.ts +0 -27
  469. package/dist/types/repositories/realm/contractRepository.d.ts +0 -24
  470. package/dist/types/repositories/realm/index.d.ts +0 -4
  471. package/dist/types/repositories/realm/types.d.ts +0 -16
  472. package/dist/types/repositories/realm/walletRepository.d.ts +0 -34
  473. package/dist/types/repositories/scriptFromAddress.d.ts +0 -9
  474. package/dist/types/repositories/serialization.d.ts +0 -65
  475. package/dist/types/repositories/sqlite/contractRepository.d.ts +0 -33
  476. package/dist/types/repositories/sqlite/index.d.ts +0 -3
  477. package/dist/types/repositories/sqlite/types.d.ts +0 -18
  478. package/dist/types/repositories/walletRepository.d.ts +0 -72
  479. package/dist/types/script/address.d.ts +0 -67
  480. package/dist/types/script/base.d.ts +0 -105
  481. package/dist/types/script/default.d.ts +0 -44
  482. package/dist/types/script/delegate.d.ts +0 -40
  483. package/dist/types/script/tapscript.d.ts +0 -169
  484. package/dist/types/script/vhtlc.d.ts +0 -66
  485. package/dist/types/tree/signingSession.d.ts +0 -37
  486. package/dist/types/tree/txTree.d.ts +0 -28
  487. package/dist/types/tree/validation.d.ts +0 -15
  488. package/dist/types/utils/anchor.d.ts +0 -19
  489. package/dist/types/utils/arkTransaction.d.ts +0 -49
  490. package/dist/types/utils/bip21.d.ts +0 -38
  491. package/dist/types/utils/syncCursors.d.ts +0 -60
  492. package/dist/types/utils/timelock.d.ts +0 -9
  493. package/dist/types/utils/transaction.d.ts +0 -13
  494. package/dist/types/utils/transactionHistory.d.ts +0 -15
  495. package/dist/types/utils/txSizeEstimator.d.ts +0 -40
  496. package/dist/types/utils/unknownFields.d.ts +0 -83
  497. package/dist/types/wallet/asset-manager.d.ts +0 -69
  498. package/dist/types/wallet/asset.d.ts +0 -21
  499. package/dist/types/wallet/batch.d.ts +0 -107
  500. package/dist/types/wallet/delegator.d.ts +0 -48
  501. package/dist/types/wallet/expo/background.d.ts +0 -66
  502. package/dist/types/wallet/expo/index.d.ts +0 -4
  503. package/dist/types/wallet/hdDescriptorProvider.d.ts +0 -93
  504. package/dist/types/wallet/index.d.ts +0 -755
  505. package/dist/types/wallet/onchain.d.ts +0 -109
  506. package/dist/types/wallet/ramps.d.ts +0 -64
  507. package/dist/types/wallet/serviceWorker/wallet-message-handler.d.ts +0 -543
  508. package/dist/types/wallet/serviceWorker/wallet.d.ts +0 -238
  509. package/dist/types/wallet/unroll.d.ts +0 -114
  510. package/dist/types/wallet/utils.d.ts +0 -36
  511. package/dist/types/wallet/validation.d.ts +0 -24
  512. package/dist/types/wallet/vtxo-manager.d.ts +0 -476
  513. package/dist/types/wallet/wallet.d.ts +0 -360
  514. package/dist/types/worker/browser/service-worker-manager.d.ts +0 -32
  515. package/dist/types/worker/browser/utils.d.ts +0 -17
  516. package/dist/types/worker/errors.d.ts +0 -7
  517. package/dist/types/worker/expo/index.d.ts +0 -7
  518. package/dist/types/worker/expo/processors/contractPollProcessor.d.ts +0 -19
  519. package/dist/types/worker/expo/processors/index.d.ts +0 -1
  520. package/dist/types/worker/expo/taskQueue.d.ts +0 -50
  521. package/dist/types/worker/expo/taskRunner.d.ts +0 -66
  522. package/dist/types/worker/messageBus.d.ts +0 -188
@@ -1,474 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IndexedDBWalletRepository = void 0;
4
- const db_1 = require("./db");
5
- const manager_1 = require("./manager");
6
- const schema_1 = require("./schema");
7
- const scriptFromAddress_1 = require("../scriptFromAddress");
8
- const utils_1 = require("../../worker/browser/utils");
9
- const vtxoOwnership_1 = require("../../contracts/vtxoOwnership");
10
- /**
11
- * IndexedDB-based implementation of WalletRepository.
12
- */
13
- class IndexedDBWalletRepository {
14
- constructor(dbName = utils_1.DEFAULT_DB_NAME) {
15
- this.dbName = dbName;
16
- this.version = 1;
17
- this.db = null;
18
- }
19
- async clear() {
20
- try {
21
- const db = await this.getDB();
22
- return new Promise((resolve, reject) => {
23
- const transaction = db.transaction([
24
- db_1.STORE_VTXOS,
25
- db_1.STORE_UTXOS,
26
- db_1.STORE_TRANSACTIONS,
27
- db_1.STORE_WALLET_STATE,
28
- ], "readwrite");
29
- const vtxosStore = transaction.objectStore(db_1.STORE_VTXOS);
30
- const utxosStore = transaction.objectStore(db_1.STORE_UTXOS);
31
- const transactionsStore = transaction.objectStore(db_1.STORE_TRANSACTIONS);
32
- const walletStateStore = transaction.objectStore(db_1.STORE_WALLET_STATE);
33
- const requests = [
34
- vtxosStore.clear(),
35
- utxosStore.clear(),
36
- transactionsStore.clear(),
37
- walletStateStore.clear(),
38
- ];
39
- let completed = 0;
40
- const checkComplete = () => {
41
- completed++;
42
- if (completed === requests.length) {
43
- resolve();
44
- }
45
- };
46
- requests.forEach((request) => {
47
- request.onsuccess = checkComplete;
48
- request.onerror = () => reject(request.error);
49
- });
50
- });
51
- }
52
- catch (error) {
53
- console.error("Failed to clear wallet data:", error);
54
- throw error;
55
- }
56
- }
57
- async [Symbol.asyncDispose]() {
58
- if (!this.db)
59
- return;
60
- await (0, manager_1.closeDatabase)(this.dbName);
61
- this.db = null;
62
- }
63
- async getVtxos(address) {
64
- try {
65
- const db = await this.getDB();
66
- return new Promise((resolve, reject) => {
67
- const transaction = db.transaction([db_1.STORE_VTXOS], "readonly");
68
- const store = transaction.objectStore(db_1.STORE_VTXOS);
69
- const index = store.index("address");
70
- const request = index.getAll(address);
71
- request.onerror = () => reject(request.error);
72
- request.onsuccess = () => {
73
- const results = request.result || [];
74
- // Wrap `.map` in try/catch so a bad row (e.g. a legacy
75
- // VTXO whose address can't be decoded during backfill)
76
- // rejects the promise instead of silently throwing
77
- // inside the IDB event handler, which would otherwise
78
- // hang the caller.
79
- try {
80
- resolve(results.map(deserializeVtxoWithBackfill));
81
- }
82
- catch (err) {
83
- reject(err);
84
- }
85
- };
86
- });
87
- }
88
- catch (error) {
89
- console.error(`Failed to get VTXOs for address ${address}:`, error);
90
- return [];
91
- }
92
- }
93
- async saveVtxos(address, vtxos) {
94
- try {
95
- const db = await this.getDB();
96
- return new Promise((resolve, reject) => {
97
- const transaction = db.transaction([db_1.STORE_VTXOS], "readwrite");
98
- const store = transaction.objectStore(db_1.STORE_VTXOS);
99
- const promises = vtxos.map((vtxo) => {
100
- return new Promise((resolveItem, rejectItem) => {
101
- const serialized = (0, db_1.serializeVtxo)(vtxo);
102
- const item = {
103
- address,
104
- ...serialized,
105
- };
106
- const request = store.put(item);
107
- request.onerror = () => rejectItem(request.error);
108
- request.onsuccess = () => resolveItem();
109
- });
110
- });
111
- Promise.all(promises)
112
- .then(() => resolve())
113
- .catch(reject);
114
- transaction.onerror = () => reject(transaction.error);
115
- });
116
- }
117
- catch (error) {
118
- console.error(`Failed to save VTXOs for address ${address}:`, error);
119
- throw error;
120
- }
121
- }
122
- async deleteVtxos(address) {
123
- try {
124
- const db = await this.getDB();
125
- return new Promise((resolve, reject) => {
126
- const transaction = db.transaction([db_1.STORE_VTXOS], "readwrite");
127
- const store = transaction.objectStore(db_1.STORE_VTXOS);
128
- const index = store.index("address");
129
- const request = index.openCursor(IDBKeyRange.only(address));
130
- request.onerror = () => reject(request.error);
131
- request.onsuccess = () => {
132
- const cursor = request.result;
133
- if (cursor) {
134
- cursor.delete();
135
- cursor.continue();
136
- }
137
- else {
138
- resolve();
139
- }
140
- };
141
- });
142
- }
143
- catch (error) {
144
- console.error(`Failed to clear VTXOs for address ${address}:`, error);
145
- throw error;
146
- }
147
- }
148
- async getVtxosForScript(script) {
149
- try {
150
- const db = await this.getDB();
151
- return new Promise((resolve, reject) => {
152
- const transaction = db.transaction([db_1.STORE_VTXOS], "readonly");
153
- const store = transaction.objectStore(db_1.STORE_VTXOS);
154
- const index = store.index("script");
155
- const request = index.getAll(script);
156
- request.onerror = () => reject(request.error);
157
- request.onsuccess = () => {
158
- const results = request.result || [];
159
- try {
160
- // Defensive filter: only rows whose script matches.
161
- const matching = results.filter((r) => r.script === script);
162
- // Dedup same outpoint rows across address buckets.
163
- // Work on raw rows so the address field is available
164
- // for the canonicality tiebreaker.
165
- const byOutpoint = new Map();
166
- for (const row of matching) {
167
- const outpoint = `${row.txid}:${row.vout}`;
168
- const existing = byOutpoint.get(outpoint);
169
- if (!existing) {
170
- byOutpoint.set(outpoint, row);
171
- continue;
172
- }
173
- if (shouldReplaceVtxo(existing, row)) {
174
- byOutpoint.set(outpoint, row);
175
- }
176
- }
177
- resolve(Array.from(byOutpoint.values()).map(deserializeVtxoWithBackfill));
178
- }
179
- catch (err) {
180
- reject(err);
181
- }
182
- };
183
- });
184
- }
185
- catch (error) {
186
- console.error(`Failed to get VTXOs for script ${script}:`, error);
187
- throw error;
188
- }
189
- }
190
- async saveVtxosForScript(key, vtxos) {
191
- if (!key.address) {
192
- throw new Error("IndexedDBWalletRepository requires an address");
193
- }
194
- for (const vtxo of vtxos) {
195
- if (!(0, vtxoOwnership_1.isVtxoForScript)(vtxo, key.script)) {
196
- throw new Error(`VTXO ${vtxo.txid}:${vtxo.vout} script mismatch: expected ${key.script}, got ${vtxo.script}`);
197
- }
198
- }
199
- return this.saveVtxos(key.address, vtxos);
200
- }
201
- async deleteVtxosForScript(script) {
202
- try {
203
- const db = await this.getDB();
204
- return new Promise((resolve, reject) => {
205
- const transaction = db.transaction([db_1.STORE_VTXOS], "readwrite");
206
- const store = transaction.objectStore(db_1.STORE_VTXOS);
207
- const index = store.index("script");
208
- const request = index.openCursor(IDBKeyRange.only(script));
209
- request.onerror = () => reject(request.error);
210
- request.onsuccess = () => {
211
- const cursor = request.result;
212
- if (cursor) {
213
- cursor.delete();
214
- cursor.continue();
215
- }
216
- else {
217
- resolve();
218
- }
219
- };
220
- });
221
- }
222
- catch (error) {
223
- console.error(`Failed to clear VTXOs for script ${script}:`, error);
224
- throw error;
225
- }
226
- }
227
- async getUtxos(address) {
228
- try {
229
- const db = await this.getDB();
230
- return new Promise((resolve, reject) => {
231
- const transaction = db.transaction([db_1.STORE_UTXOS], "readonly");
232
- const store = transaction.objectStore(db_1.STORE_UTXOS);
233
- const index = store.index("address");
234
- const request = index.getAll(address);
235
- request.onerror = () => reject(request.error);
236
- request.onsuccess = () => {
237
- const results = request.result || [];
238
- const utxos = results.map(db_1.deserializeUtxo);
239
- resolve(utxos);
240
- };
241
- });
242
- }
243
- catch (error) {
244
- console.error(`Failed to get UTXOs for address ${address}:`, error);
245
- return [];
246
- }
247
- }
248
- async saveUtxos(address, utxos) {
249
- try {
250
- const db = await this.getDB();
251
- return new Promise((resolve, reject) => {
252
- const transaction = db.transaction([db_1.STORE_UTXOS], "readwrite");
253
- const store = transaction.objectStore(db_1.STORE_UTXOS);
254
- const promises = utxos.map((utxo) => {
255
- return new Promise((resolveItem, rejectItem) => {
256
- const serialized = (0, db_1.serializeUtxo)(utxo);
257
- const item = {
258
- address,
259
- ...serialized,
260
- };
261
- const request = store.put(item);
262
- request.onerror = () => rejectItem(request.error);
263
- request.onsuccess = () => resolveItem();
264
- });
265
- });
266
- Promise.all(promises)
267
- .then(() => resolve())
268
- .catch(reject);
269
- transaction.onerror = () => reject(transaction.error);
270
- });
271
- }
272
- catch (error) {
273
- console.error(`Failed to save UTXOs for address ${address}:`, error);
274
- throw error;
275
- }
276
- }
277
- async deleteUtxos(address) {
278
- try {
279
- const db = await this.getDB();
280
- return new Promise((resolve, reject) => {
281
- const transaction = db.transaction([db_1.STORE_UTXOS], "readwrite");
282
- const store = transaction.objectStore(db_1.STORE_UTXOS);
283
- const index = store.index("address");
284
- const request = index.openCursor(IDBKeyRange.only(address));
285
- request.onerror = () => reject(request.error);
286
- request.onsuccess = () => {
287
- const cursor = request.result;
288
- if (cursor) {
289
- cursor.delete();
290
- cursor.continue();
291
- }
292
- else {
293
- resolve();
294
- }
295
- };
296
- });
297
- }
298
- catch (error) {
299
- console.error(`Failed to clear UTXOs for address ${address}:`, error);
300
- throw error;
301
- }
302
- }
303
- async getTransactionHistory(address) {
304
- try {
305
- const db = await this.getDB();
306
- return new Promise((resolve, reject) => {
307
- const transaction = db.transaction([db_1.STORE_TRANSACTIONS], "readonly");
308
- const store = transaction.objectStore(db_1.STORE_TRANSACTIONS);
309
- const index = store.index("address");
310
- const request = index.getAll(address);
311
- request.onerror = () => reject(request.error);
312
- request.onsuccess = () => {
313
- const results = request.result || [];
314
- resolve(results.sort((a, b) => a.createdAt - b.createdAt));
315
- };
316
- });
317
- }
318
- catch (error) {
319
- console.error(`Failed to get transaction history for address ${address}:`, error);
320
- return [];
321
- }
322
- }
323
- async saveTransactions(address, txs) {
324
- try {
325
- const db = await this.getDB();
326
- return new Promise((resolve, reject) => {
327
- const transaction = db.transaction([db_1.STORE_TRANSACTIONS], "readwrite");
328
- const store = transaction.objectStore(db_1.STORE_TRANSACTIONS);
329
- // Queue all put operations
330
- txs.forEach((tx) => {
331
- const item = {
332
- address,
333
- ...tx,
334
- keyBoardingTxid: tx.key.boardingTxid,
335
- keyCommitmentTxid: tx.key.commitmentTxid,
336
- keyArkTxid: tx.key.arkTxid,
337
- };
338
- store.put(item);
339
- });
340
- // Handle transaction completion
341
- transaction.oncomplete = () => resolve();
342
- transaction.onerror = () => reject(transaction.error);
343
- transaction.onabort = () => reject(new Error("Transaction aborted"));
344
- });
345
- }
346
- catch (error) {
347
- console.error(`Failed to save transactions for address ${address}:`, error);
348
- throw error;
349
- }
350
- }
351
- async deleteTransactions(address) {
352
- try {
353
- const db = await this.getDB();
354
- return new Promise((resolve, reject) => {
355
- const transaction = db.transaction([db_1.STORE_TRANSACTIONS], "readwrite");
356
- const store = transaction.objectStore(db_1.STORE_TRANSACTIONS);
357
- const index = store.index("address");
358
- const request = index.openCursor(IDBKeyRange.only(address));
359
- request.onerror = () => reject(request.error);
360
- request.onsuccess = () => {
361
- const cursor = request.result;
362
- if (cursor) {
363
- cursor.delete();
364
- cursor.continue();
365
- }
366
- else {
367
- resolve();
368
- }
369
- };
370
- });
371
- }
372
- catch (error) {
373
- console.error(`Failed to clear transactions for address ${address}:`, error);
374
- throw error;
375
- }
376
- }
377
- async getWalletState() {
378
- try {
379
- const db = await this.getDB();
380
- return new Promise((resolve, reject) => {
381
- const transaction = db.transaction([db_1.STORE_WALLET_STATE], "readonly");
382
- const store = transaction.objectStore(db_1.STORE_WALLET_STATE);
383
- const request = store.get("state");
384
- request.onerror = () => reject(request.error);
385
- request.onsuccess = () => {
386
- const result = request.result;
387
- if (result && result.data) {
388
- resolve(result.data);
389
- }
390
- else {
391
- resolve(null);
392
- }
393
- };
394
- });
395
- }
396
- catch (error) {
397
- console.error("Failed to get wallet state:", error);
398
- return null;
399
- }
400
- }
401
- async saveWalletState(state) {
402
- try {
403
- const db = await this.getDB();
404
- return new Promise((resolve, reject) => {
405
- const transaction = db.transaction([db_1.STORE_WALLET_STATE], "readwrite");
406
- const store = transaction.objectStore(db_1.STORE_WALLET_STATE);
407
- const item = {
408
- key: "state",
409
- data: state,
410
- };
411
- const request = store.put(item);
412
- request.onerror = () => reject(request.error);
413
- request.onsuccess = () => resolve();
414
- });
415
- }
416
- catch (error) {
417
- console.error("Failed to save wallet state:", error);
418
- throw error;
419
- }
420
- }
421
- async getDB() {
422
- if (this.db)
423
- return this.db;
424
- this.db = await (0, manager_1.openDatabase)(this.dbName, db_1.DB_VERSION, schema_1.initDatabase);
425
- return this.db;
426
- }
427
- }
428
- exports.IndexedDBWalletRepository = IndexedDBWalletRepository;
429
- // Post-migration every row has `script`, but the backfill is idempotent: if a
430
- // legacy row is ever read before the upgrade-path completes, derive `script`
431
- // from `address` the same way the indexer would have populated it.
432
- function deserializeVtxoWithBackfill(o) {
433
- if (!o.script) {
434
- o = { ...o, script: (0, scriptFromAddress_1.scriptFromArkAddress)(o.address) };
435
- }
436
- return (0, db_1.deserializeVtxo)(o);
437
- }
438
- function isCanonicalRow(row) {
439
- try {
440
- return (0, scriptFromAddress_1.scriptFromArkAddress)(row.address) === row.script;
441
- }
442
- catch {
443
- return false;
444
- }
445
- }
446
- function shouldReplaceVtxo(existing, incoming) {
447
- const existingCanonical = isCanonicalRow(existing);
448
- const incomingCanonical = isCanonicalRow(incoming);
449
- if (incomingCanonical && !existingCanonical)
450
- return true;
451
- if (existingCanonical && !incomingCanonical)
452
- return false;
453
- // Tie on canonicality, check lifecycle completeness
454
- const existingWeight = getLifecycleWeight(existing);
455
- const incomingWeight = getLifecycleWeight(incoming);
456
- if (incomingWeight > existingWeight)
457
- return true;
458
- if (existingWeight > incomingWeight)
459
- return false;
460
- // Tie on weight, stable sort by address
461
- return incoming.address < existing.address;
462
- }
463
- function getLifecycleWeight(v) {
464
- let weight = 0;
465
- if (v.isSpent !== undefined)
466
- weight += 1;
467
- if (v.spentBy)
468
- weight += 2;
469
- if (v.settledBy)
470
- weight += 2;
471
- if (v.arkTxId)
472
- weight += 2;
473
- return weight;
474
- }
@@ -1,144 +0,0 @@
1
- "use strict";
2
- /**
3
- * WebSQL adapter over expo-sqlite.
4
- *
5
- * Bridges the WebSQL API surface that indexeddbshim expects to the
6
- * synchronous expo-sqlite driver. Only the subset actually called by
7
- * the shim is implemented:
8
- *
9
- * openDatabase(name, version, displayName, estimatedSize) → WebSQLDatabase
10
- * db.transaction(cb, errCb?, successCb?)
11
- * tx.executeSql(sql, args?, successCb?, errorCb?)
12
- * resultSet = { insertId, rowsAffected, rows: { length, item(i) } }
13
- */
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.WebSQLDatabase = exports.WebSQLTransaction = void 0;
16
- exports.openDatabase = openDatabase;
17
- const expo_sqlite_1 = require("expo-sqlite");
18
- // ── Database cache ───────────────────────────────────────────────────
19
- const dbCache = new Map();
20
- function getSqliteDb(name) {
21
- let db = dbCache.get(name);
22
- if (db)
23
- return { db, created: false };
24
- db = (0, expo_sqlite_1.openDatabaseSync)(name);
25
- dbCache.set(name, db);
26
- return { db, created: true };
27
- }
28
- // ── WebSQLTransaction ────────────────────────────────────────────────
29
- class WebSQLTransaction {
30
- constructor() {
31
- /** @internal */
32
- this._queue = [];
33
- }
34
- executeSql(sql, args, successCb, errorCb) {
35
- this._queue.push({ sql, args: args ?? [], successCb, errorCb });
36
- }
37
- }
38
- exports.WebSQLTransaction = WebSQLTransaction;
39
- // ── Helpers ──────────────────────────────────────────────────────────
40
- function isRead(sql) {
41
- const trimmed = sql.trimStart().toUpperCase();
42
- return trimmed.startsWith("SELECT") || trimmed.startsWith("PRAGMA");
43
- }
44
- function buildResultSet(db, sql, args) {
45
- if (isRead(sql)) {
46
- const rows = db.getAllSync(sql, args);
47
- return {
48
- insertId: 0,
49
- rowsAffected: 0,
50
- rows: {
51
- length: rows.length,
52
- item(i) {
53
- return rows[i];
54
- },
55
- },
56
- };
57
- }
58
- const result = db.runSync(sql, args);
59
- return {
60
- insertId: result.lastInsertRowId,
61
- rowsAffected: result.changes,
62
- rows: {
63
- length: 0,
64
- item(_i) {
65
- return undefined;
66
- },
67
- },
68
- };
69
- }
70
- function drainQueue(db, tx) {
71
- // Process until the queue is empty. Success callbacks may enqueue
72
- // more statements, so we loop rather than iterate a snapshot.
73
- while (tx._queue.length > 0) {
74
- const stmt = tx._queue.shift();
75
- try {
76
- const rs = buildResultSet(db, stmt.sql, stmt.args);
77
- if (stmt.successCb) {
78
- stmt.successCb(tx, rs);
79
- }
80
- }
81
- catch (err) {
82
- const sqlError = {
83
- code: 0,
84
- message: err?.message ?? String(err),
85
- };
86
- if (stmt.errorCb) {
87
- const shouldContinue = stmt.errorCb(tx, sqlError);
88
- if (shouldContinue === true) {
89
- // Error handler returned true → swallow error and continue
90
- continue;
91
- }
92
- }
93
- // Abort the transaction
94
- throw err;
95
- }
96
- }
97
- }
98
- // ── WebSQLDatabase ───────────────────────────────────────────────────
99
- class WebSQLDatabase {
100
- constructor(db, version) {
101
- this._db = db;
102
- this.version = version;
103
- }
104
- transaction(callback, errorCb, successCb) {
105
- // WebSQL is async/callback-based. Schedule via macrotask so the
106
- // caller's subsequent code runs first (matches browser behavior).
107
- setTimeout(() => {
108
- const tx = new WebSQLTransaction();
109
- try {
110
- // Let the caller enqueue statements
111
- callback(tx);
112
- // Execute everything inside a real SQLite transaction
113
- this._db.withTransactionSync(() => {
114
- drainQueue(this._db, tx);
115
- });
116
- if (successCb)
117
- successCb();
118
- }
119
- catch (err) {
120
- const sqlError = {
121
- code: 0,
122
- message: err?.message ?? String(err),
123
- };
124
- if (errorCb) {
125
- errorCb(sqlError);
126
- }
127
- }
128
- }, 0);
129
- }
130
- readTransaction(callback, errorCb, successCb) {
131
- // Reads go through the same path — SQLite handles concurrency.
132
- this.transaction(callback, errorCb, successCb);
133
- }
134
- }
135
- exports.WebSQLDatabase = WebSQLDatabase;
136
- // ── openDatabase (WebSQL entry point) ────────────────────────────────
137
- function openDatabase(name, version, _displayName, _estimatedSize, _creationCallback) {
138
- const { db: sqliteDb, created } = getSqliteDb(name);
139
- const wsdb = new WebSQLDatabase(sqliteDb, version);
140
- if (created && _creationCallback) {
141
- _creationCallback(wsdb);
142
- }
143
- return wsdb;
144
- }