@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,65 +1,81 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
20
- return (mod && mod.__esModule) ? mod : { "default": mod };
21
- };
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
+ })();
22
35
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.assertType = exports.xorByte = exports.concatBytes = exports.difficultyToTarget = exports.targetToDifficulty = exports.isDevnet = exports.sleep = exports.hexToString = exports.stringToHex = exports.blockChainIndex = exports.binToHex = exports.hexToBinUnsafe = exports.toNonNegativeBigInt = exports.isHexString = exports.signatureDecode = exports.encodeHexSignature = exports.encodeSignature = exports.networkIds = void 0;
24
- const elliptic_1 = require("elliptic");
25
- const bn_js_1 = __importDefault(require("bn.js"));
36
+ exports.networkIds = void 0;
37
+ exports.encodeSignature = encodeSignature;
38
+ exports.encodeHexSignature = encodeHexSignature;
39
+ exports.signatureDecode = signatureDecode;
40
+ exports.isHexString = isHexString;
41
+ exports.toNonNegativeBigInt = toNonNegativeBigInt;
42
+ exports.hexToBinUnsafe = hexToBinUnsafe;
43
+ exports.binToHex = binToHex;
44
+ exports.blockChainIndex = blockChainIndex;
45
+ exports.stringToHex = stringToHex;
46
+ exports.hexToString = hexToString;
47
+ exports.sleep = sleep;
48
+ exports.isDevnet = isDevnet;
49
+ exports.targetToDifficulty = targetToDifficulty;
50
+ exports.difficultyToTarget = difficultyToTarget;
51
+ exports.concatBytes = concatBytes;
52
+ exports.xorByte = xorByte;
53
+ exports.assertType = assertType;
54
+ const secp256k1 = __importStar(require("@noble/secp256k1"));
26
55
  const constants_1 = require("../constants");
27
56
  exports.networkIds = ['mainnet', 'testnet', 'devnet'];
28
- const ec = new elliptic_1.ec('secp256k1');
29
57
  function encodeSignature(signature) {
30
- let sNormalized = signature.s;
31
- if (ec.n && signature.s.cmp(ec.nh) === 1) {
32
- sNormalized = ec.n.sub(signature.s);
33
- }
34
- const r = signature.r.toString('hex', 66).slice(2);
35
- const s = sNormalized.toString('hex', 66).slice(2);
36
- return r + s;
58
+ const sig = new secp256k1.Signature(signature.r, signature.s).normalizeS();
59
+ return sig.toCompactHex();
37
60
  }
38
- exports.encodeSignature = encodeSignature;
39
61
  function encodeHexSignature(rHex, sHex) {
40
- return encodeSignature({ r: new bn_js_1.default(rHex, 'hex'), s: new bn_js_1.default(sHex, 'hex') });
62
+ return encodeSignature({ r: BigInt('0x' + rHex), s: BigInt('0x' + sHex) });
41
63
  }
