@alephium/web3 2.0.8 → 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 +89 -80
  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 +54 -15
  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 -10
  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 -41
  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
@@ -1,21 +1,4 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
3
  if (k2 === undefined) k2 = k;
21
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -32,15 +15,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
32
15
  }) : function(o, v) {
33
16
  o["default"] = v;
34
17
  });
35
- var __importStar = (this && this.__importStar) || function (mod) {
36
- if (mod && mod.__esModule) return mod;
37
- var result = {};
38
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
39
- __setModuleDefault(result, mod);
40
- return result;
41
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
42
35
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.subscribeToTxStatus = exports.TxStatusSubscription = void 0;
36
+ exports.TxStatusSubscription = void 0;
37
+ exports.subscribeToTxStatus = subscribeToTxStatus;
44
38
  const web3 = __importStar(require("../global"));
45
39
  const utils_1 = require("../utils");
46
40
  class TxStatusSubscription extends utils_1.Subscription {
@@ -74,4 +68,4 @@ function subscribeToTxStatus(options, txId, fromGroup, toGroup, confirmations) {
74
68
  subscription.subscribe();
75
69
  return subscription;
76
70
  }
77
- exports.subscribeToTxStatus = subscribeToTxStatus;
71
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/transaction/status.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,kDAUC;AAtDD,gDAAiC;AAEjC,oCAAyD;AAIzD,MAAa,oBAAqB,SAAQ,oBAAsB;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;AApCD,oDAoCC;AAED,SAAgB,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"}
@@ -1,23 +1,7 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.groupIndexOfTransaction = exports.waitForTxConfirmation = void 0;
3
+ exports.waitForTxConfirmation = waitForTxConfirmation;
4
+ exports.groupIndexOfTransaction = groupIndexOfTransaction;
21
5
  const address_1 = require("../address");
22
6
  const constants_1 = require("../constants");
23
7
  const global_1 = require("../global");
@@ -34,7 +18,6 @@ async function waitForTxConfirmation(txId, confirmations, requestInterval) {
34
18
  await new Promise((r) => setTimeout(r, requestInterval));
35
19
  return waitForTxConfirmation(txId, confirmations, requestInterval);
36
20
  }
37
- exports.waitForTxConfirmation = waitForTxConfirmation;
38
21
  function groupIndexOfTransaction(unsignedTx) {
39
22
  if (unsignedTx.inputs.length === 0)
40
23
  throw new Error('Empty inputs for unsignedTx');
@@ -49,8 +32,8 @@ function groupIndexOfTransaction(unsignedTx) {
49
32
  }
50
33
  return [fromGroup, toGroup];
51
34
  }
52
- exports.groupIndexOfTransaction = groupIndexOfTransaction;
53
35
  function groupFromHint(hint) {
54
36
  const hash = (0, utils_1.xorByte)(hint);
55
37
  return hash % constants_1.TOTAL_NUMBER_OF_GROUPS;
56
38
  }
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transaction/utils.ts"],"names":[],"mappings":";;AA6BA,sDAYC;AAED,0DAeC;AAxCD,wCAAgD;AAGhD,4CAAqD;AACrD,sCAAkD;AAClD,oCAAkC;AAElC,SAAS,WAAW,CAAC,QAAuB;IAC1C,OAAO,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAA;AACtC,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,IAAY,EACZ,aAAqB,EACrB,eAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAA,+BAAsB,GAAE,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,SAAgB,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,IAAA,6BAAmB,EAAC,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,IAAA,eAAO,EAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,IAAI,GAAG,kCAAsB,CAAA;AACtC,CAAC"}
@@ -1,4 +1,3 @@
1
- /** This source is under MIT License and come originally from https://github.com/cryptocoinjs/bs58 **/
2
1
  import basex from 'base-x';
3
2
  export declare const bs58: basex.BaseConverter;
4
3
  export declare function isBase58(s: string): boolean;
@@ -1,27 +1,11 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
20
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
4
  };
22
5
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.base58ToBytes = exports.isBase58 = exports.bs58 = void 0;
24
- /** This source is under MIT License and come originally from https://github.com/cryptocoinjs/bs58 **/
6
+ exports.bs58 = void 0;
7
+ exports.isBase58 = isBase58;
8
+ exports.base58ToBytes = base58ToBytes;
25
9
  const base_x_1 = __importDefault(require("base-x"));
26
10
  const error_1 = require("../error");
27
11
  const ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
@@ -37,7 +21,6 @@ function isBase58(s) {
37
21
  return false;
38
22
  }
39
23
  }
