@arkade-os/sdk 0.4.27 → 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 (531) hide show
  1. package/README.md +31 -100
  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 -649
  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 -20
  156. package/dist/cjs/identity/index.js +0 -40
  157. package/dist/cjs/identity/seedIdentity.js +0 -477
  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 -202
  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 -308
  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 -188
  236. package/dist/cjs/wallet/index.js +0 -82
  237. package/dist/cjs/wallet/inputSignerRouter.js +0 -98
  238. package/dist/cjs/wallet/onchain.js +0 -290
  239. package/dist/cjs/wallet/ramps.js +0 -216
  240. package/dist/cjs/wallet/serviceWorker/wallet-message-handler.js +0 -953
  241. package/dist/cjs/wallet/serviceWorker/wallet.js +0 -1174
  242. package/dist/cjs/wallet/signingErrors.js +0 -32
  243. package/dist/cjs/wallet/unroll.js +0 -293
  244. package/dist/cjs/wallet/utils.js +0 -111
  245. package/dist/cjs/wallet/validation.js +0 -154
  246. package/dist/cjs/wallet/vtxo-manager.js +0 -1142
  247. package/dist/cjs/wallet/wallet.js +0 -2195
  248. package/dist/cjs/wallet/walletReceiveRotator.js +0 -547
  249. package/dist/cjs/worker/browser/service-worker-manager.js +0 -183
  250. package/dist/cjs/worker/browser/utils.js +0 -67
  251. package/dist/cjs/worker/errors.js +0 -16
  252. package/dist/cjs/worker/expo/asyncStorageTaskQueue.js +0 -78
  253. package/dist/cjs/worker/expo/index.js +0 -13
  254. package/dist/cjs/worker/expo/processors/contractPollProcessor.js +0 -62
  255. package/dist/cjs/worker/expo/processors/index.js +0 -6
  256. package/dist/cjs/worker/expo/taskQueue.js +0 -41
  257. package/dist/cjs/worker/expo/taskRunner.js +0 -73
  258. package/dist/cjs/worker/messageBus.js +0 -474
  259. package/dist/esm/adapters/asyncStorage.js +0 -1
  260. package/dist/esm/adapters/expo.js +0 -3
  261. package/dist/esm/adapters/fileSystem.js +0 -1
  262. package/dist/esm/adapters/indexedDB.js +0 -1
  263. package/dist/esm/adapters/localStorage.js +0 -1
  264. package/dist/esm/arkfee/celenv.js +0 -40
  265. package/dist/esm/arkfee/estimator.js +0 -139
  266. package/dist/esm/arkfee/index.js +0 -1
  267. package/dist/esm/arkfee/types.js +0 -22
  268. package/dist/esm/arknote/index.js +0 -124
  269. package/dist/esm/bip322/index.js +0 -267
  270. package/dist/esm/contracts/arkcontract.js +0 -140
  271. package/dist/esm/contracts/contractManager.js +0 -645
  272. package/dist/esm/contracts/contractWatcher.js +0 -594
  273. package/dist/esm/contracts/handlers/default.js +0 -90
  274. package/dist/esm/contracts/handlers/delegate.js +0 -87
  275. package/dist/esm/contracts/handlers/helpers.js +0 -110
  276. package/dist/esm/contracts/handlers/index.js +0 -12
  277. package/dist/esm/contracts/handlers/registry.js +0 -86
  278. package/dist/esm/contracts/handlers/vhtlc.js +0 -191
  279. package/dist/esm/contracts/index.js +0 -13
  280. package/dist/esm/contracts/types.js +0 -1
  281. package/dist/esm/contracts/vtxoOwnership.js +0 -69
  282. package/dist/esm/extension/asset/assetGroup.js +0 -224
  283. package/dist/esm/extension/asset/assetId.js +0 -148
  284. package/dist/esm/extension/asset/assetInput.js +0 -217
  285. package/dist/esm/extension/asset/assetOutput.js +0 -169
  286. package/dist/esm/extension/asset/assetRef.js +0 -144
  287. package/dist/esm/extension/asset/index.js +0 -8
  288. package/dist/esm/extension/asset/metadata.js +0 -182
  289. package/dist/esm/extension/asset/packet.js +0 -110
  290. package/dist/esm/extension/asset/types.js +0 -19
  291. package/dist/esm/extension/asset/utils.js +0 -99
  292. package/dist/esm/extension/index.js +0 -248
  293. package/dist/esm/extension/packet.js +0 -16
  294. package/dist/esm/forfeit.js +0 -41
  295. package/dist/esm/identity/descriptor.js +0 -161
  296. package/dist/esm/identity/descriptorProvider.js +0 -1
  297. package/dist/esm/identity/hdCapableIdentity.js +0 -17
  298. package/dist/esm/identity/index.js +0 -13
  299. package/dist/esm/identity/seedIdentity.js +0 -469
  300. package/dist/esm/identity/serialize.js +0 -164
  301. package/dist/esm/identity/singleKey.js +0 -121
  302. package/dist/esm/identity/staticDescriptorProvider.js +0 -61
  303. package/dist/esm/index.js +0 -87
  304. package/dist/esm/intent/index.js +0 -255
  305. package/dist/esm/musig2/index.js +0 -3
  306. package/dist/esm/musig2/keys.js +0 -21
  307. package/dist/esm/musig2/nonces.js +0 -11
  308. package/dist/esm/musig2/sign.js +0 -63
  309. package/dist/esm/networks.js +0 -22
  310. package/dist/esm/package.json +0 -3
  311. package/dist/esm/providers/ark.js +0 -572
  312. package/dist/esm/providers/delegator.js +0 -81
  313. package/dist/esm/providers/electrum.js +0 -864
  314. package/dist/esm/providers/errors.js +0 -54
  315. package/dist/esm/providers/expoArk.js +0 -78
  316. package/dist/esm/providers/expoIndexer.js +0 -107
  317. package/dist/esm/providers/expoUtils.js +0 -87
  318. package/dist/esm/providers/indexer.js +0 -626
  319. package/dist/esm/providers/onchain.js +0 -258
  320. package/dist/esm/providers/utils.js +0 -117
  321. package/dist/esm/repositories/contractRepository.js +0 -1
  322. package/dist/esm/repositories/inMemory/contractRepository.js +0 -51
  323. package/dist/esm/repositories/inMemory/walletRepository.js +0 -111
  324. package/dist/esm/repositories/index.js +0 -10
  325. package/dist/esm/repositories/indexedDB/contractRepository.js +0 -183
  326. package/dist/esm/repositories/indexedDB/db.js +0 -4
  327. package/dist/esm/repositories/indexedDB/manager.js +0 -95
  328. package/dist/esm/repositories/indexedDB/schema.js +0 -199
  329. package/dist/esm/repositories/indexedDB/walletRepository.js +0 -470
  330. package/dist/esm/repositories/indexedDB/websqlAdapter.js +0 -138
  331. package/dist/esm/repositories/migrations/contractRepositoryImpl.js +0 -121
  332. package/dist/esm/repositories/migrations/fromStorageAdapter.js +0 -58
  333. package/dist/esm/repositories/migrations/walletRepositoryImpl.js +0 -180
  334. package/dist/esm/repositories/realm/contractRepository.js +0 -112
  335. package/dist/esm/repositories/realm/index.js +0 -3
  336. package/dist/esm/repositories/realm/schemas.js +0 -153
  337. package/dist/esm/repositories/realm/types.js +0 -6
  338. package/dist/esm/repositories/realm/walletRepository.js +0 -301
  339. package/dist/esm/repositories/scriptFromAddress.js +0 -13
  340. package/dist/esm/repositories/serialization.js +0 -67
  341. package/dist/esm/repositories/sqlite/contractRepository.js +0 -131
  342. package/dist/esm/repositories/sqlite/index.js +0 -2
  343. package/dist/esm/repositories/sqlite/types.js +0 -1
  344. package/dist/esm/repositories/sqlite/walletRepository.js +0 -437
  345. package/dist/esm/repositories/walletRepository.js +0 -1
  346. package/dist/esm/script/address.js +0 -104
  347. package/dist/esm/script/base.js +0 -179
  348. package/dist/esm/script/default.js +0 -54
  349. package/dist/esm/script/delegate.js +0 -50
  350. package/dist/esm/script/tapscript.js +0 -615
  351. package/dist/esm/script/vhtlc.js +0 -167
  352. package/dist/esm/storage/asyncStorage.js +0 -46
  353. package/dist/esm/storage/fileSystem.js +0 -104
  354. package/dist/esm/storage/inMemory.js +0 -20
  355. package/dist/esm/storage/index.js +0 -1
  356. package/dist/esm/storage/indexedDB.js +0 -97
  357. package/dist/esm/storage/localStorage.js +0 -47
  358. package/dist/esm/tree/signingSession.js +0 -191
  359. package/dist/esm/tree/txTree.js +0 -188
  360. package/dist/esm/tree/validation.js +0 -101
  361. package/dist/esm/utils/anchor.js +0 -31
  362. package/dist/esm/utils/arkTransaction.js +0 -264
  363. package/dist/esm/utils/bip21.js +0 -123
  364. package/dist/esm/utils/syncCursors.js +0 -119
  365. package/dist/esm/utils/timelock.js +0 -22
  366. package/dist/esm/utils/transaction.js +0 -24
  367. package/dist/esm/utils/transactionHistory.js +0 -180
  368. package/dist/esm/utils/txSizeEstimator.js +0 -128
  369. package/dist/esm/utils/unknownFields.js +0 -169
  370. package/dist/esm/wallet/asset-manager.js +0 -325
  371. package/dist/esm/wallet/asset.js +0 -113
  372. package/dist/esm/wallet/batch.js +0 -180
  373. package/dist/esm/wallet/delegator.js +0 -303
  374. package/dist/esm/wallet/expo/background.js +0 -111
  375. package/dist/esm/wallet/expo/index.js +0 -2
  376. package/dist/esm/wallet/expo/wallet.js +0 -193
  377. package/dist/esm/wallet/hdDescriptorProvider.js +0 -184
  378. package/dist/esm/wallet/index.js +0 -75
  379. package/dist/esm/wallet/inputSignerRouter.js +0 -94
  380. package/dist/esm/wallet/onchain.js +0 -285
  381. package/dist/esm/wallet/ramps.js +0 -212
  382. package/dist/esm/wallet/serviceWorker/wallet-message-handler.js +0 -946
  383. package/dist/esm/wallet/serviceWorker/wallet.js +0 -1169
  384. package/dist/esm/wallet/signingErrors.js +0 -27
  385. package/dist/esm/wallet/unroll.js +0 -289
  386. package/dist/esm/wallet/utils.js +0 -103
  387. package/dist/esm/wallet/validation.js +0 -142
  388. package/dist/esm/wallet/vtxo-manager.js +0 -1136
  389. package/dist/esm/wallet/wallet.js +0 -2186
  390. package/dist/esm/wallet/walletReceiveRotator.js +0 -540
  391. package/dist/esm/worker/browser/service-worker-manager.js +0 -177
  392. package/dist/esm/worker/browser/utils.js +0 -63
  393. package/dist/esm/worker/errors.js +0 -11
  394. package/dist/esm/worker/expo/asyncStorageTaskQueue.js +0 -74
  395. package/dist/esm/worker/expo/index.js +0 -4
  396. package/dist/esm/worker/expo/processors/contractPollProcessor.js +0 -59
  397. package/dist/esm/worker/expo/processors/index.js +0 -1
  398. package/dist/esm/worker/expo/taskQueue.js +0 -37
  399. package/dist/esm/worker/expo/taskRunner.js +0 -69
  400. package/dist/esm/worker/messageBus.js +0 -470
  401. package/dist/types/adapters/asyncStorage.d.ts +0 -2
  402. package/dist/types/adapters/expo.d.ts +0 -4
  403. package/dist/types/adapters/fileSystem.d.ts +0 -2
  404. package/dist/types/adapters/indexedDB.d.ts +0 -2
  405. package/dist/types/adapters/localStorage.d.ts +0 -2
  406. package/dist/types/arkfee/celenv.d.ts +0 -25
  407. package/dist/types/arkfee/estimator.d.ts +0 -49
  408. package/dist/types/arkfee/index.d.ts +0 -2
  409. package/dist/types/arkfee/types.d.ts +0 -38
  410. package/dist/types/arknote/index.d.ts +0 -84
  411. package/dist/types/bip322/index.d.ts +0 -55
  412. package/dist/types/contracts/arkcontract.d.ts +0 -99
  413. package/dist/types/contracts/contractManager.d.ts +0 -411
  414. package/dist/types/contracts/contractWatcher.d.ts +0 -217
  415. package/dist/types/contracts/handlers/default.d.ts +0 -19
  416. package/dist/types/contracts/handlers/delegate.d.ts +0 -21
  417. package/dist/types/contracts/handlers/helpers.d.ts +0 -19
  418. package/dist/types/contracts/handlers/index.d.ts +0 -7
  419. package/dist/types/contracts/handlers/registry.d.ts +0 -65
  420. package/dist/types/contracts/handlers/vhtlc.d.ts +0 -32
  421. package/dist/types/contracts/index.d.ts +0 -14
  422. package/dist/types/contracts/types.d.ts +0 -250
  423. package/dist/types/contracts/vtxoOwnership.d.ts +0 -33
  424. package/dist/types/extension/asset/assetGroup.d.ts +0 -119
  425. package/dist/types/extension/asset/assetId.d.ts +0 -83
  426. package/dist/types/extension/asset/assetInput.d.ts +0 -64
  427. package/dist/types/extension/asset/assetOutput.d.ts +0 -54
  428. package/dist/types/extension/asset/assetRef.d.ts +0 -91
  429. package/dist/types/extension/asset/index.d.ts +0 -8
  430. package/dist/types/extension/asset/metadata.d.ts +0 -52
  431. package/dist/types/extension/asset/packet.d.ts +0 -41
  432. package/dist/types/extension/asset/types.d.ts +0 -16
  433. package/dist/types/extension/asset/utils.d.ts +0 -21
  434. package/dist/types/extension/index.d.ts +0 -56
  435. package/dist/types/extension/packet.d.ts +0 -21
  436. package/dist/types/forfeit.d.ts +0 -18
  437. package/dist/types/identity/descriptor.d.ts +0 -61
  438. package/dist/types/identity/descriptorProvider.d.ts +0 -42
  439. package/dist/types/identity/hdCapableIdentity.d.ts +0 -71
  440. package/dist/types/identity/index.d.ts +0 -57
  441. package/dist/types/identity/seedIdentity.d.ts +0 -270
  442. package/dist/types/identity/serialize.d.ts +0 -96
  443. package/dist/types/identity/singleKey.d.ts +0 -62
  444. package/dist/types/identity/staticDescriptorProvider.d.ts +0 -18
  445. package/dist/types/index.d.ts +0 -59
  446. package/dist/types/intent/index.d.ts +0 -86
  447. package/dist/types/musig2/index.d.ts +0 -4
  448. package/dist/types/musig2/keys.d.ts +0 -9
  449. package/dist/types/musig2/nonces.d.ts +0 -14
  450. package/dist/types/musig2/sign.d.ts +0 -27
  451. package/dist/types/networks.d.ts +0 -16
  452. package/dist/types/providers/ark.d.ts +0 -369
  453. package/dist/types/providers/delegator.d.ts +0 -82
  454. package/dist/types/providers/electrum.d.ts +0 -312
  455. package/dist/types/providers/errors.d.ts +0 -13
  456. package/dist/types/providers/expoArk.d.ts +0 -22
  457. package/dist/types/providers/expoIndexer.d.ts +0 -18
  458. package/dist/types/providers/expoUtils.d.ts +0 -18
  459. package/dist/types/providers/indexer.d.ts +0 -301
  460. package/dist/types/providers/onchain.d.ts +0 -148
  461. package/dist/types/providers/utils.d.ts +0 -12
  462. package/dist/types/repositories/contractRepository.d.ts +0 -32
  463. package/dist/types/repositories/inMemory/contractRepository.d.ts +0 -17
  464. package/dist/types/repositories/inMemory/walletRepository.d.ts +0 -29
  465. package/dist/types/repositories/index.d.ts +0 -9
  466. package/dist/types/repositories/indexedDB/contractRepository.d.ts +0 -21
  467. package/dist/types/repositories/indexedDB/db.d.ts +0 -4
  468. package/dist/types/repositories/indexedDB/manager.d.ts +0 -25
  469. package/dist/types/repositories/indexedDB/schema.d.ts +0 -9
  470. package/dist/types/repositories/indexedDB/walletRepository.d.ts +0 -28
  471. package/dist/types/repositories/indexedDB/websqlAdapter.d.ts +0 -49
  472. package/dist/types/repositories/migrations/contractRepositoryImpl.d.ts +0 -24
  473. package/dist/types/repositories/migrations/fromStorageAdapter.d.ts +0 -19
  474. package/dist/types/repositories/migrations/walletRepositoryImpl.d.ts +0 -27
  475. package/dist/types/repositories/realm/contractRepository.d.ts +0 -24
  476. package/dist/types/repositories/realm/index.d.ts +0 -4
  477. package/dist/types/repositories/realm/types.d.ts +0 -16
  478. package/dist/types/repositories/realm/walletRepository.d.ts +0 -34
  479. package/dist/types/repositories/scriptFromAddress.d.ts +0 -9
  480. package/dist/types/repositories/serialization.d.ts +0 -65
  481. package/dist/types/repositories/sqlite/contractRepository.d.ts +0 -33
  482. package/dist/types/repositories/sqlite/index.d.ts +0 -3
  483. package/dist/types/repositories/sqlite/types.d.ts +0 -18
  484. package/dist/types/repositories/walletRepository.d.ts +0 -72
  485. package/dist/types/script/address.d.ts +0 -67
  486. package/dist/types/script/base.d.ts +0 -105
  487. package/dist/types/script/default.d.ts +0 -44
  488. package/dist/types/script/delegate.d.ts +0 -40
  489. package/dist/types/script/tapscript.d.ts +0 -169
  490. package/dist/types/script/vhtlc.d.ts +0 -66
  491. package/dist/types/tree/signingSession.d.ts +0 -37
  492. package/dist/types/tree/txTree.d.ts +0 -28
  493. package/dist/types/tree/validation.d.ts +0 -15
  494. package/dist/types/utils/anchor.d.ts +0 -19
  495. package/dist/types/utils/arkTransaction.d.ts +0 -49
  496. package/dist/types/utils/bip21.d.ts +0 -38
  497. package/dist/types/utils/syncCursors.d.ts +0 -60
  498. package/dist/types/utils/timelock.d.ts +0 -9
  499. package/dist/types/utils/transaction.d.ts +0 -13
  500. package/dist/types/utils/transactionHistory.d.ts +0 -15
  501. package/dist/types/utils/txSizeEstimator.d.ts +0 -40
  502. package/dist/types/utils/unknownFields.d.ts +0 -83
  503. package/dist/types/wallet/asset-manager.d.ts +0 -69
  504. package/dist/types/wallet/asset.d.ts +0 -21
  505. package/dist/types/wallet/batch.d.ts +0 -107
  506. package/dist/types/wallet/delegator.d.ts +0 -48
  507. package/dist/types/wallet/expo/background.d.ts +0 -66
  508. package/dist/types/wallet/expo/index.d.ts +0 -4
  509. package/dist/types/wallet/hdDescriptorProvider.d.ts +0 -114
  510. package/dist/types/wallet/index.d.ts +0 -789
  511. package/dist/types/wallet/inputSignerRouter.d.ts +0 -35
  512. package/dist/types/wallet/onchain.d.ts +0 -109
  513. package/dist/types/wallet/ramps.d.ts +0 -64
  514. package/dist/types/wallet/serviceWorker/wallet-message-handler.d.ts +0 -543
  515. package/dist/types/wallet/serviceWorker/wallet.d.ts +0 -248
  516. package/dist/types/wallet/signingErrors.d.ts +0 -19
  517. package/dist/types/wallet/unroll.d.ts +0 -114
  518. package/dist/types/wallet/utils.d.ts +0 -36
  519. package/dist/types/wallet/validation.d.ts +0 -24
  520. package/dist/types/wallet/vtxo-manager.d.ts +0 -476
  521. package/dist/types/wallet/wallet.d.ts +0 -409
  522. package/dist/types/wallet/walletReceiveRotator.d.ts +0 -306
  523. package/dist/types/worker/browser/service-worker-manager.d.ts +0 -32
  524. package/dist/types/worker/browser/utils.d.ts +0 -17
  525. package/dist/types/worker/errors.d.ts +0 -7
  526. package/dist/types/worker/expo/index.d.ts +0 -7
  527. package/dist/types/worker/expo/processors/contractPollProcessor.d.ts +0 -19
  528. package/dist/types/worker/expo/processors/index.d.ts +0 -1
  529. package/dist/types/worker/expo/taskQueue.d.ts +0 -50
  530. package/dist/types/worker/expo/taskRunner.d.ts +0 -66
  531. package/dist/types/worker/messageBus.d.ts +0 -189
