@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
package/README.md CHANGED
@@ -28,12 +28,11 @@ const mnemonic = generateMnemonic(wordlist)
28
28
  const identity = MnemonicIdentity.fromMnemonic(mnemonic)
29
29
 
30
30
  // Create a wallet with Arkade support
31
- const wallet = await Wallet.create({
32
- identity,
33
- arkServerUrl: 'https://arkade.computer',
34
- })
31
+ const wallet = await Wallet.create({ identity }) // defaults to mainnet
35
32
  ```
36
33
 
34
+ To use a different network, pass `arkServerUrl` option.
35
+
37
36
  ### Read-Only Wallets (Watch-Only)
38
37
 
39
38
  The SDK supports read-only wallets that allow you to query wallet state without exposing private keys. This is useful for:
@@ -55,7 +54,6 @@ const readonlyIdentity = ReadonlySingleKey.fromPublicKey(publicKey)
55
54
  // Create a read-only wallet
56
55
  const readonlyWallet = await ReadonlyWallet.create({
57
56
  identity: readonlyIdentity,
58
- arkServerUrl: 'https://arkade.computer'
59
57
  })
60
58
 
61
59
  // Query operations work normally
@@ -75,10 +73,7 @@ import { Wallet, MnemonicIdentity } from '@arkade-os/sdk'
75
73
 
76
74
  // Create a full wallet
77
75
  const identity = MnemonicIdentity.fromMnemonic('abandon abandon...')
78
- const wallet = await Wallet.create({
79
- identity,
80
- arkServerUrl: 'https://arkade.computer'
81
- })
76
+ const wallet = await Wallet.create({ identity })
82
77
 
83
78
  // Convert to read-only wallet (safe to share)
84
79
  const readonlyWallet = await wallet.toReadonly()
@@ -101,7 +96,6 @@ const readonlyIdentity = await identity.toReadonly()
101
96
  // Use in read-only wallet
102
97
  const readonlyWallet = await ReadonlyWallet.create({
103
98
  identity: readonlyIdentity,
104
- arkServerUrl: 'https://arkade.computer'
105
99
  })
106
100
  ```
107
101
 
