@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,755 +0,0 @@
1
- import { Bytes } from "@scure/btc-signer/utils.js";
2
- import { ArkProvider, Output, SettlementEvent } from "../providers/ark.js";
3
- import { Identity, ReadonlyIdentity } from "../identity/index.js";
4
- import { RelativeTimelock } from "../script/tapscript.js";
5
- import { EncodedVtxoScript, TapLeafScript } from "../script/base.js";
6
- import { RenewalConfig, SettlementConfig } from "./vtxo-manager.js";
7
- import { IndexerProvider } from "../providers/indexer.js";
8
- import { OnchainProvider } from "../providers/onchain.js";
9
- import { ContractWatcherConfig } from "../contracts/contractWatcher.js";
10
- import { ContractRepository, WalletRepository } from "../repositories/index.js";
11
- import { IContractManager } from "../contracts/contractManager.js";
12
- import { IDelegatorManager } from "./delegator.js";
13
- import { DelegatorProvider } from "../providers/delegator.js";
14
- /** Defaults */
15
- export declare const DEFAULT_ARKADE_SERVER_URL: "https://arkade.computer";
16
- export declare const DEFAULT_ARKADE_HRP: "ark";
17
- export declare const DEFAULT_NETWORK_NAME: "bitcoin";
18
- /**
19
- * Base configuration options shared by all wallet types.
20
- *
21
- * Supports URL-based and provider-based configuration.
22
- *
23
- * URL-based configuration starts from `arkServerUrl` and can optionally override
24
- * derived service URLs such as `indexerUrl` and `esploraUrl`.
25
- *
26
- * Provider-based configuration supplies concrete provider instances directly,
27
- * including the ArkProvider, IndexerProvider, OnchainProvider, and DelegatorProvider.
28
- *
29
- * The wallet will use provided URLs to create default providers if custom provider
30
- * instances are not supplied. If optional parameters are not provided, the wallet
31
- * will fetch configuration from the Arkade server.
32
- *
33
- * @remarks
34
- * URL-based and provider-based configuration can be mixed, but provider instances
35
- * always take precedence over URLs for the corresponding service.
36
- *
37
- * @see WalletConfig
38
- * @see ReadonlyWalletConfig
39
- * @see StorageConfig
40
- */
41
- export interface BaseWalletConfig {
42
- /** Base URL of the Arkade server. */
43
- arkServerUrl?: string;
44
- /** Optional override for the indexer URL. */
45
- indexerUrl?: string;
46
- /** Optional override for the Esplora API URL. */
47
- esploraUrl?: string;
48
- /** Optional Arkade server public key used to construct and validate Arkade addresses. */
49
- arkServerPublicKey?: string;
50
- /** Relative timelock applied to boarding scripts. */
51
- boardingTimelock?: RelativeTimelock;
52
- /** Relative timelock applied to unilateral exit paths. */
53
- exitTimelock?: RelativeTimelock;
54
- /**
55
- * Repository-backed storage configuration overrides.
56
- * Defaults to IndexedDB if unset.
57
- */
58
- storage?: StorageConfig;
59
- /** Optional Arkade provider instance. */
60
- arkProvider?: ArkProvider;
61
- /** Optional indexer provider instance. */
62
- indexerProvider?: IndexerProvider;
63
- /** Optional onchain provider instance. */
64
- onchainProvider?: OnchainProvider;
65
- /** Optional delegation service instance. */
66
- delegatorProvider?: DelegatorProvider;
67
- }
68
- /**
69
- * Configuration options for readonly wallet initialization.
70
- *
71
- * Use this config when you only need to query wallet state (balance, addresses, transactions)
72
- * without the ability to send transactions. This is useful for:
73
- * - Watch-only wallets
74
- * - Monitoring addresses
75
- * - Safe sharing of wallet state without private key exposure
76
- *
77
- * @see BaseWalletConfig
78
- * @see IReadonlyWallet
79
- *
80
- * @example
81
- * ```typescript
82
- * // URL-based configuration
83
- * const wallet = await ReadonlyWallet.create({
84
- * identity: ReadonlySingleKey.fromPublicKey(pubkey),
85
- * arkServerUrl: 'https://arkade.computer',
86
- * esploraUrl: 'https://mempool.space/api'
87
- * });
88
- *
89
- * // Provider-based configuration (e.g., for Expo/React Native)
90
- * const wallet = await ReadonlyWallet.create({
91
- * identity: ReadonlySingleKey.fromPublicKey(pubkey),
92
- * arkProvider: new ExpoArkProvider('https://arkade.computer'),
93
- * indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
94
- * onchainProvider: new EsploraProvider('https://mempool.space/api')
95
- * });
96
- * ```
97
- */
98
- export interface ReadonlyWalletConfig extends BaseWalletConfig {
99
- /** Readonly identity used to derive wallet addresses. */
100
- identity: ReadonlyIdentity;
101
- /**
102
- * Configuration for the ContractManager's watcher.
103
- * Controls reconnection behavior and failsafe polling.
104
- *
105
- * @see ContractWatcherConfig
106
- */
107
- watcherConfig?: Partial<Omit<ContractWatcherConfig, "indexerProvider">>;
108
- }
109
- /**
110
- * Configuration options for full wallet initialization.
111
- *
112
- * This config provides full wallet capabilities including sending transactions,
113
- * settling virtual outputs, and all readonly operations.
114
- *
115
- * @see ReadonlyWalletConfig
116
- * @see IWallet
117
- *
118
- * @example
119
- * ```typescript
120
- * // URL-based configuration
121
- * const wallet = await Wallet.create({
122
- * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
123
- * arkServerUrl: 'https://arkade.computer',
124
- * esploraUrl: 'https://mempool.space/api'
125
- * });
126
- *
127
- * // Provider-based configuration (e.g., for Expo/React Native)
128
- * const wallet = await Wallet.create({
129
- * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
130
- * arkProvider: new ExpoArkProvider('https://arkade.computer'),
131
- * indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
132
- * onchainProvider: new EsploraProvider('https://mempool.space/api')
133
- * });
134
- *
135
- * // With settlement configuration
136
- * const wallet = await Wallet.create({
137
- * identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
138
- * arkServerUrl: 'https://arkade.computer',
139
- * settlementConfig: {
140
- * vtxoThreshold: 60 * 60 * 24, // 24 hours in seconds
141
- * boardingUtxoSweep: true,
142
- * },
143
- * });
144
- * ```
145
- */
146
- export interface WalletConfig extends ReadonlyWalletConfig {
147
- /** Signing identity used to authorize transactions. */
148
- identity: Identity;
149
- /**
150
- * Legacy renewal configuration.
151
- *
152
- * @remarks
153
- * This field is still accepted for backwards compatibility, but `settlementConfig`
154
- * is the source of truth for new code.
155
- *
156
- * @deprecated Use `settlementConfig` instead.
157
- */
158
- renewalConfig?: RenewalConfig;
159
- /**
160
- * Configuration for automatic settlement and renewal.
161
- * `false` = explicitly disabled, `undefined` or `{}` = enabled with defaults.
162
- *
163
- * @defaultValue `undefined` (enabled with defaults)
164
- * @see SettlementConfig
165
- */
166
- settlementConfig?: SettlementConfig | false;
167
- }
168
- /**
169
- * Repository implementations used to store wallet and contract state.
170
- *
171
- * @see BaseWalletConfig
172
- * @see WalletRepository
173
- * @see ContractRepository
174
- */
175
- export type StorageConfig = {
176
- /** Wallet-state repository implementation. */
177
- walletRepository: WalletRepository;
178
- /** Contract-state repository implementation. */
179
- contractRepository: ContractRepository;
180
- };
181
- /**
182
- * Provider class constructor interface for dependency injection.
183
- * Ensures provider classes follow the consistent constructor pattern.
184
- */
185
- export interface ProviderClass<T> {
186
- /**
187
- * Create a provider instance for the given server URL.
188
- *
189
- * @param serverUrl - Base server URL used by the provider
190
- */
191
- new (serverUrl: string): T;
192
- }
193
- /**
194
- * Balance summary returned by `IWallet.getBalance`.
195
- *
196
- * @see IWallet.getBalance
197
- *
198
- * @example
199
- * ```typescript
200
- * const balance = await wallet.getBalance()
201
- * console.log(balance.available, balance.boarding.total)
202
- * ```
203
- */
204
- export interface WalletBalance {
205
- /** Boarding funds */
206
- boarding: {
207
- /** Confirmed funds ready to swap for virtual outputs. */
208
- confirmed: number;
209
- /** Pending funds awaiting confirmation on mainnet */
210
- unconfirmed: number;
211
- /** Combined boarding balance (`confirmed` + `unconfirmed`) */
212
- total: number;
213
- };
214
- /** Spendable settled (finalized) balance. */
215
- settled: number;
216
- /** Spendable preconfirmed (unfinalized) balance. */
217
- preconfirmed: number;
218
- /** Spendable offchain balance (`settled + preconfirmed`). */
219
- available: number;
220
- /** Recoverable balance from subdust or expired (swept) virtual outputs. */
221
- recoverable: number;
222
- /** Total balance across offchain, recoverable, and boarding funds. */
223
- total: number;
224
- /** Asset balance entries (`assetId` & `amount`) */
225
- assets: Asset[];
226
- }
227
- /**
228
- * Parameters accepted by `OnchainWallet.send`.
229
- *
230
- * @remarks
231
- * This shape was also used by the deprecated `Wallet.sendBitcoin` method.
232
- * New wallet sends should use `Recipient` via `IWallet.send`.
233
- *
234
- * @see Recipient
235
- */
236
- export interface SendBitcoinParams {
237
- /** Destination address. */
238
- address: string;
239
- /** Amount to send in satoshis. */
240
- amount: number;
241
- /** Optional fee rate override in sats/vB. */
242
- feeRate?: number;
243
- /**
244
- * Optional memo associated with the transaction.
245
- * @deprecated Does not appear to have ever been used.
246
- */
247
- memo?: string;
248
- /** Optional explicit virtual output selection used by `Wallet.sendBitcoin`. */
249
- selectedVtxos?: ExtendedVirtualCoin[];
250
- }
251
- /**
252
- * Asset amount paired with an asset id.
253
- *
254
- * @see AssetDetails
255
- */
256
- export interface Asset {
257
- /** Asset identifier. */
258
- assetId: string;
259
- /**
260
- * Asset amount in base units. Typed as `bigint` because asset
261
- * supplies routinely exceed `Number.MAX_SAFE_INTEGER` (2^53 - 1)
262
- * and silently truncating in arithmetic would corrupt balances.
263
- */
264
- amount: bigint;
265
- }
266
- /**
267
- * Recipient accepted by `IWallet.send`.
268
- *
269
- * @see IWallet.send
270
- */
271
- export interface Recipient {
272
- address: string;
273
- /**
274
- * BTC amount in satoshis.
275
- *
276
- * @defaultValue Dust amount (`330`).
277
- */
278
- amount?: number;
279
- /** Assets to send to the same recipient (`assetId` & `amount`) */
280
- assets?: Asset[];
281
- }
282
- /**
283
- * Known asset metadata fields.
284
- *
285
- * @remarks
286
- * Additional metadata keys are allowed through `AssetMetadata`.
287
- *
288
- * @see AssetMetadata
289
- */
290
- export type KnownMetadata = Partial<{
291
- /** Asset name, e.g. "Tether USD" */
292
- name: string;
293
- /** Asset symbol, e.g. "USDT" */
294
- ticker: string;
295
- /**
296
- * Amount of decimal places to adjust the `amount` for
297
- * (e.g. `1_000_000` adjusted for `6` decimals = `1`)
298
- */
299
- decimals: number;
300
- /** Image source that can be passed to an `<img src>` attribute. */
301
- icon: string;
302
- }>;
303
- /**
304
- * Asset metadata including known fields and arbitrary extension keys.
305
- *
306
- * @see KnownMetadata
307
- */
308
- export type AssetMetadata = KnownMetadata & Record<string, unknown>;
309
- /**
310
- * Asset details returned by `IAssetManager.getAssetDetails`.
311
- *
312
- * @see IAssetManager.getAssetDetails
313
- * @see AssetMetadata
314
- */
315
- export type AssetDetails = {
316
- /** Asset identifier. */
317
- assetId: string;
318
- /**
319
- * Total issued supply in base units. Typed as `bigint` for the
320
- * same reason as {@link Asset.amount} — supplies often exceed
321
- * `Number.MAX_SAFE_INTEGER`.
322
- */
323
- supply: bigint;
324
- /** Optional immutable metadata associated with the asset. */
325
- metadata?: AssetMetadata;
326
- /** Optional control asset id required for future reissuance. */
327
- controlAssetId?: string;
328
- };
329
- /**
330
- * Parameters accepted by `IAssetManager.issue`.
331
- *
332
- * @see IAssetManager.issue
333
- * @see IssuanceResult
334
- */
335
- export interface IssuanceParams {
336
- /** Initial amount of asset to issue */
337
- amount: bigint;
338
- /** Optional control asset ID that can be used for future reissuance */
339
- controlAssetId?: string;
340
- /** Immutable asset metadata including `ticker`, `decimals`, `icon` */
341
- metadata?: AssetMetadata;
342
- }
343
- /**
344
- * Result returned by `IAssetManager.issue`.
345
- *
346
- * @see IAssetManager.issue
347
- * @see IssuanceParams
348
- */
349
- export interface IssuanceResult {
350
- /** Arkade transaction ID where the asset was issued */
351
- arkTxId: string;
352
- /** Permanent asset ID, made up of above `arkTxId` and zero-based asset group index */
353
- assetId: string;
354
- }
355
- /**
356
- * Parameters accepted by `IAssetManager.reissue`.
357
- *
358
- * @see IAssetManager.reissue
359
- */
360
- export interface ReissuanceParams {
361
- /** Existing asset ID, made up of genesis (Arkade) transaction ID and zero-based asset group index */
362
- assetId: string;
363
- /** Amount of asset to issue */
364
- amount: bigint;
365
- }
366
- /**
367
- * Parameters accepted by `IAssetManager.burn`.
368
- *
369
- * @see IAssetManager.burn
370
- */
371
- export interface BurnParams {
372
- /** Existing asset ID, made up of genesis (Arkade) transaction ID and zero-based asset group index */
373
- assetId: string;
374
- /** Amount of asset to burn */
375
- amount: bigint;
376
- }
377
- /**
378
- * Explicit inputs and outputs accepted by `IWallet.settle`.
379
- *
380
- * @remarks
381
- * Inputs can include both offchain virtual outputs and onchain boarding inputs.
382
- *
383
- * @see IWallet.settle
384
- * @see Output
385
- */
386
- export interface SettleParams {
387
- /** Offchain virtual outputs and/or onchain boarding inputs to settle. */
388
- inputs: ExtendedCoin[];
389
- /** Optional onchain outputs to create (i.e., exit to). */
390
- outputs: Output[];
391
- }
392
- /**
393
- * Onchain output status
394
- */
395
- export interface Status {
396
- /** Whether the output is confirmed */
397
- confirmed: boolean;
398
- /**
399
- * Whether the output exists as a finalized batch leaf.
400
- * In the current mapping this is `true` for settled and swept virtual outputs,
401
- * and `false` for preconfirmed virtual outputs.
402
- *
403
- * @remarks
404
- * `isLeaf` is currently derived from `!isPreconfirmed` in the indexer mapping.
405
- * It is used primarily by transaction history classification to distinguish
406
- * finalized batch outputs from preconfirmed offchain outputs.
407
- */
408
- isLeaf?: boolean;
409
- /** Block height where the output was confirmed, when known. */
410
- block_height?: number;
411
- /** Block hash where the output was confirmed, when known. */
412
- block_hash?: string;
413
- /** Block time where the output was confirmed, when known. */
414
- block_time?: number;
415
- }
416
- /**
417
- * Virtual output status
418
- */
419
- export interface VirtualStatus {
420
- /**
421
- * Extended output status.
422
- *
423
- * - `preconfirmed`: not yet finalized in a batch
424
- * - `settled`: finalized in a batch
425
- * - `swept`: expired/swept and recoverable in a new batch
426
- * - `spent`: destroyed by a later transaction
427
- *
428
- * @remarks
429
- * `state` is the high-level lifecycle summary used throughout wallet balance,
430
- * recovery, and transaction history logic.
431
- */
432
- state: "preconfirmed" | "settled" | "swept" | "spent";
433
- /**
434
- * Which batch commitment transaction(s) this virtual output depends on.
435
- *
436
- * @remarks
437
- * The history builder uses these ids to group received batch transactions and
438
- * relate refreshed or forfeited virtual outputs back to the same batch.
439
- */
440
- commitmentTxIds?: string[];
441
- /**
442
- * The earliest point at which this virtual output stops being safely preconfirmed.
443
- *
444
- * @remarks
445
- * The value is stored in milliseconds in the wallet model and is used by expiry
446
- * and recovery logic to decide when a virtual output can be swept or renewed.
447
- */
448
- batchExpiry?: number;
449
- }
450
- /** Onchain output location data. */
451
- export interface Outpoint {
452
- /** Transaction ID where the output was created */
453
- txid: string;
454
- /** Transaction output index for this output */
455
- vout: number;
456
- }
457
- /**
458
- * Onchain output data.
459
- *
460
- * @see Outpoint
461
- */
462
- export interface Coin extends Outpoint {
463
- /** Value of the output in satoshis */
464
- value: number;
465
- /** Onchain output status */
466
- status: Status;
467
- }
468
- /**
469
- * Virtual output data.
470
- *
471
- * @see Coin
472
- * @see VirtualStatus
473
- */
474
- export interface VirtualCoin extends Coin {
475
- /** Creation time of the virtual output. */
476
- createdAt: Date;
477
- /** The scriptPubKey (hex) locking this virtual output, as returned by the indexer. */
478
- script: string;
479
- /** Whether this virtual output has been broadcasted onchain via an unroll (unilateral exit). */
480
- isUnrolled: boolean;
481
- /**
482
- * Whether this virtual output is already spent (boolean helper for `spentBy`).
483
- * This is not set to true if the virtual output is unrolled or swept, only when it's spent offchain.
484
- */
485
- isSpent?: boolean;
486
- /** ID of the onchain commitment transaction that settled this output, if applicable. */
487
- settledBy?: string;
488
- /** ID of the offchain checkpoint transaction that spent this output, if applicable. */
489
- spentBy?: string;
490
- /** ID of the offchain Arkade transaction that spent the above checkpoint output, if applicable. */
491
- arkTxId?: string;
492
- /** Virtual output status */
493
- virtualStatus: VirtualStatus;
494
- /** Assets carried by this virtual output, if any. */
495
- assets?: Asset[];
496
- }
497
- /** Wallet transaction direction. */
498
- export declare enum TxType {
499
- TxSent = "SENT",
500
- TxReceived = "RECEIVED"
501
- }
502
- /**
503
- * Composite key used to correlate a wallet transaction across layers.
504
- *
505
- * @see ArkTransaction
506
- */
507
- export interface TxKey {
508
- /** Boarding transaction id, when applicable. */
509
- boardingTxid: string;
510
- /** Batch commitment transaction id, when applicable. */
511
- commitmentTxid: string;
512
- /** Arkade transaction id, when applicable. */
513
- arkTxid: string;
514
- }
515
- /**
516
- * Wallet transaction history entry.
517
- *
518
- * @see TxKey
519
- * @see TxType
520
- */
521
- export interface ArkTransaction {
522
- /** Composite key referencing the related transaction ids. */
523
- key: TxKey;
524
- /** Transaction direction. */
525
- type: TxType;
526
- /** Net transaction amount in satoshis. */
527
- amount: number;
528
- /** Whether the transaction is finalized. */
529
- settled: boolean;
530
- /** Creation timestamp in milliseconds since epoch. */
531
- createdAt: number;
532
- /** Assets sent or received by this transaction, if any. */
533
- assets?: Asset[];
534
- }
535
- /**
536
- * Tapleaves required to spend or settle a wallet output.
537
- *
538
- * @see ExtendedCoin
539
- * @see ExtendedVirtualCoin
540
- */
541
- export type TapLeaves = {
542
- /** Tapleaf script used for the forfeit path. */
543
- forfeitTapLeafScript: TapLeafScript;
544
- /** Tapleaf script used for the intent path. */
545
- intentTapLeafScript: TapLeafScript;
546
- };
547
- /**
548
- * Onchain output data enriched with tapscript and witness data.
549
- *
550
- * @see Coin
551
- * @see TapLeaves
552
- */
553
- export type ExtendedCoin = TapLeaves & EncodedVtxoScript & Coin & {
554
- extraWitness?: Bytes[];
555
- };
556
- /**
557
- * Virtual output data enriched with tapscript and witness data.
558
- *
559
- * @see VirtualCoin
560
- * @see TapLeaves
561
- */
562
- export type ExtendedVirtualCoin = TapLeaves & EncodedVtxoScript & VirtualCoin & {
563
- extraWitness?: Bytes[];
564
- };
565
- /**
566
- * Return whether a virtual output is still spendable.
567
- *
568
- * @param vtxo - virtual output to inspect
569
- * @returns `true` when the virtual output is not marked as spent
570
- *
571
- * @see isRecoverable
572
- * @see isExpired
573
- */
574
- export declare function isSpendable(vtxo: VirtualCoin): boolean;
575
- /**
576
- * Return whether a virtual output is recoverable.
577
- *
578
- * @param vtxo - virtual output to inspect
579
- * @returns `true` when the virtual output is swept but still spendable
580
- *
581
- * @remarks
582
- * Recoverable virtual outputs are typically re-settled into fresh virtual outputs by the virtual output manager.
583
- *
584
- * @see isSpendable
585
- * @see isExpired
586
- */
587
- export declare function isRecoverable(vtxo: VirtualCoin): boolean;
588
- /**
589
- * Return whether a virtual output should be treated as expired.
590
- *
591
- * @param vtxo - virtual output to inspect
592
- * @returns `true` when the virtual output is swept or its batch expiry has passed
593
- * @remarks
594
- * On regtest-like environments the upstream expiry value may be expressed as a block
595
- * height instead of a timestamp. This helper intentionally ignores obviously non-time
596
- * values to avoid false positives.
597
- *
598
- * @see VirtualStatus.batchExpiry
599
- */
600
- export declare function isExpired(vtxo: VirtualCoin): boolean;
601
- /**
602
- * Return whether a virtual output is below the dust threshold.
603
- *
604
- * @param vtxo - virtual output to inspect
605
- * @param dust - dust threshold in satoshis
606
- * @returns `true` when the virtual output value is below `dust`
607
- *
608
- * @see isRecoverable
609
- */
610
- export declare function isSubdust(vtxo: VirtualCoin, dust: bigint): boolean;
611
- /**
612
- * Filtering options for `IWallet.getVtxos`.
613
- *
614
- * @see IWallet.getVtxos
615
- */
616
- export type GetVtxosFilter = {
617
- /** Include swept but still unspent virtual outputs. */
618
- withRecoverable?: boolean;
619
- /** Include virtual outputs that have been unrolled onchain. */
620
- withUnrolled?: boolean;
621
- };
622
- /**
623
- * Readonly asset manager interface for asset operations that do not require wallet identity.
624
- *
625
- * @see IAssetManager
626
- */
627
- export interface IReadonlyAssetManager {
628
- /**
629
- * Fetch metadata and supply data for an asset.
630
- *
631
- * @param assetId - Asset identifier
632
- * @returns Asset details
633
- * @see AssetDetails
634
- */
635
- getAssetDetails(assetId: string): Promise<AssetDetails>;
636
- }
637
- /**
638
- * Asset manager interface for asset operations that require wallet identity.
639
- *
640
- * @see IReadonlyAssetManager
641
- */
642
- export interface IAssetManager extends IReadonlyAssetManager {
643
- /**
644
- * Issue a new asset.
645
- *
646
- * @param params - Asset issuance parameters
647
- * @returns Asset issuance result
648
- * @see IssuanceParams
649
- * @see IssuanceResult
650
- */
651
- issue(params: IssuanceParams): Promise<IssuanceResult>;
652
- /**
653
- * Reissue an existing asset.
654
- *
655
- * @param params - Asset reissuance parameters
656
- * @returns Arkade transaction id
657
- * @see ReissuanceParams
658
- */
659
- reissue(params: ReissuanceParams): Promise<string>;
660
- /**
661
- * Burn an existing asset.
662
- *
663
- * @param params - Asset burn parameters
664
- * @returns Arkade transaction id
665
- * @see BurnParams
666
- */
667
- burn(params: BurnParams): Promise<string>;
668
- }
669
- /**
670
- * Core wallet interface for Bitcoin transactions with Arkade protocol support.
671
- *
672
- * This interface defines the contract that all wallet implementations must follow.
673
- * It provides methods for address management, balance checking, virtual output
674
- * operations, and transaction management including sending, settling, and unrolling.
675
- *
676
- * @see IReadonlyWallet
677
- */
678
- export interface IWallet extends IReadonlyWallet {
679
- /** Signing identity associated with the wallet. */
680
- identity: Identity;
681
- /**
682
- * Send bitcoin to a single Arkade address.
683
- *
684
- * @param params - Destination, amount, fee rate override, etc
685
- * @returns Arkade transaction id
686
- * @deprecated Use `send`
687
- * @see send
688
- * @see Recipient
689
- */
690
- sendBitcoin(params: SendBitcoinParams): Promise<string>;
691
- /**
692
- * Settle boarding inputs and/or preconfirmed virtual outputs into settled virtual outputs.
693
- *
694
- * @param params - Optional explicit settlement inputs and outputs
695
- * @param eventCallback - Optional callback that receives settlement events
696
- * @returns Arkade transaction id
697
- * @see SettleParams
698
- */
699
- settle(params?: SettleParams, eventCallback?: (event: SettlementEvent) => void): Promise<string>;
700
- /**
701
- * Send bitcoin and/or assets to one or more Arkade recipients.
702
- *
703
- * @param recipients - One or more recipients
704
- * @returns Arkade transaction id
705
- * @example
706
- * ```typescript
707
- * await wallet.send({ address: 'ark1q...', amount: 1000 })
708
- * ```
709
- */
710
- send(...recipients: [Recipient, ...Recipient[]]): Promise<string>;
711
- /** Asset manager bound to this wallet instance. */
712
- assetManager: IAssetManager;
713
- /** @returns Delegation manager, when configured. */
714
- getDelegatorManager(): Promise<IDelegatorManager | undefined>;
715
- }
716
- /**
717
- * Readonly wallet interface for Bitcoin transactions with Arkade protocol support.
718
- *
719
- * This interface defines the contract that all wallet implementations must follow.
720
- * It provides methods for address management, balance checking, virtual output
721
- * operations, and transaction management including sending, settling, and unrolling.
722
- *
723
- * @see IWallet
724
- */
725
- export interface IReadonlyWallet {
726
- /** Readonly identity associated with the wallet. */
727
- identity: ReadonlyIdentity;
728
- /** @returns Arkade address used for offchain funds. */
729
- getAddress(): Promise<string>;
730
- /** @returns Onchain boarding address used to move funds into Arkade. */
731
- getBoardingAddress(): Promise<string>;
732
- /** @returns The wallet's combined onchain and offchain balance. */
733
- getBalance(): Promise<WalletBalance>;
734
- /**
735
- * Get virtual outputs tracked by the wallet.
736
- *
737
- * @param filter - Optional filtering flags
738
- * @returns virtual outputs with tapscript and witness data
739
- * @see GetVtxosFilter
740
- */
741
- getVtxos(filter?: GetVtxosFilter): Promise<ExtendedVirtualCoin[]>;
742
- /** @returns Onchain boarding inputs tracked by the wallet. */
743
- getBoardingUtxos(): Promise<ExtendedCoin[]>;
744
- /** @returns Wallet transaction history derived from boarding and Arkade activity. */
745
- getTransactionHistory(): Promise<ArkTransaction[]>;
746
- /**
747
- * Get the contract manager associated with this wallet.
748
- * This is useful for querying contract state and watching for contract events.
749
- *
750
- * @returns Contract manager instance
751
- */
752
- getContractManager(): Promise<IContractManager>;
753
- /** Readonly asset manager bound to this wallet instance. */
754
- assetManager: IReadonlyAssetManager;
755
- }