@pezkuwi/util-crypto 14.0.1 → 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 +2020 -8
  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,93 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import type { U8aLike } from '@pezkuwi/util/types';
5
-
6
- import { u8aToU8a } from '@pezkuwi/util';
7
-
8
- // re-export the type so *.d.ts files don't have ../src imports
9
- export type { U8aLike } from '@pezkuwi/util/types';
10
-
11
- interface Coder {
12
- decode: (value: string) => Uint8Array;
13
- encode: (value: Uint8Array) => string;
14
- }
15
-
16
- interface Config {
17
- chars: string;
18
- coder: Coder;
19
- ipfs?: string;
20
- regex?: RegExp;
21
- type: string;
22
- withPadding?: boolean;
23
- }
24
-
25
- type DecodeFn = (value: string, ipfsCompat?: boolean) => Uint8Array;
26
-
27
- type EncodeFn = (value: U8aLike, ipfsCompat?: boolean) => string;
28
-
29
- type ValidateFn = (value?: unknown, ipfsCompat?: boolean) => value is string;
30
-
31
- /** @internal */
32
- export function createDecode ({ coder, ipfs }: Config, validate: ValidateFn): DecodeFn {
33
- return (value: string, ipfsCompat?: boolean): Uint8Array => {
34
- validate(value, ipfsCompat);
35
-
36
- return coder.decode(
37
- ipfs && ipfsCompat
38
- ? value.substring(1)
39
- : value
40
- );
41
- };
42
- }
43
-
44
- /** @internal */
45
- export function createEncode ({ coder, ipfs }: Config): EncodeFn {
46
- return (value: U8aLike, ipfsCompat?: boolean): string => {
47
- const out = coder.encode(u8aToU8a(value));
48
-
49
- return ipfs && ipfsCompat
50
- ? `${ipfs}${out}`
51
- : out;
52
- };
53
- }
54
-
55
- /** @internal */
56
- export function createIs (validate: ValidateFn): ValidateFn {
57
- return (value?: unknown, ipfsCompat?: boolean): value is string => {
58
- try {
59
- return validate(value, ipfsCompat);
60
- } catch {
61
- return false;
62
- }
63
- };
64
- }
65
-
66
- /** @internal */
67
- export function createValidate ({ chars, ipfs, type, withPadding }: Config): ValidateFn {
68
- return (value?: unknown, ipfsCompat?: boolean): value is string => {
69
- if (typeof value !== 'string') {
70
- throw new Error(`Expected ${type} string input`);
71
- } else if (ipfs && ipfsCompat && !value.startsWith(ipfs)) {
72
- throw new Error(`Expected ipfs-compatible ${type} to start with '${ipfs}'`);
73
- }
74
-
75
- for (let i = (ipfsCompat ? 1 : 0), count = value.length; i < count; i++) {
76
- if (chars.includes(value[i])) {
77
- // all ok, character found
78
- } else if (withPadding && value[i] === '=') {
79
- if (i === count - 1) {
80
- // last character, everything ok
81
- } else if (value[i + 1] === '=') {
82
- // next one is also padding, sequence ok
83
- } else {
84
- throw new Error(`Invalid ${type} padding sequence "${value[i]}${value[i + 1]}" at index ${i}`);
85
- }
86
- } else {
87
- throw new Error(`Invalid ${type} character "${value[i]}" (0x${value.charCodeAt(i).toString(16)}) at index ${i}`);
88
- }
89
- }
90
-
91
- return true;
92
- };
93
- }
@@ -1,32 +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 { isBase32 } from './index.js';
7
-
8
- describe('isBase32', (): void => {
9
- it('validates encoded', (): void => {
10
- expect(
11
- isBase32('afkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', false)
12
- ).toEqual(true);
13
- });
14
-
15
- it('validates ipfs-compat encoded', (): void => {
16
- expect(
17
- isBase32('bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', false)
18
- ).toEqual(true);
19
- });
20
-
21
- it('fails on invalid', (): void => {
22
- expect(
23
- isBase32('not in base32')
24
- ).toEqual(false);
25
- });
26
-
27
- it('fails on non-ipfs', (): void => {
28
- expect(
29
- isBase32('afkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true)
30
- ).toEqual(false);
31
- });
32
- });
@@ -1,44 +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 { base32Validate } from './index.js';
7
-
8
- describe('base32Validate', (): void => {
9
- it('validates encoded', (): void => {
10
- expect(
11
- base32Validate('afkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', false)
12
- ).toEqual(true);
13
- });
14
-
15
- it('validates ipfs-compat encoded', (): void => {
16
- expect(
17
- base32Validate('bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true)
18
- ).toEqual(true);
19
- });
20
-
21
- it('does not fail on empty', (): void => {
22
- expect(
23
- base32Validate('')
24
- ).toEqual(true);
25
- });
26
-
27
- it('fails on non-string', (): void => {
28
- expect(
29
- () => base32Validate(true)
30
- ).toThrow(/Expected/);
31
- });
32
-
33
- it('fails on invalid', (): void => {
34
- expect(
35
- () => base32Validate('not in base32')
36
- ).toThrow(/Invalid/);
37
- });
38
-
39
- it('fails on non-ipfs', (): void => {
40
- expect(
41
- () => base32Validate('afkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true)
42
- ).toThrow(/Expected/);
43
- });
44
- });
@@ -1,31 +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 { base32Decode } from '../base32/index.js';
7
- import { base58Decode } from './index.js';
8
-
9
- describe('base58Encode', (): void => {
10
- it('decodes an empty string)', (): void => {
11
- expect(
12
- base58Decode('')
13
- ).toEqual(new Uint8Array());
14
- });
15
-
16
- it('encodes a base58 to a base32', (): void => {
17
- expect(
18
- base58Decode('b2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV')
19
- ).toEqual(
20
- base32Decode('afkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy')
21
- );
22
- });
23
-
24
- it('encodes a base58 to a base32 (ipfs-compat)', (): void => {
25
- expect(
26
- base58Decode('zb2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV', true)
27
- ).toEqual(
28
- base32Decode('bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true)
29
- );
30
- });
31
- });
@@ -1,26 +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 { base32Decode } from '../base32/index.js';
7
- import { base58Encode } from './index.js';
8
-
9
- describe('base58Encode', (): void => {
10
- it('encodes a base32 to a base58', (): void => {
11
- expect(
12
- base58Encode(
13
- base32Decode('bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true)
14
- )
15
- ).toEqual('b2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV');
16
- });
17
-
18
- it('encodes a base32 to a base58 (ipfs-compat)', (): void => {
19
- expect(
20
- base58Encode(
21
- base32Decode('bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy', true),
22
- true
23
- )
24
- ).toEqual('zb2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV');
25
- });
26
- });
@@ -1,20 +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 { base58Validate } from './index.js';
7
-
8
- describe('base58Validate', (): void => {
9
- it('validates encoded', (): void => {
10
- expect(
11
- base58Validate('a1UbyspTdnyZXLUQaQbciCxrCWWxz24kgSwGXSQnkbs', false)
12
- ).toEqual(true);
13
- });
14
-
15
- it('fails on string with extra padding', (): void => {
16
- expect(
17
- () => base58Validate('a1UbyspTdnyZXLUQaQbciCxrCWWxz24kgSwGXSQnkbs=', false)
18
- ).toThrow(/Invalid base58 character "="/);
19
- });
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
-
8
- import { base64Decode } from './index.js';
9
-
10
- describe('base64Decode', (): void => {
11
- it('decodes an empty string)', (): void => {
12
- expect(
13
- base64Decode('')
14
- ).toEqual(
15
- stringToU8a('')
16
- );
17
- });
18
-
19
- it('decodes a mixed base64 utf8 string (1)', (): void => {
20
- expect(
21
- base64Decode('aGVsbG8gd29ybGQg0J/RgNC40LLQtdGC0YHRgtCy0YPRjiDQvNC4IOS9oOWlvQ==')
22
- ).toEqual(
23
- stringToU8a('hello world Приветствую ми 你好')
24
- );
25
- });
26
-
27
- it('decodes a mixed base64 utf8 string (2)', (): void => {
28
- expect(
29
- base64Decode('4pyTIMOgIGxhIG1vZGU=')
30
- ).toEqual(
31
- stringToU8a('✓ à la mode')
32
- );
33
- });
34
-
35
- it('decodes a mixed base64 utf8 string (3)', (): void => {
36
- expect(
37
- base64Decode('SGVsbG8gV29ybGQh')
38
- ).toEqual(
39
- stringToU8a('Hello World!')
40
- );
41
- });
42
- });
@@ -1,14 +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 { base64Encode } from './index.js';
7
-
8
- describe('base64Encode', (): void => {
9
- it('encodes a mixed base64 utf8 string', (): void => {
10
- expect(
11
- base64Encode('hello world Приветствую ми 你好')
12
- ).toEqual('aGVsbG8gd29ybGQg0J/RgNC40LLQtdGC0YHRgtCy0YPRjiDQvNC4IOS9oOWlvQ==');
13
- });
14
- });
@@ -1,14 +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 { base64Pad } from './index.js';
7
-
8
- describe('base64Pad', (): void => {
9
- it('pads a utf-8 string', (): void => {
10
- expect(
11
- base64Pad('YWJjZA')
12
- ).toEqual('YWJjZA==');
13
- });
14
- });
package/src/base64/pad.ts DELETED
@@ -1,10 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /**
5
- * @name base64Pad
6
- * @description Adds padding characters for correct length
7
- */
8
- export function base64Pad (value: string): string {
9
- return value.padEnd(value.length + (value.length % 4), '=');
10
- }
@@ -1,14 +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 { base64Trim } from './index.js';
7
-
8
- describe('base64Trim', (): void => {
9
- it('trims a utf-8 string', (): void => {
10
- expect(
11
- base64Trim('aGVsbG8gd29ybGQg0J/RgNC40LLQtdGC0YHRgtCy0YPRjiDQvNC4IOS9oOWlvQ==')
12
- ).toEqual('aGVsbG8gd29ybGQg0J/RgNC40LLQtdGC0YHRgtCy0YPRjiDQvNC4IOS9oOWlvQ');
13
- });
14
- });
@@ -1,14 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /**
5
- * @name base64Trim
6
- * @description Trims padding characters
7
- */
8
- export function base64Trim (value: string): string {
9
- while (value.length && value.endsWith('=')) {
10
- value = value.slice(0, -1);
11
- }
12
-
13
- return value;
14
- }
@@ -1,32 +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 { base64Validate } from './index.js';
7
-
8
- describe('base64Validate', (): void => {
9
- it('validates a mixed base64 utf8 string', (): void => {
10
- expect(
11
- () => base64Validate('aGVsbG8gd29ybGQg0J/RgNC40LLQtd^GC0YHRgtCy0YPRjiDQvNC4IOS9oOWlvQ==')
12
- ).toThrow(/Invalid base64 character "\^" \(0x5e\) at index 30/);
13
- });
14
-
15
- it('validates with one extra padding character', (): void => {
16
- expect(
17
- base64Validate('bGlnaHQgd28=')
18
- ).toEqual(true);
19
- });
20
-
21
- it('validates with two extra padding characters', (): void => {
22
- expect(
23
- base64Validate('bGlnaHQgdw==')
24
- ).toEqual(true);
25
- });
26
-
27
- it('validates misplaced padding characters', (): void => {
28
- expect(
29
- () => base64Validate('bGlnaHQgdw=g=')
30
- ).toThrow(/Invalid base64 padding sequence "=g"/);
31
- });
32
- });
@@ -1,57 +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 { hexToU8a } from '@pezkuwi/util';
7
- import { waitReady } from '@pezkuwi/wasm-crypto';
8
-
9
- import { blake2AsHex } from './index.js';
10
-
11
- describe('blake2AsHex', (): void => {
12
- beforeEach(async (): Promise<void> => {
13
- await waitReady();
14
- });
15
-
16
- for (const onlyJs of [false, true]) {
17
- describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
18
- it('returns a 64-bit value (specified)', (): void => {
19
- expect(
20
- blake2AsHex('abc', 64, null, onlyJs)
21
- ).toEqual('0xd8bb14d833d59559');
22
- });
23
-
24
- it('returns a 128-bit value (as specified)', (): void => {
25
- expect(
26
- blake2AsHex('abc', 128, null, onlyJs)
27
- ).toEqual('0xcf4ab791c62b8d2b2109c90275287816');
28
- });
29
-
30
- it('returns a 128-bit value (as specified, with key)', (): void => {
31
- expect(
32
- blake2AsHex('abc', 128, new Uint8Array([1, 2]), onlyJs)
33
- ).toEqual('0x36f3d08cda72a00ddf2be103eb5770d9');
34
- });
35
-
36
- it('returns a 256-bit value (default)', (): void => {
37
- expect(
38
- blake2AsHex('abc', undefined, null, onlyJs)
39
- ).toEqual('0xbddd813c634239723171ef3fee98579b94964e3bb1cb3e427262c8c068d52319');
40
- });
41
-
42
- it('returns a 512-bit value (as specified)', (): void => {
43
- expect(
44
- blake2AsHex('abc', 512, null, onlyJs)
45
- ).toEqual('0xba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923');
46
- });
47
-
48
- it('matches with the Rust implementation', (): void => {
49
- expect(
50
- blake2AsHex(
51
- hexToU8a('0x454545454545454545454545454545454545454545454545454545454545454501000000000000002481853da20b9f4322f34650fea5f240dcbfb266d02db94bfa0153c31f4a29dbdbf025dd4a69a6f4ee6e1577b251b655097e298b692cb34c18d3182cac3de0dc00000000'), 256, undefined, onlyJs
52
- )
53
- ).toEqual('0x1025e5db74fdaf4d2818822dccf0e1604ae9ccc62f26cecfde23448ff0248abf');
54
- });
55
- });
56
- }
57
- });
@@ -1,74 +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 { hexToU8a } from '@pezkuwi/util';
7
- import { waitReady } from '@pezkuwi/wasm-crypto';
8
-
9
- import { perfWasm } from '../test/index.js';
10
- import { blake2AsU8a } from './index.js';
11
-
12
- describe('blake2AsU8a', (): void => {
13
- beforeEach(async (): Promise<void> => {
14
- await waitReady();
15
- });
16
-
17
- for (const onlyJs of [false, true]) {
18
- describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
19
- it('returns a 64-bit value by default', (): void => {
20
- expect(
21
- blake2AsU8a('abc', undefined, undefined, onlyJs)
22
- ).toEqual(
23
- new Uint8Array([189, 221, 129, 60, 99, 66, 57, 114, 49, 113, 239, 63, 238, 152, 87, 155, 148, 150, 78, 59, 177, 203, 62, 66, 114, 98, 200, 192, 104, 213, 35, 25])
24
- );
25
- });
26
-
27
- it('returns a 128-bit value (as specified,)', (): void => {
28
- expect(
29
- blake2AsU8a('abc', 128, undefined, onlyJs)
30
- ).toEqual(
31
- new Uint8Array([207, 74, 183, 145, 198, 43, 141, 43, 33, 9, 201, 2, 117, 40, 120, 22])
32
- );
33
- });
34
-
35
- it('returns a 256-bit value (as specified)', (): void => {
36
- expect(
37
- blake2AsU8a('abc', 256, undefined, onlyJs)
38
- ).toEqual(
39
- new Uint8Array([189, 221, 129, 60, 99, 66, 57, 114, 49, 113, 239, 63, 238, 152, 87, 155, 148, 150, 78, 59, 177, 203, 62, 66, 114, 98, 200, 192, 104, 213, 35, 25])
40
- );
41
- });
42
-
43
- it('returns a 512-bit value (as specified)', (): void => {
44
- expect(
45
- blake2AsU8a('abc', 512, undefined, onlyJs)
46
- ).toEqual(
47
- hexToU8a('0xba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923')
48
- );
49
- });
50
- });
51
- }
52
-
53
- it('has equivalent Wasm/Js outputs on hex inputs', (): void => {
54
- const a = blake2AsU8a('0x123456', 256, null, false);
55
- const b = blake2AsU8a('0x123456', 256, null, true);
56
-
57
- expect(a).toEqual(b);
58
- });
59
-
60
- it('has equivalent Wasm/Js outputs with key inputs', (): void => {
61
- const a = blake2AsU8a('0x123456', 256, new Uint8Array([1, 2]), false);
62
- const b = blake2AsU8a('0x123456', 256, new Uint8Array([1, 2]), true);
63
-
64
- expect(a).toEqual(b);
65
- });
66
-
67
- for (const bitLength of [256, 512] as const) {
68
- describe(`bitLength=${bitLength}`, (): void => {
69
- perfWasm(`blake2AsU8a, bitLength=${bitLength}`, 64000, (input, onlyJs) =>
70
- blake2AsU8a(input, bitLength, null, onlyJs)
71
- );
72
- });
73
- }
74
- });
package/src/bundleInit.ts DELETED
@@ -1,11 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import '@polkadot/x-bigint/shim';
5
-
6
- import { cryptoWaitReady } from './crypto.js';
7
-
8
- // start init process immediately
9
- cryptoWaitReady().catch((): void => {
10
- // shouldn't happen, logged and caught inside cryptoWaitReady
11
- });
@@ -1,18 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- /// <reference types="@polkadot/dev-test/globals.d.ts" />
5
-
6
- describe('cryptoWaitReady', (): void => {
7
- it('should return false when it cannot initialize', async (): Promise<void> => {
8
- const old = global.WebAssembly;
9
-
10
- global.WebAssembly = null as unknown as typeof WebAssembly;
11
-
12
- const { cryptoWaitReady } = await import('./crypto.js');
13
-
14
- expect(await cryptoWaitReady()).toBe(false);
15
-
16
- global.WebAssembly = old;
17
- });
18
- });
package/src/crypto.ts DELETED
@@ -1,18 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { isReady, waitReady } from '@pezkuwi/wasm-crypto';
5
-
6
- export const cryptoIsReady = isReady;
7
-
8
- export function cryptoWaitReady (): Promise<boolean> {
9
- return waitReady()
10
- .then((): boolean => {
11
- if (!isReady()) {
12
- throw new Error('Unable to initialize @polkadot/util-crypto');
13
- }
14
-
15
- return true;
16
- })
17
- .catch(() => false);
18
- }
@@ -1,18 +0,0 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { compactAddLength, isU8a, stringToU8a, u8aConcat } from '@pezkuwi/util';
5
-
6
- import { blake2AsU8a } from '../blake2/asU8a.js';
7
-
8
- const HDKD = compactAddLength(stringToU8a('Ed25519HDKD'));
9
-
10
- export function ed25519DeriveHard (seed: Uint8Array, chainCode: Uint8Array): Uint8Array {
11
- if (!isU8a(chainCode) || chainCode.length !== 32) {
12
- throw new Error('Invalid chainCode passed to derive');
13
- }
14
-
15
- return blake2AsU8a(
16
- u8aConcat(HDKD, seed, chainCode)
17
- );
18
- }
@@ -1,28 +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 type { Keypair } from '../../types.js';
7
-
8
- import { ed25519PairFromRandom } from '../index.js';
9
-
10
- describe('ed25519PairFromRandom', (): void => {
11
- let keypair: Keypair;
12
-
13
- beforeEach((): void => {
14
- keypair = ed25519PairFromRandom();
15
- });
16
-
17
- it('generates a valid publicKey', (): void => {
18
- expect(
19
- keypair.publicKey
20
- ).toHaveLength(32);
21
- });
22
-
23
- it('generates a valid secretKey', (): void => {
24
- expect(
25
- keypair.secretKey
26
- ).toHaveLength(64);
27
- });
28
- });
@@ -1,33 +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 { ed25519PairFromSecret } from '../index.js';
7
-
8
- describe('ed25519PairFromSecret', (): void => {
9
- const secretKey = new Uint8Array([
10
- 18, 52, 86, 120, 144, 18, 52, 86,
11
- 120, 144, 18, 52, 86, 120, 144, 18,
12
- 18, 52, 86, 120, 144, 18, 52, 86,
13
- 120, 144, 18, 52, 86, 120, 144, 18,
14
- 180, 114, 93, 155, 165, 255, 217, 82,
15
- 16, 250, 209, 11, 193, 10, 88, 218,
16
- 190, 190, 41, 193, 236, 252, 1, 152,
17
- 216, 214, 0, 41, 45, 138, 13, 53
18
- ]);
19
-
20
- it('generates a valid publicKey/secretKey pair', (): void => {
21
- expect(
22
- ed25519PairFromSecret(secretKey)
23
- ).toEqual({
24
- publicKey: new Uint8Array([
25
- 180, 114, 93, 155, 165, 255, 217, 82,
26
- 16, 250, 209, 11, 193, 10, 88, 218,
27
- 190, 190, 41, 193, 236, 252, 1, 152,
28
- 216, 214, 0, 41, 45, 138, 13, 53
29
- ]),
30
- secretKey
31
- });
32
- });
33
- });