42
- exports.encodeHexSignature = encodeHexSignature;
43
- // the signature should be in hex string format for 64 bytes
44
- function signatureDecode(ec, signature) {
64
+ function signatureDecode(signature) {
45
65
  if (signature.length !== 128) {
46
66
  throw new Error('Invalid signature length');
47
67
  }
48
- const sHex = signature.slice(64, 128);
49
- const s = new bn_js_1.default(sHex, 'hex');
50
- if (ec.n && s.cmp(ec.nh) < 1) {
51
- const decoded = { r: signature.slice(0, 64), s: sHex };
52
- return decoded;
68
+ const sig = secp256k1.Signature.fromCompact(signature);
69
+ if (!sig.hasHighS()) {
70
+ return { r: signature.slice(0, 64), s: signature.slice(64, 128) };
53
71
  }
54
72
  else {
55
73
  throw new Error('The signature is not normalized');
56
74
  }
57
75
  }
58
- exports.signatureDecode = signatureDecode;
59
76
  function isHexString(input) {
60
77
  return input.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(input);
61
78
  }
62
- exports.isHexString = isHexString;
63
79
  function toNonNegativeBigInt(input) {
64
80
  try {
65
81
  const bigIntValue = BigInt(input);
@@ -69,7 +85,6 @@ function toNonNegativeBigInt(input) {
69
85
  return undefined;
70
86
  }
71
87
  }
72
- exports.toNonNegativeBigInt = toNonNegativeBigInt;
73
88
  function hexToBinUnsafe(hex) {
74
89
  const bytes = [];
75
90
  for (let i = 0; i < hex.length; i += 2) {
@@ -77,13 +92,11 @@ function hexToBinUnsafe(hex) {
77
92
  }
78
93
  return new Uint8Array(bytes);
79
94
  }
80
- exports.hexToBinUnsafe = hexToBinUnsafe;
81
95
  function binToHex(bin) {
82
96
  return Array.from(bin)
83
97
  .map((byte) => byte.toString(16).padStart(2, '0'))
84
98
  .join('');
85
99
  }
86
- exports.binToHex = binToHex;
87
100
  function blockChainIndex(blockHash) {
88
101
  if (blockHash.length != 64) {
89
102
  throw Error(`Invalid block hash: ${blockHash}`);
@@ -91,7 +104,6 @@ function blockChainIndex(blockHash) {
91
104
  const rawIndex = Number('0x' + blockHash.slice(-4)) % constants_1.TOTAL_NUMBER_OF_CHAINS;
92
105
  return { fromGroup: Math.floor(rawIndex / constants_1.TOTAL_NUMBER_OF_GROUPS), toGroup: rawIndex % constants_1.TOTAL_NUMBER_OF_GROUPS };
93
106
  }
94
- exports.blockChainIndex = blockChainIndex;
95
107
  function stringToHex(str) {
96
108
  let hex = '';
97
109
  for (let i = 0; i < str.length; i++) {
@@ -99,7 +111,6 @@ function stringToHex(str) {
99
111
  }
100
112
  return hex;
101
113
  }
102
- exports.stringToHex = stringToHex;
103
114
  function hexToString(str) {
104
115
  if (!isHexString(str)) {
105
116
  throw new Error(`Invalid hex string: ${str}`);
@@ -107,15 +118,12 @@ function hexToString(str) {
107
118
  const bytes = hexToBinUnsafe(str);
108
119
  return new TextDecoder().decode(bytes);
109
120
  }
110
- exports.hexToString = hexToString;
111
121
  function sleep(ms) {
112
122
  return new Promise((resolve) => setTimeout(resolve, ms));
113
123
  }
114
- exports.sleep = sleep;
115
124
  function isDevnet(networkId) {
116
125
  return networkId !== 0 && networkId !== 1;
117
126
  }
118
- exports.isDevnet = isDevnet;
119
127
  function targetToDifficulty(compactedTarget) {
120
128
  if (!isHexString(compactedTarget) || compactedTarget.length !== 8) {
121
129
  throw Error(`Invalid target ${compactedTarget}, expected a hex string of length 8`);
@@ -126,7 +134,6 @@ function targetToDifficulty(compactedTarget) {
126
134
  const target = size <= 3 ? mantissa >> BigInt(8 * (3 - size)) : mantissa << BigInt(8 * (size - 3));
127
135
  return maxBigInt / target;
128
136
  }
129
- exports.targetToDifficulty = targetToDifficulty;
130
137
  function difficultyToTarget(diff) {
131
138
  const maxBigInt = 1n << 256n;
132
139
  const target = diff === 1n ? maxBigInt - 1n : maxBigInt / diff;
@@ -141,7 +148,6 @@ function difficultyToTarget(diff) {
141
148
  mantissaBytes[3] = mantissa & 0xff;
142
149
  return binToHex(mantissaBytes);
143
150
  }
144
- exports.difficultyToTarget = difficultyToTarget;
145
151
  function concatBytes(arrays) {
146
152
  const totalLength = arrays.reduce((acc, arr) => acc + arr.length, 0);
147
153
  const result = new Uint8Array(totalLength);
@@ -152,7 +158,6 @@ function concatBytes(arrays) {
152
158
  }
153
159
  return result;
154
160
  }
155
- exports.concatBytes = concatBytes;
156
161
  function xorByte(intValue) {
157
162
  const byte0 = (intValue >> 24) & 0xff;
158
163
  const byte1 = (intValue >> 16) & 0xff;
@@ -160,7 +165,5 @@ function xorByte(intValue) {
160
165
  const byte3 = intValue & 0xff;
161
166
  return (byte0 ^ byte1 ^ byte2 ^ byte3) & 0xff;
162
167
  }
163
- exports.xorByte = xorByte;
164
- // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
165
168
  function assertType() { }
166
- exports.assertType = assertType;
169
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,0CAGC;AAED,gDAEC;AAGD,0CAWC;AAED,kCAEC;AAED,kDAOC;AAED,wCAMC;AAED,4BAIC;AAED,0CAOC;AAED,kCAMC;AAED,kCAMC;AAED,sBAEC;AAED,4BAEC;AAED,gDASC;AAED,gDAeC;AAED,kCASC;AAED,0BAMC;AAKD,gCAAqD;AA5IrD,4DAA6C;AAC7C,4CAA6E;AAEhE,QAAA,UAAU,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAInE,SAAgB,eAAe,CAAC,SAAmC;IACjE,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC1E,OAAO,GAAG,CAAC,YAAY,EAAE,CAAA;AAC3B,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,IAAY;IAC3D,OAAO,eAAe,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5E,CAAC;AAGD,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IACtD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,SAAgB,QAAQ,CAAC,GAAe;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,SAAoB;IAClD,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,kCAAsB,CAAA;IAC5E,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,kCAAsB,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAG,kCAAsB,EAAE,CAAA;AACjH,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAgB,QAAQ,CAAC,SAAkB;IACzC,OAAO,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED,SAAgB,kBAAkB,CAAC,eAA0B;IAC3D,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,CAAC,kBAAkB,eAAe,qCAAqC,CAAC,CAAA;IACrF,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,EAAE,IAAI,IAAI,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;IAClG,OAAO,SAAS,GAAG,MAAM,CAAA;AAC3B,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,SAAS,GAAG,EAAE,IAAI,IAAI,CAAA;IAC5B,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAA;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,MAAM,CACrB,IAAI,IAAI,CAAC;QACP,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACxD,CAAA;IACD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACvC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACvB,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IAC1C,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACzC,aAAa,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAA;IAClC,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAA;AAChC,CAAC;AAED,SAAgB,WAAW,CAAC,MAAoB;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACzB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;IACxB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,OAAO,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACrC,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACrC,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACpC,MAAM,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;AAC/C,CAAC;AAKD,SAAgB,UAAU,KAA0B,CAAC"}
@@ -1,6 +1,4 @@
1
- /// <reference types="node" />
2
- import { webcrypto } from 'crypto';
3
1
  export declare class WebCrypto {
4
- subtle: webcrypto.SubtleCrypto;
2
+ subtle: SubtleCrypto;
5
3
  getRandomValues<T extends ArrayBufferView | null>(array: T): T;
6
4
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebCrypto = void 0;
4
+ class WebCrypto {
5
+ constructor() {
6
+ this.subtle = globalThis.crypto.subtle;
7
+ }
8
+ getRandomValues(array) {
9
+ if (!ArrayBuffer.isView(array)) {
10
+ throw new TypeError("Failed to execute 'getRandomValues' on 'Crypto': parameter 1 is not of type 'ArrayBufferView'");
11
+ }
12
+ const bytes = new Uint8Array(array.buffer, array.byteOffset, array.byteLength);
13
+ globalThis.crypto.getRandomValues(bytes);
14
+ return array;
15
+ }
16
+ }
17
+ exports.WebCrypto = WebCrypto;
18
+ //# sourceMappingURL=webcrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webcrypto.js","sourceRoot":"","sources":["../../../src/utils/webcrypto.ts"],"names":[],"mappings":";;;AAqBA,MAAa,SAAS;IAAtB;QACE,WAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAA;IAYnC,CAAC;IAVQ,eAAe,CAAmC,KAAQ;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CACjB,+FAA+F,CAChG,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9E,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAbD,8BAaC"}
@@ -0,0 +1,36 @@
1
+ import { KeyType } from '../signer';
2
+ import { LockupScript } from '../codec/lockup-script-codec';
3
+ export declare enum AddressType {
4
+ P2PKH = 0,
5
+ P2MPKH = 1,
6
+ P2SH = 2,
7
+ P2C = 3,
8
+ P2PK = 4,
9
+ P2HMPK = 5
10
+ }
11
+ export declare function validateAddress(address: string): void;
12
+ export declare function isValidAddress(address: string): boolean;
13
+ export declare function addressToBytes(address: string): Uint8Array;
14
+ export declare function isAssetAddress(address: string): boolean;
15
+ export declare function isGrouplessAddress(address: string): boolean;
16
+ export declare function isGrouplessAddressWithoutGroupIndex(address: string): boolean;
17
+ export declare function isGrouplessAddressWithGroupIndex(address: string): boolean;
18
+ export declare function defaultGroupOfGrouplessAddress(bytes: Uint8Array): number;
19
+ export declare function isContractAddress(address: string): boolean;
20
+ export declare function groupOfAddress(address: string): number;
21
+ export declare function contractIdFromAddress(address: string): Uint8Array;
22
+ export declare function tokenIdFromAddress(address: string): Uint8Array;
23
+ export declare function groupOfPrivateKey(privateKey: string, keyType?: KeyType): number;
24
+ export declare function publicKeyFromPrivateKey(privateKey: string, _keyType?: KeyType): string;
25
+ export declare function addressFromPublicKey(publicKey: string, _keyType?: KeyType): string;
26
+ export declare function addressFromScript(script: Uint8Array): string;
27
+ export declare function addressFromContractId(contractId: string): string;
28
+ export declare function addressFromTokenId(tokenId: string): string;
29
+ export declare function contractIdFromTx(txId: string, outputIndex: number): string;
30
+ export declare function subContractId(parentContractId: string, pathInHex: string, group: number): string;
31
+ export declare function groupOfLockupScript(lockupScript: LockupScript): number;
32
+ export declare function groupFromBytes(bytes: Uint8Array): number;
33
+ export declare function groupFromHint(hint: number): number;
34
+ export declare function hasExplicitGroupIndex(address: string): boolean;
35
+ export declare function addressWithoutExplicitGroupIndex(address: string): string;
36
+ export declare function addressFromLockupScript(lockupScript: LockupScript): string;
@@ -0,0 +1,309 @@
1
+ import * as secp from '@noble/secp256k1';
2
+ import { p256 } from '@noble/curves/p256';
3
+ import { ed25519 } from '@noble/curves/ed25519';
4
+ import { TOTAL_NUMBER_OF_GROUPS } from '../constants';
5
+ import { blake2b } from '@noble/hashes/blake2b';
6
+ import bs58, { base58ToBytes } from '../utils/bs58';
7
+ import { binToHex, concatBytes, hexToBinUnsafe, isHexString, xorByte } from '../utils';
8
+ import { lockupScriptCodec } from '../codec/lockup-script-codec';
9
+ import { i32Codec } from '../codec';
10
+ import djb2 from '../utils/djb2';
11
+ import { TraceableError } from '../error';
12
+ import { byteCodec } from '../codec/codec';
13
+ import { safePublicKeyLikeCodec } from '../codec/public-key-like-codec';
14
+ const PublicKeyHashSize = 32;
15
+ export var AddressType;
16
+ (function (AddressType) {
17
+ AddressType[AddressType["P2PKH"] = 0] = "P2PKH";
18
+ AddressType[AddressType["P2MPKH"] = 1] = "P2MPKH";
19
+ AddressType[AddressType["P2SH"] = 2] = "P2SH";
20
+ AddressType[AddressType["P2C"] = 3] = "P2C";
21
+ AddressType[AddressType["P2PK"] = 4] = "P2PK";
22
+ AddressType[AddressType["P2HMPK"] = 5] = "P2HMPK";
23
+ })(AddressType || (AddressType = {}));
24
+ export function validateAddress(address) {
25
+ decodeAndValidateAddress(address);
26
+ }
27
+ export function isValidAddress(address) {
28
+ try {
29
+ validateAddress(address);
30
+ return true;
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ }
36
+ function decodeAndValidateAddress(address) {
37
+ const decoded = addressToBytes(address);
38
+ if (decoded.length === 0)
39
+ throw new Error('Address is empty');
40
+ const addressType = decoded[0];
41
+ if (addressType === AddressType.P2MPKH) {
42
+ let multisig;
43
+ try {
44
+ multisig = lockupScriptCodec.decode(decoded).value;
45
+ }
46
+ catch (error) {
47
+ throw new TraceableError(`Invalid multisig address: ${address}`, error);
48
+ }
49
+ const n = multisig.publicKeyHashes.length;
50
+ const m = multisig.m;
51
+ if (n < m || m <= 0) {
52
+ throw new Error(`Invalid multisig address, n: ${n}, m: ${m}`);
53
+ }
54
+ const encodedNSize = i32Codec.encode(n).length;
55
+ const encodedMSize = i32Codec.encode(m).length;
56
+ const size = encodedNSize + PublicKeyHashSize * n + encodedMSize + 1;
57
+ if (decoded.length === size)
58
+ return decoded;
59
+ }
60
+ else if (addressType === AddressType.P2PKH || addressType === AddressType.P2SH || addressType === AddressType.P2C) {
61
+ if (decoded.length === 33)
62
+ return decoded;
63
+ }
64
+ else if (addressType === AddressType.P2PK) {
65
+ const p2pk = lockupScriptCodec.decode(decoded).value;
66
+ validateGroupIndex(p2pk.group);
67
+ return decoded;
68
+ }
69
+ else if (addressType === AddressType.P2HMPK) {
70
+ const p2hmpk = lockupScriptCodec.decode(decoded).value;
71
+ validateGroupIndex(p2hmpk.group);
72
+ return decoded;
73
+ }
74
+ throw new Error(`Invalid address: ${address}`);
75
+ }
76
+ export function addressToBytes(address) {
77
+ if (hasExplicitGroupIndex(address)) {
78
+ const groupIndex = parseGroupIndex(address[address.length - 1]);
79
+ const decoded = base58ToBytes(address.slice(0, address.length - 2));
80
+ if (decoded.length > 0 && isGrouplessType(decoded[0])) {
81
+ const groupByte = byteCodec.encode(groupIndex);
82
+ return new Uint8Array([...decoded, ...groupByte]);
83
+ }
84
+ throw new Error(`Invalid groupless address: ${address}`);
85
+ }
86
+ else {
87
+ const decoded = base58ToBytes(address);
88
+ if (decoded.length > 0 && isGrouplessType(decoded[0])) {
89
+ const group = defaultGroupOfGrouplessAddress(decoded.slice(2, decoded.length - 4));
90
+ const groupByte = byteCodec.encode(group);
91
+ return new Uint8Array([...decoded, ...groupByte]);
92
+ }
93
+ return decoded;
94
+ }
95
+ }
96
+ export function isAssetAddress(address) {
97
+ const addressType = decodeAndValidateAddress(address)[0];
98
+ return (addressType === AddressType.P2PKH ||
99
+ addressType === AddressType.P2MPKH ||
100
+ addressType === AddressType.P2SH ||
101
+ addressType === AddressType.P2PK ||
102
+ addressType === AddressType.P2HMPK);
103
+ }
104
+ function isGrouplessType(type) {
105
+ return type === AddressType.P2PK || type === AddressType.P2HMPK;
106
+ }
107
+ export function isGrouplessAddress(address) {
108
+ return isGrouplessType(decodeAndValidateAddress(address)[0]);
109
+ }
110
+ export function isGrouplessAddressWithoutGroupIndex(address) {
111
+ return !hasExplicitGroupIndex(address) && isGrouplessAddress(address);
112
+ }
113
+ export function isGrouplessAddressWithGroupIndex(address) {
114
+ return hasExplicitGroupIndex(address) && isGrouplessAddress(address);
115
+ }
116
+ export function defaultGroupOfGrouplessAddress(bytes) {
117
+ return (bytes[bytes.length - 1] & 0xff) % TOTAL_NUMBER_OF_GROUPS;
118
+ }
119
+ export function isContractAddress(address) {
120
+ const addressType = decodeAndValidateAddress(address)[0];
121
+ return addressType === AddressType.P2C;
122
+ }
123
+ export function groupOfAddress(address) {
124
+ const decoded = decodeAndValidateAddress(address);
125
+ const addressType = decoded[0];
126
+ const addressBody = decoded.slice(1);
127
+ if (addressType === AddressType.P2PKH) {
128
+ return groupOfP2pkhAddress(addressBody);
129
+ }
130
+ else if (addressType === AddressType.P2MPKH) {
131
+ return groupOfP2mpkhAddress(addressBody);
132
+ }
133
+ else if (addressType === AddressType.P2SH) {
134
+ return groupOfP2shAddress(addressBody);
135
+ }
136
+ else if (isGrouplessType(addressType)) {
137
+ return groupOfGrouplessAddress(addressBody);
138
+ }
139
+ else {
140
+ const id = contractIdFromAddress(address);
141
+ return id[`${id.length - 1}`];
142
+ }
143
+ }
144
+ function groupOfP2pkhAddress(address) {
145
+ return groupFromBytes(address);
146
+ }
147
+ function groupOfP2mpkhAddress(address) {
148
+ return groupFromBytes(address.slice(1, 33));
149
+ }
150
+ function groupOfGrouplessAddress(address) {
151
+ return address[address.length - 1] % TOTAL_NUMBER_OF_GROUPS;
152
+ }
153
+ function groupOfP2shAddress(address) {
154
+ return groupFromBytes(address);
155
+ }
156
+ export function contractIdFromAddress(address) {
157
+ return idFromAddress(address);
158
+ }
159
+ export function tokenIdFromAddress(address) {
160
+ return idFromAddress(address);
161
+ }
162
+ function idFromAddress(address) {
163
+ const decoded = base58ToBytes(address);
164
+ if (decoded.length == 0)
165
+ throw new Error('Address string is empty');
166
+ const addressType = decoded[0];
167
+ const addressBody = decoded.slice(1);
168
+ if (addressType == AddressType.P2C) {
169
+ return addressBody;
170
+ }
171
+ else {
172
+ throw new Error(`Invalid contract address type: ${addressType}`);
173
+ }
174
+ }
175
+ export function groupOfPrivateKey(privateKey, keyType) {
176
+ return groupOfAddress(addressFromPublicKey(publicKeyFromPrivateKey(privateKey, keyType), keyType));
177
+ }
178
+ export function publicKeyFromPrivateKey(privateKey, _keyType) {
179
+ const keyType = _keyType ?? 'default';
180
+ switch (keyType) {
181
+ case 'default':
182
+ case 'gl-secp256k1':
183
+ return binToHex(secp.getPublicKey(privateKey, true));
184
+ case 'gl-secp256r1':
185
+ case 'gl-webauthn':
186
+ return binToHex(p256.getPublicKey(hexToBinUnsafe(privateKey), true));
187
+ case 'gl-ed25519':
188
+ return binToHex(ed25519.getPublicKey(hexToBinUnsafe(privateKey)));
189
+ case 'bip340-schnorr':
190
+ return secp.Point.fromPrivateKey(privateKey).toHex(true).slice(2);
191
+ }
192
+ }
193
+ function p2pkAddressFromPublicKey(publicKey, keyType) {
194
+ const rawBytes = hexToBinUnsafe(publicKey);
195
+ const publicKeyLike = keyType === 'gl-secp256k1'
196
+ ? { kind: 'SecP256K1', value: rawBytes }
197
+ : keyType === 'gl-secp256r1'
198
+ ? { kind: 'SecP256R1', value: rawBytes }
199
+ : keyType === 'gl-ed25519'
200
+ ? { kind: 'ED25519', value: rawBytes }
201
+ : { kind: 'WebAuthn', value: rawBytes };
202
+ const publicKeyBytes = safePublicKeyLikeCodec.encode(publicKeyLike);
203
+ const bytes = new Uint8Array([AddressType.P2PK, ...publicKeyBytes]);
204
+ return bs58.encode(bytes);
205
+ }
206
+ export function addressFromPublicKey(publicKey, _keyType) {
207
+ const keyType = _keyType ?? 'default';
208
+ switch (keyType) {
209
+ case 'default': {
210
+ const hash = blake2b(hexToBinUnsafe(publicKey), { dkLen: 32 });
211
+ const bytes = new Uint8Array([AddressType.P2PKH, ...hash]);
212
+ return bs58.encode(bytes);
213
+ }
214
+ case 'bip340-schnorr': {
215
+ const lockupScript = hexToBinUnsafe(`0101000000000458144020${publicKey}8685`);
216
+ return addressFromScript(lockupScript);
217
+ }
218
+ default:
219
+ return p2pkAddressFromPublicKey(publicKey, keyType);
220
+ }
221
+ }
222
+ export function addressFromScript(script) {
223
+ const scriptHash = blake2b(script, { dkLen: 32 });
224
+ return bs58.encode(new Uint8Array([AddressType.P2SH, ...scriptHash]));
225
+ }
226
+ export function addressFromContractId(contractId) {
227
+ const hash = hexToBinUnsafe(contractId);
228
+ const bytes = new Uint8Array([AddressType.P2C, ...hash]);
229
+ return bs58.encode(bytes);
230
+ }
231
+ export function addressFromTokenId(tokenId) {
232
+ const contractId = tokenId;
233
+ return addressFromContractId(contractId);
234
+ }
235
+ export function contractIdFromTx(txId, outputIndex) {
236
+ const txIdBin = hexToBinUnsafe(txId);
237
+ const data = new Uint8Array([...txIdBin, outputIndex]);
238
+ const hash = blake2b(data, { dkLen: 32 });
239
+ return binToHex(hash);
240
+ }
241
+ export function subContractId(parentContractId, pathInHex, group) {
242
+ if (group < 0 || group >= TOTAL_NUMBER_OF_GROUPS) {
243
+ throw new Error(`Invalid group ${group}`);
244
+ }
245
+ if (!isHexString(parentContractId)) {
246
+ throw new Error(`Invalid parent contract ID: ${parentContractId}, expected hex string`);
247
+ }
248
+ if (!isHexString(pathInHex)) {
249
+ throw new Error(`Invalid path: ${pathInHex}, expected hex string`);
250
+ }
251
+ const data = concatBytes([hexToBinUnsafe(parentContractId), hexToBinUnsafe(pathInHex)]);
252
+ const bytes = new Uint8Array([...blake2b(blake2b(data, { dkLen: 32 }), { dkLen: 32 }).slice(0, -1), group]);
253
+ return binToHex(bytes);
254
+ }
255
+ export function groupOfLockupScript(lockupScript) {
256
+ if (lockupScript.kind === 'P2PKH') {
257
+ return groupFromBytes(lockupScript.value);
258
+ }
259
+ else if (lockupScript.kind === 'P2MPKH') {
260
+ return groupFromBytes(lockupScript.value.publicKeyHashes[0]);
261
+ }
262
+ else if (lockupScript.kind === 'P2SH') {
263
+ return groupFromBytes(lockupScript.value);
264
+ }
265
+ else if (lockupScript.kind === 'P2PK' || lockupScript.kind === 'P2HMPK') {
266
+ return lockupScript.value.group % TOTAL_NUMBER_OF_GROUPS;
267
+ }
268
+ else {
269
+ const contractId = lockupScript.value;
270
+ return contractId[`${contractId.length - 1}`];
271
+ }
272
+ }
273
+ export function groupFromBytes(bytes) {
274
+ const hint = djb2(bytes) | 1;
275
+ return groupFromHint(hint);
276
+ }
277
+ export function groupFromHint(hint) {
278
+ const hash = xorByte(hint);
279
+ return hash % TOTAL_NUMBER_OF_GROUPS;
280
+ }
281
+ export function hasExplicitGroupIndex(address) {
282
+ return address.length > 2 && address[address.length - 2] === ':';
283
+ }
284
+ export function addressWithoutExplicitGroupIndex(address) {
285
+ if (hasExplicitGroupIndex(address)) {
286
+ return address.slice(0, address.length - 2);
287
+ }
288
+ return address;
289
+ }
290
+ export function addressFromLockupScript(lockupScript) {
291
+ if (lockupScript.kind === 'P2PK' || lockupScript.kind === 'P2HMPK') {
292
+ const groupByte = lockupScriptCodec.encode(lockupScript).slice(-1);
293
+ const address = bs58.encode(lockupScriptCodec.encode(lockupScript).slice(0, -1));
294
+ return `${address}:${groupByte}`;
295
+ }
296
+ else {
297
+ return bs58.encode(lockupScriptCodec.encode(lockupScript));
298
+ }
299
+ }
300
+ function parseGroupIndex(groupIndexStr) {
301
+ return validateGroupIndex(parseInt(groupIndexStr), groupIndexStr);
302
+ }
303
+ function validateGroupIndex(groupIndex, groupIndexStr) {
304
+ if (isNaN(groupIndex) || groupIndex < 0 || groupIndex >= TOTAL_NUMBER_OF_GROUPS) {
305
+ throw new Error(`Invalid group index: ${groupIndexStr ?? groupIndex}`);
306
+ }
307
+ return groupIndex;
308
+ }
309
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/address/address.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './address';
@@ -0,0 +1,2 @@
1
+ export * from './address';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":"AAkBA,cAAc,WAAW,CAAA"}