@pezkuwi/util-crypto 14.0.2 → 14.0.3

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 (750) 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/bundle-polkadot-util-crypto.js +11813 -0
  70. package/{src/bundle.ts → bundle.d.ts} +0 -7
  71. package/bundle.js +26 -0
  72. package/bundleInit.d.ts +1 -0
  73. package/bundleInit.js +5 -0
  74. package/cjs/address/addressToEvm.d.ts +5 -0
  75. package/cjs/address/addressToEvm.js +11 -0
  76. package/cjs/address/check.d.ts +8 -0
  77. package/cjs/address/check.js +29 -0
  78. package/cjs/address/checksum.d.ts +1 -0
  79. package/cjs/address/checksum.js +19 -0
  80. package/cjs/address/decode.d.ts +2 -0
  81. package/cjs/address/decode.js +32 -0
  82. package/cjs/address/defaults.d.ts +6 -0
  83. package/cjs/address/defaults.js +11 -0
  84. package/cjs/address/derive.d.ts +8 -0
  85. package/cjs/address/derive.js +27 -0
  86. package/cjs/address/encode.d.ts +2 -0
  87. package/cjs/address/encode.js +26 -0
  88. package/cjs/address/encodeDerived.d.ts +9 -0
  89. package/cjs/address/encodeDerived.js +15 -0
  90. package/cjs/address/encodeMulti.d.ts +9 -0
  91. package/cjs/address/encodeMulti.js +14 -0
  92. package/cjs/address/eq.d.ts +15 -0
  93. package/cjs/address/eq.js +22 -0
  94. package/cjs/address/evmToAddress.d.ts +7 -0
  95. package/cjs/address/evmToAddress.js +17 -0
  96. package/cjs/address/index.d.ts +16 -0
  97. package/cjs/address/index.js +35 -0
  98. package/cjs/address/is.d.ts +2 -0
  99. package/cjs/address/is.js +12 -0
  100. package/cjs/address/keyDerived.d.ts +2 -0
  101. package/cjs/address/keyDerived.js +11 -0
  102. package/cjs/address/keyMulti.d.ts +2 -0
  103. package/cjs/address/keyMulti.js +11 -0
  104. package/cjs/address/setSS58Format.d.ts +6 -0
  105. package/cjs/address/setSS58Format.js +14 -0
  106. package/cjs/address/sort.d.ts +2 -0
  107. package/cjs/address/sort.js +10 -0
  108. package/cjs/address/sshash.d.ts +1 -0
  109. package/cjs/address/sshash.js +9 -0
  110. package/cjs/address/types.d.ts +1 -0
  111. package/cjs/address/types.js +2 -0
  112. package/cjs/address/util.d.ts +1 -0
  113. package/cjs/address/util.js +7 -0
  114. package/cjs/address/validate.d.ts +2 -0
  115. package/cjs/address/validate.js +7 -0
  116. package/cjs/base32/bs32.d.ts +26 -0
  117. package/cjs/base32/bs32.js +43 -0
  118. package/cjs/base32/helpers.d.ts +25 -0
  119. package/cjs/base32/helpers.js +67 -0
  120. package/cjs/base32/index.d.ts +4 -0
  121. package/cjs/base32/index.js +11 -0
  122. package/cjs/base58/bs58.d.ts +26 -0
  123. package/cjs/base58/bs58.js +37 -0
  124. package/cjs/base58/index.d.ts +4 -0
  125. package/cjs/base58/index.js +11 -0
  126. package/cjs/base64/bs64.d.ts +26 -0
  127. package/cjs/base64/bs64.js +37 -0
  128. package/cjs/base64/index.d.ts +6 -0
  129. package/cjs/base64/index.js +15 -0
  130. package/cjs/base64/pad.d.ts +5 -0
  131. package/cjs/base64/pad.js +10 -0
  132. package/cjs/base64/trim.d.ts +5 -0
  133. package/cjs/base64/trim.js +13 -0
  134. package/cjs/blake2/asU8a.d.ts +20 -0
  135. package/cjs/blake2/asU8a.js +36 -0
  136. package/cjs/blake2/index.d.ts +4 -0
  137. package/cjs/blake2/index.js +9 -0
  138. package/cjs/bn.d.ts +30 -0
  139. package/cjs/bn.js +11 -0
  140. package/cjs/bundle.d.ts +26 -0
  141. package/cjs/bundle.js +31 -0
  142. package/cjs/bundleInit.d.ts +1 -0
  143. package/cjs/bundleInit.js +7 -0
  144. package/cjs/crypto.d.ts +3 -0
  145. package/cjs/crypto.js +16 -0
  146. package/cjs/ed25519/deriveHard.d.ts +1 -0
  147. package/cjs/ed25519/deriveHard.js +12 -0
  148. package/{src/ed25519/index.ts → cjs/ed25519/index.d.ts} +0 -3
  149. package/cjs/ed25519/index.js +20 -0
  150. package/cjs/ed25519/pair/fromRandom.d.ts +16 -0
  151. package/cjs/ed25519/pair/fromRandom.js +22 -0
  152. package/cjs/ed25519/pair/fromSecret.d.ts +16 -0
  153. package/{src/ed25519/pair/fromSecret.ts → cjs/ed25519/pair/fromSecret.js} +11 -14
  154. package/cjs/ed25519/pair/fromSeed.d.ts +16 -0
  155. package/cjs/ed25519/pair/fromSeed.js +34 -0
  156. package/cjs/ed25519/pair/fromString.d.ts +16 -0
  157. package/cjs/ed25519/pair/fromString.js +23 -0
  158. package/cjs/ed25519/sign.d.ts +16 -0
  159. package/cjs/ed25519/sign.js +33 -0
  160. package/cjs/ed25519/verify.d.ts +15 -0
  161. package/cjs/ed25519/verify.js +39 -0
  162. package/cjs/ethereum/encode.d.ts +2 -0
  163. package/cjs/ethereum/encode.js +28 -0
  164. package/{src/ethereum/index.ts → cjs/ethereum/index.d.ts} +0 -3
  165. package/cjs/ethereum/index.js +9 -0
  166. package/cjs/ethereum/isAddress.d.ts +1 -0
  167. package/cjs/ethereum/isAddress.js +14 -0
  168. package/cjs/ethereum/isChecksum.d.ts +1 -0
  169. package/cjs/ethereum/isChecksum.js +20 -0
  170. package/cjs/hd/ethereum/index.d.ts +2 -0
  171. package/cjs/hd/ethereum/index.js +47 -0
  172. package/{src/hd/index.ts → cjs/hd/index.d.ts} +0 -3
  173. package/cjs/hd/index.js +9 -0
  174. package/cjs/hd/ledger/derivePrivate.d.ts +1 -0
  175. package/cjs/hd/ledger/derivePrivate.js +15 -0
  176. package/cjs/hd/ledger/index.d.ts +2 -0
  177. package/cjs/hd/ledger/index.js +33 -0
  178. package/cjs/hd/ledger/master.d.ts +1 -0
  179. package/cjs/hd/ledger/master.js +19 -0
  180. package/cjs/hd/validatePath.d.ts +2 -0
  181. package/cjs/hd/validatePath.js +20 -0
  182. package/cjs/helpers.d.ts +12 -0
  183. package/cjs/helpers.js +24 -0
  184. package/cjs/hmac/index.d.ts +1 -0
  185. package/cjs/hmac/index.js +7 -0
  186. package/cjs/hmac/shaAsU8a.d.ts +15 -0
  187. package/cjs/hmac/shaAsU8a.js +40 -0
  188. package/cjs/index.d.ts +2 -0
  189. package/cjs/index.js +5 -0
  190. package/cjs/json/constants.d.ts +6 -0
  191. package/cjs/json/constants.js +8 -0
  192. package/cjs/json/decrypt.d.ts +2 -0
  193. package/cjs/json/decrypt.js +16 -0
  194. package/cjs/json/decryptData.d.ts +2 -0
  195. package/cjs/json/decryptData.js +32 -0
  196. package/cjs/json/encrypt.d.ts +2 -0
  197. package/cjs/json/encrypt.js +18 -0
  198. package/cjs/json/encryptFormat.d.ts +2 -0
  199. package/cjs/json/encryptFormat.js +17 -0
  200. package/{src/json/index.ts → cjs/json/index.d.ts} +0 -3
  201. package/cjs/json/index.js +11 -0
  202. package/cjs/json/types.d.ts +16 -0
  203. package/cjs/json/types.js +2 -0
  204. package/cjs/keccak/asU8a.d.ts +30 -0
  205. package/cjs/keccak/asU8a.js +36 -0
  206. package/{src/keccak/index.ts → cjs/keccak/index.d.ts} +0 -4
  207. package/cjs/keccak/index.js +11 -0
  208. package/cjs/key/DeriveJunction.d.ts +12 -0
  209. package/cjs/key/DeriveJunction.js +62 -0
  210. package/cjs/key/extractPath.d.ts +9 -0
  211. package/cjs/key/extractPath.js +26 -0
  212. package/cjs/key/extractSuri.d.ts +11 -0
  213. package/cjs/key/extractSuri.js +25 -0
  214. package/cjs/key/fromPath.d.ts +3 -0
  215. package/cjs/key/fromPath.js +21 -0
  216. package/cjs/key/hdkdDerive.d.ts +3 -0
  217. package/cjs/key/hdkdDerive.js +11 -0
  218. package/cjs/key/hdkdEcdsa.d.ts +1 -0
  219. package/cjs/key/hdkdEcdsa.js +7 -0
  220. package/cjs/key/hdkdEd25519.d.ts +1 -0
  221. package/cjs/key/hdkdEd25519.js +6 -0
  222. package/cjs/key/hdkdSr25519.d.ts +3 -0
  223. package/cjs/key/hdkdSr25519.js +10 -0
  224. package/{src/key/index.ts → cjs/key/index.d.ts} +0 -3
  225. package/cjs/key/index.js +18 -0
  226. package/cjs/mnemonic/bip39.d.ts +5 -0
  227. package/cjs/mnemonic/bip39.js +90 -0
  228. package/cjs/mnemonic/generate.d.ts +13 -0
  229. package/cjs/mnemonic/generate.js +23 -0
  230. package/{src/mnemonic/index.ts → cjs/mnemonic/index.d.ts} +0 -3
  231. package/cjs/mnemonic/index.js +16 -0
  232. package/cjs/mnemonic/toEntropy.d.ts +1 -0
  233. package/cjs/mnemonic/toEntropy.js +11 -0
  234. package/cjs/mnemonic/toLegacySeed.d.ts +18 -0
  235. package/cjs/mnemonic/toLegacySeed.js +37 -0
  236. package/cjs/mnemonic/toMiniSecret.d.ts +1 -0
  237. package/cjs/mnemonic/toMiniSecret.js +20 -0
  238. package/cjs/mnemonic/validate.d.ts +14 -0
  239. package/cjs/mnemonic/validate.js +24 -0
  240. package/cjs/mnemonic/wordlists/en.d.ts +2 -0
  241. package/cjs/mnemonic/wordlists/en.js +3 -0
  242. package/cjs/mnemonic/wordlists/es.d.ts +2 -0
  243. package/cjs/mnemonic/wordlists/es.js +3 -0
  244. package/cjs/mnemonic/wordlists/fr.d.ts +2 -0
  245. package/cjs/mnemonic/wordlists/fr.js +3 -0
  246. package/{src/mnemonic/wordlists/index.ts → cjs/mnemonic/wordlists/index.d.ts} +0 -3
  247. package/cjs/mnemonic/wordlists/index.js +20 -0
  248. package/cjs/mnemonic/wordlists/it.d.ts +2 -0
  249. package/cjs/mnemonic/wordlists/it.js +3 -0
  250. package/cjs/mnemonic/wordlists/jp.d.ts +2 -0
  251. package/cjs/mnemonic/wordlists/jp.js +3 -0
  252. package/cjs/mnemonic/wordlists/ko.d.ts +2 -0
  253. package/cjs/mnemonic/wordlists/ko.js +3 -0
  254. package/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
  255. package/cjs/mnemonic/wordlists/zh-s.js +3 -0
  256. package/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
  257. package/cjs/mnemonic/wordlists/zh-t.js +3 -0
  258. package/cjs/nacl/decrypt.d.ts +15 -0
  259. package/cjs/nacl/decrypt.js +21 -0
  260. package/cjs/nacl/encrypt.d.ts +20 -0
  261. package/cjs/nacl/encrypt.js +25 -0
  262. package/{src/nacl/index.ts → cjs/nacl/index.d.ts} +0 -3
  263. package/cjs/nacl/index.js +10 -0
  264. package/cjs/nacl/tweetnacl.d.ts +2 -0
  265. package/cjs/nacl/tweetnacl.js +238 -0
  266. package/cjs/networks.d.ts +1 -0
  267. package/cjs/networks.js +7 -0
  268. package/cjs/package.json +3 -0
  269. package/cjs/packageDetect.d.ts +1 -0
  270. package/cjs/packageDetect.js +8 -0
  271. package/cjs/packageInfo.d.ts +6 -0
  272. package/cjs/packageInfo.js +4 -0
  273. package/cjs/pbkdf2/encode.d.ts +7 -0
  274. package/cjs/pbkdf2/encode.js +19 -0
  275. package/cjs/pbkdf2/index.d.ts +1 -0
  276. package/cjs/pbkdf2/index.js +5 -0
  277. package/cjs/random/asNumber.d.ts +15 -0
  278. package/cjs/random/asNumber.js +23 -0
  279. package/cjs/random/asU8a.d.ts +20 -0
  280. package/cjs/random/asU8a.js +28 -0
  281. package/{src/random/index.ts → cjs/random/index.d.ts} +0 -4
  282. package/cjs/random/index.js +11 -0
  283. package/cjs/scrypt/defaults.d.ts +3 -0
  284. package/cjs/scrypt/defaults.js +16 -0
  285. package/cjs/scrypt/encode.d.ts +8 -0
  286. package/cjs/scrypt/encode.js +18 -0
  287. package/cjs/scrypt/fromU8a.d.ts +7 -0
  288. package/cjs/scrypt/fromU8a.js +27 -0
  289. package/{src/scrypt/index.ts → cjs/scrypt/index.d.ts} +0 -3
  290. package/cjs/scrypt/index.js +9 -0
  291. package/cjs/scrypt/toU8a.d.ts +2 -0
  292. package/cjs/scrypt/toU8a.js +8 -0
  293. package/cjs/scrypt/types.d.ts +6 -0
  294. package/cjs/scrypt/types.js +2 -0
  295. package/cjs/secp256k1/compress.d.ts +1 -0
  296. package/cjs/secp256k1/compress.js +17 -0
  297. package/cjs/secp256k1/deriveHard.d.ts +1 -0
  298. package/cjs/secp256k1/deriveHard.js +13 -0
  299. package/cjs/secp256k1/expand.d.ts +1 -0
  300. package/cjs/secp256k1/expand.js +20 -0
  301. package/cjs/secp256k1/hasher.d.ts +2 -0
  302. package/cjs/secp256k1/hasher.js +10 -0
  303. package/{src/secp256k1/index.ts → cjs/secp256k1/index.d.ts} +0 -3
  304. package/cjs/secp256k1/index.js +17 -0
  305. package/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
  306. package/cjs/secp256k1/pair/fromSeed.js +34 -0
  307. package/cjs/secp256k1/recover.d.ts +6 -0
  308. package/cjs/secp256k1/recover.js +29 -0
  309. package/cjs/secp256k1/sign.d.ts +7 -0
  310. package/cjs/secp256k1/sign.js +23 -0
  311. package/cjs/secp256k1/tweakAdd.d.ts +1 -0
  312. package/cjs/secp256k1/tweakAdd.js +48 -0
  313. package/cjs/secp256k1/types.d.ts +1 -0
  314. package/cjs/secp256k1/types.js +2 -0
  315. package/cjs/secp256k1/verify.d.ts +6 -0
  316. package/cjs/secp256k1/verify.js +23 -0
  317. package/cjs/sha/asU8a.d.ts +15 -0
  318. package/cjs/sha/asU8a.js +22 -0
  319. package/{src/sha/index.ts → cjs/sha/index.d.ts} +0 -4
  320. package/cjs/sha/index.js +10 -0
  321. package/cjs/signature/index.d.ts +4 -0
  322. package/cjs/signature/index.js +8 -0
  323. package/cjs/signature/verify.d.ts +2 -0
  324. package/cjs/signature/verify.js +81 -0
  325. package/cjs/sr25519/agreement.d.ts +5 -0
  326. package/cjs/sr25519/agreement.js +20 -0
  327. package/cjs/sr25519/derive.d.ts +2 -0
  328. package/cjs/sr25519/derive.js +16 -0
  329. package/cjs/sr25519/deriveHard.d.ts +1 -0
  330. package/cjs/sr25519/deriveHard.js +7 -0
  331. package/cjs/sr25519/derivePublic.d.ts +1 -0
  332. package/cjs/sr25519/derivePublic.js +16 -0
  333. package/cjs/sr25519/deriveSoft.d.ts +1 -0
  334. package/cjs/sr25519/deriveSoft.js +7 -0
  335. package/{src/sr25519/index.ts → cjs/sr25519/index.d.ts} +0 -3
  336. package/cjs/sr25519/index.js +21 -0
  337. package/cjs/sr25519/pair/fromSeed.d.ts +6 -0
  338. package/cjs/sr25519/pair/fromSeed.js +22 -0
  339. package/cjs/sr25519/pair/fromU8a.d.ts +2 -0
  340. package/cjs/sr25519/pair/fromU8a.js +17 -0
  341. package/cjs/sr25519/pair/toU8a.d.ts +2 -0
  342. package/cjs/sr25519/pair/toU8a.js +7 -0
  343. package/cjs/sr25519/sign.d.ts +6 -0
  344. package/cjs/sr25519/sign.js +19 -0
  345. package/cjs/sr25519/verify.d.ts +5 -0
  346. package/cjs/sr25519/verify.js +21 -0
  347. package/cjs/sr25519/vrfSign.d.ts +6 -0
  348. package/cjs/sr25519/vrfSign.js +19 -0
  349. package/cjs/sr25519/vrfVerify.d.ts +5 -0
  350. package/cjs/sr25519/vrfVerify.js +22 -0
  351. package/cjs/types.d.ts +26 -0
  352. package/cjs/types.js +5 -0
  353. package/cjs/xxhash/asU8a.d.ts +20 -0
  354. package/cjs/xxhash/asU8a.js +39 -0
  355. package/{src/xxhash/index.ts → cjs/xxhash/index.d.ts} +0 -4
  356. package/cjs/xxhash/index.js +9 -0
  357. package/cjs/xxhash/xxhash64.d.ts +1 -0
  358. package/cjs/xxhash/xxhash64.js +103 -0
  359. package/crypto.d.ts +3 -0
  360. package/crypto.js +12 -0
  361. package/ed25519/deriveHard.d.ts +1 -0
  362. package/ed25519/deriveHard.js +9 -0
  363. package/ed25519/index.d.ts +10 -0
  364. package/ed25519/index.js +10 -0
  365. package/ed25519/pair/fromRandom.d.ts +16 -0
  366. package/{src/ed25519/pair/fromRandom.ts → ed25519/pair/fromRandom.js} +2 -8
  367. package/ed25519/pair/fromSecret.d.ts +16 -0
  368. package/ed25519/pair/fromSecret.js +23 -0
  369. package/ed25519/pair/fromSeed.d.ts +16 -0
  370. package/{src/ed25519/pair/fromSeed.ts → ed25519/pair/fromSeed.js} +11 -21
  371. package/ed25519/pair/fromString.d.ts +16 -0
  372. package/{src/ed25519/pair/fromString.ts → ed25519/pair/fromString.js} +2 -13
  373. package/ed25519/sign.d.ts +16 -0
  374. package/ed25519/sign.js +30 -0
  375. package/ed25519/verify.d.ts +15 -0
  376. package/ed25519/verify.js +36 -0
  377. package/ethereum/encode.d.ts +2 -0
  378. package/ethereum/encode.js +25 -0
  379. package/ethereum/index.d.ts +3 -0
  380. package/ethereum/index.js +3 -0
  381. package/ethereum/isAddress.d.ts +1 -0
  382. package/ethereum/isAddress.js +11 -0
  383. package/ethereum/isChecksum.d.ts +1 -0
  384. package/ethereum/isChecksum.js +17 -0
  385. package/hd/ethereum/index.d.ts +2 -0
  386. package/hd/ethereum/index.js +44 -0
  387. package/hd/index.d.ts +3 -0
  388. package/hd/index.js +3 -0
  389. package/hd/ledger/derivePrivate.d.ts +1 -0
  390. package/hd/ledger/derivePrivate.js +12 -0
  391. package/hd/ledger/index.d.ts +2 -0
  392. package/hd/ledger/index.js +30 -0
  393. package/hd/ledger/master.d.ts +1 -0
  394. package/hd/ledger/master.js +16 -0
  395. package/hd/validatePath.d.ts +2 -0
  396. package/hd/validatePath.js +16 -0
  397. package/helpers.d.ts +12 -0
  398. package/helpers.js +19 -0
  399. package/hmac/index.d.ts +1 -0
  400. package/hmac/index.js +1 -0
  401. package/hmac/shaAsU8a.d.ts +15 -0
  402. package/{src/hmac/shaAsU8a.ts → hmac/shaAsU8a.js} +11 -23
  403. package/index.d.ts +2 -0
  404. package/index.js +2 -0
  405. package/json/constants.d.ts +6 -0
  406. package/json/constants.js +5 -0
  407. package/json/decrypt.d.ts +2 -0
  408. package/json/decrypt.js +13 -0
  409. package/json/decryptData.d.ts +2 -0
  410. package/json/decryptData.js +29 -0
  411. package/json/encrypt.d.ts +2 -0
  412. package/json/encrypt.js +15 -0
  413. package/json/encryptFormat.d.ts +2 -0
  414. package/json/encryptFormat.js +14 -0
  415. package/json/index.d.ts +4 -0
  416. package/json/index.js +4 -0
  417. package/json/types.d.ts +16 -0
  418. package/json/types.js +1 -0
  419. package/keccak/asU8a.d.ts +30 -0
  420. package/{src/keccak/asU8a.ts → keccak/asU8a.js} +1 -13
  421. package/keccak/index.d.ts +4 -0
  422. package/keccak/index.js +4 -0
  423. package/key/DeriveJunction.d.ts +12 -0
  424. package/key/DeriveJunction.js +58 -0
  425. package/key/extractPath.d.ts +9 -0
  426. package/key/extractPath.js +23 -0
  427. package/key/extractSuri.d.ts +11 -0
  428. package/key/extractSuri.js +22 -0
  429. package/key/fromPath.d.ts +3 -0
  430. package/key/fromPath.js +18 -0
  431. package/key/hdkdDerive.d.ts +3 -0
  432. package/key/hdkdDerive.js +8 -0
  433. package/key/hdkdEcdsa.d.ts +1 -0
  434. package/{src/key/hdkdEcdsa.ts → key/hdkdEcdsa.js} +0 -4
  435. package/key/hdkdEd25519.d.ts +1 -0
  436. package/{src/key/hdkdEd25519.ts → key/hdkdEd25519.js} +0 -4
  437. package/key/hdkdSr25519.d.ts +3 -0
  438. package/key/hdkdSr25519.js +7 -0
  439. package/key/index.d.ts +9 -0
  440. package/key/index.js +9 -0
  441. package/mnemonic/bip39.d.ts +5 -0
  442. package/mnemonic/bip39.js +82 -0
  443. package/mnemonic/generate.d.ts +13 -0
  444. package/{src/mnemonic/generate.ts → mnemonic/generate.js} +4 -9
  445. package/mnemonic/index.d.ts +8 -0
  446. package/mnemonic/index.js +8 -0
  447. package/mnemonic/toEntropy.d.ts +1 -0
  448. package/mnemonic/toEntropy.js +8 -0
  449. package/mnemonic/toLegacySeed.d.ts +18 -0
  450. package/{src/mnemonic/toLegacySeed.ts → mnemonic/toLegacySeed.js} +12 -17
  451. package/mnemonic/toMiniSecret.d.ts +1 -0
  452. package/mnemonic/toMiniSecret.js +17 -0
  453. package/mnemonic/validate.d.ts +14 -0
  454. package/{src/mnemonic/validate.ts → mnemonic/validate.js} +4 -9
  455. package/mnemonic/wordlists/en.d.ts +2 -0
  456. package/{src/mnemonic/wordlists/en.ts → mnemonic/wordlists/en.js} +0 -6
  457. package/mnemonic/wordlists/es.d.ts +2 -0
  458. package/{src/mnemonic/wordlists/es.ts → mnemonic/wordlists/es.js} +0 -6
  459. package/mnemonic/wordlists/fr.d.ts +2 -0
  460. package/{src/mnemonic/wordlists/fr.ts → mnemonic/wordlists/fr.js} +0 -6
  461. package/mnemonic/wordlists/index.d.ts +8 -0
  462. package/mnemonic/wordlists/index.js +8 -0
  463. package/mnemonic/wordlists/it.d.ts +2 -0
  464. package/{src/mnemonic/wordlists/it.ts → mnemonic/wordlists/it.js} +0 -6
  465. package/mnemonic/wordlists/jp.d.ts +2 -0
  466. package/{src/mnemonic/wordlists/jp.ts → mnemonic/wordlists/jp.js} +0 -6
  467. package/mnemonic/wordlists/ko.d.ts +2 -0
  468. package/{src/mnemonic/wordlists/ko.ts → mnemonic/wordlists/ko.js} +0 -6
  469. package/mnemonic/wordlists/zh-s.d.ts +2 -0
  470. package/{src/mnemonic/wordlists/zh-s.ts → mnemonic/wordlists/zh-s.js} +0 -6
  471. package/mnemonic/wordlists/zh-t.d.ts +2 -0
  472. package/{src/mnemonic/wordlists/zh-t.ts → mnemonic/wordlists/zh-t.js} +0 -6
  473. package/nacl/decrypt.d.ts +15 -0
  474. package/{src/nacl/decrypt.ts → nacl/decrypt.js} +2 -6
  475. package/nacl/encrypt.d.ts +20 -0
  476. package/{src/nacl/encrypt.ts → nacl/encrypt.js} +5 -14
  477. package/nacl/index.d.ts +5 -0
  478. package/nacl/index.js +5 -0
  479. package/nacl/tweetnacl.d.ts +2 -0
  480. package/nacl/tweetnacl.js +234 -0
  481. package/networks.d.ts +1 -0
  482. package/networks.js +1 -0
  483. package/package.json +2022 -10
  484. package/packageDetect.d.ts +1 -0
  485. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  486. package/packageInfo.d.ts +6 -0
  487. package/packageInfo.js +1 -0
  488. package/pbkdf2/encode.d.ts +7 -0
  489. package/pbkdf2/encode.js +16 -0
  490. package/pbkdf2/index.d.ts +1 -0
  491. package/pbkdf2/index.js +1 -0
  492. package/random/asNumber.d.ts +15 -0
  493. package/{src/random/asNumber.ts → random/asNumber.js} +2 -10
  494. package/random/asU8a.d.ts +20 -0
  495. package/{src/random/asU8a.ts → random/asU8a.js} +2 -8
  496. package/random/index.d.ts +5 -0
  497. package/random/index.js +5 -0
  498. package/scrypt/defaults.d.ts +3 -0
  499. package/scrypt/defaults.js +13 -0
  500. package/scrypt/encode.d.ts +8 -0
  501. package/scrypt/encode.js +15 -0
  502. package/scrypt/fromU8a.d.ts +7 -0
  503. package/scrypt/fromU8a.js +24 -0
  504. package/scrypt/index.d.ts +3 -0
  505. package/scrypt/index.js +3 -0
  506. package/scrypt/toU8a.d.ts +2 -0
  507. package/scrypt/toU8a.js +5 -0
  508. package/scrypt/types.d.ts +6 -0
  509. package/scrypt/types.js +1 -0
  510. package/secp256k1/compress.d.ts +1 -0
  511. package/secp256k1/compress.js +14 -0
  512. package/secp256k1/deriveHard.d.ts +1 -0
  513. package/secp256k1/deriveHard.js +10 -0
  514. package/secp256k1/expand.d.ts +1 -0
  515. package/secp256k1/expand.js +17 -0
  516. package/secp256k1/hasher.d.ts +2 -0
  517. package/secp256k1/hasher.js +7 -0
  518. package/secp256k1/index.d.ts +7 -0
  519. package/secp256k1/index.js +7 -0
  520. package/secp256k1/pair/fromSeed.d.ts +6 -0
  521. package/secp256k1/pair/fromSeed.js +31 -0
  522. package/secp256k1/recover.d.ts +6 -0
  523. package/secp256k1/recover.js +26 -0
  524. package/secp256k1/sign.d.ts +7 -0
  525. package/secp256k1/sign.js +20 -0
  526. package/secp256k1/tweakAdd.d.ts +1 -0
  527. package/secp256k1/tweakAdd.js +45 -0
  528. package/secp256k1/types.d.ts +1 -0
  529. package/secp256k1/types.js +1 -0
  530. package/secp256k1/verify.d.ts +6 -0
  531. package/secp256k1/verify.js +20 -0
  532. package/sha/asU8a.d.ts +15 -0
  533. package/{src/sha/asU8a.ts → sha/asU8a.js} +1 -12
  534. package/sha/index.d.ts +4 -0
  535. package/sha/index.js +4 -0
  536. package/signature/index.d.ts +4 -0
  537. package/signature/index.js +4 -0
  538. package/signature/verify.d.ts +2 -0
  539. package/signature/verify.js +78 -0
  540. package/sr25519/agreement.d.ts +5 -0
  541. package/sr25519/agreement.js +17 -0
  542. package/sr25519/derive.d.ts +2 -0
  543. package/sr25519/derive.js +12 -0
  544. package/sr25519/deriveHard.d.ts +1 -0
  545. package/{src/sr25519/deriveHard.ts → sr25519/deriveHard.js} +0 -6
  546. package/sr25519/derivePublic.d.ts +1 -0
  547. package/sr25519/derivePublic.js +12 -0
  548. package/sr25519/deriveSoft.d.ts +1 -0
  549. package/{src/sr25519/deriveSoft.ts → sr25519/deriveSoft.js} +0 -6
  550. package/sr25519/index.d.ts +9 -0
  551. package/sr25519/index.js +9 -0
  552. package/sr25519/pair/fromSeed.d.ts +6 -0
  553. package/sr25519/pair/fromSeed.js +18 -0
  554. package/sr25519/pair/fromU8a.d.ts +2 -0
  555. package/sr25519/pair/fromU8a.js +14 -0
  556. package/sr25519/pair/toU8a.d.ts +2 -0
  557. package/sr25519/pair/toU8a.js +4 -0
  558. package/sr25519/sign.d.ts +6 -0
  559. package/sr25519/sign.js +15 -0
  560. package/sr25519/verify.d.ts +5 -0
  561. package/sr25519/verify.js +17 -0
  562. package/sr25519/vrfSign.d.ts +6 -0
  563. package/sr25519/vrfSign.js +15 -0
  564. package/sr25519/vrfVerify.d.ts +5 -0
  565. package/sr25519/vrfVerify.js +18 -0
  566. package/types.d.ts +26 -0
  567. package/types.js +2 -0
  568. package/xxhash/asU8a.d.ts +20 -0
  569. package/{src/xxhash/asU8a.ts → xxhash/asU8a.js} +11 -21
  570. package/xxhash/index.d.ts +4 -0
  571. package/xxhash/index.js +4 -0
  572. package/xxhash/xxhash64.d.ts +1 -0
  573. package/xxhash/xxhash64.js +100 -0
  574. package/src/address/addressToEvm.spec.ts +0 -16
  575. package/src/address/addressToEvm.ts +0 -12
  576. package/src/address/check.spec.ts +0 -44
  577. package/src/address/check.ts +0 -34
  578. package/src/address/checksum.spec.ts +0 -45
  579. package/src/address/checksum.ts +0 -25
  580. package/src/address/decode.spec.ts +0 -138
  581. package/src/address/decode.ts +0 -41
  582. package/src/address/defaults.ts +0 -12
  583. package/src/address/derive.spec.ts +0 -26
  584. package/src/address/derive.ts +0 -36
  585. package/src/address/encode.spec.ts +0 -177
  586. package/src/address/encode.ts +0 -43
  587. package/src/address/encodeDerived.spec.ts +0 -14
  588. package/src/address/encodeDerived.ts +0 -19
  589. package/src/address/encodeMulti.spec.ts +0 -18
  590. package/src/address/encodeMulti.ts +0 -18
  591. package/src/address/eq.spec.ts +0 -45
  592. package/src/address/evmToAddress.spec.ts +0 -20
  593. package/src/address/evmToAddress.ts +0 -24
  594. package/src/address/is.spec.ts +0 -113
  595. package/src/address/is.ts +0 -14
  596. package/src/address/keyDerived.spec.ts +0 -24
  597. package/src/address/keyDerived.ts +0 -22
  598. package/src/address/keyMulti.spec.ts +0 -20
  599. package/src/address/keyMulti.ts +0 -23
  600. package/src/address/setSS58Format.spec.ts +0 -21
  601. package/src/address/setSS58Format.ts +0 -20
  602. package/src/address/sort.spec.ts +0 -22
  603. package/src/address/sort.ts +0 -17
  604. package/src/address/sshash.ts +0 -12
  605. package/src/address/types.ts +0 -6
  606. package/src/address/util.ts +0 -8
  607. package/src/address/validate.spec.ts +0 -113
  608. package/src/address/validate.ts +0 -10
  609. package/src/base32/decode.spec.ts +0 -34
  610. package/src/base32/encode.spec.ts +0 -30
  611. package/src/base32/helpers.ts +0 -93
  612. package/src/base32/is.spec.ts +0 -32
  613. package/src/base32/validate.spec.ts +0 -44
  614. package/src/base58/decode.spec.ts +0 -31
  615. package/src/base58/encode.spec.ts +0 -26
  616. package/src/base58/validate.spec.ts +0 -20
  617. package/src/base64/decode.spec.ts +0 -42
  618. package/src/base64/encode.spec.ts +0 -14
  619. package/src/base64/pad.spec.ts +0 -14
  620. package/src/base64/pad.ts +0 -10
  621. package/src/base64/trim.spec.ts +0 -14
  622. package/src/base64/trim.ts +0 -14
  623. package/src/base64/validate.spec.ts +0 -32
  624. package/src/blake2/asHex.spec.ts +0 -57
  625. package/src/blake2/asU8a.spec.ts +0 -74
  626. package/src/bundleInit.ts +0 -11
  627. package/src/crypto.spec.ts +0 -18
  628. package/src/crypto.ts +0 -18
  629. package/src/ed25519/deriveHard.ts +0 -18
  630. package/src/ed25519/pair/fromRandom.spec.ts +0 -28
  631. package/src/ed25519/pair/fromSecret.spec.ts +0 -33
  632. package/src/ed25519/pair/fromSeed.spec.ts +0 -42
  633. package/src/ed25519/pair/fromString.spec.ts +0 -17
  634. package/src/ed25519/sign.spec.ts +0 -40
  635. package/src/ed25519/sign.ts +0 -38
  636. package/src/ed25519/verify.spec.ts +0 -84
  637. package/src/ed25519/verify.ts +0 -41
  638. package/src/ethereum/encode.spec.ts +0 -59
  639. package/src/ethereum/encode.ts +0 -39
  640. package/src/ethereum/isAddress.spec.ts +0 -34
  641. package/src/ethereum/isAddress.ts +0 -16
  642. package/src/ethereum/isChecksum.ts +0 -27
  643. package/src/ethereum/isCheksum.spec.ts +0 -30
  644. package/src/hd/ethereum/index.spec.ts +0 -54
  645. package/src/hd/ethereum/index.ts +0 -69
  646. package/src/hd/ledger/derivePrivate.ts +0 -34
  647. package/src/hd/ledger/index.spec.ts +0 -64
  648. package/src/hd/ledger/index.ts +0 -42
  649. package/src/hd/ledger/master.spec.ts +0 -19
  650. package/src/hd/ledger/master.ts +0 -26
  651. package/src/hd/validatePath.spec.ts +0 -30
  652. package/src/hd/validatePath.ts +0 -24
  653. package/src/helpers.ts +0 -38
  654. package/src/hmac/index.ts +0 -4
  655. package/src/hmac/shaAsU8a.spec.ts +0 -45
  656. package/src/index.ts +0 -6
  657. package/src/json/constants.ts +0 -11
  658. package/src/json/decrypt.ts +0 -25
  659. package/src/json/decryptData.ts +0 -45
  660. package/src/json/encrypt.ts +0 -25
  661. package/src/json/encryptFormat.ts +0 -20
  662. package/src/json/types.ts +0 -22
  663. package/src/keccak/asHex.spec.ts +0 -30
  664. package/src/keccak/asU8a.spec.ts +0 -56
  665. package/src/key/DeriveJunction.ts +0 -79
  666. package/src/key/extractPath.spec.ts +0 -51
  667. package/src/key/extractPath.ts +0 -37
  668. package/src/key/extractSuri.spec.ts +0 -147
  669. package/src/key/extractSuri.ts +0 -40
  670. package/src/key/fromPath.ts +0 -28
  671. package/src/key/hdkdDerive.ts +0 -17
  672. package/src/key/hdkdSr25519.ts +0 -14
  673. package/src/mnemonic/bip39.spec.ts +0 -80
  674. package/src/mnemonic/bip39.ts +0 -127
  675. package/src/mnemonic/generate.spec.ts +0 -58
  676. package/src/mnemonic/toEntropy.spec.ts +0 -36
  677. package/src/mnemonic/toEntropy.ts +0 -13
  678. package/src/mnemonic/toLegacySeed.spec.ts +0 -52
  679. package/src/mnemonic/toMiniSecret.spec.ts +0 -67
  680. package/src/mnemonic/toMiniSecret.ts +0 -23
  681. package/src/mnemonic/toMiniSecretCmp.spec.ts +0 -64
  682. package/src/mnemonic/validate.spec.ts +0 -39
  683. package/src/mod.ts +0 -4
  684. package/src/nacl/decrypt.spec.ts +0 -26
  685. package/src/nacl/encrypt.spec.ts +0 -20
  686. package/src/nacl/tweetnacl-secretbox-data.spec.ts +0 -4629
  687. package/src/nacl/tweetnacl-secretbox.spec.ts +0 -161
  688. package/src/nacl/tweetnacl.ts +0 -1159
  689. package/src/networks.ts +0 -5
  690. package/src/packageInfo.ts +0 -6
  691. package/src/pbkdf2/encode.spec.ts +0 -54
  692. package/src/pbkdf2/encode.ts +0 -29
  693. package/src/pbkdf2/index.ts +0 -4
  694. package/src/random/asHex.spec.ts +0 -38
  695. package/src/random/asNumber.spec.ts +0 -16
  696. package/src/random/asU8a.spec.ts +0 -36
  697. package/src/scrypt/defaults.ts +0 -19
  698. package/src/scrypt/encode.spec.ts +0 -43
  699. package/src/scrypt/encode.ts +0 -30
  700. package/src/scrypt/fromU8a.ts +0 -44
  701. package/src/scrypt/toU8a.ts +0 -17
  702. package/src/scrypt/types.ts +0 -9
  703. package/src/secp256k1/compress.spec.ts +0 -47
  704. package/src/secp256k1/compress.ts +0 -21
  705. package/src/secp256k1/deriveHard.ts +0 -17
  706. package/src/secp256k1/expand.spec.ts +0 -47
  707. package/src/secp256k1/expand.ts +0 -30
  708. package/src/secp256k1/hasher.spec.ts +0 -24
  709. package/src/secp256k1/hasher.ts +0 -13
  710. package/src/secp256k1/pair/fromSeed.spec.ts +0 -75
  711. package/src/secp256k1/pair/fromSeed.ts +0 -42
  712. package/src/secp256k1/recover.spec.ts +0 -35
  713. package/src/secp256k1/recover.ts +0 -36
  714. package/src/secp256k1/sign.spec.ts +0 -39
  715. package/src/secp256k1/sign.ts +0 -37
  716. package/src/secp256k1/signVerify.spec.ts +0 -94
  717. package/src/secp256k1/tweakAdd.spec.ts +0 -35
  718. package/src/secp256k1/tweakAdd.ts +0 -65
  719. package/src/secp256k1/types.ts +0 -4
  720. package/src/secp256k1/verify.spec.ts +0 -81
  721. package/src/secp256k1/verify.ts +0 -32
  722. package/src/sha/asU8a256.spec.ts +0 -55
  723. package/src/sha/asU8a512.spec.ts +0 -33
  724. package/src/signature/index.ts +0 -8
  725. package/src/signature/verify.spec.ts +0 -230
  726. package/src/signature/verify.ts +0 -114
  727. package/src/sr25519/agreement.spec.ts +0 -31
  728. package/src/sr25519/agreement.ts +0 -23
  729. package/src/sr25519/derive.ts +0 -21
  730. package/src/sr25519/derivePublic.ts +0 -18
  731. package/src/sr25519/pair/fromSeed.spec.ts +0 -35
  732. package/src/sr25519/pair/fromSeed.ts +0 -28
  733. package/src/sr25519/pair/fromU8a.ts +0 -23
  734. package/src/sr25519/pair/testing.spec.ts +0 -161
  735. package/src/sr25519/pair/toU8a.ts +0 -10
  736. package/src/sr25519/sign.spec.ts +0 -28
  737. package/src/sr25519/sign.ts +0 -22
  738. package/src/sr25519/verify.spec.ts +0 -42
  739. package/src/sr25519/verify.ts +0 -23
  740. package/src/sr25519/vrfSign.ts +0 -24
  741. package/src/sr25519/vrfSignVerify.spec.ts +0 -73
  742. package/src/sr25519/vrfVerify.ts +0 -25
  743. package/src/test/index.ts +0 -8
  744. package/src/test/performance.ts +0 -17
  745. package/src/types.ts +0 -33
  746. package/src/xxhash/asHex.spec.ts +0 -36
  747. package/src/xxhash/asU8a.spec.ts +0 -48
  748. package/src/xxhash/xxhash64.ts +0 -155
  749. package/tsconfig.build.json +0 -18
  750. package/tsconfig.spec.json +0 -20