@@ -1,228 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AssetGroup = void 0;
4
- const base_1 = require("@scure/base");
5
- const types_1 = require("./types");
6
- const assetId_1 = require("./assetId");
7
- const assetRef_1 = require("./assetRef");
8
- const assetInput_1 = require("./assetInput");
9
- const assetOutput_1 = require("./assetOutput");
10
- const metadata_1 = require("./metadata");
11
- const utils_1 = require("./utils");
12
- /**
13
- * An asset group contains inputs, outputs, and all data related to a given asset id.
14
- *
15
- * @see Packet
16
- * @see AssetId
17
- * @see AssetRef
18
- *
19
- * @example
20
- * ```typescript
21
- * const group = AssetGroup.create(
22
- * null, // asset ID: null for new issuance
23
- * null, // control asset ID: null when reissuance not needed
24
- * [], // asset inputs: empty for new issuance
25
- * [AssetOutput.create(0, 1000)], // asset outputs: 1000 units at vout index 0
26
- * [] // metadata: can be empty
27
- * )
28
- * ```
29
- */
30
- class AssetGroup {
31
- /** @see create */
32
- constructor(assetId, controlAsset, inputs, outputs, metadata) {
33
- this.assetId = assetId;
34
- this.controlAsset = controlAsset;
35
- this.inputs = inputs;
36
- this.outputs = outputs;
37
- this.metadataList = new metadata_1.MetadataList(metadata);
38
- }
39
- /**
40
- * Create and validate an asset group.
41
- *
42
- * @param assetId - Asset id for this group, or `null` for fresh issuance
43
- * @param controlAsset - Optional control asset reference for (re) issuance
44
- * @param inputs - Asset inputs in the group
45
- * @param outputs - Asset outputs in the group
46
- * @param metadata - Metadata entries associated with the group
47
- * @returns A validated asset group
48
- * @throws Error if the group fails validation
49
- * @see validate
50
- */
51
- static create(assetId, controlAsset, inputs, outputs, metadata) {
52
- const ag = new AssetGroup(assetId, controlAsset, inputs, outputs, metadata);
53
- ag.validate();
54
- return ag;
55
- }
56
- /**
57
- * Decode an asset group from its hex string form.
58
- *
59
- * @param s - Hex-encoded asset group
60
- * @returns Decoded asset group
61
- * @throws Error if the string is not valid hex or does not encode a valid asset group
62
- * @see toString
63
- */
64
- static fromString(s) {
65
- let buf;
66
- try {
67
- buf = base_1.hex.decode(s);
68
- }
69
- catch {
70
- throw new Error("invalid format, must be hex");
71
- }
72
- return AssetGroup.fromBytes(buf);
73
- }
74
- /**
75
- * Decode an asset group from its serialized bytes.
76
- *
77
- * @param buf - Serialized asset group bytes
78
- * @returns Decoded asset group
79
- * @throws Error if the buffer is empty or malformed
80
- */
81
- static fromBytes(buf) {
82
- if (!buf || buf.length === 0) {
83
- throw new Error("missing asset group");
84
- }
85
- const reader = new utils_1.BufferReader(buf);
86
- return AssetGroup.fromReader(reader);
87
- }
88
- /**
89
- * Return true when the group represents an issuance.
90
- *
91
- * @returns `true` when the group has no asset id
92
- */
93
- isIssuance() {
94
- return this.assetId === null;
95
- }
96
- /**
97
- * Return true when the group represents a reissuance.
98
- *
99
- * @returns `true` when the group has an asset id and outputs exceed local inputs
100
- * @remarks
101
- * Only local inputs contribute to the comparison; intent-backed inputs contribute `0` here.
102
- */
103
- isReissuance() {
104
- const sumReducer = (s, { amount }) => s + amount;
105
- const sumOutputs = this.outputs.reduce(sumReducer, 0n);
106
- const sumInputs = this.inputs
107
- .map((i) => ({
108
- amount: i.input.type === types_1.AssetInputType.Local ? i.input.amount : 0n,
109
- }))
110
- .reduce(sumReducer, 0n);
111
- return !this.isIssuance() && sumInputs < sumOutputs;
112
- }
113
- /**
114
- * Serialize the asset group to raw bytes.
115
- *
116
- * @returns Serialized asset group bytes
117
- * @see fromBytes
118
- */
119
- serialize() {
120
- this.validate();
121
- const writer = new utils_1.BufferWriter();
122
- this.serializeTo(writer);
123
- return writer.toBytes();
124
- }
125
- /**
126
- * Validate the asset group and its child structures.
127
- *
128
- * @throws Error if the group is empty or violates issuance invariants
129
- */
130
- validate() {
131
- if (this.inputs.length === 0 && this.outputs.length === 0) {
132
- throw new Error("empty asset group");
133
- }
134
- if (this.isIssuance()) {
135
- if (this.inputs.length !== 0) {
136
- throw new Error("issuance must have no inputs");
137
- }
138
- }
139
- else {
140
- if (this.controlAsset !== null) {
141
- throw new Error("only issuance can have a control asset");
142
- }
143
- }
144
- }
145
- /**
146
- * Convert the group into its batch-leaf representation for the given intent txid.
147
- *
148
- * @param intentTxid - Intent transaction id used to build the leaf input reference
149
- * @returns Batch-leaf asset group
150
- * @see AssetInput.createIntent
151
- */
152
- toBatchLeafAssetGroup(intentTxid) {
153
- const leafInput = assetInput_1.AssetInput.createIntent(base_1.hex.encode(intentTxid), 0, 0);
154
- return new AssetGroup(this.assetId, this.controlAsset, [leafInput], this.outputs, this.metadataList.items);
155
- }
156
- /**
157
- * Encode the asset group to a hex string.
158
- *
159
- * @returns Hex-encoded asset group
160
- * @see fromString
161
- */
162
- toString() {
163
- return base_1.hex.encode(this.serialize());
164
- }
165
- /**
166
- * Decode an asset group from a binary reader.
167
- *
168
- * @param reader - Reader positioned at an asset group
169
- * @returns Decoded asset group
170
- * @throws Error if the encoded group is malformed
171
- */
172
- static fromReader(reader) {
173
- const presence = reader.readByte();
174
- let assetId = null;
175
- let controlAsset = null;
176
- let metadata = [];
177
- if (presence & types_1.MASK_ASSET_ID) {
178
- assetId = assetId_1.AssetId.fromReader(reader);
179
- }
180
- if (presence & types_1.MASK_CONTROL_ASSET) {
181
- controlAsset = assetRef_1.AssetRef.fromReader(reader);
182
- }
183
- if (presence & types_1.MASK_METADATA) {
184
- metadata = metadata_1.MetadataList.fromReader(reader).items;
185
- }
186
- const inputs = assetInput_1.AssetInputs.fromReader(reader);
187
- const outputs = assetOutput_1.AssetOutputs.fromReader(reader);
188
- const ag = new AssetGroup(assetId, controlAsset, inputs.inputs, outputs.outputs, metadata);
189
- ag.validate();
190
- return ag;
191
- }
192
- /**
193
- * Serialize the asset group into an existing binary writer.
194
- *
195
- * @param writer - Writer to append the asset group to
196
- */
197
- serializeTo(writer) {
198
- let presence = 0;
199
- if (this.assetId !== null) {
200
- presence |= types_1.MASK_ASSET_ID;
201
- }
202
- if (this.controlAsset !== null) {
203
- presence |= types_1.MASK_CONTROL_ASSET;
204
- }
205
- if (this.metadataList.length > 0) {
206
- presence |= types_1.MASK_METADATA;
207
- }
208
- writer.writeByte(presence);
209
- if (presence & types_1.MASK_ASSET_ID) {
210
- this.assetId.serializeTo(writer);
211
- }
212
- if (presence & types_1.MASK_CONTROL_ASSET) {
213
- this.controlAsset.serializeTo(writer);
214
- }
215
- if (presence & types_1.MASK_METADATA) {
216
- this.metadataList.serializeTo(writer);
217
- }
218
- writer.writeVarUint(this.inputs.length);
219
- for (const input of this.inputs) {
220
- input.serializeTo(writer);
221
- }
222
- writer.writeVarUint(this.outputs.length);
223
- for (const output of this.outputs) {
224
- output.serializeTo(writer);
225
- }
226
- }
227
- }
228
- exports.AssetGroup = AssetGroup;
@@ -1,152 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AssetId = void 0;
4
- const base_1 = require("@scure/base");
5
- const types_1 = require("./types");
6
- const utils_1 = require("./utils");
7
- /**
8
- * AssetId identifies a specific asset.
9
- *
10
- * @remarks
11
- * Asset ids are derived from the genesis transaction id plus the asset group index.
12
- *
13
- * @see AssetRef
14
- *
15
- * @example
16
- * ```typescript
17
- * const assetId = AssetId.create('00'.repeat(32), 0)
18
- * const encoded = assetId.toString()
19
- * const decoded = AssetId.fromString(encoded)
20
- * ```
21
- */
22
- class AssetId {
23
- constructor(txid, groupIndex) {
24
- this.txid = txid;
25
- this.groupIndex = groupIndex;
26
- }
27
- /**
28
- * Create an asset id from a genesis transaction id and group index.
29
- *
30
- * @param txid - Hex-encoded genesis transaction id
31
- * @param groupIndex - Asset group index within the genesis transaction
32
- * @returns A validated asset id
33
- * @throws Error if the txid is missing, malformed, or not 32 bytes long
34
- * @see fromString
35
- */
36
- static create(txid, groupIndex) {
37
- if (!txid) {
38
- throw new Error("missing txid");
39
- }
40
- let buf;
41
- try {
42
- buf = base_1.hex.decode(txid);
43
- }
44
- catch {
45
- throw new Error("invalid txid format, must be hex");
46
- }
47
- if (buf.length !== types_1.TX_HASH_SIZE) {
48
- throw new Error(`invalid txid length: got ${buf.length} bytes, want ${types_1.TX_HASH_SIZE} bytes`);
49
- }
50
- const assetId = new AssetId(buf, groupIndex);
51
- assetId.validate();
52
- return assetId;
53
- }
54
- /**
55
- * Decode an asset id from its hex string representation.
56
- *
57
- * @param s - Hex-encoded asset id
58
- * @returns Decoded asset id
59
- * @throws Error if the string is not valid hex or does not encode a valid asset id
60
- * @see toString
61
- */
62
- static fromString(s) {
63
- let buf;
64
- try {
65
- buf = base_1.hex.decode(s);
66
- }
67
- catch {
68
- throw new Error("invalid asset id format, must be hex");
69
- }
70
- return AssetId.fromBytes(buf);
71
- }
72
- /**
73
- * Decode an asset id from its serialized bytes.
74
- *
75
- * @param buf - Serialized asset id bytes
76
- * @returns Decoded asset id
77
- * @throws Error if the buffer length is invalid
78
- */
79
- static fromBytes(buf) {
80
- if (!buf || buf.length === 0) {
81
- throw new Error("missing asset id");
82
- }
83
- if (buf.length !== types_1.ASSET_ID_SIZE) {
84
- throw new Error(`invalid asset id length: got ${buf.length} bytes, want ${types_1.ASSET_ID_SIZE} bytes`);
85
- }
86
- const reader = new utils_1.BufferReader(buf);
87
- return AssetId.fromReader(reader);
88
- }
89
- /**
90
- * Serialize the asset id to raw bytes.
91
- *
92
- * @returns Serialized asset id bytes
93
- * @see fromBytes
94
- */
95
- serialize() {
96
- const writer = new utils_1.BufferWriter();
97
- this.serializeTo(writer);
98
- return writer.toBytes();
99
- }
100
- /**
101
- * Encode the asset id to a hex string.
102
- *
103
- * @returns Hex-encoded asset id
104
- * @see fromString
105
- */
106
- toString() {
107
- return base_1.hex.encode(this.serialize());
108
- }
109
- /**
110
- * Validate the asset id fields.
111
- *
112
- * @throws Error if the txid is empty or the group index is out of range
113
- */
114
- validate() {
115
- if ((0, utils_1.isZeroBytes)(this.txid)) {
116
- throw new Error("empty txid");
117
- }
118
- if (!Number.isInteger(this.groupIndex) ||
119
- this.groupIndex < 0 ||
120
- this.groupIndex > 0xffff) {
121
- throw new Error(`invalid group index: ${this.groupIndex}, must be in range [0, 65535]`);
122
- }
123
- }
124
- /**
125
- * Decode an asset id from a binary reader.
126
- *
127
- * @param reader - Reader positioned at an asset id
128
- * @returns Decoded asset id
129
- * @throws Error if the reader does not contain enough bytes
130
- */
131
- static fromReader(reader) {
132
- if (reader.remaining() < types_1.ASSET_ID_SIZE) {
133
- throw new Error(`invalid asset id length: got ${reader.remaining()}, want ${types_1.ASSET_ID_SIZE}`);
134
- }
135
- const txid = reader.readSlice(types_1.TX_HASH_SIZE);
136
- const index = reader.readUint16LE();
137
- const assetId = new AssetId(txid, index);
138
- assetId.validate();
139
- return assetId;
140
- }
141
- /**
142
- * Serialize the asset id into an existing binary writer.
143
- *
144
- * @param writer - Writer to append the asset id to
145
- * @see serialize
146
- */
147
- serializeTo(writer) {
148
- writer.write(this.txid);
149
- writer.writeUint16LE(this.groupIndex);
150
- }
151
- }
152
- exports.AssetId = AssetId;
@@ -1,222 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AssetInputs = exports.AssetInput = void 0;
4
- const base_1 = require("@scure/base");
5
- const types_1 = require("./types");
6
- const utils_1 = require("./utils");
7
- /**
8
- * AssetInput represents an input of an asset group.
9
- * a local input references a real transaction input and specify the amount in satoshis.
10
- * an intent input references an external intent transaction. It is created by the server to handle batch leaf transaction.
11
- */
12
- class AssetInput {
13
- constructor(input) {
14
- this.input = input;
15
- }
16
- /** Gets the transaction input index for an asset input, e.g. 0 */
17
- get vin() {
18
- return this.input.vin;
19
- }
20
- /** Gets the amount for an input (in most cases, 330 sats) */
21
- get amount() {
22
- return this.input.amount;
23
- }
24
- /** Create a local asset input that points at a transaction input index. */
25
- static create(vin, amount) {
26
- const input = new AssetInput({
27
- type: types_1.AssetInputType.Local,
28
- vin,
29
- amount: typeof amount === "number" ? BigInt(amount) : amount,
30
- });
31
- input.validate();
32
- return input;
33
- }
34
- /** Create an intent-backed asset input referencing an external intent transaction. */
35
- static createIntent(txid, vin, amount) {
36
- if (!txid || txid.length === 0) {
37
- throw new Error("missing input intent txid");
38
- }
39
- let buf;
40
- try {
41
- buf = base_1.hex.decode(txid);
42
- }
43
- catch {
44
- throw new Error("invalid input intent txid format, must be hex");
45
- }
46
- if (buf.length !== types_1.TX_HASH_SIZE) {
47
- throw new Error("invalid input intent txid length");
48
- }
49
- const input = new AssetInput({
50
- type: types_1.AssetInputType.Intent,
51
- txid: buf,
52
- vin,
53
- amount: typeof amount === "number" ? BigInt(amount) : amount,
54
- });
55
- input.validate();
56
- return input;
57
- }
58
- /** Decode an asset input from its hex string form. */
59
- static fromString(s) {
60
- let buf;
61
- try {
62
- buf = base_1.hex.decode(s);
63
- }
64
- catch {
65
- throw new Error("invalid format, must be hex");
66
- }
67
- return AssetInput.fromBytes(buf);
68
- }
69
- /** Decode an asset input from its serialized bytes. */
70
- static fromBytes(buf) {
71
- const reader = new utils_1.BufferReader(buf);
72
- return AssetInput.fromReader(reader);
73
- }
74
- /** Serialize the asset input to raw bytes. */
75
- serialize() {
76
- const writer = new utils_1.BufferWriter();
77
- this.serializeTo(writer);
78
- return writer.toBytes();
79
- }
80
- /** Encode the asset input to a hex string. */
81
- toString() {
82
- return base_1.hex.encode(this.serialize());
83
- }
84
- /** Validate the asset input fields. */
85
- validate() {
86
- switch (this.input.type) {
87
- case types_1.AssetInputType.Local:
88
- break;
89
- case types_1.AssetInputType.Intent:
90
- if ((0, utils_1.isZeroBytes)(this.input.txid)) {
91
- throw new Error("missing input intent txid");
92
- }
93
- break;
94
- }
95
- }
96
- /** Decode an asset input from a buffer reader. */
97
- static fromReader(reader) {
98
- const type = reader.readByte();
99
- let input;
100
- switch (type) {
101
- case types_1.AssetInputType.Local: {
102
- const vin = reader.readUint16LE();
103
- const amount = reader.readVarUint();
104
- input = new AssetInput({
105
- type: types_1.AssetInputType.Local,
106
- vin,
107
- amount,
108
- });
109
- break;
110
- }
111
- case types_1.AssetInputType.Intent: {
112
- if (reader.remaining() < types_1.TX_HASH_SIZE) {
113
- throw new Error("invalid input intent txid length");
114
- }
115
- const txid = reader.readSlice(types_1.TX_HASH_SIZE);
116
- const vin = reader.readUint16LE();
117
- const amount = reader.readVarUint();
118
- input = new AssetInput({
119
- type: types_1.AssetInputType.Intent,
120
- txid: new Uint8Array(txid),
121
- vin,
122
- amount,
123
- });
124
- break;
125
- }
126
- case types_1.AssetInputType.Unspecified:
127
- throw new Error("asset input type unspecified");
128
- default:
129
- throw new Error(`asset input type ${type} unknown`);
130
- }
131
- input.validate();
132
- return input;
133
- }
134
- /** Serialize the asset input into an existing buffer writer. */
135
- serializeTo(writer) {
136
- writer.writeByte(this.input.type);
137
- if (this.input.type === types_1.AssetInputType.Intent) {
138
- writer.write(this.input.txid);
139
- }
140
- writer.writeUint16LE(this.input.vin);
141
- writer.writeVarUint(this.input.amount);
142
- }
143
- }
144
- exports.AssetInput = AssetInput;
145
- /**
146
- * AssetInputs represents a list of asset inputs.
147
- */
148
- class AssetInputs {
149
- constructor(inputs) {
150
- this.inputs = inputs;
151
- }
152
- /** Create a validated list of asset inputs. */
153
- static create(inputs) {
154
- const list = new AssetInputs(inputs);
155
- list.validate();
156
- return list;
157
- }
158
- /** Decode an asset input list from its hex string form. */
159
- static fromString(s) {
160
- if (!s || s.length === 0) {
161
- throw new Error("missing asset inputs");
162
- }
163
- let buf;
164
- try {
165
- buf = base_1.hex.decode(s);
166
- }
167
- catch {
168
- throw new Error("invalid asset inputs format, must be hex");
169
- }
170
- const reader = new utils_1.BufferReader(buf);
171
- return AssetInputs.fromReader(reader);
172
- }
173
- /** Serialize the asset input list to raw bytes. */
174
- serialize() {
175
- const writer = new utils_1.BufferWriter();
176
- this.serializeTo(writer);
177
- return writer.toBytes();
178
- }
179
- /** Encode the asset input list to a hex string. */
180
- toString() {
181
- return base_1.hex.encode(this.serialize());
182
- }
183
- /** Validate the asset input list. */
184
- validate() {
185
- const seen = new Set();
186
- let listType = types_1.AssetInputType.Unspecified;
187
- for (const assetInput of this.inputs) {
188
- assetInput.validate();
189
- if (listType === types_1.AssetInputType.Unspecified) {
190
- listType = assetInput.input.type;
191
- }
192
- else if (listType !== assetInput.input.type) {
193
- throw new Error("all inputs must be of the same type");
194
- }
195
- // verify the same input vin is not duplicated
196
- if (assetInput.input.type === types_1.AssetInputType.Local) {
197
- if (seen.has(assetInput.input.vin)) {
198
- throw new Error(`duplicated input vin ${assetInput.input.vin}`);
199
- }
200
- seen.add(assetInput.input.vin);
201
- continue;
202
- }
203
- }
204
- }
205
- /** Decode an asset input list from a buffer reader. */
206
- static fromReader(reader) {
207
- const count = Number(reader.readVarUint());
208
- const inputs = [];
209
- for (let i = 0; i < count; i++) {
210
- inputs.push(AssetInput.fromReader(reader));
211
- }
212
- return AssetInputs.create(inputs);
213
- }
214
- /** Serialize the asset input list into an existing buffer writer. */
215
- serializeTo(writer) {
216
- writer.writeVarUint(this.inputs.length);
217
- for (const input of this.inputs) {
218
- input.serializeTo(writer);
219
- }
220
- }
221
- }
222
- exports.AssetInputs = AssetInputs;