@alephium/web3 2.0.10 → 3.0.0-test.0

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 (493) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +11 -1
  3. package/dist/{src → _cjs}/address/address.js +60 -77
  4. package/dist/_cjs/address/address.js.map +1 -0
  5. package/dist/{src → _cjs}/address/index.js +1 -17
  6. package/dist/_cjs/address/index.js.map +1 -0
  7. package/dist/_cjs/api/api-alephium.d.ts +1152 -0
  8. package/dist/{src → _cjs}/api/api-alephium.js +5 -756
  9. package/dist/_cjs/api/api-alephium.js.map +1 -0
  10. package/dist/_cjs/api/api-explorer.d.ts +586 -0
  11. package/dist/{src → _cjs}/api/api-explorer.js +14 -454
  12. package/dist/_cjs/api/api-explorer.js.map +1 -0
  13. package/dist/{src → _cjs}/api/explorer-provider.js +1 -18
  14. package/dist/_cjs/api/explorer-provider.js.map +1 -0
  15. package/dist/{src → _cjs}/api/index.js +18 -24
  16. package/dist/_cjs/api/index.js.map +1 -0
  17. package/dist/{src → _cjs}/api/node-provider.d.ts +1 -1
  18. package/dist/{src → _cjs}/api/node-provider.js +4 -26
  19. package/dist/_cjs/api/node-provider.js.map +1 -0
  20. package/dist/{src → _cjs}/api/types.js +25 -43
  21. package/dist/_cjs/api/types.js.map +1 -0
  22. package/dist/{src → _cjs}/api/utils.d.ts +1 -1
  23. package/dist/{src → _cjs}/api/utils.js +9 -21
  24. package/dist/_cjs/api/utils.js.map +1 -0
  25. package/dist/{src → _cjs}/block/block.js +20 -26
  26. package/dist/_cjs/block/block.js.map +1 -0
  27. package/dist/_cjs/block/index.d.ts +2 -0
  28. package/dist/_cjs/block/index.js +6 -0
  29. package/dist/_cjs/block/index.js.map +1 -0
  30. package/dist/{src → _cjs}/codec/array-codec.js +1 -17
  31. package/dist/_cjs/codec/array-codec.js.map +1 -0
  32. package/dist/{src → _cjs}/codec/asset-output-codec.js +1 -17
  33. package/dist/_cjs/codec/asset-output-codec.js.map +1 -0
  34. package/dist/{src → _cjs}/codec/bigint-codec.js +2 -33
  35. package/dist/_cjs/codec/bigint-codec.js.map +1 -0
  36. package/dist/{src → _cjs}/codec/bytestring-codec.d.ts +1 -1
  37. package/dist/{src → _cjs}/codec/bytestring-codec.js +1 -17
  38. package/dist/_cjs/codec/bytestring-codec.js.map +1 -0
  39. package/dist/{src → _cjs}/codec/checksum-codec.js +1 -17
  40. package/dist/_cjs/codec/checksum-codec.js.map +1 -0
  41. package/dist/{src → _cjs}/codec/codec.js +3 -19
  42. package/dist/_cjs/codec/codec.js.map +1 -0
  43. package/dist/{src → _cjs}/codec/compact-int-codec.js +2 -18
  44. package/dist/_cjs/codec/compact-int-codec.js.map +1 -0
  45. package/dist/{src → _cjs}/codec/contract-codec.js +1 -17
  46. package/dist/_cjs/codec/contract-codec.js.map +1 -0
  47. package/dist/{src → _cjs}/codec/contract-output-codec.js +1 -17
  48. package/dist/_cjs/codec/contract-output-codec.js.map +1 -0
  49. package/dist/_cjs/codec/contract-output-ref-codec.js +12 -0
  50. package/dist/_cjs/codec/contract-output-ref-codec.js.map +1 -0
  51. package/dist/_cjs/codec/either-codec.js +8 -0
  52. package/dist/_cjs/codec/either-codec.js.map +1 -0
  53. package/dist/{src → _cjs}/codec/hash.d.ts +1 -1
  54. package/dist/_cjs/codec/hash.js +20 -0
  55. package/dist/_cjs/codec/hash.js.map +1 -0
  56. package/dist/{src → _cjs}/codec/index.js +18 -24
  57. package/dist/_cjs/codec/index.js.map +1 -0
  58. package/dist/{src → _cjs}/codec/input-codec.js +1 -0
  59. package/dist/_cjs/codec/input-codec.js.map +1 -0
  60. package/dist/{src → _cjs}/codec/instr-codec.js +4 -21
  61. package/dist/_cjs/codec/instr-codec.js.map +1 -0
  62. package/dist/_cjs/codec/int-as-4bytes-codec.js +16 -0
  63. package/dist/_cjs/codec/int-as-4bytes-codec.js.map +1 -0
  64. package/dist/{src → _cjs}/codec/lockup-script-codec.d.ts +1 -1
  65. package/dist/{src → _cjs}/codec/lockup-script-codec.js +1 -17
  66. package/dist/_cjs/codec/lockup-script-codec.js.map +1 -0
  67. package/dist/{src → _cjs}/codec/method-codec.js +1 -17
  68. package/dist/_cjs/codec/method-codec.js.map +1 -0
  69. package/dist/_cjs/codec/option-codec.js +19 -0
  70. package/dist/_cjs/codec/option-codec.js.map +1 -0
  71. package/dist/_cjs/codec/output-codec.js +10 -0
  72. package/dist/_cjs/codec/output-codec.js.map +1 -0
  73. package/dist/_cjs/codec/public-key-like-codec.js +14 -0
  74. package/dist/_cjs/codec/public-key-like-codec.js.map +1 -0
  75. package/dist/{src → _cjs}/codec/reader.js +1 -17
  76. package/dist/_cjs/codec/reader.js.map +1 -0
  77. package/dist/_cjs/codec/script-codec.js +18 -0
  78. package/dist/_cjs/codec/script-codec.js.map +1 -0
  79. package/dist/{src → _cjs}/codec/signature-codec.d.ts +1 -1
  80. package/dist/_cjs/codec/signature-codec.js +8 -0
  81. package/dist/_cjs/codec/signature-codec.js.map +1 -0
  82. package/dist/{src → _cjs}/codec/timestamp-codec.js +1 -17
  83. package/dist/_cjs/codec/timestamp-codec.js.map +1 -0
  84. package/dist/_cjs/codec/token-codec.js +12 -0
  85. package/dist/_cjs/codec/token-codec.js.map +1 -0
  86. package/dist/{src → _cjs}/codec/transaction-codec.js +1 -17
  87. package/dist/_cjs/codec/transaction-codec.js.map +1 -0
  88. package/dist/{src → _cjs}/codec/unlock-script-codec.d.ts +1 -1
  89. package/dist/{src → _cjs}/codec/unlock-script-codec.js +1 -17
  90. package/dist/_cjs/codec/unlock-script-codec.js.map +1 -0
  91. package/dist/{src → _cjs}/codec/unsigned-tx-codec.js +1 -0
  92. package/dist/_cjs/codec/unsigned-tx-codec.js.map +1 -0
  93. package/dist/{src → _cjs}/codec/val.js +1 -17
  94. package/dist/_cjs/codec/val.js.map +1 -0
  95. package/dist/{src → _cjs}/constants.d.ts +0 -3
  96. package/dist/{src → _cjs}/constants.js +1 -20
  97. package/dist/_cjs/constants.js.map +1 -0
  98. package/dist/{src → _cjs}/contract/contract.js +60 -78
  99. package/dist/_cjs/contract/contract.js.map +1 -0
  100. package/dist/{src → _cjs}/contract/dapp-tx-builder.js +3 -19
  101. package/dist/_cjs/contract/dapp-tx-builder.js.map +1 -0
  102. package/dist/_cjs/contract/deployment.js +3 -0
  103. package/dist/_cjs/contract/deployment.js.map +1 -0
  104. package/dist/{src → _cjs}/contract/events.js +20 -26
  105. package/dist/_cjs/contract/events.js.map +1 -0
  106. package/dist/{src → _cjs}/contract/index.js +1 -17
  107. package/dist/_cjs/contract/index.js.map +1 -0
  108. package/dist/{src → _cjs}/contract/ralph.js +35 -69
  109. package/dist/_cjs/contract/ralph.js.map +1 -0
  110. package/dist/{src → _cjs}/contract/script-simulator.d.ts +0 -12
  111. package/dist/{src → _cjs}/contract/script-simulator.js +23 -64
  112. package/dist/_cjs/contract/script-simulator.js.map +1 -0
  113. package/dist/_cjs/debug.js +29 -0
  114. package/dist/_cjs/debug.js.map +1 -0
  115. package/dist/{src → _cjs}/error.js +1 -17
  116. package/dist/_cjs/error.js.map +1 -0
  117. package/dist/{src → _cjs}/exchange/exchange.js +8 -26
  118. package/dist/_cjs/exchange/exchange.js.map +1 -0
  119. package/dist/_cjs/exchange/index.d.ts +2 -0
  120. package/dist/{src → _cjs}/exchange/index.js +1 -17
  121. package/dist/_cjs/exchange/index.js.map +1 -0
  122. package/dist/{src → _cjs}/global.js +7 -26
  123. package/dist/_cjs/global.js.map +1 -0
  124. package/dist/{src → _cjs}/index.js +18 -27
  125. package/dist/_cjs/index.js.map +1 -0
  126. package/dist/_cjs/package.json +1 -0
  127. package/dist/{src → _cjs}/signer/index.js +1 -17
  128. package/dist/_cjs/signer/index.js.map +1 -0
  129. package/dist/{src → _cjs}/signer/signer.js +16 -63
  130. package/dist/_cjs/signer/signer.js.map +1 -0
  131. package/dist/{src → _cjs}/signer/tx-builder.js +4 -21
  132. package/dist/_cjs/signer/tx-builder.js.map +1 -0
  133. package/dist/{src → _cjs}/signer/types.js +6 -22
  134. package/dist/_cjs/signer/types.js.map +1 -0
  135. package/dist/{src → _cjs}/token/index.js +1 -17
  136. package/dist/_cjs/token/index.js.map +1 -0
  137. package/dist/{src → _cjs}/token/nft.d.ts +0 -1
  138. package/dist/{src → _cjs}/token/nft.js +5 -24
  139. package/dist/_cjs/token/nft.js.map +1 -0
  140. package/dist/{src → _cjs}/transaction/index.js +1 -17
  141. package/dist/_cjs/transaction/index.js.map +1 -0
  142. package/dist/{src → _cjs}/transaction/sign-verify.js +20 -27
  143. package/dist/_cjs/transaction/sign-verify.js.map +1 -0
  144. package/dist/{src → _cjs}/transaction/status.js +20 -26
  145. package/dist/_cjs/transaction/status.js.map +1 -0
  146. package/dist/{src → _cjs}/transaction/utils.js +3 -20
  147. package/dist/_cjs/transaction/utils.js.map +1 -0
  148. package/dist/{src → _cjs}/utils/bs58.d.ts +0 -1
  149. package/dist/{src → _cjs}/utils/bs58.js +4 -21
  150. package/dist/_cjs/utils/bs58.js.map +1 -0
  151. package/dist/_cjs/utils/djb2.js +11 -0
  152. package/dist/_cjs/utils/djb2.js.map +1 -0
  153. package/dist/{src → _cjs}/utils/index.js +1 -17
  154. package/dist/_cjs/utils/index.js.map +1 -0
  155. package/dist/{src → _cjs}/utils/number.d.ts +0 -2
  156. package/dist/{src → _cjs}/utils/number.fixture.js +1 -17
  157. package/dist/_cjs/utils/number.fixture.js.map +1 -0
  158. package/dist/{src → _cjs}/utils/number.js +10 -44
  159. package/dist/_cjs/utils/number.js.map +1 -0
  160. package/dist/_cjs/utils/sign.js +89 -0
  161. package/dist/_cjs/utils/sign.js.map +1 -0
  162. package/dist/{src → _cjs}/utils/subscription.js +1 -17
  163. package/dist/_cjs/utils/subscription.js.map +1 -0
  164. package/dist/{src → _cjs}/utils/utils.d.ts +7 -6
  165. package/dist/{src → _cjs}/utils/utils.js +60 -57
  166. package/dist/_cjs/utils/utils.js.map +1 -0
  167. package/dist/{src → _cjs}/utils/webcrypto.d.ts +1 -3
  168. package/dist/_cjs/utils/webcrypto.js +18 -0
  169. package/dist/_cjs/utils/webcrypto.js.map +1 -0
  170. package/dist/_esm/address/address.d.ts +36 -0
  171. package/dist/_esm/address/address.js +309 -0
  172. package/dist/_esm/address/address.js.map +1 -0
  173. package/dist/_esm/address/index.d.ts +1 -0
  174. package/dist/_esm/address/index.js +2 -0
  175. package/dist/_esm/address/index.js.map +1 -0
  176. package/dist/_esm/api/api-alephium.d.ts +1152 -0
  177. package/dist/_esm/api/api-alephium.js +797 -0
  178. package/dist/_esm/api/api-alephium.js.map +1 -0
  179. package/dist/_esm/api/api-explorer.d.ts +586 -0
  180. package/dist/_esm/api/api-explorer.js +577 -0
  181. package/dist/_esm/api/api-explorer.js.map +1 -0
  182. package/dist/_esm/api/explorer-provider.d.ts +21 -0
  183. package/dist/_esm/api/explorer-provider.js +48 -0
  184. package/dist/_esm/api/explorer-provider.js.map +1 -0
  185. package/dist/_esm/api/index.d.ts +6 -0
  186. package/dist/_esm/api/index.js +7 -0
  187. package/dist/_esm/api/index.js.map +1 -0
  188. package/dist/_esm/api/node-provider.d.ts +46 -0
  189. package/dist/_esm/api/node-provider.js +178 -0
  190. package/dist/_esm/api/node-provider.js.map +1 -0
  191. package/dist/_esm/api/types.d.ts +71 -0
  192. package/dist/_esm/api/types.js +219 -0
  193. package/dist/_esm/api/types.js.map +1 -0
  194. package/dist/_esm/api/utils.d.ts +10 -0
  195. package/dist/_esm/api/utils.js +37 -0
  196. package/dist/_esm/api/utils.js.map +1 -0
  197. package/dist/_esm/block/block.d.ts +27 -0
  198. package/dist/_esm/block/block.js +128 -0
  199. package/dist/_esm/block/block.js.map +1 -0
  200. package/dist/_esm/block/index.d.ts +2 -0
  201. package/dist/_esm/block/index.js +2 -0
  202. package/dist/_esm/block/index.js.map +1 -0
  203. package/dist/_esm/codec/array-codec.d.ts +8 -0
  204. package/dist/_esm/codec/array-codec.js +25 -0
  205. package/dist/_esm/codec/array-codec.js.map +1 -0
  206. package/dist/_esm/codec/asset-output-codec.d.ts +21 -0
  207. package/dist/_esm/codec/asset-output-codec.js +74 -0
  208. package/dist/_esm/codec/asset-output-codec.js.map +1 -0
  209. package/dist/_esm/codec/bigint-codec.d.ts +5 -0
  210. package/dist/_esm/codec/bigint-codec.js +62 -0
  211. package/dist/_esm/codec/bigint-codec.js.map +1 -0
  212. package/dist/_esm/codec/bytestring-codec.d.ts +10 -0
  213. package/dist/_esm/codec/bytestring-codec.js +16 -0
  214. package/dist/_esm/codec/bytestring-codec.js.map +1 -0
  215. package/dist/_esm/codec/checksum-codec.d.ts +8 -0
  216. package/dist/_esm/codec/checksum-codec.js +27 -0
  217. package/dist/_esm/codec/checksum-codec.js.map +1 -0
  218. package/dist/_esm/codec/codec.d.ts +57 -0
  219. package/dist/_esm/codec/codec.js +114 -0
  220. package/dist/_esm/codec/codec.js.map +1 -0
  221. package/dist/_esm/codec/compact-int-codec.d.ts +68 -0
  222. package/dist/_esm/codec/compact-int-codec.js +287 -0
  223. package/dist/_esm/codec/compact-int-codec.js.map +1 -0
  224. package/dist/_esm/codec/contract-codec.d.ts +19 -0
  225. package/dist/_esm/codec/contract-codec.js +47 -0
  226. package/dist/_esm/codec/contract-codec.js.map +1 -0
  227. package/dist/_esm/codec/contract-output-codec.d.ts +14 -0
  228. package/dist/_esm/codec/contract-output-codec.js +40 -0
  229. package/dist/_esm/codec/contract-output-codec.js.map +1 -0
  230. package/dist/_esm/codec/contract-output-ref-codec.d.ts +8 -0
  231. package/dist/_esm/codec/contract-output-ref-codec.js +9 -0
  232. package/dist/_esm/codec/contract-output-ref-codec.js.map +1 -0
  233. package/dist/_esm/codec/either-codec.d.ts +9 -0
  234. package/dist/_esm/codec/either-codec.js +5 -0
  235. package/dist/_esm/codec/either-codec.js.map +1 -0
  236. package/dist/_esm/codec/hash.d.ts +3 -0
  237. package/dist/_esm/codec/hash.js +15 -0
  238. package/dist/_esm/codec/hash.js.map +1 -0
  239. package/dist/_esm/codec/index.d.ts +24 -0
  240. package/dist/_esm/codec/index.js +25 -0
  241. package/dist/_esm/codec/index.js.map +1 -0
  242. package/dist/_esm/codec/input-codec.d.ts +15 -0
  243. package/dist/_esm/codec/input-codec.js +33 -0
  244. package/dist/_esm/codec/input-codec.js.map +1 -0
  245. package/dist/_esm/codec/instr-codec.d.ts +857 -0
  246. package/dist/_esm/codec/instr-codec.js +1138 -0
  247. package/dist/_esm/codec/instr-codec.js.map +1 -0
  248. package/dist/_esm/codec/int-as-4bytes-codec.d.ts +7 -0
  249. package/dist/_esm/codec/int-as-4bytes-codec.js +12 -0
  250. package/dist/_esm/codec/int-as-4bytes-codec.js.map +1 -0
  251. package/dist/_esm/codec/lockup-script-codec.d.ts +42 -0
  252. package/dist/_esm/codec/lockup-script-codec.js +28 -0
  253. package/dist/_esm/codec/lockup-script-codec.js.map +1 -0
  254. package/dist/_esm/codec/method-codec.d.ts +20 -0
  255. package/dist/_esm/codec/method-codec.js +54 -0
  256. package/dist/_esm/codec/method-codec.js.map +1 -0
  257. package/dist/_esm/codec/option-codec.d.ts +9 -0
  258. package/dist/_esm/codec/option-codec.js +16 -0
  259. package/dist/_esm/codec/option-codec.js.map +1 -0
  260. package/dist/_esm/codec/output-codec.d.ts +7 -0
  261. package/dist/_esm/codec/output-codec.js +7 -0
  262. package/dist/_esm/codec/output-codec.js.map +1 -0
  263. package/dist/_esm/codec/public-key-like-codec.d.ts +17 -0
  264. package/dist/_esm/codec/public-key-like-codec.js +11 -0
  265. package/dist/_esm/codec/public-key-like-codec.js.map +1 -0
  266. package/dist/_esm/codec/reader.d.ts +10 -0
  267. package/dist/_esm/codec/reader.js +38 -0
  268. package/dist/_esm/codec/reader.js.map +1 -0
  269. package/dist/_esm/codec/script-codec.d.ts +12 -0
  270. package/dist/_esm/codec/script-codec.js +14 -0
  271. package/dist/_esm/codec/script-codec.js.map +1 -0
  272. package/dist/_esm/codec/signature-codec.d.ts +5 -0
  273. package/dist/_esm/codec/signature-codec.js +5 -0
  274. package/dist/_esm/codec/signature-codec.js.map +1 -0
  275. package/dist/_esm/codec/timestamp-codec.d.ts +8 -0
  276. package/dist/_esm/codec/timestamp-codec.js +19 -0
  277. package/dist/_esm/codec/timestamp-codec.js.map +1 -0
  278. package/dist/_esm/codec/token-codec.d.ts +8 -0
  279. package/dist/_esm/codec/token-codec.js +9 -0
  280. package/dist/_esm/codec/token-codec.js.map +1 -0
  281. package/dist/_esm/codec/transaction-codec.d.ts +21 -0
  282. package/dist/_esm/codec/transaction-codec.js +82 -0
  283. package/dist/_esm/codec/transaction-codec.js.map +1 -0
  284. package/dist/_esm/codec/unlock-script-codec.d.ts +44 -0
  285. package/dist/_esm/codec/unlock-script-codec.js +49 -0
  286. package/dist/_esm/codec/unlock-script-codec.js.map +1 -0
  287. package/dist/_esm/codec/unsigned-tx-codec.d.ts +23 -0
  288. package/dist/_esm/codec/unsigned-tx-codec.js +57 -0
  289. package/dist/_esm/codec/unsigned-tx-codec.js.map +1 -0
  290. package/dist/_esm/codec/val.d.ts +27 -0
  291. package/dist/_esm/codec/val.js +14 -0
  292. package/dist/_esm/codec/val.js.map +1 -0
  293. package/dist/_esm/constants.d.ts +14 -0
  294. package/dist/_esm/constants.js +15 -0
  295. package/dist/_esm/constants.js.map +1 -0
  296. package/dist/_esm/contract/contract.d.ts +328 -0
  297. package/dist/_esm/contract/contract.js +1449 -0
  298. package/dist/_esm/contract/contract.js.map +1 -0
  299. package/dist/_esm/contract/dapp-tx-builder.d.ts +26 -0
  300. package/dist/_esm/contract/dapp-tx-builder.js +166 -0
  301. package/dist/_esm/contract/dapp-tx-builder.js.map +1 -0
  302. package/dist/_esm/contract/deployment.d.ts +21 -0
  303. package/dist/_esm/contract/deployment.js +2 -0
  304. package/dist/_esm/contract/deployment.js.map +1 -0
  305. package/dist/_esm/contract/events.d.ts +17 -0
  306. package/dist/_esm/contract/events.js +59 -0
  307. package/dist/_esm/contract/events.js.map +1 -0
  308. package/dist/_esm/contract/index.d.ts +6 -0
  309. package/dist/_esm/contract/index.js +7 -0
  310. package/dist/_esm/contract/index.js.map +1 -0
  311. package/dist/_esm/contract/ralph.d.ts +73 -0
  312. package/dist/_esm/contract/ralph.js +372 -0
  313. package/dist/_esm/contract/ralph.js.map +1 -0
  314. package/dist/_esm/contract/script-simulator.d.ts +15 -0
  315. package/dist/_esm/contract/script-simulator.js +712 -0
  316. package/dist/_esm/contract/script-simulator.js.map +1 -0
  317. package/dist/_esm/debug.d.ts +6 -0
  318. package/dist/_esm/debug.js +21 -0
  319. package/dist/_esm/debug.js.map +1 -0
  320. package/dist/_esm/error.d.ts +4 -0
  321. package/dist/_esm/error.js +16 -0
  322. package/dist/_esm/error.js.map +1 -0
  323. package/dist/_esm/exchange/exchange.d.ts +21 -0
  324. package/dist/_esm/exchange/exchange.js +137 -0
  325. package/dist/_esm/exchange/exchange.js.map +1 -0
  326. package/dist/_esm/exchange/index.d.ts +2 -0
  327. package/dist/_esm/exchange/index.js +2 -0
  328. package/dist/_esm/exchange/index.js.map +1 -0
  329. package/dist/_esm/global.d.ts +10 -0
  330. package/dist/_esm/global.js +49 -0
  331. package/dist/_esm/global.js.map +1 -0
  332. package/dist/_esm/index.d.ts +15 -0
  333. package/dist/_esm/index.js +16 -0
  334. package/dist/_esm/index.js.map +1 -0
  335. package/dist/_esm/package.json +1 -0
  336. package/dist/_esm/signer/index.d.ts +3 -0
  337. package/dist/_esm/signer/index.js +4 -0
  338. package/dist/_esm/signer/index.js.map +1 -0
  339. package/dist/_esm/signer/signer.d.ts +63 -0
  340. package/dist/_esm/signer/signer.js +279 -0
  341. package/dist/_esm/signer/signer.js.map +1 -0
  342. package/dist/_esm/signer/tx-builder.d.ts +22 -0
  343. package/dist/_esm/signer/tx-builder.js +270 -0
  344. package/dist/_esm/signer/tx-builder.js.map +1 -0
  345. package/dist/_esm/signer/types.d.ts +167 -0
  346. package/dist/_esm/signer/types.js +27 -0
  347. package/dist/_esm/signer/types.js.map +1 -0
  348. package/dist/_esm/token/index.d.ts +1 -0
  349. package/dist/_esm/token/index.js +2 -0
  350. package/dist/_esm/token/index.js.map +1 -0
  351. package/dist/_esm/token/nft.d.ts +8 -0
  352. package/dist/_esm/token/nft.js +95 -0
  353. package/dist/_esm/token/nft.js.map +1 -0
  354. package/dist/_esm/transaction/index.d.ts +3 -0
  355. package/dist/_esm/transaction/index.js +4 -0
  356. package/dist/_esm/transaction/index.js.map +1 -0
  357. package/dist/_esm/transaction/sign-verify.d.ts +3 -0
  358. package/dist/_esm/transaction/sign-verify.js +8 -0
  359. package/dist/_esm/transaction/sign-verify.js.map +1 -0
  360. package/dist/_esm/transaction/status.d.ts +12 -0
  361. package/dist/_esm/transaction/status.js +33 -0
  362. package/dist/_esm/transaction/status.js.map +1 -0
  363. package/dist/_esm/transaction/utils.d.ts +4 -0
  364. package/dist/_esm/transaction/utils.js +35 -0
  365. package/dist/_esm/transaction/utils.js.map +1 -0
  366. package/dist/_esm/utils/bs58.d.ts +5 -0
  367. package/dist/_esm/utils/bs58.js +25 -0
  368. package/dist/_esm/utils/bs58.js.map +1 -0
  369. package/dist/_esm/utils/djb2.d.ts +1 -0
  370. package/dist/_esm/utils/djb2.js +8 -0
  371. package/dist/_esm/utils/djb2.js.map +1 -0
  372. package/dist/_esm/utils/index.d.ts +7 -0
  373. package/dist/_esm/utils/index.js +8 -0
  374. package/dist/_esm/utils/index.js.map +1 -0
  375. package/dist/_esm/utils/number.d.ts +17 -0
  376. package/dist/_esm/utils/number.fixture.d.ts +12 -0
  377. package/dist/_esm/utils/number.fixture.js +170 -0
  378. package/dist/_esm/utils/number.fixture.js.map +1 -0
  379. package/dist/_esm/utils/number.js +104 -0
  380. package/dist/_esm/utils/number.js.map +1 -0
  381. package/dist/_esm/utils/sign.d.ts +3 -0
  382. package/dist/_esm/utils/sign.js +52 -0
  383. package/dist/_esm/utils/sign.js.map +1 -0
  384. package/dist/_esm/utils/subscription.d.ts +22 -0
  385. package/dist/_esm/utils/subscription.js +31 -0
  386. package/dist/_esm/utils/subscription.js.map +1 -0
  387. package/dist/_esm/utils/utils.d.ts +40 -0
  388. package/dist/_esm/utils/utils.js +116 -0
  389. package/dist/_esm/utils/utils.js.map +1 -0
  390. package/dist/_esm/utils/webcrypto.d.ts +4 -0
  391. package/dist/_esm/utils/webcrypto.js +14 -0
  392. package/dist/_esm/utils/webcrypto.js.map +1 -0
  393. package/package.json +34 -40
  394. package/src/address/address.ts +12 -17
  395. package/src/api/api-alephium.ts +4 -5
  396. package/src/api/api-explorer.ts +4 -5
  397. package/src/api/types.ts +3 -2
  398. package/src/api/utils.ts +13 -1
  399. package/src/block/index.ts +2 -1
  400. package/src/codec/hash.ts +2 -2
  401. package/src/contract/contract.ts +14 -12
  402. package/src/exchange/index.ts +1 -3
  403. package/src/index.ts +0 -4
  404. package/src/signer/signer.ts +17 -11
  405. package/src/token/nft.ts +0 -1
  406. package/src/utils/sign.ts +19 -20
  407. package/src/utils/utils.ts +9 -20
  408. package/src/utils/webcrypto.ts +4 -11
  409. package/tsconfig.build.json +9 -0
  410. package/dist/alephium-web3.min.js +0 -3
  411. package/dist/alephium-web3.min.js.LICENSE.txt +0 -12
  412. package/dist/alephium-web3.min.js.map +0 -1
  413. package/dist/scripts/check-versions.d.ts +0 -1
  414. package/dist/scripts/check-versions.js +0 -39
  415. package/dist/scripts/header.d.ts +0 -0
  416. package/dist/scripts/header.js +0 -18
  417. package/dist/src/api/api-alephium.d.ts +0 -2433
  418. package/dist/src/api/api-explorer.d.ts +0 -1472
  419. package/dist/src/block/index.d.ts +0 -1
  420. package/dist/src/block/index.js +0 -22
  421. package/dist/src/codec/contract-output-ref-codec.js +0 -28
  422. package/dist/src/codec/either-codec.js +0 -25
  423. package/dist/src/codec/hash.js +0 -40
  424. package/dist/src/codec/int-as-4bytes-codec.js +0 -32
  425. package/dist/src/codec/option-codec.js +0 -36
  426. package/dist/src/codec/output-codec.js +0 -26
  427. package/dist/src/codec/public-key-like-codec.js +0 -30
  428. package/dist/src/codec/script-codec.js +0 -34
  429. package/dist/src/codec/signature-codec.js +0 -24
  430. package/dist/src/codec/token-codec.js +0 -28
  431. package/dist/src/contract/deployment.js +0 -19
  432. package/dist/src/debug.js +0 -46
  433. package/dist/src/exchange/index.d.ts +0 -1
  434. package/dist/src/utils/djb2.js +0 -27
  435. package/dist/src/utils/sign.js +0 -96
  436. package/dist/src/utils/webcrypto.js +0 -42
  437. package/webpack.config.js +0 -56
  438. /package/dist/{src → _cjs}/address/address.d.ts +0 -0
  439. /package/dist/{src → _cjs}/address/index.d.ts +0 -0
  440. /package/dist/{src → _cjs}/api/explorer-provider.d.ts +0 -0
  441. /package/dist/{src → _cjs}/api/index.d.ts +0 -0
  442. /package/dist/{src → _cjs}/api/types.d.ts +0 -0
  443. /package/dist/{src → _cjs}/block/block.d.ts +0 -0
  444. /package/dist/{src → _cjs}/codec/array-codec.d.ts +0 -0
  445. /package/dist/{src → _cjs}/codec/asset-output-codec.d.ts +0 -0
  446. /package/dist/{src → _cjs}/codec/bigint-codec.d.ts +0 -0
  447. /package/dist/{src → _cjs}/codec/checksum-codec.d.ts +0 -0
  448. /package/dist/{src → _cjs}/codec/codec.d.ts +0 -0
  449. /package/dist/{src → _cjs}/codec/compact-int-codec.d.ts +0 -0
  450. /package/dist/{src → _cjs}/codec/contract-codec.d.ts +0 -0
  451. /package/dist/{src → _cjs}/codec/contract-output-codec.d.ts +0 -0
  452. /package/dist/{src → _cjs}/codec/contract-output-ref-codec.d.ts +0 -0
  453. /package/dist/{src → _cjs}/codec/either-codec.d.ts +0 -0
  454. /package/dist/{src → _cjs}/codec/index.d.ts +0 -0
  455. /package/dist/{src → _cjs}/codec/input-codec.d.ts +0 -0
  456. /package/dist/{src → _cjs}/codec/instr-codec.d.ts +0 -0
  457. /package/dist/{src → _cjs}/codec/int-as-4bytes-codec.d.ts +0 -0
  458. /package/dist/{src → _cjs}/codec/method-codec.d.ts +0 -0
  459. /package/dist/{src → _cjs}/codec/option-codec.d.ts +0 -0
  460. /package/dist/{src → _cjs}/codec/output-codec.d.ts +0 -0
  461. /package/dist/{src → _cjs}/codec/public-key-like-codec.d.ts +0 -0
  462. /package/dist/{src → _cjs}/codec/reader.d.ts +0 -0
  463. /package/dist/{src → _cjs}/codec/script-codec.d.ts +0 -0
  464. /package/dist/{src → _cjs}/codec/timestamp-codec.d.ts +0 -0
  465. /package/dist/{src → _cjs}/codec/token-codec.d.ts +0 -0
  466. /package/dist/{src → _cjs}/codec/transaction-codec.d.ts +0 -0
  467. /package/dist/{src → _cjs}/codec/unsigned-tx-codec.d.ts +0 -0
  468. /package/dist/{src → _cjs}/codec/val.d.ts +0 -0
  469. /package/dist/{src → _cjs}/contract/contract.d.ts +0 -0
  470. /package/dist/{src → _cjs}/contract/dapp-tx-builder.d.ts +0 -0
  471. /package/dist/{src → _cjs}/contract/deployment.d.ts +0 -0
  472. /package/dist/{src → _cjs}/contract/events.d.ts +0 -0
  473. /package/dist/{src → _cjs}/contract/index.d.ts +0 -0
  474. /package/dist/{src → _cjs}/contract/ralph.d.ts +0 -0
  475. /package/dist/{src → _cjs}/debug.d.ts +0 -0
  476. /package/dist/{src → _cjs}/error.d.ts +0 -0
  477. /package/dist/{src → _cjs}/exchange/exchange.d.ts +0 -0
  478. /package/dist/{src → _cjs}/global.d.ts +0 -0
  479. /package/dist/{src → _cjs}/index.d.ts +0 -0
  480. /package/dist/{src → _cjs}/signer/index.d.ts +0 -0
  481. /package/dist/{src → _cjs}/signer/signer.d.ts +0 -0
  482. /package/dist/{src → _cjs}/signer/tx-builder.d.ts +0 -0
  483. /package/dist/{src → _cjs}/signer/types.d.ts +0 -0
  484. /package/dist/{src → _cjs}/token/index.d.ts +0 -0
  485. /package/dist/{src → _cjs}/transaction/index.d.ts +0 -0
  486. /package/dist/{src → _cjs}/transaction/sign-verify.d.ts +0 -0
  487. /package/dist/{src → _cjs}/transaction/status.d.ts +0 -0
  488. /package/dist/{src → _cjs}/transaction/utils.d.ts +0 -0
  489. /package/dist/{src → _cjs}/utils/djb2.d.ts +0 -0
  490. /package/dist/{src → _cjs}/utils/index.d.ts +0 -0
  491. /package/dist/{src → _cjs}/utils/number.fixture.d.ts +0 -0
  492. /package/dist/{src → _cjs}/utils/sign.d.ts +0 -0
  493. /package/dist/{src → _cjs}/utils/subscription.d.ts +0 -0