@@ -1,42 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { stringToU8a } from '@pezkuwi/util';
7
- import { waitReady } from '@pezkuwi/wasm-crypto';
8
-
9
- import { ed25519PairFromSeed } from '../index.js';
10
-
11
- describe('ed25519PairFromSeed', (): void => {
12
- // NOTE: Aligned with Rust test, b"12345678901234567890123456789012"
13
- const TEST = stringToU8a('12345678901234567890123456789012');
14
- const RESULT = {
15
- publicKey: new Uint8Array([
16
- 0x2f, 0x8c, 0x61, 0x29, 0xd8, 0x16, 0xcf, 0x51,
17
- 0xc3, 0x74, 0xbc, 0x7f, 0x08, 0xc3, 0xe6, 0x3e,
18
- 0xd1, 0x56, 0xcf, 0x78, 0xae, 0xfb, 0x4a, 0x65,
19
- 0x50, 0xd9, 0x7b, 0x87, 0x99, 0x79, 0x77, 0xee
20
- ]),
21
- secretKey: new Uint8Array([
22
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50,
23
- // public part
24
- 0x2f, 0x8c, 0x61, 0x29, 0xd8, 0x16, 0xcf, 0x51,
25
- 0xc3, 0x74, 0xbc, 0x7f, 0x08, 0xc3, 0xe6, 0x3e,
26
- 0xd1, 0x56, 0xcf, 0x78, 0xae, 0xfb, 0x4a, 0x65,
27
- 0x50, 0xd9, 0x7b, 0x87, 0x99, 0x79, 0x77, 0xee
28
- ])
29
- };
30
-
31
- beforeEach(async (): Promise<void> => {
32
- await waitReady();
33
- });
34
-
35
- it('generates a valid publicKey/secretKey pair (u8a)', (): void => {
36
- [true, false].forEach((onlyJs): void => {
37
- expect(
38
- ed25519PairFromSeed(TEST, onlyJs)
39
- ).toEqual(RESULT);
40
- });
41
- });
42
- });
@@ -1,17 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { ed25519PairFromString } from '../index.js';
7
-
8
- describe('ed25519PairFromSeed', (): void => {
9
- it('generates a valid publicKey/secretKey pair', (): void => {
10
- expect(
11
- ed25519PairFromString('test')
12
- ).toEqual({
13
- publicKey: new Uint8Array([188, 108, 179, 142, 36, 142, 76, 87, 77, 193, 147, 139, 254, 110, 196, 217, 117, 233, 167, 165, 250, 150, 247, 237, 198, 68, 129, 4, 211, 209, 136, 48]),
14
- secretKey: new Uint8Array([146, 139, 32, 54, 105, 67, 226, 175, 209, 30, 188, 14, 174, 46, 83, 169, 59, 241, 119, 164, 252, 243, 91, 204, 100, 213, 3, 112, 78, 101, 226, 2, 188, 108, 179, 142, 36, 142, 76, 87, 77, 193, 147, 139, 254, 110, 196, 217, 117, 233, 167, 165, 250, 150, 247, 237, 198, 68, 129, 4, 211, 209, 136, 48])
15
- });
16
- });
17
- });
@@ -1,40 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { stringToU8a } from '@pezkuwi/util';
7
- import { waitReady } from '@pezkuwi/wasm-crypto';
8
-
9
- import { perfWasm } from '../test/index.js';
10
- import { ed25519PairFromSeed, ed25519Sign } from './index.js';
11
-
12
- const PAIR = ed25519PairFromSeed(
13
- stringToU8a('12345678901234567890123456789012')
14
- );
15
-
16
- describe('ed25519Sign', (): void => {
17
- beforeEach(async (): Promise<void> => {
18
- await waitReady();
19
- });
20
-
21
- for (const onlyJs of [false, true]) {
22
- describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
23
- it('returns a valid signature for the message', (): void => {
24
- expect(
25
- ed25519Sign(
26
- new Uint8Array([0x61, 0x62, 0x63, 0x64]),
27
- PAIR,
28
- onlyJs
29
- )
30
- ).toEqual(
31
- new Uint8Array([28, 58, 206, 239, 249, 70, 59, 191, 166, 40, 219, 218, 235, 170, 25, 79, 10, 94, 9, 197, 34, 126, 1, 150, 246, 68, 28, 238, 36, 26, 172, 163, 168, 90, 202, 211, 126, 246, 57, 212, 43, 24, 88, 197, 240, 113, 118, 76, 37, 81, 91, 110, 236, 50, 144, 134, 100, 223, 220, 238, 34, 185, 211, 7])
32
- );
33
- });
34
- });
35
- }
36
-
37
- perfWasm('ed25519Sign', 250, (input, onlyJs) =>
38
- ed25519Sign(input, PAIR, onlyJs)
39
- );
40
- });
@@ -1,38 +0,0 @@
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
-
6
- import { ed25519 } from '@noble/curves/ed25519';
7
-
8
- import { hasBigInt, u8aToU8a } from '@pezkuwi/util';
9
- import { ed25519Sign as wasmSign, isReady } from '@pezkuwi/wasm-crypto';
10
-
11
- /**
12
- * @name ed25519Sign
13
- * @summary Signs a message using the supplied secretKey
14
- * @description
15
- * Returns message signature of `message`, using the `secretKey`.
16
- * @example
17
- * <BR>
18
- *
19
- * ```javascript
20
- * import { ed25519Sign } from '@pezkuwi/util-crypto';
21
- *
22
- * ed25519Sign([...], [...]); // => [...]
23
- * ```
24
- */
25
- export function ed25519Sign (message: string | Uint8Array, { publicKey, secretKey }: Partial<Keypair>, onlyJs?: boolean): Uint8Array {
26
- if (!secretKey) {
27
- throw new Error('Expected a valid secretKey');
28
- } else if (!publicKey) {
29
- throw new Error('Expected a valid publicKey');
30
- }
31
-
32
- const messageU8a = u8aToU8a(message);
33
- const privateU8a = secretKey.subarray(0, 32);
34
-
35
- return !hasBigInt || (!onlyJs && isReady())
36
- ? wasmSign(publicKey, privateU8a, messageU8a)
37
- : ed25519.sign(messageU8a, privateU8a);
38
- }
@@ -1,84 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { stringToU8a } from '@pezkuwi/util';
7
- import { waitReady } from '@pezkuwi/wasm-crypto';
8
-
9
- import { ed25519PairFromSeed, ed25519Verify } from './index.js';
10
-
11
- describe('ed25519Verify', (): void => {
12
- let publicKey: Uint8Array;
13
- let signature: Uint8Array;
14
-
15
- beforeEach(async (): Promise<void> => {
16
- await waitReady();
17
-
18
- publicKey = ed25519PairFromSeed(
19
- stringToU8a('12345678901234567890123456789012')
20
- ).publicKey;
21
- signature = new Uint8Array([28, 58, 206, 239, 249, 70, 59, 191, 166, 40, 219, 218, 235, 170, 25, 79, 10, 94, 9, 197, 34, 126, 1, 150, 246, 68, 28, 238, 36, 26, 172, 163, 168, 90, 202, 211, 126, 246, 57, 212, 43, 24, 88, 197, 240, 113, 118, 76, 37, 81, 91, 110, 236, 50, 144, 134, 100, 223, 220, 238, 34, 185, 211, 7]);
22
- });
23
-
24
- for (const onlyJs of [false, true]) {
25
- describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
26
- it('validates a correctly signed message', (): void => {
27
- expect(
28
- ed25519Verify(
29
- new Uint8Array([0x61, 0x62, 0x63, 0x64]),
30
- signature,
31
- publicKey,
32
- onlyJs
33
- )
34
- ).toEqual(true);
35
- });
36
-
37
- it('fails a correctly signed message (message changed)', (): void => {
38
- expect(
39
- ed25519Verify(
40
- new Uint8Array([0x61, 0x62, 0x63, 0x64, 0x65]),
41
- signature,
42
- publicKey,
43
- onlyJs
44
- )
45
- ).toEqual(false);
46
- });
47
-
48
- it('fails a correctly signed message (signature changed)', (): void => {
49
- signature[0] = 0xff;
50
-
51
- expect(
52
- ed25519Verify(
53
- new Uint8Array([0x61, 0x62, 0x63, 0x64]),
54
- signature,
55
- publicKey,
56
- onlyJs
57
- )
58
- ).toEqual(false);
59
- });
60
-
61
- it('throws error when publicKey lengths do not match', (): void => {
62
- expect(
63
- () => ed25519Verify(
64
- new Uint8Array([0x61, 0x62, 0x63, 0x64]),
65
- signature,
66
- new Uint8Array([1, 2]),
67
- onlyJs
68
- )
69
- ).toThrow(/Invalid publicKey/);
70
- });
71
-
72
- it('throws error when signature lengths do not match', (): void => {
73
- expect(
74
- () => ed25519Verify(
75
- new Uint8Array([0x61, 0x62, 0x63, 0x64]),
76
- new Uint8Array([1, 2]),
77
- publicKey,
78
- onlyJs
79
- )
80
- ).toThrow(/Invalid signature/);
81
- });
82
- });
83
- }
84
- });
@@ -1,41 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { ed25519 } from '@noble/curves/ed25519';
5
-
6
- import { hasBigInt, u8aToU8a } from '@pezkuwi/util';
7
- import { ed25519Verify as wasmVerify, isReady } from '@pezkuwi/wasm-crypto';
8
-
9
- /**
10
- * @name ed25519Sign
11
- * @summary Verifies the signature on the supplied message.
12
- * @description
13
- * Verifies the `signature` on `message` with the supplied `publicKey`. Returns `true` on sucess, `false` otherwise.
14
- * @example
15
- * <BR>
16
- *
17
- * ```javascript
18
- * import { ed25519Verify } from '@pezkuwi/util-crypto';
19
- *
20
- * ed25519Verify([...], [...], [...]); // => true/false
21
- * ```
22
- */
23
- export function ed25519Verify (message: string | Uint8Array, signature: string | Uint8Array, publicKey: string | Uint8Array, onlyJs?: boolean): boolean {
24
- const messageU8a = u8aToU8a(message);
25
- const publicKeyU8a = u8aToU8a(publicKey);
26
- const signatureU8a = u8aToU8a(signature);
27
-
28
- if (publicKeyU8a.length !== 32) {
29
- throw new Error(`Invalid publicKey, received ${publicKeyU8a.length}, expected 32`);
30
- } else if (signatureU8a.length !== 64) {
31
- throw new Error(`Invalid signature, received ${signatureU8a.length} bytes, expected 64`);
32
- }
33
-
34
- try {
35
- return !hasBigInt || (!onlyJs && isReady())
36
- ? wasmVerify(signatureU8a, messageU8a, publicKeyU8a)
37
- : ed25519.verify(signatureU8a, messageU8a, publicKeyU8a);
38
- } catch {
39
- return false;
40
- }
41
- }
@@ -1,59 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { keccakAsU8a } from '../keccak/index.js';
7
- import { ethereumEncode } from './index.js';
8
-
9
- describe('formatAddress', () => {
10
- describe('address to address encoding', (): void => {
11
- const ADDRESS = '0x00a329c0648769A73afAc7F9381E08FB43dBEA72';
12
-
13
- it('returns 0x for no address', () => {
14
- expect(ethereumEncode()).toBe('0x');
15
- });
16
-
17
- it('returns fails on invalid address', () => {
18
- expect(
19
- () => ethereumEncode('0xnotaddress')
20
- ).toThrow(/Invalid address or publicKey provided/);
21
- });
22
-
23
- it('converts lowercase to the checksummed address', () => {
24
- expect(ethereumEncode(ADDRESS.toLowerCase())).toBe(ADDRESS);
25
- });
26
-
27
- it('converts uppercase to the checksummed address', () => {
28
- expect(ethereumEncode(ADDRESS.toUpperCase().replace('0X', '0x'))).toBe(ADDRESS);
29
- });
30
-
31
- it('returns formatted address on checksum input', () => {
32
- expect(ethereumEncode(ADDRESS)).toBe(ADDRESS);
33
- });
34
- });
35
-
36
- describe('from publicKey', (): void => {
37
- const ADDRESS = '0x4119b2e6c3Cb618F4f0B93ac77f9BeeC7FF02887';
38
-
39
- it('encodes a compressed publicKey', (): void => {
40
- expect(
41
- ethereumEncode('0x03b9dc646dd71118e5f7fda681ad9eca36eb3ee96f344f582fbe7b5bcdebb13077')
42
- ).toEqual(ADDRESS);
43
- });
44
-
45
- it('encodes an expanded publicKey', (): void => {
46
- expect(
47
- ethereumEncode('0x04b9dc646dd71118e5f7fda681ad9eca36eb3ee96f344f582fbe7b5bcdebb1307763fe926c273235fd979a134076d00fd1683cbd35868cb485d4a3a640e52184af')
48
- ).toEqual(ADDRESS);
49
- });
50
-
51
- it('encodes a pre-hashed key', (): void => {
52
- expect(
53
- ethereumEncode(
54
- keccakAsU8a('0xb9dc646dd71118e5f7fda681ad9eca36eb3ee96f344f582fbe7b5bcdebb1307763fe926c273235fd979a134076d00fd1683cbd35868cb485d4a3a640e52184af')
55
- )
56
- ).toEqual(ADDRESS);
57
- });
58
- });
59
- });
@@ -1,39 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { HexString } from '@pezkuwi/util/types';
5
-
6
- import { u8aToHex, u8aToU8a } from '@pezkuwi/util';
7
-
8
- import { keccakAsU8a } from '../keccak/index.js';
9
- import { secp256k1Expand } from '../secp256k1/index.js';
10
-
11
- function getH160 (u8a: Uint8Array): Uint8Array {
12
- if ([33, 65].includes(u8a.length)) {
13
- u8a = keccakAsU8a(secp256k1Expand(u8a));
14
- }
15
-
16
- return u8a.slice(-20);
17
- }
18
-
19
- export function ethereumEncode (addressOrPublic?: string | Uint8Array): HexString {
20
- if (!addressOrPublic) {
21
- return '0x';
22
- }
23
-
24
- const u8aAddress = u8aToU8a(addressOrPublic);
25
-
26
- if (![20, 32, 33, 65].includes(u8aAddress.length)) {
27
- throw new Error(`Invalid address or publicKey provided, received ${u8aAddress.length} bytes input`);
28
- }
29
-
30
- const address = u8aToHex(getH160(u8aAddress), -1, false);
31
- const hash = u8aToHex(keccakAsU8a(address), -1, false);
32
- let result = '';
33
-
34
- for (let i = 0; i < 40; i++) {
35
- result = `${result}${parseInt(hash[i], 16) > 7 ? address[i].toUpperCase() : address[i]}`;
36
- }
37
-
38
- return `0x${result}`;
39
- }
@@ -1,34 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { isEthereumAddress } from './index.js';
7
-
8
- const ADDRESS = '0x00a329c0648769A73afAc7F9381E08FB43dBEA72';
9
-
10
- describe('isEthereumAddress', () => {
11
- it('returns true when fully lowercase', () => {
12
- expect(isEthereumAddress(ADDRESS.toLowerCase())).toBe(true);
13
- });
14
-
15
- it('returns true when fully uppercase', () => {
16
- expect(isEthereumAddress(ADDRESS.toUpperCase().replace('0X', '0x'))).toBe(true);
17
- });
18
-
19
- it('returns true when checksummed', () => {
20
- expect(isEthereumAddress(ADDRESS)).toBe(true);
21
- });
22
-
23
- it('returns false when empty address', () => {
24
- expect(isEthereumAddress()).toBe(false);
25
- });
26
-
27
- it('returns false when invalid address', () => {
28
- expect(isEthereumAddress('0xinvalid')).toBe(false);
29
- });
30
-
31
- it('returns false when invalid address of correct length', () => {
32
- expect(isEthereumAddress('0xinvalid000123456789012345678901234567890')).toBe(false);
33
- });
34
- });
@@ -1,16 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { isHex } from '@pezkuwi/util';
5
-
6
- import { isEthereumChecksum } from './isChecksum.js';
7
-
8
- export function isEthereumAddress (address?: string): boolean {
9
- if (!address || address.length !== 42 || !isHex(address)) {
10
- return false;
11
- } else if (/^(0x)?[0-9a-f]{40}$/.test(address) || /^(0x)?[0-9A-F]{40}$/.test(address)) {
12
- return true;
13
- }
14
-
15
- return isEthereumChecksum(address);
16
- }
@@ -1,27 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { u8aToHex } from '@pezkuwi/util';
5
-
6
- import { keccakAsU8a } from '../keccak/index.js';
7
-
8
- function isInvalidChar (char: string, byte: number): boolean {
9
- return char !== (
10
- byte > 7
11
- ? char.toUpperCase()
12
- : char.toLowerCase()
13
- );
14
- }
15
-
16
- export function isEthereumChecksum (_address: string): boolean {
17
- const address = _address.replace('0x', '');
18
- const hash = u8aToHex(keccakAsU8a(address.toLowerCase()), -1, false);
19
-
20
- for (let i = 0; i < 40; i++) {
21
- if (isInvalidChar(address[i], parseInt(hash[i], 16))) {
22
- return false;
23
- }
24
- }
25
-
26
- return true;
27
- }
@@ -1,30 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { isEthereumChecksum } from './index.js';
7
-
8
- const ADDRESS = '0x00a329c0648769A73afAc7F9381E08FB43dBEA72';
9
-
10
- describe('isEthereumChecksum', () => {
11
- it('returns false on invalid address', () => {
12
- expect(isEthereumChecksum('0x00a329c0648769')).toBe(false);
13
- });
14
-
15
- it('returns false on non-checksum address', () => {
16
- expect(isEthereumChecksum('0x1234567890abcdeedcba1234567890abcdeedcba')).toBe(false);
17
- });
18
-
19
- it('returns false when fully lowercase', () => {
20
- expect(isEthereumChecksum(ADDRESS.toLowerCase())).toBe(false);
21
- });
22
-
23
- it('returns false when fully uppercase', () => {
24
- expect(isEthereumChecksum(ADDRESS.toUpperCase().replace('0X', '0x'))).toBe(false);
25
- });
26
-
27
- it('returns true on a checksummed address', () => {
28
- expect(isEthereumChecksum(ADDRESS)).toBe(true);
29
- });
30
- });
@@ -1,54 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- import { mnemonicToLegacySeed } from '@pezkuwi/util-crypto';
7
-
8
- import { hdEthereum } from './index.js';
9
-
10
- describe('hdEthereum', (): void => {
11
- const PHRASE = 'seed sock milk update focus rotate barely fade car face mechanic mercy';
12
- const derivationPath = 'm/44\'/60\'/0\'/0/0';
13
- const PUBLIC = new Uint8Array([
14
- 3, 118, 64, 77, 247, 27, 4, 157,
15
- 236, 206, 251, 221, 230, 244, 154, 147,
16
- 189, 131, 249, 169, 102, 78, 3, 185,
17
- 153, 19, 89, 40, 24, 25, 139, 131,
18
- 93
19
- ]);
20
- const SECRET = new Uint8Array([
21
- 166, 162, 203, 17, 2, 206, 110, 176,
22
- 18, 102, 230, 144, 90, 158, 25, 232,
23
- 43, 180, 176, 49, 189, 149, 3, 71,
24
- 243, 228, 223, 104, 125, 132, 58, 228
25
- ]
26
- );
27
- const PUBLICDERIVED = new Uint8Array([
28
- 3, 129, 53, 27, 27, 70, 210, 96,
29
- 43, 9, 146, 187, 93, 85, 49, 249,
30
- 193, 105, 107, 8, 18, 254, 178, 83,
31
- 75, 104, 132, 173, 196, 126, 46, 29,
32
- 139
33
- ]);
34
- const SECRETDERIVED = new Uint8Array([
35
- 7, 13, 195, 17, 115, 0, 1, 25,
36
- 24, 226, 107, 2, 23, 105, 69, 204,
37
- 21, 195, 213, 72, 207, 73, 253, 132,
38
- 24, 217, 127, 147, 175, 105, 158, 70
39
- ]);
40
-
41
- it('derives the right key pair from a mnemonic', (): void => {
42
- const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64));
43
-
44
- expect(key.publicKey).toEqual(PUBLIC);
45
- expect(key.secretKey).toEqual(SECRET);
46
- });
47
-
48
- it('derives the right key pair from a mnemonic and a derivation path', (): void => {
49
- const key = hdEthereum(mnemonicToLegacySeed(PHRASE, '', false, 64), derivationPath);
50
-
51
- expect(key.publicKey).toEqual(PUBLICDERIVED);
52
- expect(key.secretKey).toEqual(SECRETDERIVED);
53
- });
54
- });
@@ -1,69 +0,0 @@
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
-
6
- import { bnToU8a, stringToU8a, u8aConcat } from '@pezkuwi/util';
7
-
8
- import { BN_BE_32_OPTS } from '../../bn.js';
9
- import { hmacShaAsU8a } from '../../hmac/index.js';
10
- import { secp256k1PairFromSeed, secp256k1PrivateKeyTweakAdd } from '../../secp256k1/index.js';
11
- import { HARDENED, hdValidatePath } from '../validatePath.js';
12
-
13
- interface CodedKeypair extends Keypair {
14
- chainCode: Uint8Array;
15
- }
16
-
17
- const MASTER_SECRET = stringToU8a('Bitcoin seed');
18
-
19
- function createCoded (secretKey: Uint8Array, chainCode: Uint8Array): CodedKeypair {
20
- return {
21
- chainCode,
22
- publicKey: secp256k1PairFromSeed(secretKey).publicKey,
23
- secretKey
24
- };
25
- }
26
-
27
- function deriveChild (hd: CodedKeypair, index: number): CodedKeypair {
28
- const indexBuffer = bnToU8a(index, BN_BE_32_OPTS);
29
- const data = index >= HARDENED
30
- ? u8aConcat(new Uint8Array(1), hd.secretKey, indexBuffer)
31
- : u8aConcat(hd.publicKey, indexBuffer);
32
-
33
- try {
34
- const I = hmacShaAsU8a(hd.chainCode, data, 512);
35
-
36
- return createCoded(
37
- secp256k1PrivateKeyTweakAdd(hd.secretKey, I.slice(0, 32)),
38
- I.slice(32)
39
- );
40
- } catch {
41
- // In case parse256(IL) >= n or ki == 0, proceed with the next value for i
42
- return deriveChild(hd, index + 1);
43
- }
44
- }
45
-
46
- export function hdEthereum (seed: Uint8Array, path = ''): Keypair {
47
- const I = hmacShaAsU8a(MASTER_SECRET, seed, 512);
48
- let hd = createCoded(I.slice(0, 32), I.slice(32));
49
-
50
- if (!path || path === 'm' || path === 'M' || path === "m'" || path === "M'") {
51
- return hd;
52
- }
53
-
54
- if (!hdValidatePath(path)) {
55
- throw new Error('Invalid derivation path');
56
- }
57
-
58
- const parts = path.split('/').slice(1);
59
-
60
- for (const p of parts) {
61
- hd = deriveChild(hd, parseInt(p, 10) + (
62
- (p.length > 1) && p.endsWith("'")
63
- ? HARDENED
64
- : 0
65
- ));
66
- }
67
-
68
- return hd;
69
- }
@@ -1,34 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { BN_EIGHT, bnToU8a, u8aConcat, u8aToBn } from '@pezkuwi/util';
5
-
6
- import { BN_LE_32_OPTS, BN_LE_512_OPTS, BN_LE_OPTS } from '../../bn.js';
7
- import { hmacShaAsU8a } from '../../hmac/index.js';
8
-
9
- // performs hard-only derivation on the xprv
10
- export function ledgerDerivePrivate (xprv: Uint8Array, index: number): Uint8Array {
11
- const kl = xprv.subarray(0, 32);
12
- const kr = xprv.subarray(32, 64);
13
- const cc = xprv.subarray(64, 96);
14
- const data = u8aConcat([0], kl, kr, bnToU8a(index, BN_LE_32_OPTS));
15
- const z = hmacShaAsU8a(cc, data, 512);
16
-
17
- data[0] = 0x01;
18
-
19
- return u8aConcat(
20
- bnToU8a(
21
- u8aToBn(kl, BN_LE_OPTS).iadd(
22
- u8aToBn(z.subarray(0, 28), BN_LE_OPTS).imul(BN_EIGHT)
23
- ),
24
- BN_LE_512_OPTS
25
- ).subarray(0, 32),
26
- bnToU8a(
27
- u8aToBn(kr, BN_LE_OPTS).iadd(
28
- u8aToBn(z.subarray(32, 64), BN_LE_OPTS)
29
- ),
30
- BN_LE_512_OPTS
31
- ).subarray(0, 32),
32
- hmacShaAsU8a(cc, data, 512).subarray(32, 64)
33
- );
34
- }