@pezkuwi/util-crypto 14.0.2 → 14.0.4

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 (762) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +4 -4
  3. package/address/addressToEvm.d.ts +5 -0
  4. package/address/addressToEvm.js +8 -0
  5. package/address/check.d.ts +8 -0
  6. package/address/check.js +26 -0
  7. package/address/checksum.d.ts +1 -0
  8. package/address/checksum.js +16 -0
  9. package/address/decode.d.ts +2 -0
  10. package/address/decode.js +29 -0
  11. package/address/defaults.d.ts +6 -0
  12. package/address/defaults.js +8 -0
  13. package/address/derive.d.ts +8 -0
  14. package/address/derive.js +24 -0
  15. package/address/encode.d.ts +2 -0
  16. package/address/encode.js +23 -0
  17. package/address/encodeDerived.d.ts +9 -0
  18. package/address/encodeDerived.js +12 -0
  19. package/address/encodeMulti.d.ts +9 -0
  20. package/address/encodeMulti.js +11 -0
  21. package/address/eq.d.ts +15 -0
  22. package/{src/address/eq.ts → address/eq.js} +2 -7
  23. package/address/evmToAddress.d.ts +7 -0
  24. package/address/evmToAddress.js +14 -0
  25. package/{src/address/index.ts → address/index.d.ts} +0 -5
  26. package/address/index.js +16 -0
  27. package/address/is.d.ts +2 -0
  28. package/address/is.js +9 -0
  29. package/address/keyDerived.d.ts +2 -0
  30. package/address/keyDerived.js +8 -0
  31. package/address/keyMulti.d.ts +2 -0
  32. package/address/keyMulti.js +8 -0
  33. package/address/setSS58Format.d.ts +6 -0
  34. package/address/setSS58Format.js +11 -0
  35. package/address/sort.d.ts +2 -0
  36. package/address/sort.js +7 -0
  37. package/address/sshash.d.ts +1 -0
  38. package/address/sshash.js +6 -0
  39. package/address/types.d.ts +1 -0
  40. package/address/types.js +1 -0
  41. package/address/util.d.ts +1 -0
  42. package/address/util.js +4 -0
  43. package/address/validate.d.ts +2 -0
  44. package/address/validate.js +4 -0
  45. package/base32/bs32.d.ts +26 -0
  46. package/{src/base32/bs32.ts → base32/bs32.js} +8 -21
  47. package/base32/helpers.d.ts +25 -0
  48. package/base32/helpers.js +61 -0
  49. package/{src/base32/index.ts → base32/index.d.ts} +0 -4
  50. package/base32/index.js +4 -0
  51. package/base58/bs58.d.ts +26 -0
  52. package/{src/base58/bs58.ts → base58/bs58.js} +4 -13
  53. package/{src/base58/index.ts → base58/index.d.ts} +0 -4
  54. package/base58/index.js +4 -0
  55. package/base64/bs64.d.ts +26 -0
  56. package/{src/base64/bs64.ts → base64/bs64.js} +4 -13
  57. package/{src/base64/index.ts → base64/index.d.ts} +0 -4
  58. package/base64/index.js +6 -0
  59. package/base64/pad.d.ts +5 -0
  60. package/base64/pad.js +7 -0
  61. package/base64/trim.d.ts +5 -0
  62. package/base64/trim.js +10 -0
  63. package/blake2/asU8a.d.ts +20 -0
  64. package/{src/blake2/asU8a.ts → blake2/asU8a.js} +8 -16
  65. package/{src/blake2/index.ts → blake2/index.d.ts} +0 -4
  66. package/blake2/index.js +4 -0
  67. package/bn.d.ts +30 -0
  68. package/{src/bn.ts → bn.js} +0 -7
  69. package/bridge.d.ts +82 -0
  70. package/bridge.js +168 -0
  71. package/bundle-polkadot-util-crypto.js +11813 -0
  72. package/{src/bundle.ts → bundle.d.ts} +0 -7
  73. package/bundle.js +26 -0
  74. package/bundleInit.d.ts +1 -0
  75. package/bundleInit.js +5 -0
  76. package/cjs/address/addressToEvm.d.ts +5 -0
  77. package/cjs/address/addressToEvm.js +11 -0
  78. package/cjs/address/check.d.ts +8 -0
  79. package/cjs/address/check.js +29 -0
  80. package/cjs/address/checksum.d.ts +1 -0
  81. package/cjs/address/checksum.js +19 -0
  82. package/cjs/address/decode.d.ts +2 -0
  83. package/cjs/address/decode.js +32 -0
  84. package/cjs/address/defaults.d.ts +6 -0
  85. package/cjs/address/defaults.js +11 -0
  86. package/cjs/address/derive.d.ts +8 -0
  87. package/cjs/address/derive.js +27 -0
  88. package/cjs/address/encode.d.ts +2 -0
  89. package/cjs/address/encode.js +26 -0
  90. package/cjs/address/encodeDerived.d.ts +9 -0
  91. package/cjs/address/encodeDerived.js +15 -0
  92. package/cjs/address/encodeMulti.d.ts +9 -0
  93. package/cjs/address/encodeMulti.js +14 -0
  94. package/cjs/address/eq.d.ts +15 -0
  95. package/cjs/address/eq.js +22 -0
  96. package/cjs/address/evmToAddress.d.ts +7 -0
  97. package/cjs/address/evmToAddress.js +17 -0
  98. package/cjs/address/index.d.ts +16 -0
  99. package/cjs/address/index.js +35 -0
  100. package/cjs/address/is.d.ts +2 -0
  101. package/cjs/address/is.js +12 -0
  102. package/cjs/address/keyDerived.d.ts +2 -0
  103. package/cjs/address/keyDerived.js +11 -0
  104. package/cjs/address/keyMulti.d.ts +2 -0
  105. package/cjs/address/keyMulti.js +11 -0
  106. package/cjs/address/setSS58Format.d.ts +6 -0
  107. package/cjs/address/setSS58Format.js +14 -0
  108. package/cjs/address/sort.d.ts +2 -0
  109. package/cjs/address/sort.js +10 -0
  110. package/cjs/address/sshash.d.ts +1 -0
  111. package/cjs/address/sshash.js +9 -0
  112. package/cjs/address/types.d.ts +1 -0
  113. package/cjs/address/types.js +2 -0
  114. package/cjs/address/util.d.ts +1 -0
  115. package/cjs/address/util.js +7 -0
  116. package/cjs/address/validate.d.ts +2 -0
  117. package/cjs/address/validate.js +7 -0
  118. package/cjs/base32/bs32.d.ts +26 -0
  119. package/cjs/base32/bs32.js +43 -0
  120. package/cjs/base32/helpers.d.ts +25 -0
  121. package/cjs/base32/helpers.js +67 -0
  122. package/cjs/base32/index.d.ts +4 -0
  123. package/cjs/base32/index.js +11 -0
  124. package/cjs/base58/bs58.d.ts +26 -0
  125. package/cjs/base58/bs58.js +37 -0
  126. package/cjs/base58/index.d.ts +4 -0
  127. package/cjs/base58/index.js +11 -0
  128. package/cjs/base64/bs64.d.ts +26 -0
  129. package/cjs/base64/bs64.js +37 -0
  130. package/cjs/base64/index.d.ts +6 -0
  131. package/cjs/base64/index.js +15 -0
  132. package/cjs/base64/pad.d.ts +5 -0
  133. package/cjs/base64/pad.js +10 -0
  134. package/cjs/base64/trim.d.ts +5 -0
  135. package/cjs/base64/trim.js +13 -0
  136. package/cjs/blake2/asU8a.d.ts +20 -0
  137. package/cjs/blake2/asU8a.js +36 -0
  138. package/cjs/blake2/index.d.ts +4 -0
  139. package/cjs/blake2/index.js +9 -0
  140. package/cjs/bn.d.ts +30 -0
  141. package/cjs/bn.js +11 -0
  142. package/cjs/bridge.d.ts +82 -0
  143. package/cjs/bridge.js +172 -0
  144. package/cjs/bundle.d.ts +26 -0
  145. package/cjs/bundle.js +31 -0
  146. package/cjs/bundleInit.d.ts +1 -0
  147. package/cjs/bundleInit.js +7 -0
  148. package/cjs/crypto.d.ts +3 -0
  149. package/cjs/crypto.js +16 -0
  150. package/cjs/ed25519/deriveHard.d.ts +1 -0
  151. package/cjs/ed25519/deriveHard.js +12 -0
  152. package/{src/ed25519/index.ts → cjs/ed25519/index.d.ts} +0 -3
  153. package/cjs/ed25519/index.js +20 -0
  154. package/cjs/ed25519/pair/fromRandom.d.ts +16 -0
  155. package/cjs/ed25519/pair/fromRandom.js +22 -0
  156. package/cjs/ed25519/pair/fromSecret.d.ts +16 -0
  157. package/{src/ed25519/pair/fromSecret.ts → cjs/ed25519/pair/fromSecret.js} +11 -14
  158. package/cjs/ed25519/pair/fromSeed.d.ts +16 -0
  159. package/cjs/ed25519/pair/fromSeed.js +34 -0
  160. package/cjs/ed25519/pair/fromString.d.ts +16 -0
  161. package/cjs/ed25519/pair/fromString.js +23 -0
  162. package/cjs/ed25519/sign.d.ts +16 -0
  163. package/cjs/ed25519/sign.js +33 -0
  164. package/cjs/ed25519/verify.d.ts +15 -0
  165. package/cjs/ed25519/verify.js +39 -0
  166. package/cjs/ethereum/encode.d.ts +2 -0
  167. package/cjs/ethereum/encode.js +28 -0
  168. package/{src/ethereum/index.ts → cjs/ethereum/index.d.ts} +0 -3
  169. package/cjs/ethereum/index.js +9 -0
  170. package/cjs/ethereum/isAddress.d.ts +1 -0
  171. package/cjs/ethereum/isAddress.js +14 -0
  172. package/cjs/ethereum/isChecksum.d.ts +1 -0
  173. package/cjs/ethereum/isChecksum.js +20 -0
  174. package/cjs/hd/ethereum/index.d.ts +2 -0
  175. package/cjs/hd/ethereum/index.js +47 -0
  176. package/{src/hd/index.ts → cjs/hd/index.d.ts} +0 -3
  177. package/cjs/hd/index.js +9 -0
  178. package/cjs/hd/ledger/derivePrivate.d.ts +1 -0
  179. package/cjs/hd/ledger/derivePrivate.js +15 -0
  180. package/cjs/hd/ledger/index.d.ts +2 -0
  181. package/cjs/hd/ledger/index.js +33 -0
  182. package/cjs/hd/ledger/master.d.ts +1 -0
  183. package/cjs/hd/ledger/master.js +19 -0
  184. package/cjs/hd/validatePath.d.ts +2 -0
  185. package/cjs/hd/validatePath.js +20 -0
  186. package/cjs/helpers.d.ts +12 -0
  187. package/cjs/helpers.js +24 -0
  188. package/cjs/hmac/index.d.ts +1 -0
  189. package/cjs/hmac/index.js +7 -0
  190. package/cjs/hmac/shaAsU8a.d.ts +15 -0
  191. package/cjs/hmac/shaAsU8a.js +40 -0
  192. package/cjs/index.d.ts +2 -0
  193. package/cjs/index.js +5 -0
  194. package/cjs/init.d.ts +10 -0
  195. package/cjs/init.js +43 -0
  196. package/cjs/json/constants.d.ts +6 -0
  197. package/cjs/json/constants.js +8 -0
  198. package/cjs/json/decrypt.d.ts +2 -0
  199. package/cjs/json/decrypt.js +16 -0
  200. package/cjs/json/decryptData.d.ts +2 -0
  201. package/cjs/json/decryptData.js +32 -0
  202. package/cjs/json/encrypt.d.ts +2 -0
  203. package/cjs/json/encrypt.js +18 -0
  204. package/cjs/json/encryptFormat.d.ts +2 -0
  205. package/cjs/json/encryptFormat.js +17 -0
  206. package/{src/json/index.ts → cjs/json/index.d.ts} +0 -3
  207. package/cjs/json/index.js +11 -0
  208. package/cjs/json/types.d.ts +16 -0
  209. package/cjs/json/types.js +2 -0
  210. package/cjs/keccak/asU8a.d.ts +30 -0
  211. package/cjs/keccak/asU8a.js +36 -0
  212. package/{src/keccak/index.ts → cjs/keccak/index.d.ts} +0 -4
  213. package/cjs/keccak/index.js +11 -0
  214. package/cjs/key/DeriveJunction.d.ts +12 -0
  215. package/cjs/key/DeriveJunction.js +62 -0
  216. package/cjs/key/extractPath.d.ts +9 -0
  217. package/cjs/key/extractPath.js +26 -0
  218. package/cjs/key/extractSuri.d.ts +11 -0
  219. package/cjs/key/extractSuri.js +25 -0
  220. package/cjs/key/fromPath.d.ts +3 -0
  221. package/cjs/key/fromPath.js +21 -0
  222. package/cjs/key/hdkdDerive.d.ts +3 -0
  223. package/cjs/key/hdkdDerive.js +11 -0
  224. package/cjs/key/hdkdEcdsa.d.ts +1 -0
  225. package/cjs/key/hdkdEcdsa.js +7 -0
  226. package/cjs/key/hdkdEd25519.d.ts +1 -0
  227. package/cjs/key/hdkdEd25519.js +6 -0
  228. package/cjs/key/hdkdSr25519.d.ts +3 -0
  229. package/cjs/key/hdkdSr25519.js +10 -0
  230. package/{src/key/index.ts → cjs/key/index.d.ts} +0 -3
  231. package/cjs/key/index.js +18 -0
  232. package/cjs/mnemonic/bip39.d.ts +5 -0
  233. package/cjs/mnemonic/bip39.js +90 -0
  234. package/cjs/mnemonic/generate.d.ts +13 -0
  235. package/cjs/mnemonic/generate.js +23 -0
  236. package/{src/mnemonic/index.ts → cjs/mnemonic/index.d.ts} +0 -3
  237. package/cjs/mnemonic/index.js +16 -0
  238. package/cjs/mnemonic/toEntropy.d.ts +1 -0
  239. package/cjs/mnemonic/toEntropy.js +11 -0
  240. package/cjs/mnemonic/toLegacySeed.d.ts +18 -0
  241. package/cjs/mnemonic/toLegacySeed.js +37 -0
  242. package/cjs/mnemonic/toMiniSecret.d.ts +1 -0
  243. package/cjs/mnemonic/toMiniSecret.js +20 -0
  244. package/cjs/mnemonic/validate.d.ts +14 -0
  245. package/cjs/mnemonic/validate.js +24 -0
  246. package/cjs/mnemonic/wordlists/en.d.ts +2 -0
  247. package/cjs/mnemonic/wordlists/en.js +3 -0
  248. package/cjs/mnemonic/wordlists/es.d.ts +2 -0
  249. package/cjs/mnemonic/wordlists/es.js +3 -0
  250. package/cjs/mnemonic/wordlists/fr.d.ts +2 -0
  251. package/cjs/mnemonic/wordlists/fr.js +3 -0
  252. package/{src/mnemonic/wordlists/index.ts → cjs/mnemonic/wordlists/index.d.ts} +0 -3
  253. package/cjs/mnemonic/wordlists/index.js +20 -0
  254. package/cjs/mnemonic/wordlists/it.d.ts +2 -0
  255. package/cjs/mnemonic/wordlists/it.js +3 -0
  256. package/cjs/mnemonic/wordlists/jp.d.ts +2 -0
  257. package/cjs/mnemonic/wordlists/jp.js +3 -0
  258. package/cjs/mnemonic/wordlists/ko.d.ts +2 -0
  259. package/cjs/mnemonic/wordlists/ko.js +3 -0
  260. package/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
  261. package/cjs/mnemonic/wordlists/zh-s.js +3 -0
  262. package/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
  263. package/cjs/mnemonic/wordlists/zh-t.js +3 -0
  264. package/cjs/nacl/decrypt.d.ts +15 -0
  265. package/cjs/nacl/decrypt.js +21 -0
  266. package/cjs/nacl/encrypt.d.ts +20 -0
  267. package/cjs/nacl/encrypt.js +25 -0
  268. package/{src/nacl/index.ts → cjs/nacl/index.d.ts} +0 -3
  269. package/cjs/nacl/index.js +10 -0
  270. package/cjs/nacl/tweetnacl.d.ts +2 -0
  271. package/cjs/nacl/tweetnacl.js +238 -0
  272. package/cjs/networks.d.ts +1 -0
  273. package/cjs/networks.js +7 -0
  274. package/cjs/package.json +3 -0
  275. package/cjs/packageDetect.d.ts +1 -0
  276. package/cjs/packageDetect.js +8 -0
  277. package/cjs/packageInfo.d.ts +6 -0
  278. package/cjs/packageInfo.js +4 -0
  279. package/cjs/pbkdf2/encode.d.ts +7 -0
  280. package/cjs/pbkdf2/encode.js +19 -0
  281. package/cjs/pbkdf2/index.d.ts +1 -0
  282. package/cjs/pbkdf2/index.js +5 -0
  283. package/cjs/random/asNumber.d.ts +15 -0
  284. package/cjs/random/asNumber.js +23 -0
  285. package/cjs/random/asU8a.d.ts +20 -0
  286. package/cjs/random/asU8a.js +28 -0
  287. package/{src/random/index.ts → cjs/random/index.d.ts} +0 -4
  288. package/cjs/random/index.js +11 -0
  289. package/cjs/scrypt/defaults.d.ts +3 -0
  290. package/cjs/scrypt/defaults.js +16 -0
  291. package/cjs/scrypt/encode.d.ts +8 -0
  292. package/cjs/scrypt/encode.js +18 -0
  293. package/cjs/scrypt/fromU8a.d.ts +7 -0
  294. package/cjs/scrypt/fromU8a.js +27 -0
  295. package/{src/scrypt/index.ts → cjs/scrypt/index.d.ts} +0 -3
  296. package/cjs/scrypt/index.js +9 -0
  297. package/cjs/scrypt/toU8a.d.ts +2 -0
  298. package/cjs/scrypt/toU8a.js +8 -0
  299. package/cjs/scrypt/types.d.ts +6 -0
  300. package/cjs/scrypt/types.js +2 -0
  301. package/cjs/secp256k1/compress.d.ts +1 -0
  302. package/cjs/secp256k1/compress.js +17 -0
  303. package/cjs/secp256k1/deriveHard.d.ts +1 -0
  304. package/cjs/secp256k1/deriveHard.js +13 -0
  305. package/cjs/secp256k1/expand.d.ts +1 -0
  306. package/cjs/secp256k1/expand.js +20 -0
  307. package/cjs/secp256k1/hasher.d.ts +2 -0
  308. package/cjs/secp256k1/hasher.js +10 -0
  309. package/{src/secp256k1/index.ts → cjs/secp256k1/index.d.ts} +0 -3
  310. package/cjs/secp256k1/index.js +17 -0
  311. package/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
  312. package/cjs/secp256k1/pair/fromSeed.js +34 -0
  313. package/cjs/secp256k1/recover.d.ts +6 -0
  314. package/cjs/secp256k1/recover.js +29 -0
  315. package/cjs/secp256k1/sign.d.ts +7 -0
  316. package/cjs/secp256k1/sign.js +23 -0
  317. package/cjs/secp256k1/tweakAdd.d.ts +1 -0
  318. package/cjs/secp256k1/tweakAdd.js +48 -0
  319. package/cjs/secp256k1/types.d.ts +1 -0
  320. package/cjs/secp256k1/types.js +2 -0
  321. package/cjs/secp256k1/verify.d.ts +6 -0
  322. package/cjs/secp256k1/verify.js +23 -0
  323. package/cjs/sha/asU8a.d.ts +15 -0
  324. package/cjs/sha/asU8a.js +22 -0
  325. package/{src/sha/index.ts → cjs/sha/index.d.ts} +0 -4
  326. package/cjs/sha/index.js +10 -0
  327. package/cjs/signature/index.d.ts +4 -0
  328. package/cjs/signature/index.js +8 -0
  329. package/cjs/signature/verify.d.ts +2 -0
  330. package/cjs/signature/verify.js +81 -0
  331. package/cjs/sr25519/agreement.d.ts +5 -0
  332. package/cjs/sr25519/agreement.js +20 -0
  333. package/cjs/sr25519/derive.d.ts +2 -0
  334. package/cjs/sr25519/derive.js +16 -0
  335. package/cjs/sr25519/deriveHard.d.ts +1 -0
  336. package/cjs/sr25519/deriveHard.js +7 -0
  337. package/cjs/sr25519/derivePublic.d.ts +1 -0
  338. package/cjs/sr25519/derivePublic.js +16 -0
  339. package/cjs/sr25519/deriveSoft.d.ts +1 -0
  340. package/cjs/sr25519/deriveSoft.js +7 -0
  341. package/{src/sr25519/index.ts → cjs/sr25519/index.d.ts} +0 -3
  342. package/cjs/sr25519/index.js +21 -0
  343. package/cjs/sr25519/pair/fromSeed.d.ts +6 -0
  344. package/cjs/sr25519/pair/fromSeed.js +22 -0
  345. package/cjs/sr25519/pair/fromU8a.d.ts +2 -0
  346. package/cjs/sr25519/pair/fromU8a.js +17 -0
  347. package/cjs/sr25519/pair/toU8a.d.ts +2 -0
  348. package/cjs/sr25519/pair/toU8a.js +7 -0
  349. package/cjs/sr25519/sign.d.ts +6 -0
  350. package/cjs/sr25519/sign.js +19 -0
  351. package/cjs/sr25519/verify.d.ts +5 -0
  352. package/cjs/sr25519/verify.js +21 -0
  353. package/cjs/sr25519/vrfSign.d.ts +6 -0
  354. package/cjs/sr25519/vrfSign.js +19 -0
  355. package/cjs/sr25519/vrfVerify.d.ts +5 -0
  356. package/cjs/sr25519/vrfVerify.js +22 -0
  357. package/cjs/types.d.ts +26 -0
  358. package/cjs/types.js +5 -0
  359. package/cjs/wbg.d.ts +36 -0
  360. package/cjs/wbg.js +65 -0
  361. package/cjs/xxhash/asU8a.d.ts +20 -0
  362. package/cjs/xxhash/asU8a.js +39 -0
  363. package/{src/xxhash/index.ts → cjs/xxhash/index.d.ts} +0 -4
  364. package/cjs/xxhash/index.js +9 -0
  365. package/cjs/xxhash/xxhash64.d.ts +1 -0
  366. package/cjs/xxhash/xxhash64.js +103 -0
  367. package/crypto.d.ts +3 -0
  368. package/crypto.js +12 -0
  369. package/ed25519/deriveHard.d.ts +1 -0
  370. package/ed25519/deriveHard.js +9 -0
  371. package/ed25519/index.d.ts +10 -0
  372. package/ed25519/index.js +10 -0
  373. package/ed25519/pair/fromRandom.d.ts +16 -0
  374. package/{src/ed25519/pair/fromRandom.ts → ed25519/pair/fromRandom.js} +2 -8
  375. package/ed25519/pair/fromSecret.d.ts +16 -0
  376. package/ed25519/pair/fromSecret.js +23 -0
  377. package/ed25519/pair/fromSeed.d.ts +16 -0
  378. package/{src/ed25519/pair/fromSeed.ts → ed25519/pair/fromSeed.js} +11 -21
  379. package/ed25519/pair/fromString.d.ts +16 -0
  380. package/{src/ed25519/pair/fromString.ts → ed25519/pair/fromString.js} +2 -13
  381. package/ed25519/sign.d.ts +16 -0
  382. package/ed25519/sign.js +30 -0
  383. package/ed25519/verify.d.ts +15 -0
  384. package/ed25519/verify.js +36 -0
  385. package/ethereum/encode.d.ts +2 -0
  386. package/ethereum/encode.js +25 -0
  387. package/ethereum/index.d.ts +3 -0
  388. package/ethereum/index.js +3 -0
  389. package/ethereum/isAddress.d.ts +1 -0
  390. package/ethereum/isAddress.js +11 -0
  391. package/ethereum/isChecksum.d.ts +1 -0
  392. package/ethereum/isChecksum.js +17 -0
  393. package/hd/ethereum/index.d.ts +2 -0
  394. package/hd/ethereum/index.js +44 -0
  395. package/hd/index.d.ts +3 -0
  396. package/hd/index.js +3 -0
  397. package/hd/ledger/derivePrivate.d.ts +1 -0
  398. package/hd/ledger/derivePrivate.js +12 -0
  399. package/hd/ledger/index.d.ts +2 -0
  400. package/hd/ledger/index.js +30 -0
  401. package/hd/ledger/master.d.ts +1 -0
  402. package/hd/ledger/master.js +16 -0
  403. package/hd/validatePath.d.ts +2 -0
  404. package/hd/validatePath.js +16 -0
  405. package/helpers.d.ts +12 -0
  406. package/helpers.js +19 -0
  407. package/hmac/index.d.ts +1 -0
  408. package/hmac/index.js +1 -0
  409. package/hmac/shaAsU8a.d.ts +15 -0
  410. package/{src/hmac/shaAsU8a.ts → hmac/shaAsU8a.js} +11 -23
  411. package/index.d.ts +2 -0
  412. package/index.js +2 -0
  413. package/init.d.ts +10 -0
  414. package/init.js +40 -0
  415. package/json/constants.d.ts +6 -0
  416. package/json/constants.js +5 -0
  417. package/json/decrypt.d.ts +2 -0
  418. package/json/decrypt.js +13 -0
  419. package/json/decryptData.d.ts +2 -0
  420. package/json/decryptData.js +29 -0
  421. package/json/encrypt.d.ts +2 -0
  422. package/json/encrypt.js +15 -0
  423. package/json/encryptFormat.d.ts +2 -0
  424. package/json/encryptFormat.js +14 -0
  425. package/json/index.d.ts +4 -0
  426. package/json/index.js +4 -0
  427. package/json/types.d.ts +16 -0
  428. package/json/types.js +1 -0
  429. package/keccak/asU8a.d.ts +30 -0
  430. package/{src/keccak/asU8a.ts → keccak/asU8a.js} +1 -13
  431. package/keccak/index.d.ts +4 -0
  432. package/keccak/index.js +4 -0
  433. package/key/DeriveJunction.d.ts +12 -0
  434. package/key/DeriveJunction.js +58 -0
  435. package/key/extractPath.d.ts +9 -0
  436. package/key/extractPath.js +23 -0
  437. package/key/extractSuri.d.ts +11 -0
  438. package/key/extractSuri.js +22 -0
  439. package/key/fromPath.d.ts +3 -0
  440. package/key/fromPath.js +18 -0
  441. package/key/hdkdDerive.d.ts +3 -0
  442. package/key/hdkdDerive.js +8 -0
  443. package/key/hdkdEcdsa.d.ts +1 -0
  444. package/{src/key/hdkdEcdsa.ts → key/hdkdEcdsa.js} +0 -4
  445. package/key/hdkdEd25519.d.ts +1 -0
  446. package/{src/key/hdkdEd25519.ts → key/hdkdEd25519.js} +0 -4
  447. package/key/hdkdSr25519.d.ts +3 -0
  448. package/key/hdkdSr25519.js +7 -0
  449. package/key/index.d.ts +9 -0
  450. package/key/index.js +9 -0
  451. package/mnemonic/bip39.d.ts +5 -0
  452. package/mnemonic/bip39.js +82 -0
  453. package/mnemonic/generate.d.ts +13 -0
  454. package/{src/mnemonic/generate.ts → mnemonic/generate.js} +4 -9
  455. package/mnemonic/index.d.ts +8 -0
  456. package/mnemonic/index.js +8 -0
  457. package/mnemonic/toEntropy.d.ts +1 -0
  458. package/mnemonic/toEntropy.js +8 -0
  459. package/mnemonic/toLegacySeed.d.ts +18 -0
  460. package/{src/mnemonic/toLegacySeed.ts → mnemonic/toLegacySeed.js} +12 -17
  461. package/mnemonic/toMiniSecret.d.ts +1 -0
  462. package/mnemonic/toMiniSecret.js +17 -0
  463. package/mnemonic/validate.d.ts +14 -0
  464. package/{src/mnemonic/validate.ts → mnemonic/validate.js} +4 -9
  465. package/mnemonic/wordlists/en.d.ts +2 -0
  466. package/{src/mnemonic/wordlists/en.ts → mnemonic/wordlists/en.js} +0 -6
  467. package/mnemonic/wordlists/es.d.ts +2 -0
  468. package/{src/mnemonic/wordlists/es.ts → mnemonic/wordlists/es.js} +0 -6
  469. package/mnemonic/wordlists/fr.d.ts +2 -0
  470. package/{src/mnemonic/wordlists/fr.ts → mnemonic/wordlists/fr.js} +0 -6
  471. package/mnemonic/wordlists/index.d.ts +8 -0
  472. package/mnemonic/wordlists/index.js +8 -0
  473. package/mnemonic/wordlists/it.d.ts +2 -0
  474. package/{src/mnemonic/wordlists/it.ts → mnemonic/wordlists/it.js} +0 -6
  475. package/mnemonic/wordlists/jp.d.ts +2 -0
  476. package/{src/mnemonic/wordlists/jp.ts → mnemonic/wordlists/jp.js} +0 -6
  477. package/mnemonic/wordlists/ko.d.ts +2 -0
  478. package/{src/mnemonic/wordlists/ko.ts → mnemonic/wordlists/ko.js} +0 -6
  479. package/mnemonic/wordlists/zh-s.d.ts +2 -0
  480. package/{src/mnemonic/wordlists/zh-s.ts → mnemonic/wordlists/zh-s.js} +0 -6
  481. package/mnemonic/wordlists/zh-t.d.ts +2 -0
  482. package/{src/mnemonic/wordlists/zh-t.ts → mnemonic/wordlists/zh-t.js} +0 -6
  483. package/nacl/decrypt.d.ts +15 -0
  484. package/{src/nacl/decrypt.ts → nacl/decrypt.js} +2 -6
  485. package/nacl/encrypt.d.ts +20 -0
  486. package/{src/nacl/encrypt.ts → nacl/encrypt.js} +5 -14
  487. package/nacl/index.d.ts +5 -0
  488. package/nacl/index.js +5 -0
  489. package/nacl/tweetnacl.d.ts +2 -0
  490. package/nacl/tweetnacl.js +234 -0
  491. package/networks.d.ts +1 -0
  492. package/networks.js +1 -0
  493. package/package.json +2022 -10
  494. package/packageDetect.d.ts +1 -0
  495. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  496. package/packageInfo.d.ts +6 -0
  497. package/packageInfo.js +1 -0
  498. package/pbkdf2/encode.d.ts +7 -0
  499. package/pbkdf2/encode.js +16 -0
  500. package/pbkdf2/index.d.ts +1 -0
  501. package/pbkdf2/index.js +1 -0
  502. package/random/asNumber.d.ts +15 -0
  503. package/{src/random/asNumber.ts → random/asNumber.js} +2 -10
  504. package/random/asU8a.d.ts +20 -0
  505. package/{src/random/asU8a.ts → random/asU8a.js} +2 -8
  506. package/random/index.d.ts +5 -0
  507. package/random/index.js +5 -0
  508. package/scrypt/defaults.d.ts +3 -0
  509. package/scrypt/defaults.js +13 -0
  510. package/scrypt/encode.d.ts +8 -0
  511. package/scrypt/encode.js +15 -0
  512. package/scrypt/fromU8a.d.ts +7 -0
  513. package/scrypt/fromU8a.js +24 -0
  514. package/scrypt/index.d.ts +3 -0
  515. package/scrypt/index.js +3 -0
  516. package/scrypt/toU8a.d.ts +2 -0
  517. package/scrypt/toU8a.js +5 -0
  518. package/scrypt/types.d.ts +6 -0
  519. package/scrypt/types.js +1 -0
  520. package/secp256k1/compress.d.ts +1 -0
  521. package/secp256k1/compress.js +14 -0
  522. package/secp256k1/deriveHard.d.ts +1 -0
  523. package/secp256k1/deriveHard.js +10 -0
  524. package/secp256k1/expand.d.ts +1 -0
  525. package/secp256k1/expand.js +17 -0
  526. package/secp256k1/hasher.d.ts +2 -0
  527. package/secp256k1/hasher.js +7 -0
  528. package/secp256k1/index.d.ts +7 -0
  529. package/secp256k1/index.js +7 -0
  530. package/secp256k1/pair/fromSeed.d.ts +6 -0
  531. package/secp256k1/pair/fromSeed.js +31 -0
  532. package/secp256k1/recover.d.ts +6 -0
  533. package/secp256k1/recover.js +26 -0
  534. package/secp256k1/sign.d.ts +7 -0
  535. package/secp256k1/sign.js +20 -0
  536. package/secp256k1/tweakAdd.d.ts +1 -0
  537. package/secp256k1/tweakAdd.js +45 -0
  538. package/secp256k1/types.d.ts +1 -0
  539. package/secp256k1/types.js +1 -0
  540. package/secp256k1/verify.d.ts +6 -0
  541. package/secp256k1/verify.js +20 -0
  542. package/sha/asU8a.d.ts +15 -0
  543. package/{src/sha/asU8a.ts → sha/asU8a.js} +1 -12
  544. package/sha/index.d.ts +4 -0
  545. package/sha/index.js +4 -0
  546. package/signature/index.d.ts +4 -0
  547. package/signature/index.js +4 -0
  548. package/signature/verify.d.ts +2 -0
  549. package/signature/verify.js +78 -0
  550. package/sr25519/agreement.d.ts +5 -0
  551. package/sr25519/agreement.js +17 -0
  552. package/sr25519/derive.d.ts +2 -0
  553. package/sr25519/derive.js +12 -0
  554. package/sr25519/deriveHard.d.ts +1 -0
  555. package/{src/sr25519/deriveHard.ts → sr25519/deriveHard.js} +0 -6
  556. package/sr25519/derivePublic.d.ts +1 -0
  557. package/sr25519/derivePublic.js +12 -0
  558. package/sr25519/deriveSoft.d.ts +1 -0
  559. package/{src/sr25519/deriveSoft.ts → sr25519/deriveSoft.js} +0 -6
  560. package/sr25519/index.d.ts +9 -0
  561. package/sr25519/index.js +9 -0
  562. package/sr25519/pair/fromSeed.d.ts +6 -0
  563. package/sr25519/pair/fromSeed.js +18 -0
  564. package/sr25519/pair/fromU8a.d.ts +2 -0
  565. package/sr25519/pair/fromU8a.js +14 -0
  566. package/sr25519/pair/toU8a.d.ts +2 -0
  567. package/sr25519/pair/toU8a.js +4 -0
  568. package/sr25519/sign.d.ts +6 -0
  569. package/sr25519/sign.js +15 -0
  570. package/sr25519/verify.d.ts +5 -0
  571. package/sr25519/verify.js +17 -0
  572. package/sr25519/vrfSign.d.ts +6 -0
  573. package/sr25519/vrfSign.js +15 -0
  574. package/sr25519/vrfVerify.d.ts +5 -0
  575. package/sr25519/vrfVerify.js +18 -0
  576. package/types.d.ts +26 -0
  577. package/types.js +2 -0
  578. package/wbg.d.ts +36 -0
  579. package/wbg.js +61 -0
  580. package/xxhash/asU8a.d.ts +20 -0
  581. package/{src/xxhash/asU8a.ts → xxhash/asU8a.js} +11 -21
  582. package/xxhash/index.d.ts +4 -0
  583. package/xxhash/index.js +4 -0
  584. package/xxhash/xxhash64.d.ts +1 -0
  585. package/xxhash/xxhash64.js +100 -0
  586. package/src/address/addressToEvm.spec.ts +0 -16
  587. package/src/address/addressToEvm.ts +0 -12
  588. package/src/address/check.spec.ts +0 -44
  589. package/src/address/check.ts +0 -34
  590. package/src/address/checksum.spec.ts +0 -45
  591. package/src/address/checksum.ts +0 -25
  592. package/src/address/decode.spec.ts +0 -138
  593. package/src/address/decode.ts +0 -41
  594. package/src/address/defaults.ts +0 -12
  595. package/src/address/derive.spec.ts +0 -26
  596. package/src/address/derive.ts +0 -36
  597. package/src/address/encode.spec.ts +0 -177
  598. package/src/address/encode.ts +0 -43
  599. package/src/address/encodeDerived.spec.ts +0 -14
  600. package/src/address/encodeDerived.ts +0 -19
  601. package/src/address/encodeMulti.spec.ts +0 -18
  602. package/src/address/encodeMulti.ts +0 -18
  603. package/src/address/eq.spec.ts +0 -45
  604. package/src/address/evmToAddress.spec.ts +0 -20
  605. package/src/address/evmToAddress.ts +0 -24
  606. package/src/address/is.spec.ts +0 -113
  607. package/src/address/is.ts +0 -14
  608. package/src/address/keyDerived.spec.ts +0 -24
  609. package/src/address/keyDerived.ts +0 -22
  610. package/src/address/keyMulti.spec.ts +0 -20
  611. package/src/address/keyMulti.ts +0 -23
  612. package/src/address/setSS58Format.spec.ts +0 -21
  613. package/src/address/setSS58Format.ts +0 -20
  614. package/src/address/sort.spec.ts +0 -22
  615. package/src/address/sort.ts +0 -17
  616. package/src/address/sshash.ts +0 -12
  617. package/src/address/types.ts +0 -6
  618. package/src/address/util.ts +0 -8
  619. package/src/address/validate.spec.ts +0 -113
  620. package/src/address/validate.ts +0 -10
  621. package/src/base32/decode.spec.ts +0 -34
  622. package/src/base32/encode.spec.ts +0 -30
  623. package/src/base32/helpers.ts +0 -93
  624. package/src/base32/is.spec.ts +0 -32
  625. package/src/base32/validate.spec.ts +0 -44
  626. package/src/base58/decode.spec.ts +0 -31
  627. package/src/base58/encode.spec.ts +0 -26
  628. package/src/base58/validate.spec.ts +0 -20
  629. package/src/base64/decode.spec.ts +0 -42
  630. package/src/base64/encode.spec.ts +0 -14
  631. package/src/base64/pad.spec.ts +0 -14
  632. package/src/base64/pad.ts +0 -10
  633. package/src/base64/trim.spec.ts +0 -14
  634. package/src/base64/trim.ts +0 -14
  635. package/src/base64/validate.spec.ts +0 -32
  636. package/src/blake2/asHex.spec.ts +0 -57
  637. package/src/blake2/asU8a.spec.ts +0 -74
  638. package/src/bundleInit.ts +0 -11
  639. package/src/crypto.spec.ts +0 -18
  640. package/src/crypto.ts +0 -18
  641. package/src/ed25519/deriveHard.ts +0 -18
  642. package/src/ed25519/pair/fromRandom.spec.ts +0 -28
  643. package/src/ed25519/pair/fromSecret.spec.ts +0 -33
  644. package/src/ed25519/pair/fromSeed.spec.ts +0 -42
  645. package/src/ed25519/pair/fromString.spec.ts +0 -17
  646. package/src/ed25519/sign.spec.ts +0 -40
  647. package/src/ed25519/sign.ts +0 -38
  648. package/src/ed25519/verify.spec.ts +0 -84
  649. package/src/ed25519/verify.ts +0 -41
  650. package/src/ethereum/encode.spec.ts +0 -59
  651. package/src/ethereum/encode.ts +0 -39
  652. package/src/ethereum/isAddress.spec.ts +0 -34
  653. package/src/ethereum/isAddress.ts +0 -16
  654. package/src/ethereum/isChecksum.ts +0 -27
  655. package/src/ethereum/isCheksum.spec.ts +0 -30
  656. package/src/hd/ethereum/index.spec.ts +0 -54
  657. package/src/hd/ethereum/index.ts +0 -69
  658. package/src/hd/ledger/derivePrivate.ts +0 -34
  659. package/src/hd/ledger/index.spec.ts +0 -64
  660. package/src/hd/ledger/index.ts +0 -42
  661. package/src/hd/ledger/master.spec.ts +0 -19
  662. package/src/hd/ledger/master.ts +0 -26
  663. package/src/hd/validatePath.spec.ts +0 -30
  664. package/src/hd/validatePath.ts +0 -24
  665. package/src/helpers.ts +0 -38
  666. package/src/hmac/index.ts +0 -4
  667. package/src/hmac/shaAsU8a.spec.ts +0 -45
  668. package/src/index.ts +0 -6
  669. package/src/json/constants.ts +0 -11
  670. package/src/json/decrypt.ts +0 -25
  671. package/src/json/decryptData.ts +0 -45
  672. package/src/json/encrypt.ts +0 -25
  673. package/src/json/encryptFormat.ts +0 -20
  674. package/src/json/types.ts +0 -22
  675. package/src/keccak/asHex.spec.ts +0 -30
  676. package/src/keccak/asU8a.spec.ts +0 -56
  677. package/src/key/DeriveJunction.ts +0 -79
  678. package/src/key/extractPath.spec.ts +0 -51
  679. package/src/key/extractPath.ts +0 -37
  680. package/src/key/extractSuri.spec.ts +0 -147
  681. package/src/key/extractSuri.ts +0 -40
  682. package/src/key/fromPath.ts +0 -28
  683. package/src/key/hdkdDerive.ts +0 -17
  684. package/src/key/hdkdSr25519.ts +0 -14
  685. package/src/mnemonic/bip39.spec.ts +0 -80
  686. package/src/mnemonic/bip39.ts +0 -127
  687. package/src/mnemonic/generate.spec.ts +0 -58
  688. package/src/mnemonic/toEntropy.spec.ts +0 -36
  689. package/src/mnemonic/toEntropy.ts +0 -13
  690. package/src/mnemonic/toLegacySeed.spec.ts +0 -52
  691. package/src/mnemonic/toMiniSecret.spec.ts +0 -67
  692. package/src/mnemonic/toMiniSecret.ts +0 -23
  693. package/src/mnemonic/toMiniSecretCmp.spec.ts +0 -64
  694. package/src/mnemonic/validate.spec.ts +0 -39
  695. package/src/mod.ts +0 -4
  696. package/src/nacl/decrypt.spec.ts +0 -26
  697. package/src/nacl/encrypt.spec.ts +0 -20
  698. package/src/nacl/tweetnacl-secretbox-data.spec.ts +0 -4629
  699. package/src/nacl/tweetnacl-secretbox.spec.ts +0 -161
  700. package/src/nacl/tweetnacl.ts +0 -1159
  701. package/src/networks.ts +0 -5
  702. package/src/packageInfo.ts +0 -6
  703. package/src/pbkdf2/encode.spec.ts +0 -54
  704. package/src/pbkdf2/encode.ts +0 -29
  705. package/src/pbkdf2/index.ts +0 -4
  706. package/src/random/asHex.spec.ts +0 -38
  707. package/src/random/asNumber.spec.ts +0 -16
  708. package/src/random/asU8a.spec.ts +0 -36
  709. package/src/scrypt/defaults.ts +0 -19
  710. package/src/scrypt/encode.spec.ts +0 -43
  711. package/src/scrypt/encode.ts +0 -30
  712. package/src/scrypt/fromU8a.ts +0 -44
  713. package/src/scrypt/toU8a.ts +0 -17
  714. package/src/scrypt/types.ts +0 -9
  715. package/src/secp256k1/compress.spec.ts +0 -47
  716. package/src/secp256k1/compress.ts +0 -21
  717. package/src/secp256k1/deriveHard.ts +0 -17
  718. package/src/secp256k1/expand.spec.ts +0 -47
  719. package/src/secp256k1/expand.ts +0 -30
  720. package/src/secp256k1/hasher.spec.ts +0 -24
  721. package/src/secp256k1/hasher.ts +0 -13
  722. package/src/secp256k1/pair/fromSeed.spec.ts +0 -75
  723. package/src/secp256k1/pair/fromSeed.ts +0 -42
  724. package/src/secp256k1/recover.spec.ts +0 -35
  725. package/src/secp256k1/recover.ts +0 -36
  726. package/src/secp256k1/sign.spec.ts +0 -39
  727. package/src/secp256k1/sign.ts +0 -37
  728. package/src/secp256k1/signVerify.spec.ts +0 -94
  729. package/src/secp256k1/tweakAdd.spec.ts +0 -35
  730. package/src/secp256k1/tweakAdd.ts +0 -65
  731. package/src/secp256k1/types.ts +0 -4
  732. package/src/secp256k1/verify.spec.ts +0 -81
  733. package/src/secp256k1/verify.ts +0 -32
  734. package/src/sha/asU8a256.spec.ts +0 -55
  735. package/src/sha/asU8a512.spec.ts +0 -33
  736. package/src/signature/index.ts +0 -8
  737. package/src/signature/verify.spec.ts +0 -230
  738. package/src/signature/verify.ts +0 -114
  739. package/src/sr25519/agreement.spec.ts +0 -31
  740. package/src/sr25519/agreement.ts +0 -23
  741. package/src/sr25519/derive.ts +0 -21
  742. package/src/sr25519/derivePublic.ts +0 -18
  743. package/src/sr25519/pair/fromSeed.spec.ts +0 -35
  744. package/src/sr25519/pair/fromSeed.ts +0 -28
  745. package/src/sr25519/pair/fromU8a.ts +0 -23
  746. package/src/sr25519/pair/testing.spec.ts +0 -161
  747. package/src/sr25519/pair/toU8a.ts +0 -10
  748. package/src/sr25519/sign.spec.ts +0 -28
  749. package/src/sr25519/sign.ts +0 -22
  750. package/src/sr25519/verify.spec.ts +0 -42
  751. package/src/sr25519/verify.ts +0 -23
  752. package/src/sr25519/vrfSign.ts +0 -24
  753. package/src/sr25519/vrfSignVerify.spec.ts +0 -73
  754. package/src/sr25519/vrfVerify.ts +0 -25
  755. package/src/test/index.ts +0 -8
  756. package/src/test/performance.ts +0 -17
  757. package/src/types.ts +0 -33
  758. package/src/xxhash/asHex.spec.ts +0 -36
  759. package/src/xxhash/asU8a.spec.ts +0 -48
  760. package/src/xxhash/xxhash64.ts +0 -155
  761. package/tsconfig.build.json +0 -18
  762. package/tsconfig.spec.json +0 -20
