@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,61 +0,0 @@
1
- /**
2
- * True iff `descriptor` is a Bitcoin mainnet descriptor (xpub-prefixed
3
- * BIP32 key).
4
- *
5
- * Note: testnet, signet, regtest, mutinynet, and other non-mainnet
6
- * networks all share the same `tpub` BIP32 version bytes — they cannot
7
- * be distinguished from one another at the descriptor level. Callers
8
- * that need a `Network` constants object for `expand()` pick
9
- * `networks.bitcoin` vs `networks.testnet` themselves; callers that
10
- * need the *actual* network the wallet is on must track that
11
- * out-of-band.
12
- */
13
- export declare function isMainnetDescriptor(descriptor: string): boolean;
14
- /**
15
- * Shared "does `candidate` belong to the identity backed by
16
- * `ourDescriptor`?" predicate.
17
- *
18
- * - HD descriptors (expanding to a `bip32` key) match by account xpub
19
- * on both sides — index-agnostic, so a wildcard template and any
20
- * concrete index under it all collapse to the same xpub.
21
- * - Bare `tr(pubkey)` candidates fall back to comparing the candidate
22
- * pubkey against `ourXOnlyPubkey` (the cached pubkey on the identity
23
- * side, since pulling it from `ourDescriptor` would require an index
24
- * substitution the caller already performed).
25
- */
26
- export declare function descriptorIsOurs(candidate: string, ourDescriptor: string, ourXOnlyPubkey: Uint8Array): boolean;
27
- /**
28
- * Check if a string is a descriptor of the shape `tr(...)`.
29
- *
30
- * This is a shape check only — it does not validate the inner key material.
31
- * Use {@link expand} (via {@link extractPubKey} / {@link parseHDDescriptor})
32
- * for full parsing. The guard rejects empty bodies and missing/trailing
33
- * parentheses so callers can safely branch on descriptor vs. raw pubkey.
34
- */
35
- export declare function isDescriptor(value: string): boolean;
36
- /**
37
- * Normalize a value to descriptor format.
38
- * If already a descriptor, return as-is. If hex pubkey, wrap as tr(pubkey).
39
- * Throws when the value is empty or not a string so we never produce
40
- * malformed descriptors like `tr()` that downstream parsers would reject.
41
- */
42
- export declare function normalizeToDescriptor(value: string): string;
43
- /**
44
- * Extract the public key from a simple descriptor.
45
- * For simple descriptors (tr(pubkey)), extracts the pubkey using the library.
46
- * For HD descriptors, throws — use DescriptorProvider to derive the key.
47
- */
48
- export declare function extractPubKey(descriptor: string): string;
49
- /** Parsed HD descriptor components. */
50
- export interface ParsedHDDescriptor {
51
- fingerprint: string;
52
- basePath: string;
53
- xpub: string;
54
- derivationPath: string;
55
- }
56
- /**
57
- * Parse an HD descriptor into its components.
58
- * HD descriptors have the format: tr([fingerprint/path']xpub/derivation)
59
- * Returns null if the descriptor is not in HD format.
60
- */
61
- export declare function parseHDDescriptor(descriptor: string): ParsedHDDescriptor | null;
@@ -1,35 +0,0 @@
1
- import { Transaction } from "../utils/transaction.js";
2
- /** A signing request that pairs a descriptor with a transaction. */
3
- export interface DescriptorSigningRequest {
4
- /** Descriptor identifying which key to sign with */
5
- descriptor: string;
6
- /** Transaction to sign */
7
- tx: Transaction;
8
- /** Specific input indexes to sign (signs all if omitted) */
9
- inputIndexes?: number[];
10
- }
11
- /**
12
- * Provider interface for descriptor-based signing.
13
- *
14
- * Implementations include:
15
- * - {@link StaticDescriptorProvider}: wraps a legacy {@link Identity} with a single key.
16
- * - {@link HDDescriptorProvider}: rotates through HD-derived descriptors.
17
- *
18
- * The provider has no read accessor for "current" — it is a pure descriptor
19
- * allocator. "What addresses am I currently bound to?" is a question the
20
- * contract repository answers, not the provider.
21
- */
22
- export interface DescriptorProvider {
23
- /**
24
- * Allocate a new signing descriptor. For HD providers each call advances
25
- * the internal index and returns a fresh descriptor; for single-key
26
- * providers each call returns the same descriptor.
27
- */
28
- getNextSigningDescriptor(): Promise<string>;
29
- /** Checks if a descriptor belongs to this provider. */
30
- isOurs(descriptor: string): boolean;
31
- /** Signs transactions, each with its own descriptor-derived key. */
32
- signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
33
- /** Signs a message using the key derived from the descriptor. */
34
- signMessageWithDescriptor(descriptor: string, message: Uint8Array, type?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
35
- }
@@ -1,44 +0,0 @@
1
- import { Identity, ReadonlyIdentity } from "./index.js";
2
- import { DescriptorSigningRequest } from "./descriptorProvider.js";
3
- import { Transaction } from "../utils/transaction.js";
4
- /**
5
- * Read-side HD capability marker. Exposes the wildcard-suffixed account
6
- * descriptor *template* and the descriptor-membership predicate, but no
7
- * signing primitives — suitable for watch-only identities backed by an
8
- * xpub.
9
- *
10
- * Extracted from {@link HDCapableIdentity} so that
11
- * `ReadonlyDescriptorIdentity` can stand in for an HD wallet's read-only
12
- * surface (template-aware, derives pubkeys at any index) without having
13
- * to claim signing capability it cannot honour.
14
- */
15
- export interface ReadonlyHDCapableIdentity extends ReadonlyIdentity {
16
- /**
17
- * The wildcard-suffixed account descriptor template
18
- * (e.g. `tr([fp/86'/0'/0']xpub/0/*)`). Consumers materialize a
19
- * concrete descriptor by replacing the `*` with a derivation index.
20
- */
21
- readonly descriptor: string;
22
- /** True iff `descriptor` derives from this identity's xpub/seed. */
23
- isOurs(descriptor: string): boolean;
24
- }
25
- /**
26
- * Capability marker for identities that can be rotated through an HD
27
- * derivation tree AND can sign at each rotated index.
28
- *
29
- * Deliberately does NOT extend `DescriptorProvider`: if an HD-capable
30
- * identity were silently usable as a concrete descriptor source, callers
31
- * could bypass receive rotation and unknowingly reuse a single address
32
- * forever. To use this identity as a wallet's descriptor source, wrap
33
- * it explicitly:
34
- *
35
- * - `HDDescriptorProvider` — rotating, recommended for new wallets.
36
- * - `StaticDescriptorProvider` — pinned to a single key, for legacy or
37
- * explicitly-non-rotating use cases.
38
- */
39
- export interface HDCapableIdentity extends ReadonlyHDCapableIdentity, Identity {
40
- /** Signs each request with the key derived from its descriptor. */
41
- signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
42
- /** Signs a message using the key derived from `descriptor`. */
43
- signMessageWithDescriptor(descriptor: string, message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
44
- }
@@ -1,56 +0,0 @@
1
- import { Transaction } from "../utils/transaction.js";
2
- import { SignerSession } from "../tree/signingSession.js";
3
- export interface Identity extends ReadonlyIdentity {
4
- /** Returns a signer session used for musig2 tree signing flows. */
5
- signerSession(): SignerSession;
6
- /** Sign an arbitrary message using the requested signature type. */
7
- signMessage(message: Uint8Array, signatureType: "schnorr" | "ecdsa"): Promise<Uint8Array>;
8
- /**
9
- * Sign the provided transaction inputs.
10
- *
11
- * @param tx - Transaction to sign
12
- * @param inputIndexes - Optional input indexes to sign. When omitted, the implementation should sign every signable input.
13
- */
14
- sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
15
- }
16
- export interface ReadonlyIdentity {
17
- /** Returns the x-only public key used by Taproot scripts. */
18
- xOnlyPublicKey(): Promise<Uint8Array>;
19
- /** Returns the compressed public key for this identity. */
20
- compressedPublicKey(): Promise<Uint8Array>;
21
- }
22
- /** A single PSBT signing request within a batch. */
23
- export interface SignRequest {
24
- tx: Transaction;
25
- inputIndexes?: number[];
26
- }
27
- /**
28
- * Identity that supports signing multiple PSBTs in a single wallet interaction.
29
- * Browser wallet providers that support batch signing (e.g. Xverse, UniSat, OKX)
30
- * should implement this interface to reduce the number of confirmation popups
31
- * from N+1 to 1 during Arkade send transactions.
32
- *
33
- * Contract: implementations MUST return exactly one `Transaction` per request,
34
- * in the same order as the input array. The SDK validates this at runtime and
35
- * will throw if the lengths do not match.
36
- */
37
- export interface BatchSignableIdentity extends Identity {
38
- /**
39
- * Sign multiple transactions in a single wallet interaction.
40
- *
41
- * @param requests - Transactions and optional input indexes to sign
42
- * @returns Signed transactions in the same order as the input requests
43
- */
44
- signMultiple(requests: SignRequest[]): Promise<Transaction[]>;
45
- }
46
- /** Type guard for identities that support batch signing. */
47
- export declare function isBatchSignable(identity: Identity): identity is BatchSignableIdentity;
48
- export * from "./singleKey.js";
49
- export type { NetworkOptions, DescriptorOptions, SeedIdentityOptions, MnemonicOptions, } from "./seedIdentity.js";
50
- export { SeedIdentity, MnemonicIdentity, ReadonlyDescriptorIdentity, } from "./seedIdentity.js";
51
- export * from "./serialize.js";
52
- export { isDescriptor, normalizeToDescriptor, extractPubKey, parseHDDescriptor, } from "./descriptor.js";
53
- export type { ParsedHDDescriptor } from "./descriptor.js";
54
- export type { DescriptorProvider, DescriptorSigningRequest, } from "./descriptorProvider.js";
55
- export type { HDCapableIdentity, ReadonlyHDCapableIdentity, } from "./hdCapableIdentity.js";
56
- export { StaticDescriptorProvider } from "./staticDescriptorProvider.js";
@@ -1,254 +0,0 @@
1
- import { Transaction } from "../utils/transaction.js";
2
- import { SignerSession } from "../tree/signingSession.js";
3
- import type { SerializedSigningIdentity, SerializedReadonlyIdentity } from "./serialize.js";
4
- import { DescriptorSigningRequest } from "./descriptorProvider.js";
5
- import { HDCapableIdentity, ReadonlyHDCapableIdentity } from "./hdCapableIdentity.js";
6
- /** Used for default BIP86 derivation with network selection. */
7
- export interface NetworkOptions {
8
- /**
9
- * Mainnet (coin type 0) or testnet (coin type 1).
10
- *
11
- * @defaultValue `true`
12
- */
13
- isMainnet?: boolean;
14
- }
15
- /** Used for a caller-supplied account-descriptor template. */
16
- export interface DescriptorOptions {
17
- /**
18
- * Account-descriptor *template* — must end with the BIP-32 wildcard
19
- * suffix `/*)`. Stored as-is on {@link SeedIdentity.descriptor} and
20
- * read by HD providers to rotate through derivation indices.
21
- */
22
- descriptor: string;
23
- }
24
- /** Either default BIP86 derivation (with optional network selection) or a caller-supplied template. */
25
- export type SeedIdentityOptions = NetworkOptions | DescriptorOptions;
26
- /** Used for deriving an identity from a BIP39 mnemonic. */
27
- export type MnemonicOptions = SeedIdentityOptions & {
28
- /** Optional BIP39 passphrase for additional seed entropy. */
29
- passphrase?: string;
30
- };
31
- /**
32
- * Seed-based identity derived from a raw seed and an account descriptor
33
- * *template*.
34
- *
35
- * This is the recommended identity type for most applications. It uses
36
- * standard BIP86 (Taproot) derivation by default; callers that need a
37
- * different path supply the wildcard template directly.
38
- *
39
- * Prefer this (or @see MnemonicIdentity) over `SingleKey` for new
40
- * integrations — `SingleKey` exists for backward compatibility with
41
- * raw nsec-style keys.
42
- *
43
- * The identity holds the wildcard *template* (e.g.
44
- * `tr([fp/86'/0'/0']xpub/0/*)`) on its public {@link descriptor}
45
- * field. HD rotation reads it directly; consumers that need a
46
- * concrete descriptor at a specific index materialize it themselves
47
- * (see `HDDescriptorProvider` in the wallet layer).
48
- *
49
- * Exposes seed-level primitives (signing, derivation, the template)
50
- * but is deliberately NOT a `DescriptorProvider`. Wrap it explicitly
51
- * to get one:
52
- * - `HDDescriptorProvider` for rotating receive addresses.
53
- * - {@link StaticDescriptorProvider} for legacy, single-key behaviour.
54
- *
55
- * The split prevents a SeedIdentity from being silently used as a
56
- * concrete descriptor source, which would defeat HD rotation without
57
- * any compile-time signal that something was wrong.
58
- *
59
- * @example
60
- * ```typescript
61
- * const seed = mnemonicToSeedSync(mnemonic);
62
- *
63
- * // Testnet (BIP86 wildcard descriptor m/86'/1'/0'/0/*)
64
- * const identity = SeedIdentity.fromSeed(seed, { isMainnet: false });
65
- *
66
- * // Mainnet (BIP86 wildcard descriptor m/86'/0'/0'/0/*)
67
- * const identity = SeedIdentity.fromSeed(seed, { isMainnet: true });
68
- *
69
- * // Caller-supplied wildcard descriptor (must end in `/*)`).
70
- * const identity = SeedIdentity.fromSeed(seed, { descriptor });
71
- * ```
72
- */
73
- export declare class SeedIdentity implements HDCapableIdentity {
74
- private readonly derivedKey;
75
- /**
76
- * Wildcard account-descriptor template (e.g.
77
- * `tr([fp/86'/0'/0']xpub/0/*)`). The canonical thing to pass
78
- * through the system; consumers materialize a concrete descriptor
79
- * at a specific index themselves (see `HDDescriptorProvider` in
80
- * the wallet layer for the rotating-counter use case).
81
- */
82
- readonly descriptor: string;
83
- /**
84
- * Constructs a SeedIdentity from a 64-byte seed and either a
85
- * caller-supplied wildcard descriptor (`{ descriptor }`) or the
86
- * default BIP86 path at the requested network (`{ isMainnet }`).
87
- * Prefer the {@link fromSeed} factory for symmetry with
88
- * {@link MnemonicIdentity.fromMnemonic}.
89
- *
90
- * Throws on a non-wildcard descriptor, an xpub mismatch with the
91
- * seed, or a missing derivation path.
92
- */
93
- constructor(seed: Uint8Array, opts?: SeedIdentityOptions);
94
- /**
95
- * Creates a SeedIdentity from a raw 64-byte seed.
96
- *
97
- * Pass `{ isMainnet }` for default BIP86 derivation, or
98
- * `{ descriptor }` for a caller-supplied account-descriptor
99
- * template (the option's value must end with `/*)`).
100
- *
101
- * @param seed - 64-byte seed (typically from mnemonicToSeedSync)
102
- * @param opts - Network selection or descriptor template.
103
- */
104
- static fromSeed(seed: Uint8Array, opts?: SeedIdentityOptions): SeedIdentity;
105
- xOnlyPublicKey(): Promise<Uint8Array>;
106
- compressedPublicKey(): Promise<Uint8Array>;
107
- sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
108
- signMessage(message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
109
- signerSession(): SignerSession;
110
- /**
111
- * Converts to a watch-only identity that cannot sign. Carries the
112
- * template forward, so the readonly side stays HD-capable (can
113
- * derive descriptors at any index without seed access).
114
- */
115
- toReadonly(): Promise<ReadonlyDescriptorIdentity>;
116
- /**
117
- * Returns true when `descriptor` is derived from this identity's seed.
118
- * HD descriptors match by account xpub; bare `tr(pubkey)` descriptors
119
- * match by raw pubkey. See {@link descriptorIsOurs}.
120
- */
121
- isOurs(descriptor: string): boolean;
122
- /**
123
- * Signs each request with the key derived from its descriptor.
124
- * Each descriptor must share this identity's seed ({@link isOurs}).
125
- */
126
- signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
127
- /**
128
- * Signs a message with the key derived from `descriptor`.
129
- */
130
- signMessageWithDescriptor(descriptor: string, message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
131
- private derivePrivateKeyForDescriptor;
132
- private signTxWithKey;
133
- private signMessageWithKey;
134
- }
135
- /**
136
- * Mnemonic-based identity derived from a BIP39 phrase.
137
- *
138
- * This is the most user-friendly identity type — recommended for wallet
139
- * applications where users manage their own backup phrase. Extends
140
- * @see SeedIdentity with mnemonic validation and optional passphrase
141
- * support.
142
- *
143
- * @example
144
- * ```typescript
145
- * const identity = MnemonicIdentity.fromMnemonic(
146
- * 'abandon abandon abandon ...',
147
- * { isMainnet: true, passphrase: 'secret' }
148
- * );
149
- * ```
150
- */
151
- export declare class MnemonicIdentity extends SeedIdentity {
152
- private constructor();
153
- /**
154
- * Creates a MnemonicIdentity from a BIP39 mnemonic phrase.
155
- *
156
- * Pass `{ isMainnet }` for default BIP86 derivation, or
157
- * `{ descriptor }` for a caller-supplied account-descriptor
158
- * template (the option's value must end with `/*)`).
159
- *
160
- * @param phrase - BIP39 mnemonic phrase (12 or 24 words)
161
- * @param opts - Network selection or descriptor template, plus optional passphrase
162
- */
163
- static fromMnemonic(phrase: string, opts?: MnemonicOptions): MnemonicIdentity;
164
- }
165
- /**
166
- * Watch-only HD identity from a descriptor *template*.
167
- *
168
- * Can derive public keys but cannot sign transactions. Use this for
169
- * watch-only wallets — given just an xpub-based template, the readonly
170
- * side still rotates through HD indices.
171
- *
172
- * Constructed from a wildcard template (e.g.
173
- * `tr([fp/86'/0'/0']xpub.../0/*)`); the {@link descriptor} field
174
- * holds it for HD providers to consume.
175
- *
176
- * @example
177
- * ```typescript
178
- * const ro = ReadonlyDescriptorIdentity.fromDescriptor(
179
- * "tr([fp/86'/0'/0']xpub.../0/*)"
180
- * );
181
- * ro.descriptor;
182
- * // => "tr([fp/86'/0'/0']xpub.../0/*)" — the template
183
- * ```
184
- */
185
- export declare class ReadonlyDescriptorIdentity implements ReadonlyHDCapableIdentity {
186
- /**
187
- * Index-0 expansion of {@link descriptor}. Both the x-only pubkey
188
- * (taproot, returned by the library as 32 bytes) and the compressed
189
- * pubkey (derived through the bip32 node when needed) are read off
190
- * this on demand — no separate caches.
191
- */
192
- private readonly indexZero;
193
- /**
194
- * Wildcard account-descriptor template (e.g.
195
- * `tr([fp/86'/0'/0']xpub/0/*)`). HD rotation consumers materialize
196
- * a concrete descriptor at a specific index themselves.
197
- */
198
- readonly descriptor: string;
199
- private constructor();
200
- /**
201
- * Creates a ReadonlyDescriptorIdentity from an account-descriptor
202
- * *template* (must end with the BIP-32 wildcard suffix `/*)`).
203
- *
204
- * @param descriptor - Wildcard-suffixed Taproot template
205
- * (`tr([fp/path']xpub.../child/*)`).
206
- */
207
- static fromDescriptor(descriptor: string): ReadonlyDescriptorIdentity;
208
- xOnlyPublicKey(): Promise<Uint8Array>;
209
- compressedPublicKey(): Promise<Uint8Array>;
210
- /**
211
- * Returns true when `descriptor` derives from this identity's xpub.
212
- * HD descriptors match by account xpub; bare `tr(pubkey)` descriptors
213
- * fall back to comparing against the index-0 x-only pubkey. See
214
- * {@link descriptorIsOurs}.
215
- */
216
- isOurs(descriptor: string): boolean;
217
- }
218
- /**
219
- * Serialize a seed-backed signing identity into a
220
- * {@link SerializedSigningIdentity} envelope without exposing the
221
- * underlying secret material on the public instance surface.
222
- *
223
- * Called by {@link serializeSigningIdentity}; application code should
224
- * prefer that public dispatcher instead of calling this directly. This
225
- * helper is deliberately kept out of the `src/identity` barrel so it is
226
- * not part of the package's public export surface.
227
- *
228
- * Secret-surface trade-off: the resulting envelope carries master-seed
229
- * material — the BIP39 mnemonic (+ optional passphrase) for
230
- * `MnemonicIdentity` or the raw 64-byte seed for `SeedIdentity`. A party
231
- * that reads this envelope can derive any key under the HD tree, not
232
- * just the key currently in use. The pre-change `SingleKey` flow only
233
- * shipped one derived private key and therefore had a smaller blast
234
- * radius. This is an intentional design trade to preserve class and
235
- * descriptor identity across the page / service-worker boundary; the
236
- * page already holds the same material so that it can re-initialize a
237
- * killed worker. Transport is same-origin `postMessage` only. See the
238
- * threat-model note in `src/worker/browser/README.md`.
239
- *
240
- * @internal
241
- */
242
- export declare function serializeSeedOwnedSigningIdentity(identity: SeedIdentity): SerializedSigningIdentity;
243
- /**
244
- * Downgrade a seed-backed or descriptor-backed identity into a readonly
245
- * descriptor envelope. Always produces a descriptor-only shape — secret
246
- * material never crosses this path, even if the input is a signing
247
- * identity.
248
- *
249
- * Deliberately kept out of the `src/identity` barrel; consumers should go
250
- * through {@link serializeReadonlyIdentity}.
251
- *
252
- * @internal
253
- */
254
- export declare function serializeSeedOwnedReadonlyIdentity(identity: SeedIdentity | ReadonlyDescriptorIdentity): SerializedReadonlyIdentity;
@@ -1,96 +0,0 @@
1
- import type { Identity, ReadonlyIdentity } from "./index.js";
2
- /**
3
- * Tagged envelope for a signing identity transported across the
4
- * service-worker boundary. All variants are structured-clone safe
5
- * (plain strings only — no functions or prototypes).
6
- *
7
- * `descriptor` carries the wildcard *template* (e.g.
8
- * `tr([fp/86'/0'/0']xpub.../0/*)`), not a concrete index — the
9
- * receiving factories require a template, and storing it directly
10
- * means nothing here has to convert concrete → template on rehydrate.
11
- *
12
- * Adding a new variant is a source change in every worker build; keep
13
- * old variants around until all deployed workers handle them.
14
- */
15
- export type SerializedSigningIdentity = {
16
- type: "single-key";
17
- privateKey: string;
18
- } | {
19
- type: "seed";
20
- seed: string;
21
- descriptor: string;
22
- } | {
23
- type: "mnemonic";
24
- mnemonic: string;
25
- descriptor: string;
26
- passphrase?: string;
27
- };
28
- /**
29
- * Tagged envelope for a readonly identity transported across the
30
- * service-worker boundary. All variants are structured-clone safe.
31
- * `descriptor` is the wildcard template (see
32
- * {@link SerializedSigningIdentity}).
33
- */
34
- export type SerializedReadonlyIdentity = {
35
- type: "readonly-single-key";
36
- publicKey: string;
37
- } | {
38
- type: "readonly-descriptor";
39
- descriptor: string;
40
- };
41
- export type SerializedIdentity = SerializedSigningIdentity | SerializedReadonlyIdentity;
42
- /** Type guard — true for signing envelopes, false for readonly envelopes. */
43
- export declare function isSigningSerialized(s: SerializedIdentity): s is SerializedSigningIdentity;
44
- /**
45
- * Serialize a signing identity into a structured-clone safe envelope for
46
- * transport across the service-worker boundary.
47
- *
48
- * Supports SDK-owned signing identities directly. For custom identities, a
49
- * duck-typed `toHex()` fallback preserves compatibility with existing
50
- * `SingleKey`-like implementations.
51
- */
52
- export declare function serializeSigningIdentity(identity: Identity): SerializedSigningIdentity;
53
- /**
54
- * Serialize a readonly identity into a structured-clone safe envelope.
55
- *
56
- * Works for any `ReadonlyIdentity` via `compressedPublicKey()`. When called
57
- * with a signing identity, produces a readonly envelope (never ships signing
58
- * material) — callers that need to preserve signing capability across the
59
- * boundary must use {@link serializeSigningIdentity}.
60
- */
61
- export declare function serializeReadonlyIdentity(identity: ReadonlyIdentity): Promise<SerializedReadonlyIdentity>;
62
- /**
63
- * Rehydrate a serialized identity envelope back into an identity instance.
64
- * The return type is the union of signing and readonly; use
65
- * {@link isSigningSerialized} on the envelope before hydration if the caller
66
- * needs to know which side it ends up on.
67
- *
68
- * Envelopes store the wildcard template directly (see
69
- * `serializeSeedOwnedSigningIdentity` / `serializeSeedOwnedReadonlyIdentity`),
70
- * so the `descriptor` field is passed straight through to the
71
- * template-only factories.
72
- */
73
- export declare function hydrateIdentity(s: SerializedIdentity): Identity | ReadonlyIdentity;
74
- /**
75
- * Legacy untagged shape emitted by page builds prior to the tagged
76
- * SerializedIdentity envelope. Retained so newer workers can still accept
77
- * older pages during a rolling upgrade. Slated for removal in the next major.
78
- *
79
- * @deprecated Use {@link SerializedIdentity}.
80
- */
81
- export type LegacySerializedIdentity = {
82
- privateKey: string;
83
- } | {
84
- publicKey: string;
85
- };
86
- /**
87
- * Accept either a modern {@link SerializedIdentity} envelope or a legacy
88
- * `{ privateKey }` / `{ publicKey }` shape and normalize to a
89
- * {@link SerializedIdentity}. Emits a one-time deprecation warning when a
90
- * legacy shape is seen.
91
- *
92
- * Intended for the worker-side boundary; new page builds always emit tagged
93
- * envelopes via {@link serializeSigningIdentity} /
94
- * {@link serializeReadonlyIdentity}.
95
- */
96
- export declare function normalizeSerializedIdentity(shape: SerializedIdentity | LegacySerializedIdentity): SerializedIdentity;
@@ -1,62 +0,0 @@
1
- import { Identity, ReadonlyIdentity } from "./index.js";
2
- import { Transaction } from "../utils/transaction.js";
3
- import { SignerSession } from "../tree/signingSession.js";
4
- /**
5
- * In-memory single key implementation for Bitcoin transaction signing.
6
- *
7
- * @example
8
- * ```typescript
9
- * // Create from hex string
10
- * const key = SingleKey.fromHex('your_private_key_hex');
11
- *
12
- * // Create from raw bytes
13
- * const key = SingleKey.fromPrivateKey(privateKeyBytes);
14
- *
15
- * // Create random key
16
- * const randomKey = SingleKey.fromRandomBytes();
17
- *
18
- * // Sign a transaction
19
- * const signedTx = await key.sign(transaction);
20
- * ```
21
- */
22
- export declare class SingleKey implements Identity {
23
- private key;
24
- private constructor();
25
- /** Create a signing identity from raw private key bytes. */
26
- static fromPrivateKey(privateKey: Uint8Array): SingleKey;
27
- /** Create a signing identity from a hex-encoded private key. */
28
- static fromHex(privateKeyHex: string): SingleKey;
29
- /** Create a signing identity with a freshly generated random private key. */
30
- static fromRandomBytes(): SingleKey;
31
- /**
32
- * Export the private key as a hex string.
33
- *
34
- * @returns The private key as a hex string
35
- */
36
- toHex(): string;
37
- sign(tx: Transaction, inputIndexes?: number[]): Promise<Transaction>;
38
- compressedPublicKey(): Promise<Uint8Array>;
39
- xOnlyPublicKey(): Promise<Uint8Array>;
40
- signerSession(): SignerSession;
41
- signMessage(message: Uint8Array, signatureType?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
42
- toReadonly(): Promise<ReadonlySingleKey>;
43
- }
44
- export declare class ReadonlySingleKey implements ReadonlyIdentity {
45
- private readonly publicKey;
46
- /** Create a readonly identity from a compressed public key. */
47
- constructor(publicKey: Uint8Array);
48
- /**
49
- * Create a ReadonlySingleKey from a compressed public key.
50
- *
51
- * @param publicKey - 33-byte compressed public key (02/03 prefix + 32-byte x coordinate)
52
- * @returns A new ReadonlySingleKey instance
53
- * @example
54
- * ```typescript
55
- * const pubkey = new Uint8Array(33); // your compressed public key
56
- * const readonlyKey = ReadonlySingleKey.fromPublicKey(pubkey);
57
- * ```
58
- */
59
- static fromPublicKey(publicKey: Uint8Array): ReadonlySingleKey;
60
- xOnlyPublicKey(): Promise<Uint8Array>;
61
- compressedPublicKey(): Promise<Uint8Array>;
62
- }
@@ -1,18 +0,0 @@
1
- import { Identity } from "./index.js";
2
- import { DescriptorProvider, DescriptorSigningRequest } from "./descriptorProvider.js";
3
- import { Transaction } from "../utils/transaction.js";
4
- /**
5
- * Wraps a legacy Identity (single-key) as a DescriptorProvider.
6
- * The descriptor is always a simple tr(pubkey) format.
7
- */
8
- export declare class StaticDescriptorProvider implements DescriptorProvider {
9
- private readonly identity;
10
- private readonly descriptor;
11
- private readonly pubKeyHex;
12
- constructor(identity: Identity, pubKeyHex: string);
13
- static create(identity: Identity): Promise<StaticDescriptorProvider>;
14
- getNextSigningDescriptor(): Promise<string>;
15
- isOurs(descriptor: string): boolean;
16
- signWithDescriptor(requests: DescriptorSigningRequest[]): Promise<Transaction[]>;
17
- signMessageWithDescriptor(descriptor: string, message: Uint8Array, type?: "schnorr" | "ecdsa"): Promise<Uint8Array>;
18
- }