@alephium/web3 1.8.2 → 1.8.3-rc.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 (444) hide show
  1. package/LICENSE +165 -0
  2. package/dist/{scripts → _cjs/scripts}/check-versions.js +1 -0
  3. package/dist/_cjs/scripts/check-versions.js.map +1 -0
  4. package/dist/{scripts → _cjs/scripts}/header.js +1 -0
  5. package/dist/_cjs/scripts/header.js.map +1 -0
  6. package/dist/{src → _cjs/src}/address/address.js +1 -0
  7. package/dist/_cjs/src/address/address.js.map +1 -0
  8. package/dist/{src → _cjs/src}/address/index.js +1 -0
  9. package/dist/_cjs/src/address/index.js.map +1 -0
  10. package/dist/{src → _cjs/src}/api/api-alephium.js +1 -0
  11. package/dist/_cjs/src/api/api-alephium.js.map +1 -0
  12. package/dist/{src → _cjs/src}/api/api-explorer.js +1 -0
  13. package/dist/_cjs/src/api/api-explorer.js.map +1 -0
  14. package/dist/{src → _cjs/src}/api/explorer-provider.js +1 -0
  15. package/dist/_cjs/src/api/explorer-provider.js.map +1 -0
  16. package/dist/{src → _cjs/src}/api/index.js +1 -0
  17. package/dist/_cjs/src/api/index.js.map +1 -0
  18. package/dist/{src → _cjs/src}/api/node-provider.js +1 -0
  19. package/dist/_cjs/src/api/node-provider.js.map +1 -0
  20. package/dist/{src → _cjs/src}/api/types.js +1 -0
  21. package/dist/_cjs/src/api/types.js.map +1 -0
  22. package/dist/{src → _cjs/src}/api/utils.js +1 -0
  23. package/dist/_cjs/src/api/utils.js.map +1 -0
  24. package/dist/{src → _cjs/src}/block/block.js +1 -0
  25. package/dist/_cjs/src/block/block.js.map +1 -0
  26. package/dist/{src → _cjs/src}/block/index.js +1 -0
  27. package/dist/_cjs/src/block/index.js.map +1 -0
  28. package/dist/{src → _cjs/src}/codec/array-codec.js +1 -0
  29. package/dist/_cjs/src/codec/array-codec.js.map +1 -0
  30. package/dist/{src → _cjs/src}/codec/asset-output-codec.js +1 -0
  31. package/dist/_cjs/src/codec/asset-output-codec.js.map +1 -0
  32. package/dist/{src → _cjs/src}/codec/bigint-codec.js +1 -0
  33. package/dist/_cjs/src/codec/bigint-codec.js.map +1 -0
  34. package/dist/{src → _cjs/src}/codec/bytestring-codec.js +1 -0
  35. package/dist/_cjs/src/codec/bytestring-codec.js.map +1 -0
  36. package/dist/{src → _cjs/src}/codec/codec.js +1 -0
  37. package/dist/_cjs/src/codec/codec.js.map +1 -0
  38. package/dist/{src → _cjs/src}/codec/compact-int-codec.js +1 -0
  39. package/dist/_cjs/src/codec/compact-int-codec.js.map +1 -0
  40. package/dist/{src → _cjs/src}/codec/contract-codec.js +1 -0
  41. package/dist/_cjs/src/codec/contract-codec.js.map +1 -0
  42. package/dist/{src → _cjs/src}/codec/contract-output-codec.js +1 -0
  43. package/dist/_cjs/src/codec/contract-output-codec.js.map +1 -0
  44. package/dist/{src → _cjs/src}/codec/contract-output-ref-codec.js +1 -0
  45. package/dist/_cjs/src/codec/contract-output-ref-codec.js.map +1 -0
  46. package/dist/{src → _cjs/src}/codec/either-codec.js +1 -0
  47. package/dist/_cjs/src/codec/either-codec.js.map +1 -0
  48. package/dist/{src → _cjs/src}/codec/hash.js +1 -0
  49. package/dist/_cjs/src/codec/hash.js.map +1 -0
  50. package/dist/{src → _cjs/src}/codec/index.js +1 -0
  51. package/dist/_cjs/src/codec/index.js.map +1 -0
  52. package/dist/{src → _cjs/src}/codec/input-codec.js +1 -0
  53. package/dist/_cjs/src/codec/input-codec.js.map +1 -0
  54. package/dist/{src → _cjs/src}/codec/instr-codec.js +1 -0
  55. package/dist/_cjs/src/codec/instr-codec.js.map +1 -0
  56. package/dist/{src → _cjs/src}/codec/int-as-4bytes-codec.js +1 -0
  57. package/dist/_cjs/src/codec/int-as-4bytes-codec.js.map +1 -0
  58. package/dist/{src → _cjs/src}/codec/lockup-script-codec.js +1 -0
  59. package/dist/_cjs/src/codec/lockup-script-codec.js.map +1 -0
  60. package/dist/{src → _cjs/src}/codec/method-codec.js +1 -0
  61. package/dist/_cjs/src/codec/method-codec.js.map +1 -0
  62. package/dist/{src → _cjs/src}/codec/option-codec.js +1 -0
  63. package/dist/_cjs/src/codec/option-codec.js.map +1 -0
  64. package/dist/{src → _cjs/src}/codec/output-codec.js +1 -0
  65. package/dist/_cjs/src/codec/output-codec.js.map +1 -0
  66. package/dist/{src → _cjs/src}/codec/reader.js +1 -0
  67. package/dist/_cjs/src/codec/reader.js.map +1 -0
  68. package/dist/{src → _cjs/src}/codec/script-codec.js +1 -0
  69. package/dist/_cjs/src/codec/script-codec.js.map +1 -0
  70. package/dist/{src → _cjs/src}/codec/signature-codec.js +1 -0
  71. package/dist/_cjs/src/codec/signature-codec.js.map +1 -0
  72. package/dist/{src → _cjs/src}/codec/timestamp-codec.js +1 -0
  73. package/dist/_cjs/src/codec/timestamp-codec.js.map +1 -0
  74. package/dist/{src → _cjs/src}/codec/token-codec.js +1 -0
  75. package/dist/_cjs/src/codec/token-codec.js.map +1 -0
  76. package/dist/{src → _cjs/src}/codec/transaction-codec.js +1 -0
  77. package/dist/_cjs/src/codec/transaction-codec.js.map +1 -0
  78. package/dist/{src → _cjs/src}/codec/unlock-script-codec.js +1 -0
  79. package/dist/_cjs/src/codec/unlock-script-codec.js.map +1 -0
  80. package/dist/{src → _cjs/src}/codec/unsigned-tx-codec.js +1 -0
  81. package/dist/_cjs/src/codec/unsigned-tx-codec.js.map +1 -0
  82. package/dist/{src → _cjs/src}/codec/val.js +1 -0
  83. package/dist/_cjs/src/codec/val.js.map +1 -0
  84. package/dist/{src → _cjs/src}/constants.js +1 -0
  85. package/dist/_cjs/src/constants.js.map +1 -0
  86. package/dist/{src → _cjs/src}/contract/contract.js +1 -0
  87. package/dist/_cjs/src/contract/contract.js.map +1 -0
  88. package/dist/{src → _cjs/src}/contract/events.js +1 -0
  89. package/dist/_cjs/src/contract/events.js.map +1 -0
  90. package/dist/{src → _cjs/src}/contract/index.js +1 -0
  91. package/dist/_cjs/src/contract/index.js.map +1 -0
  92. package/dist/{src → _cjs/src}/contract/ralph.js +1 -0
  93. package/dist/_cjs/src/contract/ralph.js.map +1 -0
  94. package/dist/{src → _cjs/src}/contract/script-simulator.js +1 -0
  95. package/dist/_cjs/src/contract/script-simulator.js.map +1 -0
  96. package/dist/{src → _cjs/src}/debug.js +1 -0
  97. package/dist/_cjs/src/debug.js.map +1 -0
  98. package/dist/{src → _cjs/src}/error.js +1 -0
  99. package/dist/_cjs/src/error.js.map +1 -0
  100. package/dist/{src → _cjs/src}/exchange/exchange.js +1 -0
  101. package/dist/_cjs/src/exchange/exchange.js.map +1 -0
  102. package/dist/{src → _cjs/src}/exchange/index.js +1 -0
  103. package/dist/_cjs/src/exchange/index.js.map +1 -0
  104. package/dist/{src → _cjs/src}/global.js +1 -0
  105. package/dist/_cjs/src/global.js.map +1 -0
  106. package/dist/{src → _cjs/src}/index.js +1 -0
  107. package/dist/_cjs/src/index.js.map +1 -0
  108. package/dist/{src → _cjs/src}/signer/index.js +1 -0
  109. package/dist/_cjs/src/signer/index.js.map +1 -0
  110. package/dist/{src → _cjs/src}/signer/signer.js +1 -0
  111. package/dist/_cjs/src/signer/signer.js.map +1 -0
  112. package/dist/{src → _cjs/src}/signer/tx-builder.js +1 -0
  113. package/dist/_cjs/src/signer/tx-builder.js.map +1 -0
  114. package/dist/{src → _cjs/src}/signer/types.js +1 -0
  115. package/dist/_cjs/src/signer/types.js.map +1 -0
  116. package/dist/{src → _cjs/src}/token/index.js +1 -0
  117. package/dist/_cjs/src/token/index.js.map +1 -0
  118. package/dist/{src → _cjs/src}/token/nft.js +1 -0
  119. package/dist/_cjs/src/token/nft.js.map +1 -0
  120. package/dist/{src → _cjs/src}/transaction/index.js +1 -0
  121. package/dist/_cjs/src/transaction/index.js.map +1 -0
  122. package/dist/{src → _cjs/src}/transaction/sign-verify.js +1 -0
  123. package/dist/_cjs/src/transaction/sign-verify.js.map +1 -0
  124. package/dist/{src → _cjs/src}/transaction/status.js +1 -0
  125. package/dist/_cjs/src/transaction/status.js.map +1 -0
  126. package/dist/{src → _cjs/src}/transaction/utils.js +1 -0
  127. package/dist/_cjs/src/transaction/utils.js.map +1 -0
  128. package/dist/{src → _cjs/src}/utils/bs58.js +1 -0
  129. package/dist/_cjs/src/utils/bs58.js.map +1 -0
  130. package/dist/{src → _cjs/src}/utils/djb2.js +1 -0
  131. package/dist/_cjs/src/utils/djb2.js.map +1 -0
  132. package/dist/{src → _cjs/src}/utils/index.js +1 -0
  133. package/dist/_cjs/src/utils/index.js.map +1 -0
  134. package/dist/{src → _cjs/src}/utils/number.fixture.js +1 -0
  135. package/dist/_cjs/src/utils/number.fixture.js.map +1 -0
  136. package/dist/{src → _cjs/src}/utils/number.js +1 -0
  137. package/dist/_cjs/src/utils/number.js.map +1 -0
  138. package/dist/{src → _cjs/src}/utils/sign.js +1 -0
  139. package/dist/_cjs/src/utils/sign.js.map +1 -0
  140. package/dist/{src → _cjs/src}/utils/subscription.js +1 -0
  141. package/dist/_cjs/src/utils/subscription.js.map +1 -0
  142. package/dist/{src → _cjs/src}/utils/utils.js +1 -0
  143. package/dist/_cjs/src/utils/utils.js.map +1 -0
  144. package/dist/{src → _cjs/src}/utils/webcrypto.js +1 -0
  145. package/dist/_cjs/src/utils/webcrypto.js.map +1 -0
  146. package/dist/_esm/scripts/check-versions.js +40 -0
  147. package/dist/_esm/scripts/check-versions.js.map +1 -0
  148. package/dist/_esm/scripts/header.js +19 -0
  149. package/dist/_esm/scripts/header.js.map +1 -0
  150. package/dist/_esm/src/address/address.js +220 -0
  151. package/dist/_esm/src/address/address.js.map +1 -0
  152. package/dist/_esm/src/address/index.js +19 -0
  153. package/dist/_esm/src/address/index.js.map +1 -0
  154. package/dist/_esm/src/api/api-alephium.js +1519 -0
  155. package/dist/_esm/src/api/api-alephium.js.map +1 -0
  156. package/dist/_esm/src/api/api-explorer.js +964 -0
  157. package/dist/_esm/src/api/api-explorer.js.map +1 -0
  158. package/dist/_esm/src/api/explorer-provider.js +66 -0
  159. package/dist/_esm/src/api/explorer-provider.js.map +1 -0
  160. package/dist/_esm/src/api/index.js +24 -0
  161. package/dist/_esm/src/api/index.js.map +1 -0
  162. package/dist/_esm/src/api/node-provider.js +201 -0
  163. package/dist/_esm/src/api/node-provider.js.map +1 -0
  164. package/dist/_esm/src/api/types.js +211 -0
  165. package/dist/_esm/src/api/types.js.map +1 -0
  166. package/dist/_esm/src/api/utils.js +51 -0
  167. package/dist/_esm/src/api/utils.js.map +1 -0
  168. package/dist/_esm/src/block/block.js +145 -0
  169. package/dist/_esm/src/block/block.js.map +1 -0
  170. package/dist/_esm/src/block/index.js +19 -0
  171. package/dist/_esm/src/block/index.js.map +1 -0
  172. package/dist/_esm/src/codec/array-codec.js +42 -0
  173. package/dist/_esm/src/codec/array-codec.js.map +1 -0
  174. package/dist/_esm/src/codec/asset-output-codec.js +91 -0
  175. package/dist/_esm/src/codec/asset-output-codec.js.map +1 -0
  176. package/dist/_esm/src/codec/bigint-codec.js +94 -0
  177. package/dist/_esm/src/codec/bigint-codec.js.map +1 -0
  178. package/dist/_esm/src/codec/bytestring-codec.js +33 -0
  179. package/dist/_esm/src/codec/bytestring-codec.js.map +1 -0
  180. package/dist/_esm/src/codec/codec.js +131 -0
  181. package/dist/_esm/src/codec/codec.js.map +1 -0
  182. package/dist/_esm/src/codec/compact-int-codec.js +304 -0
  183. package/dist/_esm/src/codec/compact-int-codec.js.map +1 -0
  184. package/dist/_esm/src/codec/contract-codec.js +64 -0
  185. package/dist/_esm/src/codec/contract-codec.js.map +1 -0
  186. package/dist/_esm/src/codec/contract-output-codec.js +57 -0
  187. package/dist/_esm/src/codec/contract-output-codec.js.map +1 -0
  188. package/dist/_esm/src/codec/contract-output-ref-codec.js +26 -0
  189. package/dist/_esm/src/codec/contract-output-ref-codec.js.map +1 -0
  190. package/dist/_esm/src/codec/either-codec.js +22 -0
  191. package/dist/_esm/src/codec/either-codec.js.map +1 -0
  192. package/dist/_esm/src/codec/hash.js +32 -0
  193. package/dist/_esm/src/codec/hash.js.map +1 -0
  194. package/dist/_esm/src/codec/index.js +42 -0
  195. package/dist/_esm/src/codec/index.js.map +1 -0
  196. package/dist/_esm/src/codec/input-codec.js +33 -0
  197. package/dist/_esm/src/codec/input-codec.js.map +1 -0
  198. package/dist/_esm/src/codec/instr-codec.js +1067 -0
  199. package/dist/_esm/src/codec/instr-codec.js.map +1 -0
  200. package/dist/_esm/src/codec/int-as-4bytes-codec.js +29 -0
  201. package/dist/_esm/src/codec/int-as-4bytes-codec.js.map +1 -0
  202. package/dist/_esm/src/codec/lockup-script-codec.js +32 -0
  203. package/dist/_esm/src/codec/lockup-script-codec.js.map +1 -0
  204. package/dist/_esm/src/codec/method-codec.js +71 -0
  205. package/dist/_esm/src/codec/method-codec.js.map +1 -0
  206. package/dist/_esm/src/codec/option-codec.js +33 -0
  207. package/dist/_esm/src/codec/option-codec.js.map +1 -0
  208. package/dist/_esm/src/codec/output-codec.js +24 -0
  209. package/dist/_esm/src/codec/output-codec.js.map +1 -0
  210. package/dist/_esm/src/codec/reader.js +45 -0
  211. package/dist/_esm/src/codec/reader.js.map +1 -0
  212. package/dist/_esm/src/codec/script-codec.js +31 -0
  213. package/dist/_esm/src/codec/script-codec.js.map +1 -0
  214. package/dist/_esm/src/codec/signature-codec.js +22 -0
  215. package/dist/_esm/src/codec/signature-codec.js.map +1 -0
  216. package/dist/_esm/src/codec/timestamp-codec.js +36 -0
  217. package/dist/_esm/src/codec/timestamp-codec.js.map +1 -0
  218. package/dist/_esm/src/codec/token-codec.js +26 -0
  219. package/dist/_esm/src/codec/token-codec.js.map +1 -0
  220. package/dist/_esm/src/codec/transaction-codec.js +99 -0
  221. package/dist/_esm/src/codec/transaction-codec.js.map +1 -0
  222. package/dist/_esm/src/codec/unlock-script-codec.js +47 -0
  223. package/dist/_esm/src/codec/unlock-script-codec.js.map +1 -0
  224. package/dist/_esm/src/codec/unsigned-tx-codec.js +57 -0
  225. package/dist/_esm/src/codec/unsigned-tx-codec.js.map +1 -0
  226. package/dist/_esm/src/codec/val.js +31 -0
  227. package/dist/_esm/src/codec/val.js.map +1 -0
  228. package/dist/_esm/src/constants.js +31 -0
  229. package/dist/_esm/src/constants.js.map +1 -0
  230. package/dist/_esm/src/contract/contract.js +1361 -0
  231. package/dist/_esm/src/contract/contract.js.map +1 -0
  232. package/dist/_esm/src/contract/events.js +56 -0
  233. package/dist/_esm/src/contract/events.js.map +1 -0
  234. package/dist/_esm/src/contract/index.js +22 -0
  235. package/dist/_esm/src/contract/index.js.map +1 -0
  236. package/dist/_esm/src/contract/ralph.js +415 -0
  237. package/dist/_esm/src/contract/ralph.js.map +1 -0
  238. package/dist/_esm/src/contract/script-simulator.js +754 -0
  239. package/dist/_esm/src/contract/script-simulator.js.map +1 -0
  240. package/dist/_esm/src/debug.js +38 -0
  241. package/dist/_esm/src/debug.js.map +1 -0
  242. package/dist/_esm/src/error.js +33 -0
  243. package/dist/_esm/src/error.js.map +1 -0
  244. package/dist/_esm/src/exchange/exchange.js +119 -0
  245. package/dist/_esm/src/exchange/exchange.js.map +1 -0
  246. package/dist/_esm/src/exchange/index.js +19 -0
  247. package/dist/_esm/src/exchange/index.js.map +1 -0
  248. package/dist/_esm/src/global.js +48 -0
  249. package/dist/_esm/src/global.js.map +1 -0
  250. package/dist/_esm/src/index.js +36 -0
  251. package/dist/_esm/src/index.js.map +1 -0
  252. package/dist/_esm/src/signer/index.js +21 -0
  253. package/dist/_esm/src/signer/index.js.map +1 -0
  254. package/dist/_esm/src/signer/signer.js +206 -0
  255. package/dist/_esm/src/signer/signer.js.map +1 -0
  256. package/dist/_esm/src/signer/tx-builder.js +182 -0
  257. package/dist/_esm/src/signer/tx-builder.js.map +1 -0
  258. package/dist/_esm/src/signer/types.js +29 -0
  259. package/dist/_esm/src/signer/types.js.map +1 -0
  260. package/dist/_esm/src/token/index.js +19 -0
  261. package/dist/_esm/src/token/index.js.map +1 -0
  262. package/dist/_esm/src/token/nft.js +115 -0
  263. package/dist/_esm/src/token/nft.js.map +1 -0
  264. package/dist/_esm/src/transaction/index.js +21 -0
  265. package/dist/_esm/src/transaction/index.js.map +1 -0
  266. package/dist/_esm/src/transaction/sign-verify.js +25 -0
  267. package/dist/_esm/src/transaction/sign-verify.js.map +1 -0
  268. package/dist/_esm/src/transaction/status.js +50 -0
  269. package/dist/_esm/src/transaction/status.js.map +1 -0
  270. package/dist/_esm/src/transaction/utils.js +52 -0
  271. package/dist/_esm/src/transaction/utils.js.map +1 -0
  272. package/dist/_esm/src/utils/bs58.js +43 -0
  273. package/dist/_esm/src/utils/bs58.js.map +1 -0
  274. package/dist/_esm/src/utils/djb2.js +25 -0
  275. package/dist/_esm/src/utils/djb2.js.map +1 -0
  276. package/dist/_esm/src/utils/index.js +25 -0
  277. package/dist/_esm/src/utils/index.js.map +1 -0
  278. package/dist/_esm/src/utils/number.fixture.js +187 -0
  279. package/dist/_esm/src/utils/number.fixture.js.map +1 -0
  280. package/dist/_esm/src/utils/number.js +139 -0
  281. package/dist/_esm/src/utils/number.js.map +1 -0
  282. package/dist/_esm/src/utils/sign.js +62 -0
  283. package/dist/_esm/src/utils/sign.js.map +1 -0
  284. package/dist/_esm/src/utils/subscription.js +48 -0
  285. package/dist/_esm/src/utils/subscription.js.map +1 -0
  286. package/dist/_esm/src/utils/utils.js +144 -0
  287. package/dist/_esm/src/utils/utils.js.map +1 -0
  288. package/dist/_esm/src/utils/webcrypto.js +38 -0
  289. package/dist/_esm/src/utils/webcrypto.js.map +1 -0
  290. package/dist/_types/scripts/check-versions.d.ts +2 -0
  291. package/dist/_types/scripts/check-versions.d.ts.map +1 -0
  292. package/dist/_types/scripts/header.d.ts +1 -0
  293. package/dist/_types/scripts/header.d.ts.map +1 -0
  294. package/dist/{src → _types/src}/address/address.d.ts +1 -0
  295. package/dist/_types/src/address/address.d.ts.map +1 -0
  296. package/dist/_types/src/address/index.d.ts +2 -0
  297. package/dist/_types/src/address/index.d.ts.map +1 -0
  298. package/dist/{src → _types/src}/api/api-alephium.d.ts +1 -0
  299. package/dist/_types/src/api/api-alephium.d.ts.map +1 -0
  300. package/dist/{src → _types/src}/api/api-explorer.d.ts +1 -0
  301. package/dist/_types/src/api/api-explorer.d.ts.map +1 -0
  302. package/dist/{src → _types/src}/api/explorer-provider.d.ts +1 -0
  303. package/dist/_types/src/api/explorer-provider.d.ts.map +1 -0
  304. package/dist/{src → _types/src}/api/index.d.ts +1 -0
  305. package/dist/_types/src/api/index.d.ts.map +1 -0
  306. package/dist/{src → _types/src}/api/node-provider.d.ts +1 -0
  307. package/dist/_types/src/api/node-provider.d.ts.map +1 -0
  308. package/dist/{src → _types/src}/api/types.d.ts +1 -0
  309. package/dist/_types/src/api/types.d.ts.map +1 -0
  310. package/dist/{src → _types/src}/api/utils.d.ts +1 -0
  311. package/dist/_types/src/api/utils.d.ts.map +1 -0
  312. package/dist/{src → _types/src}/block/block.d.ts +1 -0
  313. package/dist/_types/src/block/block.d.ts.map +1 -0
  314. package/dist/{src → _types/src}/block/index.d.ts +1 -0
  315. package/dist/_types/src/block/index.d.ts.map +1 -0
  316. package/dist/{src → _types/src}/codec/array-codec.d.ts +1 -0
  317. package/dist/_types/src/codec/array-codec.d.ts.map +1 -0
  318. package/dist/{src → _types/src}/codec/asset-output-codec.d.ts +1 -0
  319. package/dist/_types/src/codec/asset-output-codec.d.ts.map +1 -0
  320. package/dist/{src → _types/src}/codec/bigint-codec.d.ts +1 -0
  321. package/dist/_types/src/codec/bigint-codec.d.ts.map +1 -0
  322. package/dist/{src → _types/src}/codec/bytestring-codec.d.ts +1 -0
  323. package/dist/_types/src/codec/bytestring-codec.d.ts.map +1 -0
  324. package/dist/{src → _types/src}/codec/codec.d.ts +1 -0
  325. package/dist/_types/src/codec/codec.d.ts.map +1 -0
  326. package/dist/{src → _types/src}/codec/compact-int-codec.d.ts +1 -0
  327. package/dist/_types/src/codec/compact-int-codec.d.ts.map +1 -0
  328. package/dist/{src → _types/src}/codec/contract-codec.d.ts +1 -0
  329. package/dist/_types/src/codec/contract-codec.d.ts.map +1 -0
  330. package/dist/{src → _types/src}/codec/contract-output-codec.d.ts +1 -0
  331. package/dist/_types/src/codec/contract-output-codec.d.ts.map +1 -0
  332. package/dist/{src → _types/src}/codec/contract-output-ref-codec.d.ts +1 -0
  333. package/dist/_types/src/codec/contract-output-ref-codec.d.ts.map +1 -0
  334. package/dist/{src → _types/src}/codec/either-codec.d.ts +1 -0
  335. package/dist/_types/src/codec/either-codec.d.ts.map +1 -0
  336. package/dist/{src → _types/src}/codec/hash.d.ts +1 -0
  337. package/dist/_types/src/codec/hash.d.ts.map +1 -0
  338. package/dist/{src → _types/src}/codec/index.d.ts +1 -0
  339. package/dist/_types/src/codec/index.d.ts.map +1 -0
  340. package/dist/{src → _types/src}/codec/input-codec.d.ts +1 -0
  341. package/dist/_types/src/codec/input-codec.d.ts.map +1 -0
  342. package/dist/{src → _types/src}/codec/instr-codec.d.ts +1 -0
  343. package/dist/_types/src/codec/instr-codec.d.ts.map +1 -0
  344. package/dist/{src → _types/src}/codec/int-as-4bytes-codec.d.ts +1 -0
  345. package/dist/_types/src/codec/int-as-4bytes-codec.d.ts.map +1 -0
  346. package/dist/{src → _types/src}/codec/lockup-script-codec.d.ts +1 -0
  347. package/dist/_types/src/codec/lockup-script-codec.d.ts.map +1 -0
  348. package/dist/{src → _types/src}/codec/method-codec.d.ts +1 -0
  349. package/dist/_types/src/codec/method-codec.d.ts.map +1 -0
  350. package/dist/{src → _types/src}/codec/option-codec.d.ts +1 -0
  351. package/dist/_types/src/codec/option-codec.d.ts.map +1 -0
  352. package/dist/{src → _types/src}/codec/output-codec.d.ts +1 -0
  353. package/dist/_types/src/codec/output-codec.d.ts.map +1 -0
  354. package/dist/{src → _types/src}/codec/reader.d.ts +1 -0
  355. package/dist/_types/src/codec/reader.d.ts.map +1 -0
  356. package/dist/{src → _types/src}/codec/script-codec.d.ts +1 -0
  357. package/dist/_types/src/codec/script-codec.d.ts.map +1 -0
  358. package/dist/{src → _types/src}/codec/signature-codec.d.ts +1 -0
  359. package/dist/_types/src/codec/signature-codec.d.ts.map +1 -0
  360. package/dist/{src → _types/src}/codec/timestamp-codec.d.ts +1 -0
  361. package/dist/_types/src/codec/timestamp-codec.d.ts.map +1 -0
  362. package/dist/{src → _types/src}/codec/token-codec.d.ts +1 -0
  363. package/dist/_types/src/codec/token-codec.d.ts.map +1 -0
  364. package/dist/{src → _types/src}/codec/transaction-codec.d.ts +1 -0
  365. package/dist/_types/src/codec/transaction-codec.d.ts.map +1 -0
  366. package/dist/{src → _types/src}/codec/unlock-script-codec.d.ts +1 -0
  367. package/dist/_types/src/codec/unlock-script-codec.d.ts.map +1 -0
  368. package/dist/{src → _types/src}/codec/unsigned-tx-codec.d.ts +1 -0
  369. package/dist/_types/src/codec/unsigned-tx-codec.d.ts.map +1 -0
  370. package/dist/{src → _types/src}/codec/val.d.ts +1 -0
  371. package/dist/_types/src/codec/val.d.ts.map +1 -0
  372. package/dist/{src → _types/src}/constants.d.ts +1 -0
  373. package/dist/_types/src/constants.d.ts.map +1 -0
  374. package/dist/{src → _types/src}/contract/contract.d.ts +1 -0
  375. package/dist/_types/src/contract/contract.d.ts.map +1 -0
  376. package/dist/{src → _types/src}/contract/events.d.ts +1 -0
  377. package/dist/_types/src/contract/events.d.ts.map +1 -0
  378. package/dist/{src → _types/src}/contract/index.d.ts +1 -0
  379. package/dist/_types/src/contract/index.d.ts.map +1 -0
  380. package/dist/{src → _types/src}/contract/ralph.d.ts +1 -0
  381. package/dist/_types/src/contract/ralph.d.ts.map +1 -0
  382. package/dist/{src → _types/src}/contract/script-simulator.d.ts +1 -0
  383. package/dist/_types/src/contract/script-simulator.d.ts.map +1 -0
  384. package/dist/{src → _types/src}/debug.d.ts +1 -0
  385. package/dist/_types/src/debug.d.ts.map +1 -0
  386. package/dist/{src → _types/src}/error.d.ts +1 -0
  387. package/dist/_types/src/error.d.ts.map +1 -0
  388. package/dist/{src → _types/src}/exchange/exchange.d.ts +1 -0
  389. package/dist/_types/src/exchange/exchange.d.ts.map +1 -0
  390. package/dist/{src → _types/src}/exchange/index.d.ts +1 -0
  391. package/dist/_types/src/exchange/index.d.ts.map +1 -0
  392. package/dist/{src → _types/src}/global.d.ts +1 -0
  393. package/dist/_types/src/global.d.ts.map +1 -0
  394. package/dist/{src → _types/src}/index.d.ts +1 -0
  395. package/dist/_types/src/index.d.ts.map +1 -0
  396. package/dist/{src → _types/src}/signer/index.d.ts +1 -0
  397. package/dist/_types/src/signer/index.d.ts.map +1 -0
  398. package/dist/{src → _types/src}/signer/signer.d.ts +1 -0
  399. package/dist/_types/src/signer/signer.d.ts.map +1 -0
  400. package/dist/{src → _types/src}/signer/tx-builder.d.ts +1 -0
  401. package/dist/_types/src/signer/tx-builder.d.ts.map +1 -0
  402. package/dist/{src → _types/src}/signer/types.d.ts +1 -0
  403. package/dist/_types/src/signer/types.d.ts.map +1 -0
  404. package/dist/_types/src/token/index.d.ts +2 -0
  405. package/dist/_types/src/token/index.d.ts.map +1 -0
  406. package/dist/{src → _types/src}/token/nft.d.ts +1 -0
  407. package/dist/_types/src/token/nft.d.ts.map +1 -0
  408. package/dist/{src → _types/src}/transaction/index.d.ts +1 -0
  409. package/dist/_types/src/transaction/index.d.ts.map +1 -0
  410. package/dist/{src → _types/src}/transaction/sign-verify.d.ts +1 -0
  411. package/dist/_types/src/transaction/sign-verify.d.ts.map +1 -0
  412. package/dist/{src → _types/src}/transaction/status.d.ts +1 -0
  413. package/dist/_types/src/transaction/status.d.ts.map +1 -0
  414. package/dist/{src → _types/src}/transaction/utils.d.ts +1 -0
  415. package/dist/_types/src/transaction/utils.d.ts.map +1 -0
  416. package/dist/{src → _types/src}/utils/bs58.d.ts +1 -0
  417. package/dist/_types/src/utils/bs58.d.ts.map +1 -0
  418. package/dist/{src → _types/src}/utils/djb2.d.ts +1 -0
  419. package/dist/_types/src/utils/djb2.d.ts.map +1 -0
  420. package/dist/{src → _types/src}/utils/index.d.ts +1 -0
  421. package/dist/_types/src/utils/index.d.ts.map +1 -0
  422. package/dist/{src → _types/src}/utils/number.d.ts +1 -0
  423. package/dist/_types/src/utils/number.d.ts.map +1 -0
  424. package/dist/{src → _types/src}/utils/number.fixture.d.ts +1 -0
  425. package/dist/_types/src/utils/number.fixture.d.ts.map +1 -0
  426. package/dist/{src → _types/src}/utils/sign.d.ts +1 -0
  427. package/dist/_types/src/utils/sign.d.ts.map +1 -0
  428. package/dist/{src → _types/src}/utils/subscription.d.ts +1 -0
  429. package/dist/_types/src/utils/subscription.d.ts.map +1 -0
  430. package/dist/{src → _types/src}/utils/utils.d.ts +1 -0
  431. package/dist/_types/src/utils/utils.d.ts.map +1 -0
  432. package/dist/{src → _types/src}/utils/webcrypto.d.ts +1 -0
  433. package/dist/_types/src/utils/webcrypto.d.ts.map +1 -0
  434. package/dist/_umd/alephium-web3.min.js +2 -0
  435. package/dist/_umd/alephium-web3.min.js.map +1 -0
  436. package/package.json +21 -23
  437. package/{webpack.config.js → webpack.config.cjs} +2 -2
  438. package/dist/alephium-web3.min.js +0 -3
  439. package/dist/alephium-web3.min.js.LICENSE.txt +0 -12
  440. package/dist/alephium-web3.min.js.map +0 -1
  441. package/dist/scripts/check-versions.d.ts +0 -1
  442. package/dist/scripts/header.d.ts +0 -0
  443. package/dist/src/address/index.d.ts +0 -1
  444. package/dist/src/token/index.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,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,187 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export const tests = [
19
+ {
20
+ raw: 123456n,
21
+ decimal: 5,
22
+ exact: '1.23456',
23
+ alphFormat: '1.23',
24
+ tokenFormat: '1.2346'
25
+ },
26
+ {
27
+ raw: 12345612n,
28
+ decimal: 2,
29
+ exact: '123,456.12',
30
+ alphFormat: '123,456.12',
31
+ tokenFormat: '123,456.12'
32
+ },
33
+ {
34
+ raw: 123456123456n,
35
+ decimal: 6,
36
+ exact: '123,456.123456',
37
+ alphFormat: '123,456.12',
38
+ tokenFormat: '123,456.1235'
39
+ },
40
+ {
41
+ raw: 12n,
42
+ decimal: 2,
43
+ exact: '0.12',
44
+ alphFormat: '0.12',
45
+ tokenFormat: '0.12'
46
+ },
47
+ {
48
+ raw: 123456n,
49
+ decimal: 6,
50
+ exact: '0.123456',
51
+ alphFormat: '0.12',
52
+ tokenFormat: '0.1235'
53
+ },
54
+ {
55
+ raw: 123456n,
56
+ decimal: 7,
57
+ exact: '0.0123456',
58
+ alphFormat: '0.012',
59
+ tokenFormat: '0.0123'
60
+ },
61
+ {
62
+ raw: 123456n,
63
+ decimal: 8,
64
+ exact: '0.00123456',
65
+ alphFormat: '0.0012',
66
+ tokenFormat: '0.0012'
67
+ },
68
+ {
69
+ raw: 123456n,
70
+ decimal: 9,
71
+ exact: '0.000123456',
72
+ alphFormat: '0.00012',
73
+ tokenFormat: '0.00012'
74
+ },
75
+ {
76
+ raw: 123456n,
77
+ decimal: 11,
78
+ exact: '0.00000123456',
79
+ alphFormat: '0.0000012',
80
+ tokenFormat: '0.0000012'
81
+ },
82
+ {
83
+ raw: -123456n,
84
+ decimal: 11,
85
+ exact: '-0.00000123456',
86
+ alphFormat: '-0.0000012',
87
+ tokenFormat: '-0.0000012'
88
+ },
89
+ {
90
+ raw: 8923088n,
91
+ decimal: 10,
92
+ exact: '0.0008923088',
93
+ alphFormat: '0.00089',
94
+ tokenFormat: '0.00089'
95
+ },
96
+ {
97
+ raw: 885n,
98
+ decimal: 6,
99
+ exact: '0.000885',
100
+ alphFormat: '0.00089',
101
+ tokenFormat: '0.00089'
102
+ },
103
+ {
104
+ raw: 100000000000n,
105
+ decimal: 18,
106
+ exact: '0.0000001',
107
+ alphFormat: '0.0000001',
108
+ tokenFormat: '0.0000001'
109
+ },
110
+ {
111
+ raw: 1504000000000000000n,
112
+ decimal: 18,
113
+ exact: '1.504',
114
+ alphFormat: '1.50',
115
+ tokenFormat: '1.504'
116
+ },
117
+ {
118
+ raw: 1505000000000000000n,
119
+ decimal: 18,
120
+ exact: '1.505',
121
+ alphFormat: '1.51',
122
+ tokenFormat: '1.505'
123
+ },
124
+ {
125
+ raw: 1500050000000000000n,
126
+ decimal: 18,
127
+ exact: '1.50005',
128
+ alphFormat: '1.50',
129
+ tokenFormat: '1.5001'
130
+ },
131
+ {
132
+ raw: 100n,
133
+ decimal: 0,
134
+ exact: '100',
135
+ alphFormat: '100.00',
136
+ tokenFormat: '100.0'
137
+ },
138
+ {
139
+ raw: 123456789n,
140
+ decimal: 0,
141
+ exact: '123,456,789',
142
+ alphFormat: '123,456,789.00',
143
+ tokenFormat: '123,456,789.0'
144
+ },
145
+ {
146
+ raw: -123456789n,
147
+ decimal: 0,
148
+ exact: '-123,456,789',
149
+ alphFormat: '-123,456,789.00',
150
+ tokenFormat: '-123,456,789.0'
151
+ },
152
+ {
153
+ raw: 0n,
154
+ decimal: 0,
155
+ exact: '0',
156
+ alphFormat: '0.00',
157
+ tokenFormat: '0.0'
158
+ }
159
+ ];
160
+ export const tests1 = [
161
+ {
162
+ raw: '0',
163
+ decimals: 18,
164
+ amount: 0n
165
+ },
166
+ {
167
+ raw: '1.23',
168
+ decimals: 2,
169
+ amount: 123n
170
+ },
171
+ {
172
+ raw: '1',
173
+ decimals: 5,
174
+ amount: 100000n
175
+ },
176
+ {
177
+ raw: '1',
178
+ decimals: 18,
179
+ amount: 1000000000000000000n
180
+ },
181
+ {
182
+ raw: '1.23456789',
183
+ decimals: 18,
184
+ amount: 1234567890000000000n
185
+ }
186
+ ];
187
+ //# 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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"}
@@ -0,0 +1,139 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ // Credits:
19
+ // 1. https://github.com/argentlabs/argent-x/blob/e63affa7f28b27333dca4081a3dcd375bb2da40b/packages/extension/src/shared/utils/number.ts
20
+ // 2. https://github.com/ethers-io/ethers.js/blob/724881f34d428406488a1c9f9dbebe54b6edecda/src.ts/utils/fixednumber.ts
21
+ import BigNumber from 'bignumber.js';
22
+ export const isNumeric = (numToCheck) => !isNaN(parseFloat(numToCheck)) && isFinite(numToCheck);
23
+ export const prettifyNumberConfig = {
24
+ ALPH: {
25
+ minDecimalPlaces: 2,
26
+ maxDecimalPlaces: 10,
27
+ minDecimalSignificantDigits: 2,
28
+ decimalPlacesWhenZero: 2
29
+ },
30
+ TOKEN: {
31
+ minDecimalPlaces: 4,
32
+ maxDecimalPlaces: 16,
33
+ minDecimalSignificantDigits: 2,
34
+ decimalPlacesWhenZero: 1
35
+ },
36
+ Exact: {
37
+ minDecimalPlaces: 18,
38
+ maxDecimalPlaces: 18,
39
+ minDecimalSignificantDigits: 0,
40
+ decimalPlacesWhenZero: 0
41
+ }
42
+ };
43
+ export function prettifyAttoAlphAmount(amount) {
44
+ return prettifyNumber(amount, 18, prettifyNumberConfig.ALPH);
45
+ }
46
+ export function prettifyTokenAmount(amount, decimals) {
47
+ return prettifyNumber(amount, decimals, prettifyNumberConfig.TOKEN);
48
+ }
49
+ export function prettifyExactAmount(amount, decimals) {
50
+ return prettifyNumber(amount, decimals, prettifyNumberConfig.Exact);
51
+ }
52
+ export function prettifyNumber(amount, decimals, config) {
53
+ const number = toFixedNumber(number256ToBigint(amount), decimals);
54
+ if (!isNumeric(number)) {
55
+ return undefined;
56
+ }
57
+ const numberBN = new BigNumber(number);
58
+ let untrimmed;
59
+ if (numberBN.gte(1)) {
60
+ /** simplest case, formatting to minDecimalPlaces will look good */
61
+ untrimmed = numberBN.toFormat(config.minDecimalPlaces);
62
+ }
63
+ else {
64
+ /** now need to interrogate the appearance of decimal number < 1 */
65
+ /** longest case - max decimal places e.g. 0.0008923088123 -> 0.0008923088 */
66
+ const maxDecimalPlacesString = numberBN.toFormat(config.maxDecimalPlaces);
67
+ /** count the zeros, which will then allow us to know the final length with desired significant digits */
68
+ const decimalPart = maxDecimalPlacesString.split('.')[1];
69
+ const zeroMatches = decimalPart?.match(/^0+/);
70
+ const leadingZerosInDecimalPart = zeroMatches && zeroMatches.length ? zeroMatches[0].length : 0;
71
+ /** now we can re-format with leadingZerosInDecimalPart + maxDecimalSignificanDigits to give us the pretty version */
72
+ /** e.g. 0.0008923088123 -> 0.00089 */
73
+ const prettyDecimalPlaces = Math.max(leadingZerosInDecimalPart + config.minDecimalSignificantDigits, config.minDecimalPlaces);
74
+ untrimmed = numberBN.toFormat(prettyDecimalPlaces);
75
+ }
76
+ /** the untrimmed string may have trailing zeros, e.g. 0.0890 */
77
+ /** trim to a minimum specified by the config, e.g. we may want to display $0.00 or 0.0 ETH */
78
+ let trimmed = untrimmed.replace(/0+$/, '');
79
+ const minLength = 1 + untrimmed.indexOf('.') + config.decimalPlacesWhenZero;
80
+ if (trimmed.length < minLength) {
81
+ trimmed = untrimmed.substring(0, minLength);
82
+ }
83
+ if (trimmed[trimmed.length - 1] === '.') {
84
+ trimmed = trimmed.slice(0, -1);
85
+ }
86
+ return trimmed;
87
+ }
88
+ const BN_N1 = BigInt(-1);
89
+ const BN_0 = BigInt(0);
90
+ // Constant to pull zeros from for multipliers
91
+ const Zeros = '0000';
92
+ function toFixedNumber(val, decimals) {
93
+ let negative = '';
94
+ if (val < BN_0) {
95
+ negative = '-';
96
+ val *= BN_N1;
97
+ }
98
+ let str = val.toString();
99
+ // No decimal point for whole values
100
+ if (decimals === 0) {
101
+ return negative + str;
102
+ }
103
+ // Pad out to the whole component (including a whole digit)
104
+ while (str.length <= decimals) {
105
+ str = Zeros + str;
106
+ }
107
+ // Insert the decimal point
108
+ const index = str.length - decimals;
109
+ str = str.substring(0, index) + '.' + str.substring(index);
110
+ // Trim the whole component (leaving at least one 0)
111
+ while (str[0] === '0' && str[1] !== '.') {
112
+ str = str.substring(1);
113
+ }
114
+ // Trim the decimal component (leaving at least one 0)
115
+ while (str[str.length - 1] === '0' && str[str.length - 2] !== '.') {
116
+ str = str.substring(0, str.length - 1);
117
+ }
118
+ return negative + str;
119
+ }
120
+ export function convertAmountWithDecimals(amount, decimals) {
121
+ try {
122
+ const result = new BigNumber(amount).multipliedBy(Math.pow(10, decimals));
123
+ return BigInt(result.toFormat(0, { groupSeparator: '' }));
124
+ }
125
+ catch (e) {
126
+ return undefined;
127
+ }
128
+ }
129
+ // E.g. `1.23` ALPH will be converted to `1230000000000000000`
130
+ export function convertAlphAmountWithDecimals(amount) {
131
+ return convertAmountWithDecimals(amount, 18);
132
+ }
133
+ export function number256ToBigint(number) {
134
+ return typeof number === 'string' ? BigInt(number) : number;
135
+ }
136
+ export function number256ToNumber(number, decimals) {
137
+ return parseFloat(toFixedNumber(number256ToBigint(number), decimals));
138
+ }
139
+ //# 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,62 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { ec as EC } from 'elliptic';
19
+ import { binToHex, encodeSignature, hexToBinUnsafe, signatureDecode } from '../utils';
20
+ import * as necc from '@noble/secp256k1';
21
+ import { createHash, createHmac } from 'crypto';
22
+ const ec = new EC('secp256k1');
23
+ necc.utils.sha256Sync = (...messages) => {
24
+ const sha256 = createHash('sha256');
25
+ for (const message of messages)
26
+ sha256.update(message);
27
+ return sha256.digest();
28
+ };
29
+ necc.utils.hmacSha256Sync = (key, ...messages) => {
30
+ const hash = createHmac('sha256', key);
31
+ messages.forEach((m) => hash.update(m));
32
+ return Uint8Array.from(hash.digest());
33
+ };
34
+ // hash has to be 32 bytes
35
+ export function sign(hash, privateKey, _keyType) {
36
+ const keyType = _keyType ?? 'default';
37
+ if (keyType === 'default') {
38
+ const key = ec.keyFromPrivate(privateKey);
39
+ const signature = key.sign(hash);
40
+ return encodeSignature(signature);
41
+ }
42
+ else {
43
+ const signature = necc.schnorr.signSync(hexToBinUnsafe(hash), hexToBinUnsafe(privateKey));
44
+ return binToHex(signature);
45
+ }
46
+ }
47
+ export function verifySignature(hash, publicKey, signature, _keyType) {
48
+ const keyType = _keyType ?? 'default';
49
+ try {
50
+ if (keyType === 'default') {
51
+ const key = ec.keyFromPublic(publicKey, 'hex');
52
+ return key.verify(hash, signatureDecode(ec, signature));
53
+ }
54
+ else {
55
+ return necc.schnorr.verifySync(hexToBinUnsafe(signature), hexToBinUnsafe(hash), hexToBinUnsafe(publicKey));
56
+ }
57
+ }
58
+ catch (error) {
59
+ return false;
60
+ }
61
+ }
62
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../src/utils/sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAErF,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE/C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,CAAA;AAE9B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,QAAsB,EAAc,EAAE;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AACxB,CAAC,CAAA;AAED,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,GAAe,EAAE,GAAG,QAAsB,EAAc,EAAE;IACrF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AACvC,CAAC,CAAA;AAED,0BAA0B;AAC1B,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,UAAkB,EAAE,QAAkB;IACvE,MAAM,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAA;IAErC,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAA;KAClC;SAAM;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;QACzF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;KAC3B;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAiB,EAAE,QAAkB;IACpG,MAAM,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAA;IAErC,IAAI;QACF,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAA;SACxD;aAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;SAC3G;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC"}
@@ -0,0 +1,48 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import EventEmitter from 'eventemitter3';
19
+ export class Subscription {
20
+ constructor(options) {
21
+ this.pollingInterval = options.pollingInterval;
22
+ this.messageCallback = options.messageCallback;
23
+ this.errorCallback = options.errorCallback;
24
+ this.task = undefined;
25
+ this.cancelled = false;
26
+ this.eventEmitter = new EventEmitter();
27
+ }
28
+ subscribe() {
29
+ this.eventEmitter.on('tick', async () => {
30
+ await this.polling();
31
+ if (!this.cancelled) {
32
+ this.task = setTimeout(() => this.eventEmitter.emit('tick'), this.pollingInterval);
33
+ }
34
+ });
35
+ this.eventEmitter.emit('tick');
36
+ }
37
+ unsubscribe() {
38
+ this.eventEmitter.removeAllListeners();
39
+ this.cancelled = true;
40
+ if (typeof this.task !== 'undefined') {
41
+ clearTimeout(this.task);
42
+ }
43
+ }
44
+ isCancelled() {
45
+ return this.cancelled;
46
+ }
47
+ }
48
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../../src/utils/subscription.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,YAAY,MAAM,eAAe,CAAA;AAWxC,MAAM,OAAgB,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,YAAY,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;gBACnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;aACnF;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;YACpC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACxB;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;CAGF"}
@@ -0,0 +1,144 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { ec as EC } from 'elliptic';
19
+ import BN from 'bn.js';
20
+ import { TOTAL_NUMBER_OF_GROUPS, TOTAL_NUMBER_OF_CHAINS } from '../constants';
21
+ export const networkIds = ['mainnet', 'testnet', 'devnet'];
22
+ const ec = new EC('secp256k1');
23
+ export function encodeSignature(signature) {
24
+ let sNormalized = signature.s;
25
+ if (ec.n && signature.s.cmp(ec.nh) === 1) {
26
+ sNormalized = ec.n.sub(signature.s);
27
+ }
28
+ const r = signature.r.toString('hex', 66).slice(2);
29
+ const s = sNormalized.toString('hex', 66).slice(2);
30
+ return r + s;
31
+ }
32
+ export function encodeHexSignature(rHex, sHex) {
33
+ return encodeSignature({ r: new BN(rHex, 'hex'), s: new BN(sHex, 'hex') });
34
+ }
35
+ // the signature should be in hex string format for 64 bytes
36
+ export function signatureDecode(ec, signature) {
37
+ if (signature.length !== 128) {
38
+ throw new Error('Invalid signature length');
39
+ }
40
+ const sHex = signature.slice(64, 128);
41
+ const s = new BN(sHex, 'hex');
42
+ if (ec.n && s.cmp(ec.nh) < 1) {
43
+ const decoded = { r: signature.slice(0, 64), s: sHex };
44
+ return decoded;
45
+ }
46
+ else {
47
+ throw new Error('The signature is not normalized');
48
+ }
49
+ }
50
+ export function isHexString(input) {
51
+ return input.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(input);
52
+ }
53
+ export function toNonNegativeBigInt(input) {
54
+ try {
55
+ const bigIntValue = BigInt(input);
56
+ return bigIntValue < 0n ? undefined : bigIntValue;
57
+ }
58
+ catch {
59
+ return undefined;
60
+ }
61
+ }
62
+ export function hexToBinUnsafe(hex) {
63
+ const bytes = [];
64
+ for (let i = 0; i < hex.length; i += 2) {
65
+ bytes.push(parseInt(hex.slice(i, i + 2), 16));
66
+ }
67
+ return new Uint8Array(bytes);
68
+ }
69
+ export function binToHex(bin) {
70
+ return Array.from(bin)
71
+ .map((byte) => byte.toString(16).padStart(2, '0'))
72
+ .join('');
73
+ }
74
+ export function blockChainIndex(blockHash) {
75
+ if (blockHash.length != 64) {
76
+ throw Error(`Invalid block hash: ${blockHash}`);
77
+ }
78
+ const rawIndex = Number('0x' + blockHash.slice(-4)) % TOTAL_NUMBER_OF_CHAINS;
79
+ return { fromGroup: Math.floor(rawIndex / TOTAL_NUMBER_OF_GROUPS), toGroup: rawIndex % TOTAL_NUMBER_OF_GROUPS };
80
+ }
81
+ export function stringToHex(str) {
82
+ let hex = '';
83
+ for (let i = 0; i < str.length; i++) {
84
+ hex += '' + str.charCodeAt(i).toString(16);
85
+ }
86
+ return hex;
87
+ }
88
+ export function hexToString(str) {
89
+ if (!isHexString(str)) {
90
+ throw new Error(`Invalid hex string: ${str}`);
91
+ }
92
+ const bytes = hexToBinUnsafe(str);
93
+ return new TextDecoder().decode(bytes);
94
+ }
95
+ export function sleep(ms) {
96
+ return new Promise((resolve) => setTimeout(resolve, ms));
97
+ }
98
+ export function isDevnet(networkId) {
99
+ return networkId !== 0 && networkId !== 1;
100
+ }
101
+ export function targetToDifficulty(compactedTarget) {
102
+ if (!isHexString(compactedTarget) || compactedTarget.length !== 8) {
103
+ throw Error(`Invalid target ${compactedTarget}, expected a hex string of length 8`);
104
+ }
105
+ const size = hexToBinUnsafe(compactedTarget.slice(0, 2))[0];
106
+ const mantissa = BigInt('0x' + compactedTarget.slice(2));
107
+ const maxBigInt = 1n << 256n;
108
+ const target = size <= 3 ? mantissa >> BigInt(8 * (3 - size)) : mantissa << BigInt(8 * (size - 3));
109
+ return maxBigInt / target;
110
+ }
111
+ export function difficultyToTarget(diff) {
112
+ const maxBigInt = 1n << 256n;
113
+ const target = diff === 1n ? maxBigInt - 1n : maxBigInt / diff;
114
+ const size = Math.floor((target.toString(2).length + 7) / 8);
115
+ const mantissa = Number(size <= 3
116
+ ? BigInt.asIntN(32, target) << BigInt(8 * (3 - size))
117
+ : BigInt.asIntN(32, target >> BigInt(8 * (size - 3))));
118
+ const mantissaBytes = new Uint8Array(4);
119
+ mantissaBytes[0] = size;
120
+ mantissaBytes[1] = (mantissa >> 16) & 0xff;
121
+ mantissaBytes[2] = (mantissa >> 8) & 0xff;
122
+ mantissaBytes[3] = mantissa & 0xff;
123
+ return binToHex(mantissaBytes);
124
+ }
125
+ export function concatBytes(arrays) {
126
+ const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
127
+ const result = new Uint8Array(totalLength);
128
+ let offset = 0;
129
+ for (const array of arrays) {
130
+ result.set(array, offset);
131
+ offset += array.length;
132
+ }
133
+ return result;
134
+ }
135
+ export function xorByte(intValue) {
136
+ const byte0 = (intValue >> 24) & 0xff;
137
+ const byte1 = (intValue >> 16) & 0xff;
138
+ const byte2 = (intValue >> 8) & 0xff;
139
+ const byte3 = intValue & 0xff;
140
+ return (byte0 ^ byte1 ^ byte2 ^ byte3) & 0xff;
141
+ }
142
+ // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
143
+ export function assertType() { }
144
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /*
2
+ Copyright 2018 - 2022 The Alephium Authors
3
+ This file is part of the alephium project.
4
+
5
+ The library is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Lesser General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ The library is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Lesser General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Lesser General Public License
16
+ along with the library. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { webcrypto, randomFillSync } from 'crypto';
19
+ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
20
+ export class WebCrypto {
21
+ constructor() {
22
+ this.subtle = isBrowser ? globalThis.crypto.subtle : webcrypto ? webcrypto.subtle : crypto.subtle;
23
+ }
24
+ getRandomValues(array) {
25
+ if (!ArrayBuffer.isView(array)) {
26
+ throw new TypeError("Failed to execute 'getRandomValues' on 'Crypto': parameter 1 is not of type 'ArrayBufferView'");
27
+ }
28
+ const bytes = new Uint8Array(array.buffer, array.byteOffset, array.byteLength);
29
+ if (isBrowser) {
30
+ globalThis.crypto.getRandomValues(bytes);
31
+ }
32
+ else {
33
+ randomFillSync(bytes);
34
+ }
35
+ return array;
36
+ }
37
+ }
38
+ //# sourceMappingURL=webcrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webcrypto.js","sourceRoot":"","sources":["../../../../src/utils/webcrypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;EAgBE;AAEF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAElD,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAA;AAEzF,MAAM,OAAO,SAAS;IAAtB;QACE,WAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IAiB9F,CAAC;IAfQ,eAAe,CAAmC,KAAQ;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,SAAS,CACjB,+FAA+F,CAChG,CAAA;SACF;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAE9E,IAAI,SAAS,EAAE;YACb,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SACzC;aAAM;YACL,cAAc,CAAC,KAAK,CAAC,CAAA;SACtB;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=check-versions.d.ts.map