package/cjs/bridge.js ADDED
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Bridge = void 0;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const wbg_js_1 = require("./wbg.js");
6
+ /**
7
+ * @name Bridge
8
+ * @description
9
+ * Creates a bridge between the JS and WASM environments.
10
+ *
11
+ * For any bridge it is passed an function which is then called internally at the
12
+ * time of initialization. This affectively implements the layer between WASM and
13
+ * the native environment, providing all the plumbing needed for the Wbg classes.
14
+ */
15
+ class Bridge {
16
+ #createWasm;
17
+ #heap;
18
+ #wbg;
19
+ #cachegetInt32;
20
+ #cachegetUint8;
21
+ #heapNext;
22
+ #wasm;
23
+ #wasmError;
24
+ #wasmPromise;
25
+ #type;
26
+ constructor(createWasm) {
27
+ this.#createWasm = createWasm;
28
+ this.#cachegetInt32 = null;
29
+ this.#cachegetUint8 = null;
30
+ this.#heap = new Array(32)
31
+ .fill(undefined)
32
+ .concat(undefined, null, true, false);
33
+ this.#heapNext = this.#heap.length;
34
+ this.#type = 'none';
35
+ this.#wasm = null;
36
+ this.#wasmError = null;
37
+ this.#wasmPromise = null;
38
+ this.#wbg = { ...new wbg_js_1.Wbg(this) };
39
+ }
40
+ /** @description Returns the init error */
41
+ get error() {
42
+ return this.#wasmError;
43
+ }
44
+ /** @description Returns the init type */
45
+ get type() {
46
+ return this.#type;
47
+ }
48
+ /** @description Returns the created wasm interface */
49
+ get wasm() {
50
+ return this.#wasm;
51
+ }
52
+ /** @description Performs the wasm initialization */
53
+ async init(createWasm) {
54
+ if (!this.#wasmPromise || createWasm) {
55
+ this.#wasmPromise = (createWasm || this.#createWasm)(this.#wbg);
56
+ }
57
+ const { error, type, wasm } = await this.#wasmPromise;
58
+ this.#type = type;
59
+ this.#wasm = wasm;
60
+ this.#wasmError = error;
61
+ return this.#wasm;
62
+ }
63
+ /**
64
+ * @internal
65
+ * @description Gets an object from the heap
66
+ */
67
+ getObject(idx) {
68
+ return this.#heap[idx];
69
+ }
70
+ /**
71
+ * @internal
72
+ * @description Removes an object from the heap
73
+ */
74
+ dropObject(idx) {
75
+ if (idx < 36) {
76
+ return;
77
+ }
78
+ this.#heap[idx] = this.#heapNext;
79
+ this.#heapNext = idx;
80
+ }
81
+ /**
82
+ * @internal
83
+ * @description Retrieves and removes an object to the heap
84
+ */
85
+ takeObject(idx) {
86
+ const ret = this.getObject(idx);
87
+ this.dropObject(idx);
88
+ return ret;
89
+ }
90
+ /**
91
+ * @internal
92
+ * @description Adds an object to the heap
93
+ */
94
+ addObject(obj) {
95
+ if (this.#heapNext === this.#heap.length) {
96
+ this.#heap.push(this.#heap.length + 1);
97
+ }
98
+ const idx = this.#heapNext;
99
+ this.#heapNext = this.#heap[idx];
100
+ this.#heap[idx] = obj;
101
+ return idx;
102
+ }
103
+ /**
104
+ * @internal
105
+ * @description Retrieve an Int32 in the WASM interface
106
+ */
107
+ getInt32() {
108
+ if (this.#cachegetInt32 === null || this.#cachegetInt32.buffer !== this.#wasm.memory.buffer) {
109
+ this.#cachegetInt32 = new Int32Array(this.#wasm.memory.buffer);
110
+ }
111
+ return this.#cachegetInt32;
112
+ }
113
+ /**
114
+ * @internal
115
+ * @description Retrieve an Uint8Array in the WASM interface
116
+ */
117
+ getUint8() {
118
+ if (this.#cachegetUint8 === null || this.#cachegetUint8.buffer !== this.#wasm.memory.buffer) {
119
+ this.#cachegetUint8 = new Uint8Array(this.#wasm.memory.buffer);
120
+ }
121
+ return this.#cachegetUint8;
122
+ }
123
+ /**
124
+ * @internal
125
+ * @description Retrieves an Uint8Array in the WASM interface
126
+ */
127
+ getU8a(ptr, len) {
128
+ return this.getUint8().subarray(ptr / 1, ptr / 1 + len);
129
+ }
130
+ /**
131
+ * @internal
132
+ * @description Retrieves a string in the WASM interface
133
+ */
134
+ getString(ptr, len) {
135
+ return (0, util_1.u8aToString)(this.getU8a(ptr, len));
136
+ }
137
+ /**
138
+ * @internal
139
+ * @description Allocates an Uint8Array in the WASM interface
140
+ */
141
+ allocU8a(arg) {
142
+ const ptr = this.#wasm.__wbindgen_malloc(arg.length * 1);
143
+ this.getUint8().set(arg, ptr / 1);
144
+ return [ptr, arg.length];
145
+ }
146
+ /**
147
+ * @internal
148
+ * @description Allocates a string in the WASM interface
149
+ */
150
+ allocString(arg) {
151
+ return this.allocU8a((0, util_1.stringToU8a)(arg));
152
+ }
153
+ /**
154
+ * @internal
155
+ * @description Retrieves an Uint8Array from the WASM interface
156
+ */
157
+ resultU8a() {
158
+ const r0 = this.getInt32()[8 / 4 + 0];
159
+ const r1 = this.getInt32()[8 / 4 + 1];
160
+ const ret = this.getU8a(r0, r1).slice();
161
+ this.#wasm.__wbindgen_free(r0, r1 * 1);
162
+ return ret;
163
+ }
164
+ /**
165
+ * @internal
166
+ * @description Retrieve a string from the WASM interface
167
+ */
168
+ resultString() {
169
+ return (0, util_1.u8aToString)(this.resultU8a());
170
+ }
171
+ }
172
+ exports.Bridge = Bridge;
@@ -0,0 +1,26 @@
1
+ import './bundleInit.js';
2
+ export { packageInfo } from './packageInfo.js';
3
+ export * from './address/index.js';
4
+ export * from './base32/index.js';
5
+ export * from './base58/index.js';
6
+ export * from './base64/index.js';
7
+ export * from './blake2/index.js';
8
+ export * from './crypto.js';
9
+ export * from './ed25519/index.js';
10
+ export * from './ethereum/index.js';
11
+ export * from './hd/index.js';
12
+ export * from './hmac/index.js';
13
+ export * from './json/index.js';
14
+ export * from './keccak/index.js';
15
+ export * from './key/index.js';
16
+ export * from './mnemonic/index.js';
17
+ export * from './nacl/index.js';
18
+ export * from './networks.js';
19
+ export * from './pbkdf2/index.js';
20
+ export * from './random/index.js';
21
+ export * from './scrypt/index.js';
22
+ export * from './secp256k1/index.js';
23
+ export * from './sha/index.js';
24
+ export * from './signature/index.js';
25
+ export * from './sr25519/index.js';
26
+ export * from './xxhash/index.js';
package/cjs/bundle.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageInfo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ require("./bundleInit.js");
6
+ var packageInfo_js_1 = require("./packageInfo.js");
7
+ Object.defineProperty(exports, "packageInfo", { enumerable: true, get: function () { return packageInfo_js_1.packageInfo; } });
8
+ tslib_1.__exportStar(require("./address/index.js"), exports);
9
+ tslib_1.__exportStar(require("./base32/index.js"), exports);
10
+ tslib_1.__exportStar(require("./base58/index.js"), exports);
11
+ tslib_1.__exportStar(require("./base64/index.js"), exports);
12
+ tslib_1.__exportStar(require("./blake2/index.js"), exports);
13
+ tslib_1.__exportStar(require("./crypto.js"), exports);
14
+ tslib_1.__exportStar(require("./ed25519/index.js"), exports);
15
+ tslib_1.__exportStar(require("./ethereum/index.js"), exports);
16
+ tslib_1.__exportStar(require("./hd/index.js"), exports);
17
+ tslib_1.__exportStar(require("./hmac/index.js"), exports);
18
+ tslib_1.__exportStar(require("./json/index.js"), exports);
19
+ tslib_1.__exportStar(require("./keccak/index.js"), exports);
20
+ tslib_1.__exportStar(require("./key/index.js"), exports);
21
+ tslib_1.__exportStar(require("./mnemonic/index.js"), exports);
22
+ tslib_1.__exportStar(require("./nacl/index.js"), exports);
23
+ tslib_1.__exportStar(require("./networks.js"), exports);
24
+ tslib_1.__exportStar(require("./pbkdf2/index.js"), exports);
25
+ tslib_1.__exportStar(require("./random/index.js"), exports);
26
+ tslib_1.__exportStar(require("./scrypt/index.js"), exports);
27
+ tslib_1.__exportStar(require("./secp256k1/index.js"), exports);
28
+ tslib_1.__exportStar(require("./sha/index.js"), exports);
29
+ tslib_1.__exportStar(require("./signature/index.js"), exports);
30
+ tslib_1.__exportStar(require("./sr25519/index.js"), exports);
31
+ tslib_1.__exportStar(require("./xxhash/index.js"), exports);
@@ -0,0 +1 @@
1
+ import '@polkadot/x-bigint/shim';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@pezkuwi/x-bigint/shim");
4
+ const crypto_js_1 = require("./crypto.js");
5
+ (0, crypto_js_1.cryptoWaitReady)().catch(() => {
6
+ // shouldn't happen, logged and caught inside cryptoWaitReady
7
+ });
@@ -0,0 +1,3 @@
1
+ import { isReady } from '@polkadot/wasm-crypto';
2
+ export declare const cryptoIsReady: typeof isReady;
3
+ export declare function cryptoWaitReady(): Promise<boolean>;
package/cjs/crypto.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cryptoIsReady = void 0;
4
+ exports.cryptoWaitReady = cryptoWaitReady;
5
+ const wasm_crypto_1 = require("@pezkuwi/wasm-crypto");
6
+ exports.cryptoIsReady = wasm_crypto_1.isReady;
7
+ function cryptoWaitReady() {
8
+ return (0, wasm_crypto_1.waitReady)()
9
+ .then(() => {
10
+ if (!(0, wasm_crypto_1.isReady)()) {
11
+ throw new Error('Unable to initialize @pezkuwi/util-crypto');
12
+ }
13
+ return true;
14
+ })
15
+ .catch(() => false);
16
+ }
@@ -0,0 +1 @@
1
+ export declare function ed25519DeriveHard(seed: Uint8Array, chainCode: Uint8Array): Uint8Array;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519DeriveHard = ed25519DeriveHard;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const asU8a_js_1 = require("../blake2/asU8a.js");
6
+ const HDKD = (0, util_1.compactAddLength)((0, util_1.stringToU8a)('Ed25519HDKD'));
7
+ function ed25519DeriveHard(seed, chainCode) {
8
+ if (!(0, util_1.isU8a)(chainCode) || chainCode.length !== 32) {
9
+ throw new Error('Invalid chainCode passed to derive');
10
+ }
11
+ return (0, asU8a_js_1.blake2AsU8a)((0, util_1.u8aConcat)(HDKD, seed, chainCode));
12
+ }
@@ -1,6 +1,3 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  /**
5
2
  * @summary Implements ed25519 operations
6
3
  */
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519Verify = exports.ed25519Sign = exports.ed25519PairFromString = exports.ed25519PairFromSeed = exports.ed25519PairFromSecret = exports.ed25519PairFromRandom = exports.ed25519DeriveHard = void 0;
4
+ /**
5
+ * @summary Implements ed25519 operations
6
+ */
7
+ var deriveHard_js_1 = require("./deriveHard.js");
8
+ Object.defineProperty(exports, "ed25519DeriveHard", { enumerable: true, get: function () { return deriveHard_js_1.ed25519DeriveHard; } });
9
+ var fromRandom_js_1 = require("./pair/fromRandom.js");
10
+ Object.defineProperty(exports, "ed25519PairFromRandom", { enumerable: true, get: function () { return fromRandom_js_1.ed25519PairFromRandom; } });
11
+ var fromSecret_js_1 = require("./pair/fromSecret.js");
12
+ Object.defineProperty(exports, "ed25519PairFromSecret", { enumerable: true, get: function () { return fromSecret_js_1.ed25519PairFromSecret; } });
13
+ var fromSeed_js_1 = require("./pair/fromSeed.js");
14
+ Object.defineProperty(exports, "ed25519PairFromSeed", { enumerable: true, get: function () { return fromSeed_js_1.ed25519PairFromSeed; } });
15
+ var fromString_js_1 = require("./pair/fromString.js");
16
+ Object.defineProperty(exports, "ed25519PairFromString", { enumerable: true, get: function () { return fromString_js_1.ed25519PairFromString; } });
17
+ var sign_js_1 = require("./sign.js");
18
+ Object.defineProperty(exports, "ed25519Sign", { enumerable: true, get: function () { return sign_js_1.ed25519Sign; } });
19
+ var verify_js_1 = require("./verify.js");
20
+ Object.defineProperty(exports, "ed25519Verify", { enumerable: true, get: function () { return verify_js_1.ed25519Verify; } });
@@ -0,0 +1,16 @@
1
+ import type { Keypair } from '../../types.js';
2
+ /**
3
+ * @name ed25519PairFromRandom
4
+ * @summary Creates a new public/secret keypair.
5
+ * @description
6
+ * Returns a new generate object containing a `publicKey` & `secretKey`.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { ed25519PairFromRandom } from '@polkadot/util-crypto';
12
+ *
13
+ * ed25519PairFromRandom(); // => { secretKey: [...], publicKey: [...] }
14
+ * ```
15
+ */
16
+ export declare function ed25519PairFromRandom(): Keypair;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519PairFromRandom = ed25519PairFromRandom;
4
+ const index_js_1 = require("../../random/index.js");
5
+ const fromSeed_js_1 = require("./fromSeed.js");
6
+ /**
7
+ * @name ed25519PairFromRandom
8
+ * @summary Creates a new public/secret keypair.
9
+ * @description
10
+ * Returns a new generate object containing a `publicKey` & `secretKey`.
11
+ * @example
12
+ * <BR>
13
+ *
14
+ * ```javascript
15
+ * import { ed25519PairFromRandom } from '@pezkuwi/util-crypto';
16
+ *
17
+ * ed25519PairFromRandom(); // => { secretKey: [...], publicKey: [...] }
18
+ * ```
19
+ */
20
+ function ed25519PairFromRandom() {
21
+ return (0, fromSeed_js_1.ed25519PairFromSeed)((0, index_js_1.randomAsU8a)());
22
+ }
@@ -0,0 +1,16 @@
1
+ import type { Keypair } from '../../types.js';
2
+ /**
3
+ * @name ed25519PairFromSecret
4
+ * @summary Creates a new public/secret keypair from a secret.
5
+ * @description
6
+ * Returns a object containing a `publicKey` & `secretKey` generated from the supplied secret.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { ed25519PairFromSecret } from '@polkadot/util-crypto';
12
+ *
13
+ * ed25519PairFromSecret(...); // => { secretKey: [...], publicKey: [...] }
14
+ * ```
15
+ */
16
+ export declare function ed25519PairFromSecret(secretKey: Uint8Array): Keypair;
@@ -1,8 +1,6 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { Keypair } from '../../types.js';
5
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519PairFromSecret = ed25519PairFromSecret;
6
4
  /**
7
5
  * @name ed25519PairFromSecret
8
6
  * @summary Creates a new public/secret keypair from a secret.
@@ -17,13 +15,12 @@ import type { Keypair } from '../../types.js';
17
15
  * ed25519PairFromSecret(...); // => { secretKey: [...], publicKey: [...] }
18
16
  * ```
19
17
  */