@@ -0,0 +1,167 @@
1
+ import { Number256, Token } from '../api';
2
+ import { node } from '../api';
3
+ import { SimulationResult } from '../api/api-alephium';
4
+ import { NetworkId } from '../utils';
5
+ export type Address = string;
6
+ export type OutputRef = node.OutputRef;
7
+ export interface Destination {
8
+ address: string;
9
+ attoAlphAmount: Number256;
10
+ tokens?: Token[];
11
+ lockTime?: number;
12
+ message?: string;
13
+ }
14
+ export declare const groupedKeyTypes: readonly ["default", "bip340-schnorr"];
15
+ export declare const grouplessKeyTypes: readonly ["gl-secp256k1", "gl-secp256r1", "gl-ed25519", "gl-webauthn"];
16
+ export declare const keyTypes: readonly ["default", "bip340-schnorr", "gl-secp256k1", "gl-secp256r1", "gl-ed25519", "gl-webauthn"];
17
+ export type GroupedKeyType = (typeof groupedKeyTypes)[number];
18
+ export type GrouplessKeyType = (typeof grouplessKeyTypes)[number];
19
+ export type KeyType = GroupedKeyType | GrouplessKeyType;
20
+ export interface GroupedAccount {
21
+ keyType: GroupedKeyType;
22
+ address: string;
23
+ group: number;
24
+ publicKey: string;
25
+ }
26
+ export interface GrouplessAccount {
27
+ keyType: GrouplessKeyType;
28
+ address: string;
29
+ publicKey: string;
30
+ }
31
+ export type Account = GroupedAccount | GrouplessAccount;
32
+ export declare function isGroupedKeyType(keyType: KeyType): keyType is GroupedKeyType;
33
+ export declare function isGrouplessKeyType(keyType: KeyType): keyType is GrouplessKeyType;
34
+ export declare function isGroupedAccount(account: Account): account is GroupedAccount;
35
+ export declare function isGrouplessAccount(account: Account): account is GrouplessAccount;
36
+ export type SignerAddress = {
37
+ signerAddress: string;
38
+ signerKeyType?: KeyType;
39
+ };
40
+ export interface SignTransferTxParams {
41
+ signerAddress: string;
42
+ signerKeyType?: KeyType;
43
+ destinations: Destination[];
44
+ utxos?: OutputRef[];
45
+ gasAmount?: number;
46
+ gasPrice?: Number256;
47
+ group?: number;
48
+ }
49
+ export interface SignTransferTxResult {
50
+ fromGroup: number;
51
+ toGroup: number;
52
+ unsignedTx: string;
53
+ txId: string;
54
+ signature: string;
55
+ gasAmount: number;
56
+ gasPrice: Number256;
57
+ }
58
+ export interface SignDeployContractTxParams {
59
+ signerAddress: string;
60
+ signerKeyType?: KeyType;
61
+ bytecode: string;
62
+ initialAttoAlphAmount?: Number256;
63
+ initialTokenAmounts?: Token[];
64
+ issueTokenAmount?: Number256;
65
+ issueTokenTo?: string;
66
+ gasAmount?: number;
67
+ gasPrice?: Number256;
68
+ group?: number;
69
+ }
70
+ export interface SignDeployContractTxResult {
71
+ groupIndex: number;
72
+ unsignedTx: string;
73
+ txId: string;
74
+ signature: string;
75
+ contractId: string;
76
+ contractAddress: string;
77
+ gasAmount: number;
78
+ gasPrice: Number256;
79
+ }
80
+ export interface SignExecuteScriptTxParams {
81
+ signerAddress: string;
82
+ signerKeyType?: KeyType;
83
+ bytecode: string;
84
+ attoAlphAmount?: Number256;
85
+ tokens?: Token[];
86
+ gasAmount?: number;
87
+ gasPrice?: Number256;
88
+ gasEstimationMultiplier?: number;
89
+ group?: number;
90
+ dustAmount?: Number256;
91
+ }
92
+ export interface SignExecuteScriptTxResult {
93
+ groupIndex: number;
94
+ unsignedTx: string;
95
+ txId: string;
96
+ signature: string;
97
+ gasAmount: number;
98
+ gasPrice: Number256;
99
+ simulationResult: SimulationResult;
100
+ }
101
+ export type GrouplessBuildTxResult<T extends SignExecuteScriptTxResult | SignDeployContractTxResult | SignTransferTxResult> = {
102
+ fundingTxs?: Omit<SignTransferTxResult, 'signature'>[];
103
+ } & Omit<T, 'signature'>;
104
+ export type BuildTxResult<T extends SignExecuteScriptTxResult | SignDeployContractTxResult | SignTransferTxResult> = GrouplessBuildTxResult<T> | Omit<T, 'signature'>;
105
+ export type GrouplessSignTxResult<T extends SignExecuteScriptTxResult | SignDeployContractTxResult | SignTransferTxResult> = {
106
+ fundingTxs?: SignTransferTxResult[];
107
+ } & T;
108
+ export type SignTxResult<T extends SignExecuteScriptTxResult | SignDeployContractTxResult | SignTransferTxResult> = T | GrouplessSignTxResult<T>;
109
+ export interface SignUnsignedTxParams {
110
+ signerAddress: string;
111
+ signerKeyType?: KeyType;
112
+ unsignedTx: string;
113
+ }
114
+ export interface SignUnsignedTxResult {
115
+ fromGroup: number;
116
+ toGroup: number;
117
+ unsignedTx: string;
118
+ txId: string;
119
+ signature: string;
120
+ gasAmount: number;
121
+ gasPrice: Number256;
122
+ }
123
+ export type SignTransferChainedTxParams = SignTransferTxParams & {
124
+ type: 'Transfer';
125
+ };
126
+ export type SignDeployContractChainedTxParams = SignDeployContractTxParams & {
127
+ type: 'DeployContract';
128
+ };
129
+ export type SignExecuteScriptChainedTxParams = SignExecuteScriptTxParams & {
130
+ type: 'ExecuteScript';
131
+ };
132
+ export type SignChainedTxParams = SignTransferChainedTxParams | SignDeployContractChainedTxParams | SignExecuteScriptChainedTxParams;
133
+ export type SignTransferChainedTxResult = SignTransferTxResult & {
134
+ type: 'Transfer';
135
+ };
136
+ export type SignDeployContractChainedTxResult = SignDeployContractTxResult & {
137
+ type: 'DeployContract';
138
+ };
139
+ export type SignExecuteScriptChainedTxResult = SignExecuteScriptTxResult & {
140
+ type: 'ExecuteScript';
141
+ };
142
+ export type SignChainedTxResult = SignTransferChainedTxResult | SignDeployContractChainedTxResult | SignExecuteScriptChainedTxResult;
143
+ export type MessageHasher = 'alephium' | 'sha256' | 'blake2b' | 'identity';
144
+ export interface SignMessageParams {
145
+ signerAddress: string;
146
+ signerKeyType?: KeyType;
147
+ message: string;
148
+ messageHasher: MessageHasher;
149
+ }
150
+ export interface SignMessageResult {
151
+ signature: string;
152
+ }
153
+ export interface SubmitTransactionParams {
154
+ unsignedTx: string;
155
+ signature: string;
156
+ }
157
+ export interface SubmissionResult {
158
+ txId: string;
159
+ fromGroup: number;
160
+ toGroup: number;
161
+ }
162
+ export interface EnableOptionsBase {
163
+ addressGroup?: number;
164
+ keyType?: KeyType;
165
+ networkId?: NetworkId;
166
+ onDisconnected: () => Promise<void> | void;
167
+ }
@@ -0,0 +1,27 @@
1
+ import { assertType } from '../utils';
2
+ assertType;
3
+ export const groupedKeyTypes = ['default', 'bip340-schnorr'];
4
+ export const grouplessKeyTypes = ['gl-secp256k1', 'gl-secp256r1', 'gl-ed25519', 'gl-webauthn'];
5
+ export const keyTypes = [...groupedKeyTypes, ...grouplessKeyTypes];
6
+ export function isGroupedKeyType(keyType) {
7
+ return keyType === 'default' || keyType === 'bip340-schnorr';
8
+ }
9
+ export function isGrouplessKeyType(keyType) {
10
+ return keyType !== 'default' && keyType !== 'bip340-schnorr';
11
+ }
12
+ export function isGroupedAccount(account) {
13
+ return isGroupedKeyType(account.keyType);
14
+ }
15
+ export function isGrouplessAccount(account) {
16
+ return isGrouplessKeyType(account.keyType);
17
+ }
18
+ assertType();
19
+ assertType();
20
+ assertType();
21
+ assertType();
22
+ assertType();
23
+ assertType();
24
+ assertType();
25
+ assertType;
26
+ assertType();
27
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/signer/types.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAM,UAAU,EAAa,MAAM,UAAU,CAAA;AAapD,UAAyD,CAAA;AAEzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAU,CAAA;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,CAAU,CAAA;AACvG,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAU,CAAA;AAsB3E,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,gBAAgB,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,gBAAgB,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC;AAeD,UAAU,EAA6E,CAAA;AAUvF,UAAU,EAA0E,CAAA;AAcpF,UAAU,EAAyF,CAAA;AAWnG,UAAU,EAKP,CAAA;AAcH,UAAU,EAAuF,CAAA;AAUjG,UAAU,EAKP,CAAA;AA2BH,UAAU,EAAoE,CAAA;AAU9E,UAA0D,CAAA;AAkC1D,UAAU,EAA4F,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './nft';
@@ -0,0 +1,2 @@
1
+ export * from './nft';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/token/index.ts"],"names":[],"mappings":"AAkBA,cAAc,OAAO,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { NFTCollectionUriMetaData, NFTTokenUriMetaData } from '../api';
2
+ export declare const validNFTTokenUriMetaDataFields: string[];
3
+ export declare const validNFTTokenUriMetaDataAttributesFields: string[];
4
+ export declare const validNFTUriMetaDataAttributeTypes: string[];
5
+ export declare const validNFTCollectionUriMetaDataFields: string[];
6
+ export declare function validateNFTTokenUriMetaData(metadata: any): NFTTokenUriMetaData;
7
+ export declare function validateNFTCollectionUriMetaData(metadata: any): NFTCollectionUriMetaData;
8
+ export declare function validateNFTBaseUri(nftBaseUri: string, maxSupply: number): Promise<NFTTokenUriMetaData[]>;
@@ -0,0 +1,95 @@
1
+ import { TraceableError } from '../error';
2
+ export const validNFTTokenUriMetaDataFields = ['name', 'description', 'image', 'attributes'];
3
+ export const validNFTTokenUriMetaDataAttributesFields = ['trait_type', 'value'];
4
+ export const validNFTUriMetaDataAttributeTypes = ['string', 'number', 'boolean'];
5
+ export const validNFTCollectionUriMetaDataFields = ['name', 'description', 'image'];
6
+ export function validateNFTTokenUriMetaData(metadata) {
7
+ Object.keys(metadata).forEach((key) => {
8
+ if (!validNFTTokenUriMetaDataFields.includes(key)) {
9
+ throw new Error(`Invalid field ${key}, only ${validNFTTokenUriMetaDataFields} are allowed`);
10
+ }
11
+ });
12
+ const name = validateNonEmptyString(metadata, 'name');
13
+ const description = validateNonEmptyStringIfExists(metadata, 'description');
14
+ const image = validateNonEmptyString(metadata, 'image');
15
+ const attributes = validateNFTTokenUriMetaDataAttributes(metadata['attributes']);
16
+ return { name, description, image, attributes };
17
+ }
18
+ export function validateNFTCollectionUriMetaData(metadata) {
19
+ Object.keys(metadata).forEach((key) => {
20
+ if (!validNFTCollectionUriMetaDataFields.includes(key)) {
21
+ throw new Error(`Invalid field ${key}, only ${validNFTCollectionUriMetaDataFields} are allowed`);
22
+ }
23
+ });
24
+ const name = validateNonEmptyString(metadata, 'name');
25
+ const description = validateNonEmptyString(metadata, 'description');
26
+ const image = validateNonEmptyString(metadata, 'image');
27
+ return { name, description, image };
28
+ }
29
+ export async function validateNFTBaseUri(nftBaseUri, maxSupply) {
30
+ if (isInteger(maxSupply) && maxSupply > 0) {
31
+ const nftMetadataz = [];
32
+ for (let i = 0; i < maxSupply; i++) {
33
+ const nftMetadata = await fetchNFTMetadata(nftBaseUri, i);
34
+ const validatedNFTMetadata = validateNFTTokenUriMetaData(nftMetadata);
35
+ nftMetadataz.push(validatedNFTMetadata);
36
+ }
37
+ return nftMetadataz;
38
+ }
39
+ else {
40
+ throw new Error('maxSupply should be a positive integer');
41
+ }
42
+ }
43
+ function validateNFTTokenUriMetaDataAttributes(attributes) {
44
+ if (!!attributes) {
45
+ if (!Array.isArray(attributes)) {
46
+ throw new Error(`Field 'attributes' should be an array`);
47
+ }
48
+ attributes.forEach((item) => {
49
+ if (typeof item !== 'object') {
50
+ throw new Error(`Field 'attributes' should be an array of objects`);
51
+ }
52
+ Object.keys(item).forEach((key) => {
53
+ if (!validNFTTokenUriMetaDataAttributesFields.includes(key)) {
54
+ throw new Error(`Invalid field ${key} for attributes, only ${validNFTTokenUriMetaDataAttributesFields} are allowed`);
55
+ }
56
+ });
57
+ validateNonEmptyString(item, 'trait_type');
58
+ validateNonEmptyAttributeValue(item, 'value');
59
+ });
60
+ }
61
+ return attributes;
62
+ }
63
+ function validateNonEmptyString(obj, field) {
64
+ const value = obj[`${field}`];
65
+ if (!(typeof value === 'string' && value !== '')) {
66
+ throw new Error(`JSON field '${field}' is not a non empty string`);
67
+ }
68
+ return value;
69
+ }
70
+ function validateNonEmptyStringIfExists(obj, field) {
71
+ const value = obj[`${field}`];
72
+ if (value !== undefined && !(typeof value === 'string' && value !== '')) {
73
+ throw new Error(`JSON field '${field}' is not a non empty string`);
74
+ }
75
+ return value;
76
+ }
77
+ function validateNonEmptyAttributeValue(obj, field) {
78
+ const value = obj[`${field}`];
79
+ if (!((typeof value === 'string' && value !== '') || typeof value === 'number' || typeof value === 'boolean')) {
80
+ throw new Error(`Attribute value should be a non empty string, number or boolean`);
81
+ }
82
+ return value;
83
+ }
84
+ async function fetchNFTMetadata(nftBaseUri, index) {
85
+ try {
86
+ return await (await fetch(`${nftBaseUri}${index}`)).json();
87
+ }
88
+ catch (e) {
89
+ throw new TraceableError(`Error fetching NFT metadata from ${nftBaseUri}${index}`, e);
90
+ }
91
+ }
92
+ function isInteger(num) {
93
+ return num === parseInt(num.toString(), 10);
94
+ }
95
+ //# sourceMappingURL=nft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/token/nft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './status';
2
+ export * from './sign-verify';
3
+ export * from './utils';
@@ -0,0 +1,4 @@
1
+ export * from './status';
2
+ export * from './sign-verify';
3
+ export * from './utils';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAkBA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { KeyType } from '../signer';
2
+ export declare function transactionSign(txId: string, privateKey: string, keyType?: KeyType): string;
3
+ export declare function transactionVerifySignature(txId: string, publicKey: string, signature: string, keyType?: KeyType): boolean;
@@ -0,0 +1,8 @@
1
+ import * as utils from '../utils';
2
+ export function transactionSign(txId, privateKey, keyType) {
3
+ return utils.sign(txId, privateKey, keyType);
4
+ }
5
+ export function transactionVerifySignature(txId, publicKey, signature, keyType) {
6
+ return utils.verifySignature(txId, publicKey, signature, keyType);
7
+ }
8
+ //# sourceMappingURL=sign-verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-verify.js","sourceRoot":"","sources":["../../../src/transaction/sign-verify.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAGjC,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,UAAkB,EAAE,OAAiB;IACjF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,SAAiB,EACjB,SAAiB,EACjB,OAAiB;IAEjB,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AACnE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { node } from '../api';
2
+ import { Subscription, SubscribeOptions } from '../utils';
3
+ export type TxStatus = node.TxStatus;
4
+ export declare class TxStatusSubscription extends Subscription<TxStatus> {
5
+ readonly txId: string;
6
+ readonly fromGroup?: number;
7
+ readonly toGroup?: number;
8
+ readonly confirmations: number;
9
+ constructor(options: SubscribeOptions<TxStatus>, txId: string, fromGroup?: number, toGroup?: number, confirmations?: number);
10
+ polling(): Promise<void>;
11
+ }
12
+ export declare function subscribeToTxStatus(options: SubscribeOptions<TxStatus>, txId: string, fromGroup?: number, toGroup?: number, confirmations?: number): TxStatusSubscription;
@@ -0,0 +1,33 @@
1
+ import * as web3 from '../global';
2
+ import { Subscription } from '../utils';
3
+ export class TxStatusSubscription extends Subscription {
4
+ constructor(options, txId, fromGroup, toGroup, confirmations) {
5
+ super(options);
6
+ this.txId = txId;
7
+ this.fromGroup = fromGroup;
8
+ this.toGroup = toGroup;
9
+ this.confirmations = confirmations ?? 1;
10
+ }
11
+ async polling() {
12
+ try {
13
+ const txStatus = await web3.getCurrentNodeProvider().transactions.getTransactionsStatus({
14
+ txId: this.txId,
15
+ fromGroup: this.fromGroup,
16
+ toGroup: this.toGroup
17
+ });
18
+ await this.messageCallback(txStatus);
19
+ if (txStatus.type === 'Confirmed' && txStatus.chainConfirmations >= this.confirmations) {
20
+ this.unsubscribe();
21
+ }
22
+ }
23
+ catch (err) {
24
+ await this.errorCallback(err, this);
25
+ }
26
+ }
27
+ }
28
+ export function subscribeToTxStatus(options, txId, fromGroup, toGroup, confirmations) {
29
+ const subscription = new TxStatusSubscription(options, txId, fromGroup, toGroup, confirmations);
30
+ subscription.subscribe();
31
+ return subscription;
32
+ }
33
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/transaction/status.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAoB,MAAM,UAAU,CAAA;AAIzD,MAAM,OAAO,oBAAqB,SAAQ,YAAsB;IAM9D,YACE,OAAmC,EACnC,IAAY,EACZ,SAAkB,EAClB,OAAgB,EAChB,aAAsB;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,CAAC,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC;gBACtF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAK,QAA2B,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3G,IAAI,CAAC,WAAW,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAmC,EACnC,IAAY,EACZ,SAAkB,EAClB,OAAgB,EAChB,aAAsB;IAEtB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAC/F,YAAY,CAAC,SAAS,EAAE,CAAA;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { node } from '../api';
2
+ import { UnsignedTx } from '../codec';
3
+ export declare function waitForTxConfirmation(txId: string, confirmations: number, requestInterval: number): Promise<node.Confirmed>;
4
+ export declare function groupIndexOfTransaction(unsignedTx: UnsignedTx): [number, number];
@@ -0,0 +1,35 @@
1
+ import { groupOfLockupScript } from '../address';
2
+ import { TOTAL_NUMBER_OF_GROUPS } from '../constants';
3
+ import { getCurrentNodeProvider } from '../global';
4
+ import { xorByte } from '../utils';
5
+ function isConfirmed(txStatus) {
6
+ return txStatus.type === 'Confirmed';
7
+ }
8
+ export async function waitForTxConfirmation(txId, confirmations, requestInterval) {
9
+ const provider = getCurrentNodeProvider();
10
+ const status = await provider.transactions.getTransactionsStatus({ txId: txId });
11
+ if (isConfirmed(status) && status.chainConfirmations >= confirmations) {
12
+ return status;
13
+ }
14
+ await new Promise((r) => setTimeout(r, requestInterval));
15
+ return waitForTxConfirmation(txId, confirmations, requestInterval);
16
+ }
17
+ export function groupIndexOfTransaction(unsignedTx) {
18
+ if (unsignedTx.inputs.length === 0)
19
+ throw new Error('Empty inputs for unsignedTx');
20
+ const fromGroup = groupFromHint(unsignedTx.inputs[0].hint);
21
+ let toGroup = fromGroup;
22
+ for (const output of unsignedTx.fixedOutputs) {
23
+ const outputGroup = groupOfLockupScript(output.lockupScript);
24
+ if (outputGroup !== fromGroup) {
25
+ toGroup = outputGroup;
26
+ break;
27
+ }
28
+ }
29
+ return [fromGroup, toGroup];
30
+ }
31
+ function groupFromHint(hint) {
32
+ const hash = xorByte(hint);
33
+ return hash % TOTAL_NUMBER_OF_GROUPS;
34
+ }
35
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transaction/utils.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,SAAS,WAAW,CAAC,QAAuB;IAC1C,OAAO,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAY,EACZ,aAAqB,EACrB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAChF,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,kBAAkB,IAAI,aAAa,EAAE,CAAC;QACtE,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IACxD,OAAO,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAsB;IAC5D,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAElF,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAE1D,IAAI,OAAO,GAAG,SAAS,CAAA;IACvB,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC5D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,GAAG,WAAW,CAAA;YACrB,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,GAAG,sBAAsB,CAAA;AACtC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import basex from 'base-x';
2
+ export declare const bs58: basex.BaseConverter;
3
+ export declare function isBase58(s: string): boolean;
4
+ export declare function base58ToBytes(s: string): Uint8Array;
5
+ export default bs58;
@@ -0,0 +1,25 @@
1
+ import basex from 'base-x';
2
+ import { TraceableError } from '../error';
3
+ const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
4
+ export const bs58 = basex(ALPHABET);
5
+ export function isBase58(s) {
6
+ if (s === '' || s.trim() === '') {
7
+ return false;
8
+ }
9
+ try {
10
+ return bs58.encode(bs58.decode(s)) === s;
11
+ }
12
+ catch (err) {
13
+ return false;
14
+ }
15
+ }
16
+ export function base58ToBytes(s) {
17
+ try {
18
+ return bs58.decode(s);
19
+ }
20
+ catch (e) {
21
+ throw new TraceableError(`Invalid base58 string ${s}`, e);
22
+ }
23
+ }
24
+ export default bs58;
25
+ //# sourceMappingURL=bs58.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bs58.js","sourceRoot":"","sources":["../../../src/utils/bs58.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,QAAQ,GAAG,4DAA4D,CAAA;AAE7E,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;AAEnC,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,cAAc,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1 @@
1
+ export default function djb2(bytes: Uint8Array): number;
@@ -0,0 +1,8 @@
1
+ export default function djb2(bytes) {
2
+ let hash = 5381;
3
+ for (let i = 0; i < bytes.length; i++) {
4
+ hash = ((hash << 5) + hash + (bytes[`${i}`] & 0xff)) | 0;
5
+ }
6
+ return hash;
7
+ }
8
+ //# sourceMappingURL=djb2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"djb2.js","sourceRoot":"","sources":["../../../src/utils/djb2.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAiB;IAC5C,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './webcrypto';
2
+ export * from './bs58';
3
+ export * from './djb2';
4
+ export * from './utils';
5
+ export * from './subscription';
6
+ export * from './sign';
7
+ export * from './number';
@@ -0,0 +1,8 @@
1
+ export * from './webcrypto';
2
+ export * from './bs58';
3
+ export * from './djb2';
4
+ export * from './utils';
5
+ export * from './subscription';
6
+ export * from './sign';
7
+ export * from './number';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAkBA,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { Number256 } from '../api/types';
2
+ export declare const isNumeric: (numToCheck: any) => boolean;
3
+ export interface IPrettifyNumberConfig {
4
+ minDecimalPlaces: number;
5
+ maxDecimalPlaces: number;
6
+ minDecimalSignificantDigits: number;
7
+ decimalPlacesWhenZero: number;
8
+ }
9
+ export declare const prettifyNumberConfig: Record<string, IPrettifyNumberConfig>;
10
+ export declare function prettifyAttoAlphAmount(amount: Number256): string | undefined;
11
+ export declare function prettifyTokenAmount(amount: Number256, decimals: number): string | undefined;
12
+ export declare function prettifyExactAmount(amount: Number256, decimals: number): string | undefined;
13
+ export declare function prettifyNumber(amount: Number256, decimals: number, config: IPrettifyNumberConfig): string | undefined;
14
+ export declare function convertAmountWithDecimals(amount: string | number, decimals: number): bigint | undefined;
15
+ export declare function convertAlphAmountWithDecimals(amount: string | number): bigint | undefined;
16
+ export declare function number256ToBigint(number: Number256): bigint;
17
+ export declare function number256ToNumber(number: Number256, decimals: number): number;
@@ -0,0 +1,12 @@
1
+ export declare const tests: {
2
+ raw: bigint;
3
+ decimal: number;
4
+ exact: string;
5
+ alphFormat: string;
6
+ tokenFormat: string;
7
+ }[];
8
+ export declare const tests1: {
9
+ raw: string;
10
+ decimals: number;
11
+ amount: bigint;
12
+ }[];