40
- exports.isBase58 = isBase58;
41
24
  function base58ToBytes(s) {
42
25
  try {
43
26
  return exports.bs58.decode(s);
@@ -46,5 +29,5 @@ function base58ToBytes(s) {
46
29
  throw new error_1.TraceableError(`Invalid base58 string ${s}`, e);
47
30
  }
48
31
  }
49
- exports.base58ToBytes = base58ToBytes;
50
32
  exports.default = exports.bs58;
33
+ //# sourceMappingURL=bs58.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bs58.js","sourceRoot":"","sources":["../../../src/utils/bs58.ts"],"names":[],"mappings":";;;;;;AA0BA,4BASC;AAED,sCAMC;AAxBD,oDAA0B;AAC1B,oCAAyC;AAEzC,MAAM,QAAQ,GAAG,4DAA4D,CAAA;AAEhE,QAAA,IAAI,GAAG,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAA;AAEnC,SAAgB,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,YAAI,CAAC,MAAM,CAAC,YAAI,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,SAAgB,aAAa,CAAC,CAAS;IACrC,IAAI,CAAC;QACH,OAAO,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,sBAAc,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,kBAAe,YAAI,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = djb2;
4
+ function djb2(bytes) {
5
+ let hash = 5381;
6
+ for (let i = 0; i < bytes.length; i++) {
7
+ hash = ((hash << 5) + hash + (bytes[`${i}`] & 0xff)) | 0;
8
+ }
9
+ return hash;
10
+ }
11
+ //# sourceMappingURL=djb2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"djb2.js","sourceRoot":"","sources":["../../../src/utils/djb2.ts"],"names":[],"mappings":";;AAkBA,uBAMC;AAND,SAAwB,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"}
@@ -1,21 +1,4 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
3
  if (k2 === undefined) k2 = k;
21
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -38,3 +21,4 @@ __exportStar(require("./utils"), exports);
38
21
  __exportStar(require("./subscription"), exports);
39
22
  __exportStar(require("./sign"), exports);
40
23
  __exportStar(require("./number"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkBA,8CAA2B;AAC3B,yCAAsB;AACtB,yCAAsB;AACtB,0CAAuB;AACvB,iDAA8B;AAC9B,yCAAsB;AACtB,2CAAwB"}
@@ -3,9 +3,7 @@ export declare const isNumeric: (numToCheck: any) => boolean;
3
3
  export interface IPrettifyNumberConfig {
4
4
  minDecimalPlaces: number;
5
5
  maxDecimalPlaces: number;
6
- /** significant digits to show in decimals while respecting decimal places */
7
6
  minDecimalSignificantDigits: number;
8
- /** special case for zero, e.g. we may want to display $0.00 or 0.0 ALPH */
9
7
  decimalPlacesWhenZero: number;
10
8
  }
11
9
  export declare const prettifyNumberConfig: Record<string, IPrettifyNumberConfig>;
@@ -1,23 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tests1 = exports.tests = void 0;
4
- /*
5
- Copyright 2018 - 2022 The Alephium Authors
6
- This file is part of the alephium project.
7
-
8
- The library is free software: you can redistribute it and/or modify
9
- it under the terms of the GNU Lesser General Public License as published by
10
- the Free Software Foundation, either version 3 of the License, or
11
- (at your option) any later version.
12
-
13
- The library is distributed in the hope that it will be useful,
14
- but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- GNU Lesser General Public License for more details.
17
-
18
- You should have received a copy of the GNU Lesser General Public License
19
- along with the library. If not, see <http://www.gnu.org/licenses/>.
20
- */
21
4
  exports.tests = [
22
5
  {
23
6
  raw: 123456n,
@@ -187,3 +170,4 @@ exports.tests1 = [
187
170
  amount: 1234567890000000000n
188
171
  }
189
172
  ];
173
+ //# sourceMappingURL=number.fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.fixture.js","sourceRoot":"","sources":["../../../src/utils/number.fixture.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,17 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
20
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
4
  };
22
5
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.number256ToNumber = exports.number256ToBigint = exports.convertAlphAmountWithDecimals = exports.convertAmountWithDecimals = exports.prettifyNumber = exports.prettifyExactAmount = exports.prettifyTokenAmount = exports.prettifyAttoAlphAmount = exports.prettifyNumberConfig = exports.isNumeric = void 0;
24
- // Credits:
25
- // 1. https://github.com/argentlabs/argent-x/blob/e63affa7f28b27333dca4081a3dcd375bb2da40b/packages/extension/src/shared/utils/number.ts
26
- // 2. https://github.com/ethers-io/ethers.js/blob/724881f34d428406488a1c9f9dbebe54b6edecda/src.ts/utils/fixednumber.ts
6
+ exports.prettifyNumberConfig = exports.isNumeric = void 0;
7
+ exports.prettifyAttoAlphAmount = prettifyAttoAlphAmount;
8
+ exports.prettifyTokenAmount = prettifyTokenAmount;
9
+ exports.prettifyExactAmount = prettifyExactAmount;
10
+ exports.prettifyNumber = prettifyNumber;
11
+ exports.convertAmountWithDecimals = convertAmountWithDecimals;
12
+ exports.convertAlphAmountWithDecimals = convertAlphAmountWithDecimals;
13
+ exports.number256ToBigint = number256ToBigint;
14
+ exports.number256ToNumber = number256ToNumber;
27
15
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
28
16
  const isNumeric = (numToCheck) => !isNaN(parseFloat(numToCheck)) && isFinite(numToCheck);
29
17
  exports.isNumeric = isNumeric;
@@ -50,15 +38,12 @@ exports.prettifyNumberConfig = {
50
38
  function prettifyAttoAlphAmount(amount) {
51
39
  return prettifyNumber(amount, 18, exports.prettifyNumberConfig.ALPH);
52
40
  }
53
- exports.prettifyAttoAlphAmount = prettifyAttoAlphAmount;
54
41
  function prettifyTokenAmount(amount, decimals) {
55
42
  return prettifyNumber(amount, decimals, exports.prettifyNumberConfig.TOKEN);
56
43
  }
57
- exports.prettifyTokenAmount = prettifyTokenAmount;
58
44
  function prettifyExactAmount(amount, decimals) {
59
45
  return prettifyNumber(amount, decimals, exports.prettifyNumberConfig.Exact);
60
46
  }
61
- exports.prettifyExactAmount = prettifyExactAmount;
62
47
  function prettifyNumber(amount, decimals, config) {
63
48
  const number = toFixedNumber(number256ToBigint(amount), decimals);
64
49
  if (!(0, exports.isNumeric)(number)) {
@@ -67,24 +52,16 @@ function prettifyNumber(amount, decimals, config) {
67
52
  const numberBN = new bignumber_js_1.default(number);
68
53
  let untrimmed;
69
54
  if (numberBN.gte(1)) {
70
- /** simplest case, formatting to minDecimalPlaces will look good */
71
55
  untrimmed = numberBN.toFormat(config.minDecimalPlaces);
72
56
  }
73
57
  else {
74
- /** now need to interrogate the appearance of decimal number < 1 */
75
- /** longest case - max decimal places e.g. 0.0008923088123 -> 0.0008923088 */
76
58
  const maxDecimalPlacesString = numberBN.toFormat(config.maxDecimalPlaces);
77
- /** count the zeros, which will then allow us to know the final length with desired significant digits */
78
59
  const decimalPart = maxDecimalPlacesString.split('.')[1];
79
60
  const zeroMatches = decimalPart?.match(/^0+/);
80
61
  const leadingZerosInDecimalPart = zeroMatches && zeroMatches.length ? zeroMatches[0].length : 0;
81
- /** now we can re-format with leadingZerosInDecimalPart + maxDecimalSignificanDigits to give us the pretty version */
82
- /** e.g. 0.0008923088123 -> 0.00089 */
83
62
  const prettyDecimalPlaces = Math.max(leadingZerosInDecimalPart + config.minDecimalSignificantDigits, config.minDecimalPlaces);
84
63
  untrimmed = numberBN.toFormat(prettyDecimalPlaces);
85
64
  }
86
- /** the untrimmed string may have trailing zeros, e.g. 0.0890 */
87
- /** trim to a minimum specified by the config, e.g. we may want to display $0.00 or 0.0 ETH */
88
65
  let trimmed = untrimmed.replace(/0+$/, '');
89
66
  const minLength = 1 + untrimmed.indexOf('.') + config.decimalPlacesWhenZero;
90
67
  if (trimmed.length < minLength) {
@@ -95,10 +72,8 @@ function prettifyNumber(amount, decimals, config) {
95
72
  }
96
73
  return trimmed;
97
74
  }
98
- exports.prettifyNumber = prettifyNumber;
99
75
  const BN_N1 = BigInt(-1);
100
76
  const BN_0 = BigInt(0);
101
- // Constant to pull zeros from for multipliers
102
77
  const Zeros = '0000';
103
78
  function toFixedNumber(val, decimals) {
104
79
  let negative = '';
@@ -107,22 +82,17 @@ function toFixedNumber(val, decimals) {
107
82
  val *= BN_N1;
108
83
  }
109
84
  let str = val.toString();
110
- // No decimal point for whole values
111
85
  if (decimals === 0) {
112
86
  return negative + str;
113
87
  }
114
- // Pad out to the whole component (including a whole digit)
115
88
  while (str.length <= decimals) {
116
89
  str = Zeros + str;
117
90
  }
118
- // Insert the decimal point
119
91
  const index = str.length - decimals;
120
92
  str = str.substring(0, index) + '.' + str.substring(index);
121
- // Trim the whole component (leaving at least one 0)
122
93
  while (str[0] === '0' && str[1] !== '.') {
123
94
  str = str.substring(1);
124
95
  }
125
- // Trim the decimal component (leaving at least one 0)
126
96
  while (str[str.length - 1] === '0' && str[str.length - 2] !== '.') {
127
97
  str = str.substring(0, str.length - 1);
128
98
  }
@@ -137,17 +107,13 @@ function convertAmountWithDecimals(amount, decimals) {
137
107
  return undefined;
138
108
  }
139
109
  }
140
- exports.convertAmountWithDecimals = convertAmountWithDecimals;
141
- // E.g. `1.23` ALPH will be converted to `1230000000000000000`
142
110
  function convertAlphAmountWithDecimals(amount) {
143
111
  return convertAmountWithDecimals(amount, 18);
144
112
  }
145
- exports.convertAlphAmountWithDecimals = convertAlphAmountWithDecimals;
146
113
  function number256ToBigint(number) {
147
114
  return typeof number === 'string' ? BigInt(number) : number;
148
115
  }
149
- exports.number256ToBigint = number256ToBigint;
150
116
  function number256ToNumber(number, decimals) {
151
117
  return parseFloat(toFixedNumber(number256ToBigint(number), decimals));
152
118
  }
153
- exports.number256ToNumber = number256ToNumber;
119
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/utils/number.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.sign = sign;
37
+ exports.verifySignature = verifySignature;
38
+ const utils_1 = require("../utils");
39
+ const secp = __importStar(require("@noble/secp256k1"));
40
+ const sha256_1 = require("@noble/hashes/sha256");
41
+ const hmac_1 = require("@noble/hashes/hmac");
42
+ secp.utils.sha256Sync = (...messages) => {
43
+ const h = sha256_1.sha256.create();
44
+ for (const message of messages)
45
+ h.update(message);
46
+ return h.digest();
47
+ };
48
+ secp.utils.hmacSha256Sync = (key, ...messages) => {
49
+ const h = hmac_1.hmac.create(sha256_1.sha256, key);
50
+ for (const message of messages)
51
+ h.update(message);
52
+ return h.digest();
53
+ };
54
+ function checkKeyType(keyType) {
55
+ if (keyType !== 'default' && keyType !== 'bip340-schnorr' && keyType !== 'gl-secp256k1') {
56
+ throw new Error(`Invalid key type ${keyType}, only supports secp256k1 and schnorr for now`);
57
+ }
58
+ }
59
+ function sign(hash, privateKey, _keyType) {
60
+ const keyType = _keyType ?? 'default';
61
+ checkKeyType(keyType);
62
+ if (keyType === 'default' || keyType === 'gl-secp256k1') {
63
+ const sig = secp.signSync((0, utils_1.hexToBinUnsafe)(hash), (0, utils_1.hexToBinUnsafe)(privateKey), { der: false });
64
+ const signature = secp.Signature.fromCompact(sig);
65
+ return (0, utils_1.encodeSignature)({ r: signature.r, s: signature.s });
66
+ }
67
+ else {
68
+ const signature = secp.schnorr.signSync((0, utils_1.hexToBinUnsafe)(hash), (0, utils_1.hexToBinUnsafe)(privateKey));
69
+ return (0, utils_1.binToHex)(signature);
70
+ }
71
+ }
72
+ function verifySignature(hash, publicKey, signature, _keyType) {
73
+ const keyType = _keyType ?? 'default';
74
+ checkKeyType(keyType);
75
+ try {
76
+ if (keyType === 'default' || keyType === 'gl-secp256k1') {
77
+ const decoded = (0, utils_1.signatureDecode)(signature);
78
+ const sig = secp.Signature.fromCompact(decoded.r + decoded.s);
79
+ return secp.verify(sig, (0, utils_1.hexToBinUnsafe)(hash), (0, utils_1.hexToBinUnsafe)(publicKey));
80
+ }
81
+ else {
82
+ return secp.schnorr.verifySync((0, utils_1.hexToBinUnsafe)(signature), (0, utils_1.hexToBinUnsafe)(hash), (0, utils_1.hexToBinUnsafe)(publicKey));
83
+ }
84
+ }
85
+ catch (error) {
86
+ return false;
87
+ }
88
+ }
89
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/utils/sign.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,4 @@
1
1
  "use strict";
2
- /*
3
- Copyright 2018 - 2022 The Alephium Authors
4
- This file is part of the alephium project.
5
-
6
- The library is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Lesser General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- The library is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Lesser General Public License for more details.
15
-
16
- You should have received a copy of the GNU Lesser General Public License
17
- along with the library. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
20
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
4
  };
@@ -52,3 +35,4 @@ class Subscription {
52
35
  }
53
36
  }
54
37
  exports.Subscription = Subscription;
38
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/utils/subscription.ts"],"names":[],"mappings":";;;;;;AAkBA,kEAAwC;AAWxC,MAAsB,YAAY;IAShC,YAAY,OAAkC;QAC5C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAY,EAAE,CAAA;IACxC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YAEpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;YACpF,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CAGF;AA1CD,oCA0CC"}
@@ -1,14 +1,15 @@
1
- import { ec as EC, SignatureInput } from 'elliptic';
2
- import BN from 'bn.js';
3
1
  export declare const networkIds: readonly ["mainnet", "testnet", "devnet"];
4
2
  export type NetworkId = (typeof networkIds)[number];
5
3
  export type HexString = string;
6
- export declare function encodeSignature(signature: EC.Signature | {
7
- r: BN;
8
- s: BN;
4
+ export declare function encodeSignature(signature: {
5
+ r: bigint;
6
+ s: bigint;
9
7
  }): string;
10
8
  export declare function encodeHexSignature(rHex: string, sHex: string): string;
11
- export declare function signatureDecode(ec: EC, signature: string): SignatureInput;
9
+ export declare function signatureDecode(signature: string): {
10
+ r: string;
11
+ s: string;
12
+ };
12
13
  export declare function isHexString(input: string): boolean;
13
14
  export declare function toNonNegativeBigInt(input: string): bigint | undefined;
14
15
  export declare function hexToBinUnsafe(hex: string): Uint8Array;