20
- export function ed25519PairFromSecret (secretKey: Uint8Array): Keypair {
21
- if (secretKey.length !== 64) {
22
- throw new Error('Invalid secretKey provided');
23
- }
24
-
25
- return {
26
- publicKey: secretKey.slice(32),
27
- secretKey
28
- };
18
+ function ed25519PairFromSecret(secretKey) {
19
+ if (secretKey.length !== 64) {
20
+ throw new Error('Invalid secretKey provided');
21
+ }
22
+ return {
23
+ publicKey: secretKey.slice(32),
24
+ secretKey
25
+ };
29
26
  }
@@ -0,0 +1,16 @@
1
+ import type { Keypair } from '../../types.js';
2
+ /**
3
+ * @name ed25519PairFromSeed
4
+ * @summary Creates a new public/secret keypair from a seed.
5
+ * @description
6
+ * Returns a object containing a `publicKey` & `secretKey` generated from the supplied seed.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { ed25519PairFromSeed } from '@polkadot/util-crypto';
12
+ *
13
+ * ed25519PairFromSeed(...); // => { secretKey: [...], publicKey: [...] }
14
+ * ```
15
+ */
16
+ export declare function ed25519PairFromSeed(seed: Uint8Array, onlyJs?: boolean): Keypair;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519PairFromSeed = ed25519PairFromSeed;
4
+ const ed25519_1 = require("@noble/curves/ed25519");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const wasm_crypto_1 = require("@pezkuwi/wasm-crypto");
7
+ /**
8
+ * @name ed25519PairFromSeed
9
+ * @summary Creates a new public/secret keypair from a seed.
10
+ * @description
11
+ * Returns a object containing a `publicKey` & `secretKey` generated from the supplied seed.
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { ed25519PairFromSeed } from '@pezkuwi/util-crypto';
17
+ *
18
+ * ed25519PairFromSeed(...); // => { secretKey: [...], publicKey: [...] }
19
+ * ```
20
+ */
21
+ function ed25519PairFromSeed(seed, onlyJs) {
22
+ if (!util_1.hasBigInt || (!onlyJs && (0, wasm_crypto_1.isReady)())) {
23
+ const full = (0, wasm_crypto_1.ed25519KeypairFromSeed)(seed);
24
+ return {
25
+ publicKey: full.slice(32),
26
+ secretKey: full.slice(0, 64)
27
+ };
28
+ }
29
+ const publicKey = ed25519_1.ed25519.getPublicKey(seed);
30
+ return {
31
+ publicKey,
32
+ secretKey: (0, util_1.u8aConcatStrict)([seed, publicKey])
33
+ };
34
+ }
@@ -0,0 +1,16 @@
1
+ import type { Keypair } from '../../types.js';
2
+ /**
3
+ * @name ed25519PairFromString
4
+ * @summary Creates a new public/secret keypair from a string.
5
+ * @description
6
+ * Returns a object containing a `publicKey` & `secretKey` generated from the supplied string. The string is hashed and the value used as the input seed.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { ed25519PairFromString } from '@polkadot/util-crypto';
12
+ *
13
+ * ed25519PairFromString('test'); // => { secretKey: [...], publicKey: [...] }
14
+ * ```
15
+ */
16
+ export declare function ed25519PairFromString(value: string): Keypair;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519PairFromString = ed25519PairFromString;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const asU8a_js_1 = require("../../blake2/asU8a.js");
6
+ const fromSeed_js_1 = require("./fromSeed.js");
7
+ /**
8
+ * @name ed25519PairFromString
9
+ * @summary Creates a new public/secret keypair from a string.
10
+ * @description
11
+ * Returns a object containing a `publicKey` & `secretKey` generated from the supplied string. The string is hashed and the value used as the input seed.
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { ed25519PairFromString } from '@pezkuwi/util-crypto';
17
+ *
18
+ * ed25519PairFromString('test'); // => { secretKey: [...], publicKey: [...] }
19
+ * ```
20
+ */
21
+ function ed25519PairFromString(value) {
22
+ return (0, fromSeed_js_1.ed25519PairFromSeed)((0, asU8a_js_1.blake2AsU8a)((0, util_1.stringToU8a)(value)));
23
+ }
@@ -0,0 +1,16 @@
1
+ import type { Keypair } from '../types.js';
2
+ /**
3
+ * @name ed25519Sign
4
+ * @summary Signs a message using the supplied secretKey
5
+ * @description
6
+ * Returns message signature of `message`, using the `secretKey`.
7
+ * @example
8
+ * <BR>
9
+ *
10
+ * ```javascript
11
+ * import { ed25519Sign } from '@polkadot/util-crypto';
12
+ *
13
+ * ed25519Sign([...], [...]); // => [...]
14
+ * ```
15
+ */
16
+ export declare function ed25519Sign(message: string | Uint8Array, { publicKey, secretKey }: Partial<Keypair>, onlyJs?: boolean): Uint8Array;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519Sign = ed25519Sign;
4
+ const ed25519_1 = require("@noble/curves/ed25519");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const wasm_crypto_1 = require("@pezkuwi/wasm-crypto");
7
+ /**
8
+ * @name ed25519Sign
9
+ * @summary Signs a message using the supplied secretKey
10
+ * @description
11
+ * Returns message signature of `message`, using the `secretKey`.
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { ed25519Sign } from '@pezkuwi/util-crypto';
17
+ *
18
+ * ed25519Sign([...], [...]); // => [...]
19
+ * ```
20
+ */
21
+ function ed25519Sign(message, { publicKey, secretKey }, onlyJs) {
22
+ if (!secretKey) {
23
+ throw new Error('Expected a valid secretKey');
24
+ }
25
+ else if (!publicKey) {
26
+ throw new Error('Expected a valid publicKey');
27
+ }
28
+ const messageU8a = (0, util_1.u8aToU8a)(message);
29
+ const privateU8a = secretKey.subarray(0, 32);
30
+ return !util_1.hasBigInt || (!onlyJs && (0, wasm_crypto_1.isReady)())
31
+ ? (0, wasm_crypto_1.ed25519Sign)(publicKey, privateU8a, messageU8a)
32
+ : ed25519_1.ed25519.sign(messageU8a, privateU8a);
33
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @name ed25519Sign
3
+ * @summary Verifies the signature on the supplied message.
4
+ * @description
5
+ * Verifies the `signature` on `message` with the supplied `publicKey`. Returns `true` on sucess, `false` otherwise.
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { ed25519Verify } from '@polkadot/util-crypto';
11
+ *
12
+ * ed25519Verify([...], [...], [...]); // => true/false
13
+ * ```
14
+ */
15
+ export declare function ed25519Verify(message: string | Uint8Array, signature: string | Uint8Array, publicKey: string | Uint8Array, onlyJs?: boolean): boolean;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ed25519Verify = ed25519Verify;
4
+ const ed25519_1 = require("@noble/curves/ed25519");
5
+ const util_1 = require("@pezkuwi/util");
6
+ const wasm_crypto_1 = require("@pezkuwi/wasm-crypto");
7
+ /**
8
+ * @name ed25519Sign
9
+ * @summary Verifies the signature on the supplied message.
10
+ * @description
11
+ * Verifies the `signature` on `message` with the supplied `publicKey`. Returns `true` on sucess, `false` otherwise.
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { ed25519Verify } from '@pezkuwi/util-crypto';
17
+ *
18
+ * ed25519Verify([...], [...], [...]); // => true/false
19
+ * ```
20
+ */
21
+ function ed25519Verify(message, signature, publicKey, onlyJs) {
22
+ const messageU8a = (0, util_1.u8aToU8a)(message);
23
+ const publicKeyU8a = (0, util_1.u8aToU8a)(publicKey);
24
+ const signatureU8a = (0, util_1.u8aToU8a)(signature);
25
+ if (publicKeyU8a.length !== 32) {
26
+ throw new Error(`Invalid publicKey, received ${publicKeyU8a.length}, expected 32`);
27
+ }
28
+ else if (signatureU8a.length !== 64) {
29
+ throw new Error(`Invalid signature, received ${signatureU8a.length} bytes, expected 64`);
30
+ }
31
+ try {
32
+ return !util_1.hasBigInt || (!onlyJs && (0, wasm_crypto_1.isReady)())
33
+ ? (0, wasm_crypto_1.ed25519Verify)(signatureU8a, messageU8a, publicKeyU8a)
34
+ : ed25519_1.ed25519.verify(signatureU8a, messageU8a, publicKeyU8a);
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
@@ -0,0 +1,2 @@
1
+ import type { HexString } from '@polkadot/util/types';
2
+ export declare function ethereumEncode(addressOrPublic?: string | Uint8Array): HexString;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ethereumEncode = ethereumEncode;
4
+ const util_1 = require("@pezkuwi/util");
5
+ const index_js_1 = require("../keccak/index.js");
6
+ const index_js_2 = require("../secp256k1/index.js");
7
+ function getH160(u8a) {
8
+ if ([33, 65].includes(u8a.length)) {
9
+ u8a = (0, index_js_1.keccakAsU8a)((0, index_js_2.secp256k1Expand)(u8a));
10
+ }
11
+ return u8a.slice(-20);
12
+ }
13
+ function ethereumEncode(addressOrPublic) {
14
+ if (!addressOrPublic) {
15
+ return '0x';
16
+ }
17
+ const u8aAddress = (0, util_1.u8aToU8a)(addressOrPublic);
18
+ if (![20, 32, 33, 65].includes(u8aAddress.length)) {
19
+ throw new Error(`Invalid address or publicKey provided, received ${u8aAddress.length} bytes input`);
20
+ }
21
+ const address = (0, util_1.u8aToHex)(getH160(u8aAddress), -1, false);
22
+ const hash = (0, util_1.u8aToHex)((0, index_js_1.keccakAsU8a)(address), -1, false);
23
+ let result = '';
24
+ for (let i = 0; i < 40; i++) {
25
+ result = `${result}${parseInt(hash[i], 16) > 7 ? address[i].toUpperCase() : address[i]}`;
26
+ }
27
+ return `0x${result}`;
28
+ }
@@ -1,6 +1,3 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  export { ethereumEncode } from './encode.js';
5
2
  export { isEthereumAddress } from './isAddress.js';
6
3
  export { isEthereumChecksum } from './isChecksum.js';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEthereumChecksum = exports.isEthereumAddress = exports.ethereumEncode = void 0;
4
+ var encode_js_1 = require("./encode.js");
5
+ Object.defineProperty(exports, "ethereumEncode", { enumerable: true, get: function () { return encode_js_1.ethereumEncode; } });
6
+ var isAddress_js_1 = require("./isAddress.js");
7
+ Object.defineProperty(exports, "isEthereumAddress", { enumerable: true, get: function () { return isAddress_js_1.isEthereumAddress; } });
8
+ var isChecksum_js_1 = require("./isChecksum.js");
9
+ Object.defineProperty(exports, "isEthereumChecksum", { enumerable: true, get: function () { return isChecksum_js_1.isEthereumChecksum; } });
@@ -0,0 +1 @@
1
+ export declare function isEthereumAddress(address?: string): boolean;