@@ -132,7 +126,6 @@ const identityWithPassphrase = MnemonicIdentity.fromMnemonic(mnemonic, {
132
126
  // Create wallet as usual
133
127
  const wallet = await Wallet.create({
134
128
  identity: identityWithPassphrase,
135
- arkServerUrl: 'https://arkade.computer'
136
129
  })
137
130
  ```
138
131
 
@@ -177,7 +170,6 @@ const readonlyFromTemplate = ReadonlyDescriptorIdentity.fromDescriptor(template)
177
170
  // Use in a watch-only wallet
178
171
  const readonlyWallet = await ReadonlyWallet.create({
179
172
  identity: readonly,
180
- arkServerUrl: 'https://arkade.computer'
181
173
  })
182
174
 
183
175
  // Can query but not sign
@@ -219,7 +211,7 @@ const identity = new MyBrowserWallet()
219
211
  console.log(isBatchSignable(identity)) // true
220
212
 
221
213
  // Wallet.send() uses one popup instead of N+1
222
- const wallet = await Wallet.create({ identity, arkServerUrl: 'https://arkade.computer' })
214
+ const wallet = await Wallet.create({ identity })
223
215
  await wallet.send({ address: 'ark1q...', amount: 1000 })
224
216
  ```
225
217
 
@@ -377,7 +369,7 @@ The wallet's `assetManager` lets you create and manage assets on Arkade. The `se
377
369
  ```typescript
378
370
  // Issue a new asset (non-reissuable by default)
379
371
  const { assetId: controlAssetId } = await wallet.assetManager.issue({
380
- amount: 1,
372
+ amount: 1n,
381
373
  metadata: {
382
374
  ticker: 'ctrl-MTK'
383
375
  }
@@ -385,7 +377,7 @@ const { assetId: controlAssetId } = await wallet.assetManager.issue({
385
377
 
386
378
  // Issue a new asset referencing the control asset
387
379
  const { assetId } = await wallet.assetManager.issue({
388
- amount: 500,
380
+ amount: 500n,
389
381
  controlAssetId,
390
382
  metadata: {
391
383
  ticker: 'MTK'
@@ -395,19 +387,19 @@ const { assetId } = await wallet.assetManager.issue({
395
387
  // Reissue more supply of the asset (requires ownership of the control asset)
396
388
  const reissuanceTxId = await wallet.assetManager.reissue({
397
389
  assetId,
398
- amount: 500,
390
+ amount: 500n,
399
391
  })
400
392
 
401
393
  // Burn some of the asset
402
394
  const burnTxId = await wallet.assetManager.burn({
403
395
  assetId,
404
- amount: 200,
396
+ amount: 200n,
405
397
  })
406
398
 
407
399
  // Send asset to another Arkade address
408
400
  const sendTxId = await wallet.send({
409
401
  address: 'ark1q...',
410
- assets: [{ assetId, amount: 100 }],
402
+ assets: [{ assetId, amount: 100n }],
411
403
  })
412
404
 
413
405
  // Check remaining balance
@@ -456,7 +448,6 @@ Virtual output renewal at 3 days and boarding input sweep enabled.
456
448
  ```typescript
457
449
  const wallet = await Wallet.create({
458
450
  identity,
459
- arkServerUrl: 'https://arkade.computer',
460
451
  // Enable settlement with defaults explicitly:
461
452
  settlementConfig: {
462
453
  // Seconds before virtual output expiry to trigger renewal
@@ -473,7 +464,6 @@ const wallet = await Wallet.create({
473
464
  // Enable both virtual output renewal and boarding input sweep
474
465
  const wallet = await Wallet.create({
475
466
  identity,
476
- arkServerUrl: 'https://arkade.computer',
477
467
  settlementConfig: {
478
468
  vtxoThreshold: 60 * 60 * 24, // renew when 24 hours remain (in seconds)
479
469
  boardingUtxoSweep: true, // sweep expired boarding inputs
@@ -485,7 +475,6 @@ const wallet = await Wallet.create({
485
475
  // Explicitly disable all settlement
486
476
  const wallet = await Wallet.create({
487
477
  identity,
488
- arkServerUrl: 'https://arkade.computer',
489
478
  settlementConfig: false,
490
479
  })
491
480
  ```
@@ -567,7 +556,6 @@ import { Wallet, MnemonicIdentity, RestDelegatorProvider } from '@arkade-os/sdk'
567
556
 
568
557
  const wallet = await Wallet.create({
569
558
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
570
- arkServerUrl: 'https://arkade.computer',
571
559
  delegatorProvider: new RestDelegatorProvider('http://localhost:7001'),
572
560
  })
573
561
  ```
@@ -612,7 +600,6 @@ import { ServiceWorkerWallet, MnemonicIdentity } from '@arkade-os/sdk'
612
600
 
613
601
  const wallet = await ServiceWorkerWallet.setup({
614
602
  serviceWorkerPath: '/service-worker.js',
615
- arkServerUrl: 'https://arkade.computer',
616
603
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
617
604
  delegatorUrl: 'http://localhost:7001',
618
605
  })
@@ -666,12 +653,12 @@ const history = await wallet.getTransactionHistory()
666
653
  arkTxid: string;
667
654
  };
668
655
  type: "SENT" | "RECEIVED";
669
- amount: number;
656
+ amount: number; // BTC amount in satoshis
670
657
  settled: boolean;
671
658
  createdAt: number;
672
659
  assets?: Array<{
673
660
  assetId: string,
674
- amount: number
661
+ amount: bigint // asset amount in base units
675
662
  }>
676
663
  }
677
664
  */
@@ -686,7 +673,6 @@ import { Wallet, MnemonicIdentity, Ramps } from '@arkade-os/sdk'
686
673
 
687
674
  const wallet = await Wallet.create({
688
675
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
689
- arkServerUrl: 'https://arkade.computer'
690
676
  })
691
677
 
692
678
  // Get fee information from the server
@@ -828,7 +814,6 @@ import { ServiceWorkerWallet, MnemonicIdentity } from '@arkade-os/sdk'
828
814
  // One-liner: registers the SW, initializes the MessageBus, and creates the wallet
829
815
  const wallet = await ServiceWorkerWallet.setup({
830
816
  serviceWorkerPath: '/service-worker.js',
831
- arkServerUrl: 'https://arkade.computer',
832
817
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
833
818
  })
834
819
 
@@ -911,20 +896,11 @@ The `StorageAdapter` API is deprecated. Use repositories instead. If you omit `s
911
896
  > next call to `getMigrationStatus` can detect the partial migration. Old data
912
897
  > is never deleted — re-running migration after a rollback is safe.
913
898
  >
914
- > Anything related to contract repository migration must be handled by the package which created them. The SDK doesn't manage contracts in V1. Data remains untouched and persisted in the same old location.
915
- >
916
- > If you persisted custom data in the ContractRepository via its `setContractData` method,
917
- > or a custom collection via `saveToContractCollection`, you'll need to migrate it manually:
918
- >
919
- > ```typescript
920
- > // Custom data stored in the ContractRepository
921
- > const oldStorage = new IndexedDBStorageAdapter('legacy-wallet', 1)
922
- > const oldRepo = new ContractRepositoryImpl(storageAdapter)
923
- > const customContract = await oldRepo.getContractData('my-contract', 'status')
924
- > await contractRepository.setContractData('my-contract', 'status', customData)
925
- > const customCollection = await oldRepo.getContractCollection('swaps')
926
- > await contractRepository.saveToContractCollection('swaps', customCollection)
927
- > ```
899
+ > Anything related to contract repository migration must be handled by the
900
+ > package that created the contracts. The SDK doesn't manage external contracts
901
+ > in V1; data persisted by other packages remains untouched in its original
902
+ > location. For example, see `@arkade-os/boltz-swap`'s `migrateToSwapRepository`
903
+ > for migrating legacy `reverseSwaps` / `submarineSwaps` collections.
928
904
 
929
905
  #### Repository Versioning
930
906
 
@@ -968,7 +944,6 @@ const executor: SQLExecutor = {
968
944
 
969
945
  const wallet = await Wallet.create({
970
946
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
971
- arkServerUrl: 'https://arkade.computer',
972
947
  storage: {
973
948
  walletRepository: new SQLiteWalletRepository(executor),
974
949
  contractRepository: new SQLiteContractRepository(executor),
@@ -999,7 +974,6 @@ const realm = await Realm.open({
999
974
  })
1000
975
  const wallet = await Wallet.create({
1001
976
  identity,
1002
- arkServerUrl: 'https://arkade.computer',
1003
977
  storage: {
1004
978
  walletRepository: new RealmWalletRepository(realm),
1005
979
  contractRepository: new RealmContractRepository(realm),
@@ -1017,7 +991,6 @@ import { MnemonicIdentity, Wallet } from '@arkade-os/sdk'
1017
991
 
1018
992
  const wallet = await Wallet.create({
1019
993
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
1020
- arkServerUrl: 'https://arkade.computer',
1021
994
  // Uses IndexedDB by default in the browser
1022
995
  })
1023
996
  ```
@@ -1037,7 +1010,6 @@ import {
1037
1010
 
1038
1011
  const wallet = await Wallet.create({
1039
1012
  identity: MnemonicIdentity.fromMnemonic('abandon abandon...'),
1040
- arkServerUrl: 'https://arkade.computer',
1041
1013
  storage: {
1042
1014
  walletRepository: new InMemoryWalletRepository(),
1043
1015
  contractRepository: new InMemoryContractRepository()
@@ -1121,7 +1093,6 @@ const executor = {
1121
1093
 
1122
1094
  const wallet = await Wallet.create({
1123
1095
  identity,
1124
- arkServerUrl: 'https://arkade.computer',
1125
1096
  arkProvider: new ExpoArkProvider('https://arkade.computer'),
1126
1097
  indexerProvider: new ExpoIndexerProvider('https://arkade.computer'),
1127
1098
  storage: {
@@ -1233,103 +1204,43 @@ The watcher features:
1233
1204
 
1234
1205
  ### Repository Pattern
1235
1206
 
1236
- Access low-level data management through repositories:
1207
+ Most users don't need to touch repositories directly — `Wallet` and `ContractManager` already read and write through them. They are documented here for advanced integrations (custom storage backends, offline-first apps, repository inspection).
1237
1208
 
1238
1209
  ```typescript
1239
- // Virtual output management (automatically cached for performance)
1210
+ // Wallet repository VTXOs, UTXOs, transaction history, settings
1240
1211
  const addr = await wallet.getAddress()
1241
1212
  const vtxos = await wallet.walletRepository.getVtxos(addr)
1242
- await wallet.walletRepository.saveVtxos(addr, vtxos)
1243
-
1244
- // Contract data for SDK integrations
1245
- await wallet.contractRepository.setContractData('my-contract', 'status', 'active')
1246
- const status = await wallet.contractRepository.getContractData('my-contract', 'status')
1247
-
1248
- // Collection management for related data
1249
- await wallet.contractRepository.saveToContractCollection(
1250
- 'swaps',
1251
- { id: 'swap-1', amount: 50000, type: 'reverse' },
1252
- 'id' // key field
1253
- )
1254
- const swaps = await wallet.contractRepository.getContractCollection('swaps')
1213
+ const utxos = await wallet.walletRepository.getUtxos(addr)
1214
+ const history = await wallet.walletRepository.getTransactionHistory(addr)
1215
+
1216
+ // Contract repository — script-keyed contracts (default address, VHTLCs, etc.)
1217
+ const contracts = await wallet.contractRepository.getContracts({ type: 'vhtlc' })
1218
+ await wallet.contractRepository.saveContract(myContract)
1219
+ await wallet.contractRepository.deleteContract(myContract.script)
1255
1220
  ```
1256
1221
 
1257
1222
  _For complete API documentation, visit our [TypeDoc documentation](https://arkade-os.github.io/ts-sdk/)._
1258
1223
 
1259
1224
  ## Development
1260
1225
 
1261
- ### Requirements
1226
+ This package is developed inside the [arkade-os/ts-sdk](../..) monorepo. See the [root README](../../README.md) for repo-wide setup (`pnpm install`, submodule init, lint) and the integration test workflow against the shared regtest stack.
1262
1227
 
1263
- - [pnpm](https://pnpm.io/) - Package manager
1264
- - [nigiri](https://github.com/vulpemventures/nigiri) - For running integration tests with a local Bitcoin regtest network
1265
-
1266
- ### Setup
1267
-
1268
- 1. Install dependencies:
1269
-
1270
- ```bash
1271
- pnpm install
1272
- pnpm format
1273
- pnpm lint
1274
- ```
1275
-
1276
- 1. Install nigiri for integration tests:
1277
-
1278
- ```bash
1279
- curl https://getnigiri.vulpem.com | bash
1280
- ```
1281
-
1282
- ### Running Tests
1228
+ Common package-local commands (run from the repo root):
1283
1229
 
1284
1230
  ```bash
1285
- # Run all tests
1286
- pnpm test
1287
-
1288
- # Run unit tests only
1289
- pnpm test:unit
1290
-
1291
- # Run integration tests with ark provided by nigiri
1292
- nigiri start --ark
1293
- pnpm test:setup # Run setup script for integration tests
1294
- pnpm test:integration
1295
- nigiri stop --delete
1296
-
1297
- # Run integration tests with ark provided by docker (requires nigiri)
1298
- nigiri start
1299
- pnpm test:up-docker
1300
- pnpm test:setup-docker # Run setup script for integration tests
1301
- pnpm test:integration-docker
1302
- pnpm test:down-docker
1303
- nigiri stop --delete
1304
-
1305
- # Watch mode for development
1306
- pnpm test:watch
1307
-
1308
- # Run tests with coverage
1309
- pnpm test:coverage
1231
+ pnpm -C packages/ts-sdk run typecheck # Type-check the SDK
1232
+ pnpm -C packages/ts-sdk test:unit # Unit tests, excluding e2e
1233
+ pnpm -C packages/ts-sdk test:watch # Vitest watch mode
1234
+ pnpm -C packages/ts-sdk test:coverage # Coverage report
1235
+ pnpm -C packages/ts-sdk docs:build # Build TypeDoc API docs
1236
+ pnpm -C packages/ts-sdk docs:open # Open API docs in the browser
1310
1237
  ```
1311
1238
 
1312
- ### Building the documentation
1313
-
1314
- ```bash
1315
- # Build the TypeScript documentation
1316
- pnpm docs:build
1317
- # Open the docs in the browser
1318
- pnpm docs:open
1319
- ```
1239
+ For integration tests, use the root commands (`pnpm run test:integration:ts-sdk` and the `regtest:*:ts-sdk` family) — see the root README.
1320
1240
 
1321
1241
  ### Releasing
1322
1242
 
1323
- ```bash
1324
- # Release new version (will prompt for version patch, minor, major)
1325
- pnpm release
1326
-
1327
- # You can test release process without making changes
1328
- pnpm release:dry-run
1329
-
1330
- # Cleanup: checkout version commit and remove release branch
1331
- pnpm release:cleanup
1332
- ```
1243
+ Package-local releases are disabled. Releases run from the monorepo root and are package-scoped: `pnpm run release -- sdk patch` bumps `@arkade-os/sdk`, creates a `@arkade-os/sdk/<version>` tag, and also bumps `@arkade-os/boltz-swap` (which depends on SDK via `workspace:*`). See the [root README](../../README.md#releasing) for full flags and `pnpm run release -- --help`.
1333
1244
 
1334
1245
  ## License
1335
1246
 
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var chunk5BLDMQED_cjs = require('../chunk-5BLDMQED.cjs');
4
+
5
+ // src/storage/asyncStorage.ts
6
+ var AsyncStorageAdapter = class {
7
+ AsyncStorage;
8
+ constructor() {
9
+ try {
10
+ this.AsyncStorage = chunk5BLDMQED_cjs.__require("@react-native-async-storage/async-storage").default;
11
+ } catch (error) {
12
+ throw new Error(
13
+ "AsyncStorage is not available. Make sure @react-native-async-storage/async-storage is installed in React Native environment."
14
+ );
15
+ }
16
+ }
17
+ async getItem(key) {
18
+ return await this.AsyncStorage.getItem(key);
19
+ }
20
+ async setItem(key, value) {
21
+ try {
22
+ await this.AsyncStorage.setItem(key, value);
23
+ } catch (error) {
24
+ console.error(`Failed to set item for key ${key}:`, error);
25
+ throw error;
26
+ }
27
+ }
28
+ async removeItem(key) {
29
+ try {
30
+ await this.AsyncStorage.removeItem(key);
31
+ } catch (error) {
32
+ console.error(`Failed to remove item for key ${key}:`, error);
33
+ throw error;
34
+ }
35
+ }
36
+ async clear() {
37
+ try {
38
+ await this.AsyncStorage.clear();
39
+ } catch (error) {
40
+ console.error("Failed to clear AsyncStorage:", error);
41
+ throw error;
42
+ }
43
+ }
44
+ };
45
+
46
+ exports.AsyncStorageAdapter = AsyncStorageAdapter;
47
+ //# sourceMappingURL=asyncStorage.cjs.map
48
+ //# sourceMappingURL=asyncStorage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/storage/asyncStorage.ts"],"names":["__require"],"mappings":";;;;;AAMO,IAAM,sBAAN,MAAoD;AAAA,EAC/C,YAAA;AAAA,EAER,WAAA,GAAc;AACV,IAAA,IAAI;AAEA,MAAA,IAAA,CAAK,YAAA,GAAeA,2BAAA,CAAQ,2CAA2C,CAAA,CAAE,OAAA;AAAA,IAC7E,SAAS,KAAA,EAAO;AACZ,MAAA,MAAM,IAAI,KAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,GAAA,EAAqC;AAC/C,IAAA,OAAO,MAAM,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,GAAG,CAAA;AAAA,EAC9C;AAAA,EAEA,MAAM,OAAA,CAAQ,GAAA,EAAa,KAAA,EAA8B;AACrD,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,GAAA,EAAK,KAAK,CAAA;AAAA,IAC9C,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,2BAAA,EAA8B,GAAG,CAAA,CAAA,CAAA,EAAK,KAAK,CAAA;AACzD,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,WAAW,GAAA,EAA4B;AACzC,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,YAAA,CAAa,UAAA,CAAW,GAAG,CAAA;AAAA,IAC1C,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,8BAAA,EAAiC,GAAG,CAAA,CAAA,CAAA,EAAK,KAAK,CAAA;AAC5D,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,KAAA,GAAuB;AACzB,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,aAAa,KAAA,EAAM;AAAA,IAClC,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,iCAAiC,KAAK,CAAA;AACpD,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AACJ","file":"asyncStorage.cjs","sourcesContent":["import type { StorageAdapter } from \"./index\";\n\n/**\n * @deprecated Use repositories instead\n * Note: This requires @react-native-async-storage/async-storage to be installed\n */\nexport class AsyncStorageAdapter implements StorageAdapter {\n private AsyncStorage: any;\n\n constructor() {\n try {\n // Dynamic import to avoid errors in non-React Native environments\n this.AsyncStorage = require(\"@react-native-async-storage/async-storage\").default;\n } catch (error) {\n throw new Error(\n \"AsyncStorage is not available. Make sure @react-native-async-storage/async-storage is installed in React Native environment.\",\n );\n }\n }\n\n async getItem(key: string): Promise<string | null> {\n return await this.AsyncStorage.getItem(key);\n }\n\n async setItem(key: string, value: string): Promise<void> {\n try {\n await this.AsyncStorage.setItem(key, value);\n } catch (error) {\n console.error(`Failed to set item for key ${key}:`, error);\n throw error;\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.AsyncStorage.removeItem(key);\n } catch (error) {\n console.error(`Failed to remove item for key ${key}:`, error);\n throw error;\n }\n }\n\n async clear(): Promise<void> {\n try {\n await this.AsyncStorage.clear();\n } catch (error) {\n console.error(\"Failed to clear AsyncStorage:\", error);\n throw error;\n }\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import { S as StorageAdapter } from '../index-C0IanN1m.cjs';
2
+
3
+ /**
4
+ * @deprecated Use repositories instead
5
+ * Note: This requires @react-native-async-storage/async-storage to be installed
6
+ */
7
+ declare class AsyncStorageAdapter implements StorageAdapter {
8
+ private AsyncStorage;
9
+ constructor();
10
+ getItem(key: string): Promise<string | null>;
11
+ setItem(key: string, value: string): Promise<void>;
12
+ removeItem(key: string): Promise<void>;
13
+ clear(): Promise<void>;
14
+ }
15
+
16
+ export { AsyncStorageAdapter, StorageAdapter };
@@ -1,9 +1,10 @@
1
- import type { StorageAdapter } from "./index.js";
1
+ import { S as StorageAdapter } from '../index-C0IanN1m.js';
2
+
2
3
  /**
3
4
  * @deprecated Use repositories instead
4
5
  * Note: This requires @react-native-async-storage/async-storage to be installed
5
6
  */
6
- export declare class AsyncStorageAdapter implements StorageAdapter {
7
+ declare class AsyncStorageAdapter implements StorageAdapter {
7
8
  private AsyncStorage;
8
9
  constructor();
9
10
  getItem(key: string): Promise<string | null>;
@@ -11,3 +12,5 @@ export declare class AsyncStorageAdapter implements StorageAdapter {
11
12
  removeItem(key: string): Promise<void>;
12
13
  clear(): Promise<void>;
13
14
  }
15
+
16
+ export { AsyncStorageAdapter, StorageAdapter };
@@ -0,0 +1,46 @@
1
+ import { __require } from '../chunk-NSBPE2FW.js';
2
+
3
+ // src/storage/asyncStorage.ts
4
+ var AsyncStorageAdapter = class {
5
+ AsyncStorage;
6
+ constructor() {
7
+ try {
8
+ this.AsyncStorage = __require("@react-native-async-storage/async-storage").default;
9
+ } catch (error) {
10
+ throw new Error(
11
+ "AsyncStorage is not available. Make sure @react-native-async-storage/async-storage is installed in React Native environment."
12
+ );
13
+ }
14
+ }
15
+ async getItem(key) {
16
+ return await this.AsyncStorage.getItem(key);
17
+ }
18
+ async setItem(key, value) {
19
+ try {
20
+ await this.AsyncStorage.setItem(key, value);
21
+ } catch (error) {
22
+ console.error(`Failed to set item for key ${key}:`, error);
23
+ throw error;
24
+ }
25
+ }
26
+ async removeItem(key) {
27
+ try {
28
+ await this.AsyncStorage.removeItem(key);
29
+ } catch (error) {
30
+ console.error(`Failed to remove item for key ${key}:`, error);
31
+ throw error;
32
+ }
33
+ }
34
+ async clear() {
35
+ try {
36
+ await this.AsyncStorage.clear();
37
+ } catch (error) {
38
+ console.error("Failed to clear AsyncStorage:", error);
39
+ throw error;
40
+ }
41
+ }
42
+ };
43
+
44
+ export { AsyncStorageAdapter };
45
+ //# sourceMappingURL=asyncStorage.js.map
46
+ //# sourceMappingURL=asyncStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/storage/asyncStorage.ts"],"names":[],"mappings":";;;AAMO,IAAM,sBAAN,MAAoD;AAAA,EAC/C,YAAA;AAAA,EAER,WAAA,GAAc;AACV,IAAA,IAAI;AAEA,MAAA,IAAA,CAAK,YAAA,GAAe,SAAA,CAAQ,2CAA2C,CAAA,CAAE,OAAA;AAAA,IAC7E,SAAS,KAAA,EAAO;AACZ,MAAA,MAAM,IAAI,KAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,GAAA,EAAqC;AAC/C,IAAA,OAAO,MAAM,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,GAAG,CAAA;AAAA,EAC9C;AAAA,EAEA,MAAM,OAAA,CAAQ,GAAA,EAAa,KAAA,EAA8B;AACrD,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,GAAA,EAAK,KAAK,CAAA;AAAA,IAC9C,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,2BAAA,EAA8B,GAAG,CAAA,CAAA,CAAA,EAAK,KAAK,CAAA;AACzD,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,WAAW,GAAA,EAA4B;AACzC,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,YAAA,CAAa,UAAA,CAAW,GAAG,CAAA;AAAA,IAC1C,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,CAAA,8BAAA,EAAiC,GAAG,CAAA,CAAA,CAAA,EAAK,KAAK,CAAA;AAC5D,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,KAAA,GAAuB;AACzB,IAAA,IAAI;AACA,MAAA,MAAM,IAAA,CAAK,aAAa,KAAA,EAAM;AAAA,IAClC,SAAS,KAAA,EAAO;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,iCAAiC,KAAK,CAAA;AACpD,MAAA,MAAM,KAAA;AAAA,IACV;AAAA,EACJ;AACJ","file":"asyncStorage.js","sourcesContent":["import type { StorageAdapter } from \"./index\";\n\n/**\n * @deprecated Use repositories instead\n * Note: This requires @react-native-async-storage/async-storage to be installed\n */\nexport class AsyncStorageAdapter implements StorageAdapter {\n private AsyncStorage: any;\n\n constructor() {\n try {\n // Dynamic import to avoid errors in non-React Native environments\n this.AsyncStorage = require(\"@react-native-async-storage/async-storage\").default;\n } catch (error) {\n throw new Error(\n \"AsyncStorage is not available. Make sure @react-native-async-storage/async-storage is installed in React Native environment.\",\n );\n }\n }\n\n async getItem(key: string): Promise<string | null> {\n return await this.AsyncStorage.getItem(key);\n }\n\n async setItem(key: string, value: string): Promise<void> {\n try {\n await this.AsyncStorage.setItem(key, value);\n } catch (error) {\n console.error(`Failed to set item for key ${key}:`, error);\n throw error;\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.AsyncStorage.removeItem(key);\n } catch (error) {\n console.error(`Failed to remove item for key ${key}:`, error);\n throw error;\n }\n }\n\n async clear(): Promise<void> {\n try {\n await this.AsyncStorage.clear();\n } catch (error) {\n console.error(\"Failed to clear AsyncStorage:\", error);\n throw error;\n }\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var chunkFG5ACJJW_cjs = require('../chunk-FG5ACJJW.cjs');
4
+ require('../chunk-ADV27S4N.cjs');
5
+ require('../chunk-5PG7DV7A.cjs');
6
+ require('../chunk-5BLDMQED.cjs');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, "ExpoArkProvider", {
11
+ enumerable: true,
12
+ get: function () { return chunkFG5ACJJW_cjs.ExpoArkProvider; }
13
+ });
14
+ Object.defineProperty(exports, "ExpoIndexerProvider", {
15
+ enumerable: true,
16
+ get: function () { return chunkFG5ACJJW_cjs.ExpoIndexerProvider; }
17
+ });
18
+ //# sourceMappingURL=expo.cjs.map
19
+ //# sourceMappingURL=expo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"expo.cjs"}
@@ -0,0 +1,48 @@
1
+ import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-TZ1gXAXU.cjs';
2
+ export { m as ArkProvider, n as IndexerProvider } from '../ark-TZ1gXAXU.cjs';
3
+ import '@scure/btc-signer/transaction.js';
4
+ import '@scure/btc-signer/utils.js';
5
+ import '@scure/btc-signer/psbt.js';
6
+ import '@scure/btc-signer';
7
+
8
+ /**
9
+ * Expo-compatible Arkade provider implementation using expo/fetch for SSE support.
10
+ * This provider works specifically in React Native/Expo environments where
11
+ * standard EventSource is not available but expo/fetch provides SSE capabilities.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { ExpoArkProvider } from '@arkade-os/sdk/providers/expo';
16
+ *
17
+ * const provider = new ExpoArkProvider('https://arkade.computer');
18
+ * const info = await provider.getInfo();
19
+ * ```
20
+ */
21
+ declare class ExpoArkProvider extends RestArkProvider {
22
+ constructor(serverUrl: string);
23
+ getEventStream(signal: AbortSignal, topics: string[]): AsyncIterableIterator<SettlementEvent>;
24
+ getTransactionsStream(signal: AbortSignal): AsyncIterableIterator<{
25
+ commitmentTx?: TxNotification;
26
+ arkTx?: TxNotification;
27
+ }>;
28
+ }
29
+
30
+ /**
31
+ * Expo-compatible Indexer provider implementation using expo/fetch for streaming support.
32
+ * This provider works specifically in React Native/Expo environments where
33
+ * standard fetch streaming may not work properly but expo/fetch provides streaming capabilities.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { ExpoIndexerProvider } from '@arkade-os/sdk/adapters/expo';
38
+ *
39
+ * const provider = new ExpoIndexerProvider('https://indexer.example.com');
40
+ * const vtxos = await provider.getVtxos({ scripts: ['script1'] });
41
+ * ```
42
+ */
43
+ declare class ExpoIndexerProvider extends RestIndexerProvider {
44
+ constructor(serverUrl: string);
45
+ getSubscription(subscriptionId: string, abortSignal: AbortSignal): AsyncIterableIterator<SubscriptionResponse>;
46
+ }
47
+
48
+ export { ExpoArkProvider, ExpoIndexerProvider };
@@ -0,0 +1,48 @@
1
+ import { j as RestArkProvider, h as SettlementEvent, T as TxNotification, k as RestIndexerProvider, l as SubscriptionResponse } from '../ark-TZ1gXAXU.js';
2
+ export { m as ArkProvider, n as IndexerProvider } from '../ark-TZ1gXAXU.js';
3
+ import '@scure/btc-signer/transaction.js';
4
+ import '@scure/btc-signer/utils.js';
5
+ import '@scure/btc-signer/psbt.js';
6
+ import '@scure/btc-signer';
7
+
8
+ /**
9
+ * Expo-compatible Arkade provider implementation using expo/fetch for SSE support.
10
+ * This provider works specifically in React Native/Expo environments where
11
+ * standard EventSource is not available but expo/fetch provides SSE capabilities.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { ExpoArkProvider } from '@arkade-os/sdk/providers/expo';
16
+ *
17
+ * const provider = new ExpoArkProvider('https://arkade.computer');
18
+ * const info = await provider.getInfo();
19
+ * ```
20
+ */
21
+ declare class ExpoArkProvider extends RestArkProvider {
22
+ constructor(serverUrl: string);
23
+ getEventStream(signal: AbortSignal, topics: string[]): AsyncIterableIterator<SettlementEvent>;
24
+ getTransactionsStream(signal: AbortSignal): AsyncIterableIterator<{
25
+ commitmentTx?: TxNotification;
26
+ arkTx?: TxNotification;
27
+ }>;
28
+ }
29
+
30
+ /**
31
+ * Expo-compatible Indexer provider implementation using expo/fetch for streaming support.
32
+ * This provider works specifically in React Native/Expo environments where
33
+ * standard fetch streaming may not work properly but expo/fetch provides streaming capabilities.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * import { ExpoIndexerProvider } from '@arkade-os/sdk/adapters/expo';
38
+ *
39
+ * const provider = new ExpoIndexerProvider('https://indexer.example.com');
40
+ * const vtxos = await provider.getVtxos({ scripts: ['script1'] });
41
+ * ```
42
+ */
43
+ declare class ExpoIndexerProvider extends RestIndexerProvider {
44
+ constructor(serverUrl: string);
45
+ getSubscription(subscriptionId: string, abortSignal: AbortSignal): AsyncIterableIterator<SubscriptionResponse>;
46
+ }
47
+
48
+ export { ExpoArkProvider, ExpoIndexerProvider };
@@ -0,0 +1,6 @@
1
+ export { ExpoArkProvider, ExpoIndexerProvider } from '../chunk-CFZMTDWI.js';
2
+ import '../chunk-ZBUDLTBO.js';
3
+ import '../chunk-HW3JJ323.js';
4
+ import '../chunk-NSBPE2FW.js';
5
+ //# sourceMappingURL=expo.js.map
6
+ //# sourceMappingURL=expo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"expo.js"}