@pezkuwi/util-crypto 14.0.2 → 14.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +4 -4
  3. package/address/addressToEvm.d.ts +5 -0
  4. package/address/addressToEvm.js +8 -0
  5. package/address/check.d.ts +8 -0
  6. package/address/check.js +26 -0
  7. package/address/checksum.d.ts +1 -0
  8. package/address/checksum.js +16 -0
  9. package/address/decode.d.ts +2 -0
  10. package/address/decode.js +29 -0
  11. package/address/defaults.d.ts +6 -0
  12. package/address/defaults.js +8 -0
  13. package/address/derive.d.ts +8 -0
  14. package/address/derive.js +24 -0
  15. package/address/encode.d.ts +2 -0
  16. package/address/encode.js +23 -0
  17. package/address/encodeDerived.d.ts +9 -0
  18. package/address/encodeDerived.js +12 -0
  19. package/address/encodeMulti.d.ts +9 -0
  20. package/address/encodeMulti.js +11 -0
  21. package/address/eq.d.ts +15 -0
  22. package/{src/address/eq.ts → address/eq.js} +2 -7
  23. package/address/evmToAddress.d.ts +7 -0
  24. package/address/evmToAddress.js +14 -0
  25. package/{src/address/index.ts → address/index.d.ts} +0 -5
  26. package/address/index.js +16 -0
  27. package/address/is.d.ts +2 -0
  28. package/address/is.js +9 -0
  29. package/address/keyDerived.d.ts +2 -0
  30. package/address/keyDerived.js +8 -0
  31. package/address/keyMulti.d.ts +2 -0
  32. package/address/keyMulti.js +8 -0
  33. package/address/setSS58Format.d.ts +6 -0
  34. package/address/setSS58Format.js +11 -0
  35. package/address/sort.d.ts +2 -0
  36. package/address/sort.js +7 -0
  37. package/address/sshash.d.ts +1 -0
  38. package/address/sshash.js +6 -0
  39. package/address/types.d.ts +1 -0
  40. package/address/types.js +1 -0
  41. package/address/util.d.ts +1 -0
  42. package/address/util.js +4 -0
  43. package/address/validate.d.ts +2 -0
  44. package/address/validate.js +4 -0
  45. package/base32/bs32.d.ts +26 -0
  46. package/{src/base32/bs32.ts → base32/bs32.js} +8 -21
  47. package/base32/helpers.d.ts +25 -0
  48. package/base32/helpers.js +61 -0
  49. package/{src/base32/index.ts → base32/index.d.ts} +0 -4
  50. package/base32/index.js +4 -0
  51. package/base58/bs58.d.ts +26 -0
  52. package/{src/base58/bs58.ts → base58/bs58.js} +4 -13
  53. package/{src/base58/index.ts → base58/index.d.ts} +0 -4
  54. package/base58/index.js +4 -0
  55. package/base64/bs64.d.ts +26 -0
  56. package/{src/base64/bs64.ts → base64/bs64.js} +4 -13
  57. package/{src/base64/index.ts → base64/index.d.ts} +0 -4
  58. package/base64/index.js +6 -0
  59. package/base64/pad.d.ts +5 -0
  60. package/base64/pad.js +7 -0
  61. package/base64/trim.d.ts +5 -0
  62. package/base64/trim.js +10 -0
  63. package/blake2/asU8a.d.ts +20 -0
  64. package/{src/blake2/asU8a.ts → blake2/asU8a.js} +8 -16
  65. package/{src/blake2/index.ts → blake2/index.d.ts} +0 -4
  66. package/blake2/index.js +4 -0
  67. package/bn.d.ts +30 -0
  68. package/{src/bn.ts → bn.js} +0 -7
  69. package/bridge.d.ts +82 -0
  70. package/bridge.js +168 -0
  71. package/bundle-polkadot-util-crypto.js +11813 -0
  72. package/{src/bundle.ts → bundle.d.ts} +0 -7
  73. package/bundle.js +26 -0
  74. package/bundleInit.d.ts +1 -0
  75. package/bundleInit.js +5 -0
  76. package/cjs/address/addressToEvm.d.ts +5 -0
  77. package/cjs/address/addressToEvm.js +11 -0
  78. package/cjs/address/check.d.ts +8 -0
  79. package/cjs/address/check.js +29 -0
  80. package/cjs/address/checksum.d.ts +1 -0
  81. package/cjs/address/checksum.js +19 -0
  82. package/cjs/address/decode.d.ts +2 -0
  83. package/cjs/address/decode.js +32 -0
  84. package/cjs/address/defaults.d.ts +6 -0
  85. package/cjs/address/defaults.js +11 -0
  86. package/cjs/address/derive.d.ts +8 -0
  87. package/cjs/address/derive.js +27 -0
  88. package/cjs/address/encode.d.ts +2 -0
  89. package/cjs/address/encode.js +26 -0
  90. package/cjs/address/encodeDerived.d.ts +9 -0
  91. package/cjs/address/encodeDerived.js +15 -0
  92. package/cjs/address/encodeMulti.d.ts +9 -0
  93. package/cjs/address/encodeMulti.js +14 -0
  94. package/cjs/address/eq.d.ts +15 -0
  95. package/cjs/address/eq.js +22 -0
  96. package/cjs/address/evmToAddress.d.ts +7 -0
  97. package/cjs/address/evmToAddress.js +17 -0
  98. package/cjs/address/index.d.ts +16 -0
  99. package/cjs/address/index.js +35 -0
  100. package/cjs/address/is.d.ts +2 -0
  101. package/cjs/address/is.js +12 -0
  102. package/cjs/address/keyDerived.d.ts +2 -0
  103. package/cjs/address/keyDerived.js +11 -0
  104. package/cjs/address/keyMulti.d.ts +2 -0
  105. package/cjs/address/keyMulti.js +11 -0
  106. package/cjs/address/setSS58Format.d.ts +6 -0
  107. package/cjs/address/setSS58Format.js +14 -0
  108. package/cjs/address/sort.d.ts +2 -0
  109. package/cjs/address/sort.js +10 -0
  110. package/cjs/address/sshash.d.ts +1 -0
  111. package/cjs/address/sshash.js +9 -0
  112. package/cjs/address/types.d.ts +1 -0
  113. package/cjs/address/types.js +2 -0
  114. package/cjs/address/util.d.ts +1 -0
  115. package/cjs/address/util.js +7 -0
  116. package/cjs/address/validate.d.ts +2 -0
  117. package/cjs/address/validate.js +7 -0
  118. package/cjs/base32/bs32.d.ts +26 -0
  119. package/cjs/base32/bs32.js +43 -0
  120. package/cjs/base32/helpers.d.ts +25 -0
  121. package/cjs/base32/helpers.js +67 -0
  122. package/cjs/base32/index.d.ts +4 -0
  123. package/cjs/base32/index.js +11 -0
  124. package/cjs/base58/bs58.d.ts +26 -0
  125. package/cjs/base58/bs58.js +37 -0
  126. package/cjs/base58/index.d.ts +4 -0
  127. package/cjs/base58/index.js +11 -0
  128. package/cjs/base64/bs64.d.ts +26 -0
  129. package/cjs/base64/bs64.js +37 -0
  130. package/cjs/base64/index.d.ts +6 -0
  131. package/cjs/base64/index.js +15 -0
  132. package/cjs/base64/pad.d.ts +5 -0
  133. package/cjs/base64/pad.js +10 -0
  134. package/cjs/base64/trim.d.ts +5 -0
  135. package/cjs/base64/trim.js +13 -0
  136. package/cjs/blake2/asU8a.d.ts +20 -0
  137. package/cjs/blake2/asU8a.js +36 -0
  138. package/cjs/blake2/index.d.ts +4 -0
  139. package/cjs/blake2/index.js +9 -0
  140. package/cjs/bn.d.ts +30 -0
  141. package/cjs/bn.js +11 -0
  142. package/cjs/bridge.d.ts +82 -0
  143. package/cjs/bridge.js +172 -0
  144. package/cjs/bundle.d.ts +26 -0
  145. package/cjs/bundle.js +31 -0
  146. package/cjs/bundleInit.d.ts +1 -0
  147. package/cjs/bundleInit.js +7 -0
  148. package/cjs/crypto.d.ts +3 -0
  149. package/cjs/crypto.js +16 -0
  150. package/cjs/ed25519/deriveHard.d.ts +1 -0
  151. package/cjs/ed25519/deriveHard.js +12 -0
  152. package/{src/ed25519/index.ts → cjs/ed25519/index.d.ts} +0 -3
  153. package/cjs/ed25519/index.js +20 -0
  154. package/cjs/ed25519/pair/fromRandom.d.ts +16 -0
  155. package/cjs/ed25519/pair/fromRandom.js +22 -0
  156. package/cjs/ed25519/pair/fromSecret.d.ts +16 -0
  157. package/{src/ed25519/pair/fromSecret.ts → cjs/ed25519/pair/fromSecret.js} +11 -14
  158. package/cjs/ed25519/pair/fromSeed.d.ts +16 -0
  159. package/cjs/ed25519/pair/fromSeed.js +34 -0
  160. package/cjs/ed25519/pair/fromString.d.ts +16 -0
  161. package/cjs/ed25519/pair/fromString.js +23 -0
  162. package/cjs/ed25519/sign.d.ts +16 -0
  163. package/cjs/ed25519/sign.js +33 -0
  164. package/cjs/ed25519/verify.d.ts +15 -0
  165. package/cjs/ed25519/verify.js +39 -0
  166. package/cjs/ethereum/encode.d.ts +2 -0
  167. package/cjs/ethereum/encode.js +28 -0
  168. package/{src/ethereum/index.ts → cjs/ethereum/index.d.ts} +0 -3
  169. package/cjs/ethereum/index.js +9 -0
  170. package/cjs/ethereum/isAddress.d.ts +1 -0
  171. package/cjs/ethereum/isAddress.js +14 -0
  172. package/cjs/ethereum/isChecksum.d.ts +1 -0
  173. package/cjs/ethereum/isChecksum.js +20 -0
  174. package/cjs/hd/ethereum/index.d.ts +2 -0
  175. package/cjs/hd/ethereum/index.js +47 -0
  176. package/{src/hd/index.ts → cjs/hd/index.d.ts} +0 -3
  177. package/cjs/hd/index.js +9 -0
  178. package/cjs/hd/ledger/derivePrivate.d.ts +1 -0
  179. package/cjs/hd/ledger/derivePrivate.js +15 -0
  180. package/cjs/hd/ledger/index.d.ts +2 -0
  181. package/cjs/hd/ledger/index.js +33 -0
  182. package/cjs/hd/ledger/master.d.ts +1 -0
  183. package/cjs/hd/ledger/master.js +19 -0
  184. package/cjs/hd/validatePath.d.ts +2 -0
  185. package/cjs/hd/validatePath.js +20 -0
  186. package/cjs/helpers.d.ts +12 -0
  187. package/cjs/helpers.js +24 -0
  188. package/cjs/hmac/index.d.ts +1 -0
  189. package/cjs/hmac/index.js +7 -0
  190. package/cjs/hmac/shaAsU8a.d.ts +15 -0
  191. package/cjs/hmac/shaAsU8a.js +40 -0
  192. package/cjs/index.d.ts +2 -0
  193. package/cjs/index.js +5 -0
  194. package/cjs/init.d.ts +10 -0
  195. package/cjs/init.js +43 -0
  196. package/cjs/json/constants.d.ts +6 -0
  197. package/cjs/json/constants.js +8 -0
  198. package/cjs/json/decrypt.d.ts +2 -0
  199. package/cjs/json/decrypt.js +16 -0
  200. package/cjs/json/decryptData.d.ts +2 -0
  201. package/cjs/json/decryptData.js +32 -0
  202. package/cjs/json/encrypt.d.ts +2 -0
  203. package/cjs/json/encrypt.js +18 -0
  204. package/cjs/json/encryptFormat.d.ts +2 -0
  205. package/cjs/json/encryptFormat.js +17 -0
  206. package/{src/json/index.ts → cjs/json/index.d.ts} +0 -3
  207. package/cjs/json/index.js +11 -0
  208. package/cjs/json/types.d.ts +16 -0
  209. package/cjs/json/types.js +2 -0
  210. package/cjs/keccak/asU8a.d.ts +30 -0
  211. package/cjs/keccak/asU8a.js +36 -0
  212. package/{src/keccak/index.ts → cjs/keccak/index.d.ts} +0 -4
  213. package/cjs/keccak/index.js +11 -0
  214. package/cjs/key/DeriveJunction.d.ts +12 -0
  215. package/cjs/key/DeriveJunction.js +62 -0
  216. package/cjs/key/extractPath.d.ts +9 -0
  217. package/cjs/key/extractPath.js +26 -0
  218. package/cjs/key/extractSuri.d.ts +11 -0
  219. package/cjs/key/extractSuri.js +25 -0
  220. package/cjs/key/fromPath.d.ts +3 -0
  221. package/cjs/key/fromPath.js +21 -0
  222. package/cjs/key/hdkdDerive.d.ts +3 -0
  223. package/cjs/key/hdkdDerive.js +11 -0
  224. package/cjs/key/hdkdEcdsa.d.ts +1 -0
  225. package/cjs/key/hdkdEcdsa.js +7 -0
  226. package/cjs/key/hdkdEd25519.d.ts +1 -0
  227. package/cjs/key/hdkdEd25519.js +6 -0
  228. package/cjs/key/hdkdSr25519.d.ts +3 -0
  229. package/cjs/key/hdkdSr25519.js +10 -0
  230. package/{src/key/index.ts → cjs/key/index.d.ts} +0 -3
  231. package/cjs/key/index.js +18 -0
  232. package/cjs/mnemonic/bip39.d.ts +5 -0
  233. package/cjs/mnemonic/bip39.js +90 -0
  234. package/cjs/mnemonic/generate.d.ts +13 -0
  235. package/cjs/mnemonic/generate.js +23 -0
  236. package/{src/mnemonic/index.ts → cjs/mnemonic/index.d.ts} +0 -3
  237. package/cjs/mnemonic/index.js +16 -0
  238. package/cjs/mnemonic/toEntropy.d.ts +1 -0
  239. package/cjs/mnemonic/toEntropy.js +11 -0
  240. package/cjs/mnemonic/toLegacySeed.d.ts +18 -0
  241. package/cjs/mnemonic/toLegacySeed.js +37 -0
  242. package/cjs/mnemonic/toMiniSecret.d.ts +1 -0
  243. package/cjs/mnemonic/toMiniSecret.js +20 -0
  244. package/cjs/mnemonic/validate.d.ts +14 -0
  245. package/cjs/mnemonic/validate.js +24 -0
  246. package/cjs/mnemonic/wordlists/en.d.ts +2 -0
  247. package/cjs/mnemonic/wordlists/en.js +3 -0
  248. package/cjs/mnemonic/wordlists/es.d.ts +2 -0
  249. package/cjs/mnemonic/wordlists/es.js +3 -0
  250. package/cjs/mnemonic/wordlists/fr.d.ts +2 -0
  251. package/cjs/mnemonic/wordlists/fr.js +3 -0
  252. package/{src/mnemonic/wordlists/index.ts → cjs/mnemonic/wordlists/index.d.ts} +0 -3
  253. package/cjs/mnemonic/wordlists/index.js +20 -0
  254. package/cjs/mnemonic/wordlists/it.d.ts +2 -0
  255. package/cjs/mnemonic/wordlists/it.js +3 -0
  256. package/cjs/mnemonic/wordlists/jp.d.ts +2 -0
  257. package/cjs/mnemonic/wordlists/jp.js +3 -0
  258. package/cjs/mnemonic/wordlists/ko.d.ts +2 -0
  259. package/cjs/mnemonic/wordlists/ko.js +3 -0
  260. package/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
  261. package/cjs/mnemonic/wordlists/zh-s.js +3 -0
  262. package/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
  263. package/cjs/mnemonic/wordlists/zh-t.js +3 -0
  264. package/cjs/nacl/decrypt.d.ts +15 -0
  265. package/cjs/nacl/decrypt.js +21 -0
  266. package/cjs/nacl/encrypt.d.ts +20 -0
  267. package/cjs/nacl/encrypt.js +25 -0
  268. package/{src/nacl/index.ts → cjs/nacl/index.d.ts} +0 -3
  269. package/cjs/nacl/index.js +10 -0
  270. package/cjs/nacl/tweetnacl.d.ts +2 -0
  271. package/cjs/nacl/tweetnacl.js +238 -0
  272. package/cjs/networks.d.ts +1 -0
  273. package/cjs/networks.js +7 -0
  274. package/cjs/package.json +3 -0
  275. package/cjs/packageDetect.d.ts +1 -0
  276. package/cjs/packageDetect.js +8 -0
  277. package/cjs/packageInfo.d.ts +6 -0
  278. package/cjs/packageInfo.js +4 -0
  279. package/cjs/pbkdf2/encode.d.ts +7 -0
  280. package/cjs/pbkdf2/encode.js +19 -0
  281. package/cjs/pbkdf2/index.d.ts +1 -0
  282. package/cjs/pbkdf2/index.js +5 -0
  283. package/cjs/random/asNumber.d.ts +15 -0
  284. package/cjs/random/asNumber.js +23 -0
  285. package/cjs/random/asU8a.d.ts +20 -0
  286. package/cjs/random/asU8a.js +28 -0
  287. package/{src/random/index.ts → cjs/random/index.d.ts} +0 -4
  288. package/cjs/random/index.js +11 -0
  289. package/cjs/scrypt/defaults.d.ts +3 -0
  290. package/cjs/scrypt/defaults.js +16 -0
  291. package/cjs/scrypt/encode.d.ts +8 -0
  292. package/cjs/scrypt/encode.js +18 -0
  293. package/cjs/scrypt/fromU8a.d.ts +7 -0
  294. package/cjs/scrypt/fromU8a.js +27 -0
  295. package/{src/scrypt/index.ts → cjs/scrypt/index.d.ts} +0 -3
  296. package/cjs/scrypt/index.js +9 -0
  297. package/cjs/scrypt/toU8a.d.ts +2 -0
  298. package/cjs/scrypt/toU8a.js +8 -0
  299. package/cjs/scrypt/types.d.ts +6 -0
  300. package/cjs/scrypt/types.js +2 -0
  301. package/cjs/secp256k1/compress.d.ts +1 -0
  302. package/cjs/secp256k1/compress.js +17 -0
  303. package/cjs/secp256k1/deriveHard.d.ts +1 -0
  304. package/cjs/secp256k1/deriveHard.js +13 -0
  305. package/cjs/secp256k1/expand.d.ts +1 -0
  306. package/cjs/secp256k1/expand.js +20 -0
  307. package/cjs/secp256k1/hasher.d.ts +2 -0
  308. package/cjs/secp256k1/hasher.js +10 -0
  309. package/{src/secp256k1/index.ts → cjs/secp256k1/index.d.ts} +0 -3
  310. package/cjs/secp256k1/index.js +17 -0
  311. package/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
  312. package/cjs/secp256k1/pair/fromSeed.js +34 -0
  313. package/cjs/secp256k1/recover.d.ts +6 -0
  314. package/cjs/secp256k1/recover.js +29 -0
  315. package/cjs/secp256k1/sign.d.ts +7 -0
  316. package/cjs/secp256k1/sign.js +23 -0
  317. package/cjs/secp256k1/tweakAdd.d.ts +1 -0
  318. package/cjs/secp256k1/tweakAdd.js +48 -0
  319. package/cjs/secp256k1/types.d.ts +1 -0
  320. package/cjs/secp256k1/types.js +2 -0
  321. package/cjs/secp256k1/verify.d.ts +6 -0
  322. package/cjs/secp256k1/verify.js +23 -0
  323. package/cjs/sha/asU8a.d.ts +15 -0
  324. package/cjs/sha/asU8a.js +22 -0
  325. package/{src/sha/index.ts → cjs/sha/index.d.ts} +0 -4
  326. package/cjs/sha/index.js +10 -0
  327. package/cjs/signature/index.d.ts +4 -0
  328. package/cjs/signature/index.js +8 -0
  329. package/cjs/signature/verify.d.ts +2 -0
  330. package/cjs/signature/verify.js +81 -0
  331. package/cjs/sr25519/agreement.d.ts +5 -0
  332. package/cjs/sr25519/agreement.js +20 -0
  333. package/cjs/sr25519/derive.d.ts +2 -0
  334. package/cjs/sr25519/derive.js +16 -0
  335. package/cjs/sr25519/deriveHard.d.ts +1 -0
  336. package/cjs/sr25519/deriveHard.js +7 -0
  337. package/cjs/sr25519/derivePublic.d.ts +1 -0
  338. package/cjs/sr25519/derivePublic.js +16 -0
  339. package/cjs/sr25519/deriveSoft.d.ts +1 -0
  340. package/cjs/sr25519/deriveSoft.js +7 -0
  341. package/{src/sr25519/index.ts → cjs/sr25519/index.d.ts} +0 -3
  342. package/cjs/sr25519/index.js +21 -0
  343. package/cjs/sr25519/pair/fromSeed.d.ts +6 -0
  344. package/cjs/sr25519/pair/fromSeed.js +22 -0
  345. package/cjs/sr25519/pair/fromU8a.d.ts +2 -0
  346. package/cjs/sr25519/pair/fromU8a.js +17 -0
  347. package/cjs/sr25519/pair/toU8a.d.ts +2 -0
  348. package/cjs/sr25519/pair/toU8a.js +7 -0
  349. package/cjs/sr25519/sign.d.ts +6 -0
  350. package/cjs/sr25519/sign.js +19 -0
  351. package/cjs/sr25519/verify.d.ts +5 -0
  352. package/cjs/sr25519/verify.js +21 -0
  353. package/cjs/sr25519/vrfSign.d.ts +6 -0
  354. package/cjs/sr25519/vrfSign.js +19 -0
  355. package/cjs/sr25519/vrfVerify.d.ts +5 -0
  356. package/cjs/sr25519/vrfVerify.js +22 -0
  357. package/cjs/types.d.ts +26 -0
  358. package/cjs/types.js +5 -0
  359. package/cjs/wbg.d.ts +36 -0
  360. package/cjs/wbg.js +65 -0
  361. package/cjs/xxhash/asU8a.d.ts +20 -0
  362. package/cjs/xxhash/asU8a.js +39 -0
  363. package/{src/xxhash/index.ts → cjs/xxhash/index.d.ts} +0 -4
  364. package/cjs/xxhash/index.js +9 -0
  365. package/cjs/xxhash/xxhash64.d.ts +1 -0
  366. package/cjs/xxhash/xxhash64.js +103 -0
  367. package/crypto.d.ts +3 -0
  368. package/crypto.js +12 -0
  369. package/ed25519/deriveHard.d.ts +1 -0
  370. package/ed25519/deriveHard.js +9 -0
  371. package/ed25519/index.d.ts +10 -0
  372. package/ed25519/index.js +10 -0
  373. package/ed25519/pair/fromRandom.d.ts +16 -0
  374. package/{src/ed25519/pair/fromRandom.ts → ed25519/pair/fromRandom.js} +2 -8
  375. package/ed25519/pair/fromSecret.d.ts +16 -0
  376. package/ed25519/pair/fromSecret.js +23 -0
  377. package/ed25519/pair/fromSeed.d.ts +16 -0
  378. package/{src/ed25519/pair/fromSeed.ts → ed25519/pair/fromSeed.js} +11 -21
  379. package/ed25519/pair/fromString.d.ts +16 -0
  380. package/{src/ed25519/pair/fromString.ts → ed25519/pair/fromString.js} +2 -13
  381. package/ed25519/sign.d.ts +16 -0
  382. package/ed25519/sign.js +30 -0
  383. package/ed25519/verify.d.ts +15 -0
  384. package/ed25519/verify.js +36 -0
  385. package/ethereum/encode.d.ts +2 -0
  386. package/ethereum/encode.js +25 -0
  387. package/ethereum/index.d.ts +3 -0
  388. package/ethereum/index.js +3 -0
  389. package/ethereum/isAddress.d.ts +1 -0
  390. package/ethereum/isAddress.js +11 -0
  391. package/ethereum/isChecksum.d.ts +1 -0
  392. package/ethereum/isChecksum.js +17 -0
  393. package/hd/ethereum/index.d.ts +2 -0
  394. package/hd/ethereum/index.js +44 -0
  395. package/hd/index.d.ts +3 -0
  396. package/hd/index.js +3 -0
  397. package/hd/ledger/derivePrivate.d.ts +1 -0
  398. package/hd/ledger/derivePrivate.js +12 -0
  399. package/hd/ledger/index.d.ts +2 -0
  400. package/hd/ledger/index.js +30 -0
  401. package/hd/ledger/master.d.ts +1 -0
  402. package/hd/ledger/master.js +16 -0
  403. package/hd/validatePath.d.ts +2 -0
  404. package/hd/validatePath.js +16 -0
  405. package/helpers.d.ts +12 -0
  406. package/helpers.js +19 -0
  407. package/hmac/index.d.ts +1 -0
  408. package/hmac/index.js +1 -0
  409. package/hmac/shaAsU8a.d.ts +15 -0
  410. package/{src/hmac/shaAsU8a.ts → hmac/shaAsU8a.js} +11 -23
  411. package/index.d.ts +2 -0
  412. package/index.js +2 -0
  413. package/init.d.ts +10 -0
  414. package/init.js +40 -0
  415. package/json/constants.d.ts +6 -0
  416. package/json/constants.js +5 -0
  417. package/json/decrypt.d.ts +2 -0
  418. package/json/decrypt.js +13 -0
  419. package/json/decryptData.d.ts +2 -0
  420. package/json/decryptData.js +29 -0
  421. package/json/encrypt.d.ts +2 -0
  422. package/json/encrypt.js +15 -0
  423. package/json/encryptFormat.d.ts +2 -0
  424. package/json/encryptFormat.js +14 -0
  425. package/json/index.d.ts +4 -0
  426. package/json/index.js +4 -0
  427. package/json/types.d.ts +16 -0
  428. package/json/types.js +1 -0
  429. package/keccak/asU8a.d.ts +30 -0
  430. package/{src/keccak/asU8a.ts → keccak/asU8a.js} +1 -13
  431. package/keccak/index.d.ts +4 -0
  432. package/keccak/index.js +4 -0
  433. package/key/DeriveJunction.d.ts +12 -0
  434. package/key/DeriveJunction.js +58 -0
  435. package/key/extractPath.d.ts +9 -0
  436. package/key/extractPath.js +23 -0
  437. package/key/extractSuri.d.ts +11 -0
  438. package/key/extractSuri.js +22 -0
  439. package/key/fromPath.d.ts +3 -0
  440. package/key/fromPath.js +18 -0
  441. package/key/hdkdDerive.d.ts +3 -0
  442. package/key/hdkdDerive.js +8 -0
  443. package/key/hdkdEcdsa.d.ts +1 -0
  444. package/{src/key/hdkdEcdsa.ts → key/hdkdEcdsa.js} +0 -4
  445. package/key/hdkdEd25519.d.ts +1 -0
  446. package/{src/key/hdkdEd25519.ts → key/hdkdEd25519.js} +0 -4
  447. package/key/hdkdSr25519.d.ts +3 -0
  448. package/key/hdkdSr25519.js +7 -0
  449. package/key/index.d.ts +9 -0
  450. package/key/index.js +9 -0
  451. package/mnemonic/bip39.d.ts +5 -0
  452. package/mnemonic/bip39.js +82 -0
  453. package/mnemonic/generate.d.ts +13 -0
  454. package/{src/mnemonic/generate.ts → mnemonic/generate.js} +4 -9
  455. package/mnemonic/index.d.ts +8 -0
  456. package/mnemonic/index.js +8 -0
  457. package/mnemonic/toEntropy.d.ts +1 -0
  458. package/mnemonic/toEntropy.js +8 -0
  459. package/mnemonic/toLegacySeed.d.ts +18 -0
  460. package/{src/mnemonic/toLegacySeed.ts → mnemonic/toLegacySeed.js} +12 -17
  461. package/mnemonic/toMiniSecret.d.ts +1 -0
  462. package/mnemonic/toMiniSecret.js +17 -0
  463. package/mnemonic/validate.d.ts +14 -0
  464. package/{src/mnemonic/validate.ts → mnemonic/validate.js} +4 -9
  465. package/mnemonic/wordlists/en.d.ts +2 -0
  466. package/{src/mnemonic/wordlists/en.ts → mnemonic/wordlists/en.js} +0 -6
  467. package/mnemonic/wordlists/es.d.ts +2 -0
  468. package/{src/mnemonic/wordlists/es.ts → mnemonic/wordlists/es.js} +0 -6
  469. package/mnemonic/wordlists/fr.d.ts +2 -0
  470. package/{src/mnemonic/wordlists/fr.ts → mnemonic/wordlists/fr.js} +0 -6
  471. package/mnemonic/wordlists/index.d.ts +8 -0
  472. package/mnemonic/wordlists/index.js +8 -0
  473. package/mnemonic/wordlists/it.d.ts +2 -0
  474. package/{src/mnemonic/wordlists/it.ts → mnemonic/wordlists/it.js} +0 -6
  475. package/mnemonic/wordlists/jp.d.ts +2 -0
  476. package/{src/mnemonic/wordlists/jp.ts → mnemonic/wordlists/jp.js} +0 -6
  477. package/mnemonic/wordlists/ko.d.ts +2 -0
  478. package/{src/mnemonic/wordlists/ko.ts → mnemonic/wordlists/ko.js} +0 -6
  479. package/mnemonic/wordlists/zh-s.d.ts +2 -0
  480. package/{src/mnemonic/wordlists/zh-s.ts → mnemonic/wordlists/zh-s.js} +0 -6
  481. package/mnemonic/wordlists/zh-t.d.ts +2 -0
  482. package/{src/mnemonic/wordlists/zh-t.ts → mnemonic/wordlists/zh-t.js} +0 -6
  483. package/nacl/decrypt.d.ts +15 -0
  484. package/{src/nacl/decrypt.ts → nacl/decrypt.js} +2 -6
  485. package/nacl/encrypt.d.ts +20 -0
  486. package/{src/nacl/encrypt.ts → nacl/encrypt.js} +5 -14
  487. package/nacl/index.d.ts +5 -0
  488. package/nacl/index.js +5 -0
  489. package/nacl/tweetnacl.d.ts +2 -0
  490. package/nacl/tweetnacl.js +234 -0
  491. package/networks.d.ts +1 -0
  492. package/networks.js +1 -0
  493. package/package.json +2022 -10
  494. package/packageDetect.d.ts +1 -0
  495. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  496. package/packageInfo.d.ts +6 -0
  497. package/packageInfo.js +1 -0
  498. package/pbkdf2/encode.d.ts +7 -0
  499. package/pbkdf2/encode.js +16 -0
  500. package/pbkdf2/index.d.ts +1 -0
  501. package/pbkdf2/index.js +1 -0
  502. package/random/asNumber.d.ts +15 -0
  503. package/{src/random/asNumber.ts → random/asNumber.js} +2 -10
  504. package/random/asU8a.d.ts +20 -0
  505. package/{src/random/asU8a.ts → random/asU8a.js} +2 -8
  506. package/random/index.d.ts +5 -0
  507. package/random/index.js +5 -0
  508. package/scrypt/defaults.d.ts +3 -0
  509. package/scrypt/defaults.js +13 -0
  510. package/scrypt/encode.d.ts +8 -0
  511. package/scrypt/encode.js +15 -0
  512. package/scrypt/fromU8a.d.ts +7 -0
  513. package/scrypt/fromU8a.js +24 -0
  514. package/scrypt/index.d.ts +3 -0
  515. package/scrypt/index.js +3 -0
  516. package/scrypt/toU8a.d.ts +2 -0
  517. package/scrypt/toU8a.js +5 -0
  518. package/scrypt/types.d.ts +6 -0
  519. package/scrypt/types.js +1 -0
  520. package/secp256k1/compress.d.ts +1 -0
  521. package/secp256k1/compress.js +14 -0
  522. package/secp256k1/deriveHard.d.ts +1 -0
  523. package/secp256k1/deriveHard.js +10 -0
  524. package/secp256k1/expand.d.ts +1 -0
  525. package/secp256k1/expand.js +17 -0
  526. package/secp256k1/hasher.d.ts +2 -0
  527. package/secp256k1/hasher.js +7 -0
  528. package/secp256k1/index.d.ts +7 -0
  529. package/secp256k1/index.js +7 -0
  530. package/secp256k1/pair/fromSeed.d.ts +6 -0
  531. package/secp256k1/pair/fromSeed.js +31 -0
  532. package/secp256k1/recover.d.ts +6 -0
  533. package/secp256k1/recover.js +26 -0
  534. package/secp256k1/sign.d.ts +7 -0
  535. package/secp256k1/sign.js +20 -0
  536. package/secp256k1/tweakAdd.d.ts +1 -0
  537. package/secp256k1/tweakAdd.js +45 -0
  538. package/secp256k1/types.d.ts +1 -0
  539. package/secp256k1/types.js +1 -0
  540. package/secp256k1/verify.d.ts +6 -0
  541. package/secp256k1/verify.js +20 -0
  542. package/sha/asU8a.d.ts +15 -0
  543. package/{src/sha/asU8a.ts → sha/asU8a.js} +1 -12
  544. package/sha/index.d.ts +4 -0
  545. package/sha/index.js +4 -0
  546. package/signature/index.d.ts +4 -0
  547. package/signature/index.js +4 -0
  548. package/signature/verify.d.ts +2 -0
  549. package/signature/verify.js +78 -0
  550. package/sr25519/agreement.d.ts +5 -0
  551. package/sr25519/agreement.js +17 -0
  552. package/sr25519/derive.d.ts +2 -0
  553. package/sr25519/derive.js +12 -0
  554. package/sr25519/deriveHard.d.ts +1 -0
  555. package/{src/sr25519/deriveHard.ts → sr25519/deriveHard.js} +0 -6
  556. package/sr25519/derivePublic.d.ts +1 -0
  557. package/sr25519/derivePublic.js +12 -0
  558. package/sr25519/deriveSoft.d.ts +1 -0
  559. package/{src/sr25519/deriveSoft.ts → sr25519/deriveSoft.js} +0 -6
  560. package/sr25519/index.d.ts +9 -0
  561. package/sr25519/index.js +9 -0
  562. package/sr25519/pair/fromSeed.d.ts +6 -0
  563. package/sr25519/pair/fromSeed.js +18 -0
  564. package/sr25519/pair/fromU8a.d.ts +2 -0
  565. package/sr25519/pair/fromU8a.js +14 -0
  566. package/sr25519/pair/toU8a.d.ts +2 -0
  567. package/sr25519/pair/toU8a.js +4 -0
  568. package/sr25519/sign.d.ts +6 -0
  569. package/sr25519/sign.js +15 -0
  570. package/sr25519/verify.d.ts +5 -0
  571. package/sr25519/verify.js +17 -0
  572. package/sr25519/vrfSign.d.ts +6 -0
  573. package/sr25519/vrfSign.js +15 -0
  574. package/sr25519/vrfVerify.d.ts +5 -0
  575. package/sr25519/vrfVerify.js +18 -0
  576. package/types.d.ts +26 -0
  577. package/types.js +2 -0
  578. package/wbg.d.ts +36 -0
  579. package/wbg.js +61 -0
  580. package/xxhash/asU8a.d.ts +20 -0
  581. package/{src/xxhash/asU8a.ts → xxhash/asU8a.js} +11 -21
  582. package/xxhash/index.d.ts +4 -0
  583. package/xxhash/index.js +4 -0
  584. package/xxhash/xxhash64.d.ts +1 -0
  585. package/xxhash/xxhash64.js +100 -0
  586. package/src/address/addressToEvm.spec.ts +0 -16
  587. package/src/address/addressToEvm.ts +0 -12
  588. package/src/address/check.spec.ts +0 -44
  589. package/src/address/check.ts +0 -34
  590. package/src/address/checksum.spec.ts +0 -45
  591. package/src/address/checksum.ts +0 -25
  592. package/src/address/decode.spec.ts +0 -138
  593. package/src/address/decode.ts +0 -41
  594. package/src/address/defaults.ts +0 -12
  595. package/src/address/derive.spec.ts +0 -26
  596. package/src/address/derive.ts +0 -36
  597. package/src/address/encode.spec.ts +0 -177
  598. package/src/address/encode.ts +0 -43
  599. package/src/address/encodeDerived.spec.ts +0 -14
  600. package/src/address/encodeDerived.ts +0 -19
  601. package/src/address/encodeMulti.spec.ts +0 -18
  602. package/src/address/encodeMulti.ts +0 -18
  603. package/src/address/eq.spec.ts +0 -45
  604. package/src/address/evmToAddress.spec.ts +0 -20
  605. package/src/address/evmToAddress.ts +0 -24
  606. package/src/address/is.spec.ts +0 -113
  607. package/src/address/is.ts +0 -14
  608. package/src/address/keyDerived.spec.ts +0 -24
  609. package/src/address/keyDerived.ts +0 -22
  610. package/src/address/keyMulti.spec.ts +0 -20
  611. package/src/address/keyMulti.ts +0 -23
  612. package/src/address/setSS58Format.spec.ts +0 -21
  613. package/src/address/setSS58Format.ts +0 -20
  614. package/src/address/sort.spec.ts +0 -22
  615. package/src/address/sort.ts +0 -17
  616. package/src/address/sshash.ts +0 -12
  617. package/src/address/types.ts +0 -6
  618. package/src/address/util.ts +0 -8
  619. package/src/address/validate.spec.ts +0 -113
  620. package/src/address/validate.ts +0 -10
  621. package/src/base32/decode.spec.ts +0 -34
  622. package/src/base32/encode.spec.ts +0 -30
  623. package/src/base32/helpers.ts +0 -93
  624. package/src/base32/is.spec.ts +0 -32
  625. package/src/base32/validate.spec.ts +0 -44
  626. package/src/base58/decode.spec.ts +0 -31
  627. package/src/base58/encode.spec.ts +0 -26
  628. package/src/base58/validate.spec.ts +0 -20
  629. package/src/base64/decode.spec.ts +0 -42
  630. package/src/base64/encode.spec.ts +0 -14
  631. package/src/base64/pad.spec.ts +0 -14
  632. package/src/base64/pad.ts +0 -10
  633. package/src/base64/trim.spec.ts +0 -14
  634. package/src/base64/trim.ts +0 -14
  635. package/src/base64/validate.spec.ts +0 -32
  636. package/src/blake2/asHex.spec.ts +0 -57
  637. package/src/blake2/asU8a.spec.ts +0 -74
  638. package/src/bundleInit.ts +0 -11
  639. package/src/crypto.spec.ts +0 -18
  640. package/src/crypto.ts +0 -18
  641. package/src/ed25519/deriveHard.ts +0 -18
  642. package/src/ed25519/pair/fromRandom.spec.ts +0 -28
  643. package/src/ed25519/pair/fromSecret.spec.ts +0 -33
  644. package/src/ed25519/pair/fromSeed.spec.ts +0 -42
  645. package/src/ed25519/pair/fromString.spec.ts +0 -17
  646. package/src/ed25519/sign.spec.ts +0 -40
  647. package/src/ed25519/sign.ts +0 -38
  648. package/src/ed25519/verify.spec.ts +0 -84
  649. package/src/ed25519/verify.ts +0 -41
  650. package/src/ethereum/encode.spec.ts +0 -59
  651. package/src/ethereum/encode.ts +0 -39
  652. package/src/ethereum/isAddress.spec.ts +0 -34
  653. package/src/ethereum/isAddress.ts +0 -16
  654. package/src/ethereum/isChecksum.ts +0 -27
  655. package/src/ethereum/isCheksum.spec.ts +0 -30
  656. package/src/hd/ethereum/index.spec.ts +0 -54
  657. package/src/hd/ethereum/index.ts +0 -69
  658. package/src/hd/ledger/derivePrivate.ts +0 -34
  659. package/src/hd/ledger/index.spec.ts +0 -64
  660. package/src/hd/ledger/index.ts +0 -42
  661. package/src/hd/ledger/master.spec.ts +0 -19
  662. package/src/hd/ledger/master.ts +0 -26
  663. package/src/hd/validatePath.spec.ts +0 -30
  664. package/src/hd/validatePath.ts +0 -24
  665. package/src/helpers.ts +0 -38
  666. package/src/hmac/index.ts +0 -4
  667. package/src/hmac/shaAsU8a.spec.ts +0 -45
  668. package/src/index.ts +0 -6
  669. package/src/json/constants.ts +0 -11
  670. package/src/json/decrypt.ts +0 -25
  671. package/src/json/decryptData.ts +0 -45
  672. package/src/json/encrypt.ts +0 -25
  673. package/src/json/encryptFormat.ts +0 -20
  674. package/src/json/types.ts +0 -22
  675. package/src/keccak/asHex.spec.ts +0 -30
  676. package/src/keccak/asU8a.spec.ts +0 -56
  677. package/src/key/DeriveJunction.ts +0 -79
  678. package/src/key/extractPath.spec.ts +0 -51
  679. package/src/key/extractPath.ts +0 -37
  680. package/src/key/extractSuri.spec.ts +0 -147
  681. package/src/key/extractSuri.ts +0 -40
  682. package/src/key/fromPath.ts +0 -28
  683. package/src/key/hdkdDerive.ts +0 -17
  684. package/src/key/hdkdSr25519.ts +0 -14
  685. package/src/mnemonic/bip39.spec.ts +0 -80
  686. package/src/mnemonic/bip39.ts +0 -127
  687. package/src/mnemonic/generate.spec.ts +0 -58
  688. package/src/mnemonic/toEntropy.spec.ts +0 -36
  689. package/src/mnemonic/toEntropy.ts +0 -13
  690. package/src/mnemonic/toLegacySeed.spec.ts +0 -52
  691. package/src/mnemonic/toMiniSecret.spec.ts +0 -67
  692. package/src/mnemonic/toMiniSecret.ts +0 -23
  693. package/src/mnemonic/toMiniSecretCmp.spec.ts +0 -64
  694. package/src/mnemonic/validate.spec.ts +0 -39
  695. package/src/mod.ts +0 -4
  696. package/src/nacl/decrypt.spec.ts +0 -26
  697. package/src/nacl/encrypt.spec.ts +0 -20
  698. package/src/nacl/tweetnacl-secretbox-data.spec.ts +0 -4629
  699. package/src/nacl/tweetnacl-secretbox.spec.ts +0 -161
  700. package/src/nacl/tweetnacl.ts +0 -1159
  701. package/src/networks.ts +0 -5
  702. package/src/packageInfo.ts +0 -6
  703. package/src/pbkdf2/encode.spec.ts +0 -54
  704. package/src/pbkdf2/encode.ts +0 -29
  705. package/src/pbkdf2/index.ts +0 -4
  706. package/src/random/asHex.spec.ts +0 -38
  707. package/src/random/asNumber.spec.ts +0 -16
  708. package/src/random/asU8a.spec.ts +0 -36
  709. package/src/scrypt/defaults.ts +0 -19
  710. package/src/scrypt/encode.spec.ts +0 -43
  711. package/src/scrypt/encode.ts +0 -30
  712. package/src/scrypt/fromU8a.ts +0 -44
  713. package/src/scrypt/toU8a.ts +0 -17
  714. package/src/scrypt/types.ts +0 -9
  715. package/src/secp256k1/compress.spec.ts +0 -47
  716. package/src/secp256k1/compress.ts +0 -21
  717. package/src/secp256k1/deriveHard.ts +0 -17
  718. package/src/secp256k1/expand.spec.ts +0 -47
  719. package/src/secp256k1/expand.ts +0 -30
  720. package/src/secp256k1/hasher.spec.ts +0 -24
  721. package/src/secp256k1/hasher.ts +0 -13
  722. package/src/secp256k1/pair/fromSeed.spec.ts +0 -75
  723. package/src/secp256k1/pair/fromSeed.ts +0 -42
  724. package/src/secp256k1/recover.spec.ts +0 -35
  725. package/src/secp256k1/recover.ts +0 -36
  726. package/src/secp256k1/sign.spec.ts +0 -39
  727. package/src/secp256k1/sign.ts +0 -37
  728. package/src/secp256k1/signVerify.spec.ts +0 -94
  729. package/src/secp256k1/tweakAdd.spec.ts +0 -35
  730. package/src/secp256k1/tweakAdd.ts +0 -65
  731. package/src/secp256k1/types.ts +0 -4
  732. package/src/secp256k1/verify.spec.ts +0 -81
  733. package/src/secp256k1/verify.ts +0 -32
  734. package/src/sha/asU8a256.spec.ts +0 -55
  735. package/src/sha/asU8a512.spec.ts +0 -33
  736. package/src/signature/index.ts +0 -8
  737. package/src/signature/verify.spec.ts +0 -230
  738. package/src/signature/verify.ts +0 -114
  739. package/src/sr25519/agreement.spec.ts +0 -31
  740. package/src/sr25519/agreement.ts +0 -23
  741. package/src/sr25519/derive.ts +0 -21
  742. package/src/sr25519/derivePublic.ts +0 -18
  743. package/src/sr25519/pair/fromSeed.spec.ts +0 -35
  744. package/src/sr25519/pair/fromSeed.ts +0 -28
  745. package/src/sr25519/pair/fromU8a.ts +0 -23
  746. package/src/sr25519/pair/testing.spec.ts +0 -161
  747. package/src/sr25519/pair/toU8a.ts +0 -10
  748. package/src/sr25519/sign.spec.ts +0 -28
  749. package/src/sr25519/sign.ts +0 -22
  750. package/src/sr25519/verify.spec.ts +0 -42
  751. package/src/sr25519/verify.ts +0 -23
  752. package/src/sr25519/vrfSign.ts +0 -24
  753. package/src/sr25519/vrfSignVerify.spec.ts +0 -73
  754. package/src/sr25519/vrfVerify.ts +0 -25
  755. package/src/test/index.ts +0 -8
  756. package/src/test/performance.ts +0 -17
  757. package/src/types.ts +0 -33
  758. package/src/xxhash/asHex.spec.ts +0 -36
  759. package/src/xxhash/asU8a.spec.ts +0 -48
  760. package/src/xxhash/xxhash64.ts +0 -155
  761. package/tsconfig.build.json +0 -18
  762. package/tsconfig.spec.json +0 -20
@@ -0,0 +1 @@
1
+ export type Prefix = number;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function addressToU8a(who: string | Uint8Array): Uint8Array;
@@ -0,0 +1,4 @@
1
+ import { decodeAddress } from './decode.js';
2
+ export function addressToU8a(who) {
3
+ return decodeAddress(who);
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { Prefix } from './types.js';
2
+ export declare function validateAddress(encoded?: string | null, ignoreChecksum?: boolean, ss58Format?: Prefix): encoded is string;
@@ -0,0 +1,4 @@
1
+ import { decodeAddress } from './decode.js';
2
+ export function validateAddress(encoded, ignoreChecksum, ss58Format) {
3
+ return !!decodeAddress(encoded, ignoreChecksum, ss58Format);
4
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @name base32Validate
3
+ * @summary Validates a base32 value.
4
+ * @description
5
+ * Validates that the supplied value is valid base32, throwing exceptions if not
6
+ */
7
+ export declare const base32Validate: (value?: unknown, ipfsCompat?: boolean) => value is string;
8
+ /**
9
+ * @name isBase32
10
+ * @description Checks if the input is in base32, returning true/false
11
+ */
12
+ export declare const isBase32: (value?: unknown, ipfsCompat?: boolean) => value is string;
13
+ /**
14
+ * @name base32Decode
15
+ * @summary Delookup a base32 value.
16
+ * @description
17
+ * From the provided input, decode the base32 and return the result as an `Uint8Array`.
18
+ */
19
+ export declare const base32Decode: (value: string, ipfsCompat?: boolean) => Uint8Array;
20
+ /**
21
+ * @name base32Encode
22
+ * @summary Creates a base32 value.
23
+ * @description
24
+ * From the provided input, create the base32 and return the result as a string.
25
+ */
26
+ export declare const base32Encode: (value: import("@polkadot/util/types").U8aLike, ipfsCompat?: boolean) => string;
@@ -1,27 +1,17 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { utils } from '@scure/base';
5
-
6
2
  import { createDecode, createEncode, createIs, createValidate } from './helpers.js';
7
-
8
3
  const chars = 'abcdefghijklmnopqrstuvwxyz234567';
9
-
10
4
  const config = {
11
- chars,
12
- coder: utils.chain(
5
+ chars,
6
+ coder: utils.chain(
13
7
  // We define our own chain, the default base32 has padding
14
- utils.radix2(5),
15
- utils.alphabet(chars),
16
- {
17
- decode: (input: string) => input.split(''),
18
- encode: (input: string[]) => input.join('')
19
- }
20
- ),
21
- ipfs: 'b',
22
- type: 'base32'
8
+ utils.radix2(5), utils.alphabet(chars), {
9
+ decode: (input) => input.split(''),
10
+ encode: (input) => input.join('')
11
+ }),
12
+ ipfs: 'b',
13
+ type: 'base32'
23
14
  };
24
-
25
15
  /**
26
16
  * @name base32Validate
27
17
  * @summary Validates a base32 value.
@@ -29,13 +19,11 @@ const config = {
29
19
  * Validates that the supplied value is valid base32, throwing exceptions if not
30
20
  */
31
21
  export const base32Validate = /*#__PURE__*/ createValidate(config);
32
-
33
22
  /**
34
23
  * @name isBase32
35
24
  * @description Checks if the input is in base32, returning true/false
36
25
  */
37
26
  export const isBase32 = /*#__PURE__*/ createIs(base32Validate);
38
-
39
27
  /**
40
28
  * @name base32Decode
41
29
  * @summary Delookup a base32 value.
@@ -43,7 +31,6 @@ export const isBase32 = /*#__PURE__*/ createIs(base32Validate);
43
31
  * From the provided input, decode the base32 and return the result as an `Uint8Array`.
44
32
  */
45
33
  export const base32Decode = /*#__PURE__*/ createDecode(config, base32Validate);
46
-
47
34
  /**
48
35
  * @name base32Encode
49
36
  * @summary Creates a base32 value.
@@ -0,0 +1,25 @@
1
+ import type { U8aLike } from '@polkadot/util/types';
2
+ export type { U8aLike } from '@polkadot/util/types';
3
+ interface Coder {
4
+ decode: (value: string) => Uint8Array;
5
+ encode: (value: Uint8Array) => string;
6
+ }
7
+ interface Config {
8
+ chars: string;
9
+ coder: Coder;
10
+ ipfs?: string;
11
+ regex?: RegExp;
12
+ type: string;
13
+ withPadding?: boolean;
14
+ }
15
+ type DecodeFn = (value: string, ipfsCompat?: boolean) => Uint8Array;
16
+ type EncodeFn = (value: U8aLike, ipfsCompat?: boolean) => string;
17
+ type ValidateFn = (value?: unknown, ipfsCompat?: boolean) => value is string;
18
+ /** @internal */
19
+ export declare function createDecode({ coder, ipfs }: Config, validate: ValidateFn): DecodeFn;
20
+ /** @internal */
21
+ export declare function createEncode({ coder, ipfs }: Config): EncodeFn;
22
+ /** @internal */
23
+ export declare function createIs(validate: ValidateFn): ValidateFn;
24
+ /** @internal */
25
+ export declare function createValidate({ chars, ipfs, type, withPadding }: Config): ValidateFn;
@@ -0,0 +1,61 @@
1
+ import { u8aToU8a } from '@pezkuwi/util';
2
+ /** @internal */
3
+ export function createDecode({ coder, ipfs }, validate) {
4
+ return (value, ipfsCompat) => {
5
+ validate(value, ipfsCompat);
6
+ return coder.decode(ipfs && ipfsCompat
7
+ ? value.substring(1)
8
+ : value);
9
+ };
10
+ }
11
+ /** @internal */
12
+ export function createEncode({ coder, ipfs }) {
13
+ return (value, ipfsCompat) => {
14
+ const out = coder.encode(u8aToU8a(value));
15
+ return ipfs && ipfsCompat
16
+ ? `${ipfs}${out}`
17
+ : out;
18
+ };
19
+ }
20
+ /** @internal */
21
+ export function createIs(validate) {
22
+ return (value, ipfsCompat) => {
23
+ try {
24
+ return validate(value, ipfsCompat);
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ };
30
+ }
31
+ /** @internal */
32
+ export function createValidate({ chars, ipfs, type, withPadding }) {
33
+ return (value, ipfsCompat) => {
34
+ if (typeof value !== 'string') {
35
+ throw new Error(`Expected ${type} string input`);
36
+ }
37
+ else if (ipfs && ipfsCompat && !value.startsWith(ipfs)) {
38
+ throw new Error(`Expected ipfs-compatible ${type} to start with '${ipfs}'`);
39
+ }
40
+ for (let i = (ipfsCompat ? 1 : 0), count = value.length; i < count; i++) {
41
+ if (chars.includes(value[i])) {
42
+ // all ok, character found
43
+ }
44
+ else if (withPadding && value[i] === '=') {
45
+ if (i === count - 1) {
46
+ // last character, everything ok
47
+ }
48
+ else if (value[i + 1] === '=') {
49
+ // next one is also padding, sequence ok
50
+ }
51
+ else {
52
+ throw new Error(`Invalid ${type} padding sequence "${value[i]}${value[i + 1]}" at index ${i}`);
53
+ }
54
+ }
55
+ else {
56
+ throw new Error(`Invalid ${type} character "${value[i]}" (0x${value.charCodeAt(i).toString(16)}) at index ${i}`);
57
+ }
58
+ }
59
+ return true;
60
+ };
61
+ }
@@ -1,8 +1,4 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  /**
5
2
  * @summary Encode and decode base32 values
6
3
  */
7
-
8
4
  export { base32Decode, base32Encode, base32Validate, isBase32 } from './bs32.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @summary Encode and decode base32 values
3
+ */
4
+ export { base32Decode, base32Encode, base32Validate, isBase32 } from './bs32.js';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @name base58Validate
3
+ * @summary Validates a base58 value.
4
+ * @description
5
+ * Validates that the supplied value is valid base58, throwing exceptions if not
6
+ */
7
+ export declare const base58Validate: (value?: unknown, ipfsCompat?: boolean) => value is string;
8
+ /**
9
+ * @name base58Decode
10
+ * @summary Decodes a base58 value.
11
+ * @description
12
+ * From the provided input, decode the base58 and return the result as an `Uint8Array`.
13
+ */
14
+ export declare const base58Decode: (value: string, ipfsCompat?: boolean) => Uint8Array;
15
+ /**
16
+ * @name base58Encode
17
+ * @summary Creates a base58 value.
18
+ * @description
19
+ * From the provided input, create the base58 and return the result as a string.
20
+ */
21
+ export declare const base58Encode: (value: import("@polkadot/util/types").U8aLike, ipfsCompat?: boolean) => string;
22
+ /**
23
+ * @name isBase58
24
+ * @description Checks if the input is in base58, returning true/false
25
+ */
26
+ export declare const isBase58: (value?: unknown, ipfsCompat?: boolean) => value is string;
@@ -1,17 +1,11 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { base58 } from '@scure/base';
5
-
6
2
  import { createDecode, createEncode, createIs, createValidate } from '../base32/helpers.js';
7
-
8
3
  const config = {
9
- chars: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',
10
- coder: base58,
11
- ipfs: 'z',
12
- type: 'base58'
4
+ chars: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',
5
+ coder: base58,
6
+ ipfs: 'z',
7
+ type: 'base58'
13
8
  };
14
-
15
9
  /**
16
10
  * @name base58Validate
17
11
  * @summary Validates a base58 value.
@@ -19,7 +13,6 @@ const config = {
19
13
  * Validates that the supplied value is valid base58, throwing exceptions if not
20
14
  */
21
15
  export const base58Validate = /*#__PURE__*/ createValidate(config);
22
-
23
16
  /**
24
17
  * @name base58Decode
25
18
  * @summary Decodes a base58 value.
@@ -27,7 +20,6 @@ export const base58Validate = /*#__PURE__*/ createValidate(config);
27
20
  * From the provided input, decode the base58 and return the result as an `Uint8Array`.
28
21
  */
29
22
  export const base58Decode = /*#__PURE__*/ createDecode(config, base58Validate);
30
-
31
23
  /**
32
24
  * @name base58Encode
33
25
  * @summary Creates a base58 value.
@@ -35,7 +27,6 @@ export const base58Decode = /*#__PURE__*/ createDecode(config, base58Validate);
35
27
  * From the provided input, create the base58 and return the result as a string.
36
28
  */
37
29
  export const base58Encode = /*#__PURE__*/ createEncode(config);
38
-
39
30
  /**
40
31
  * @name isBase58
41
32
  * @description Checks if the input is in base58, returning true/false
@@ -1,8 +1,4 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  /**
5
2
  * @summary Encode and decode base58 values
6
3
  */
7
-
8
4
  export { base58Decode, base58Encode, base58Validate, isBase58 } from './bs58.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @summary Encode and decode base58 values
3
+ */
4
+ export { base58Decode, base58Encode, base58Validate, isBase58 } from './bs58.js';
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @name base64Validate
3
+ * @summary Validates a base64 value.
4
+ * @description
5
+ * Validates that the supplied value is valid base64
6
+ */
7
+ export declare const base64Validate: (value?: unknown, ipfsCompat?: boolean) => value is string;
8
+ /**
9
+ * @name isBase64
10
+ * @description Checks if the input is in base64, returning true/false
11
+ */
12
+ export declare const isBase64: (value?: unknown, ipfsCompat?: boolean) => value is string;
13
+ /**
14
+ * @name base64Decode
15
+ * @summary Decodes a base64 value.
16
+ * @description
17
+ * From the provided input, decode the base64 and return the result as an `Uint8Array`.
18
+ */
19
+ export declare const base64Decode: (value: string, ipfsCompat?: boolean) => Uint8Array;
20
+ /**
21
+ * @name base64Encode
22
+ * @summary Creates a base64 value.
23
+ * @description
24
+ * From the provided input, create the base64 and return the result as a string.
25
+ */
26
+ export declare const base64Encode: (value: import("@polkadot/util/types").U8aLike, ipfsCompat?: boolean) => string;
@@ -1,17 +1,11 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { base64 } from '@scure/base';
5
-
6
2
  import { createDecode, createEncode, createIs, createValidate } from '../base32/helpers.js';
7
-
8
3
  const config = {
9
- chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
10
- coder: base64,
11
- type: 'base64',
12
- withPadding: true
4
+ chars: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
5
+ coder: base64,
6
+ type: 'base64',
7
+ withPadding: true
13
8
  };
14
-
15
9
  /**
16
10
  * @name base64Validate
17
11
  * @summary Validates a base64 value.
@@ -19,13 +13,11 @@ const config = {
19
13
  * Validates that the supplied value is valid base64
20
14
  */
21
15
  export const base64Validate = /*#__PURE__*/ createValidate(config);
22
-
23
16
  /**
24
17
  * @name isBase64
25
18
  * @description Checks if the input is in base64, returning true/false
26
19
  */
27
20
  export const isBase64 = /*#__PURE__*/ createIs(base64Validate);
28
-
29
21
  /**
30
22
  * @name base64Decode
31
23
  * @summary Decodes a base64 value.
@@ -33,7 +25,6 @@ export const isBase64 = /*#__PURE__*/ createIs(base64Validate);
33
25
  * From the provided input, decode the base64 and return the result as an `Uint8Array`.
34
26
  */
35
27
  export const base64Decode = /*#__PURE__*/ createDecode(config, base64Validate);
36
-
37
28
  /**
38
29
  * @name base64Encode
39
30
  * @summary Creates a base64 value.
@@ -1,10 +1,6 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  /**
5
2
  * @summary Encode and decode base64 values
6
3
  */
7
-
8
4
  export { base64Decode, base64Encode, base64Validate, isBase64 } from './bs64.js';
9
5
  export { base64Pad } from './pad.js';
10
6
  export { base64Trim } from './trim.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @summary Encode and decode base64 values
3
+ */
4
+ export { base64Decode, base64Encode, base64Validate, isBase64 } from './bs64.js';
5
+ export { base64Pad } from './pad.js';
6
+ export { base64Trim } from './trim.js';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @name base64Pad
3
+ * @description Adds padding characters for correct length
4
+ */
5
+ export declare function base64Pad(value: string): string;
package/base64/pad.js ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @name base64Pad
3
+ * @description Adds padding characters for correct length
4
+ */
5
+ export function base64Pad(value) {
6
+ return value.padEnd(value.length + (value.length % 4), '=');
7
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @name base64Trim
3
+ * @description Trims padding characters
4
+ */
5
+ export declare function base64Trim(value: string): string;
package/base64/trim.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @name base64Trim
3
+ * @description Trims padding characters
4
+ */
5
+ export function base64Trim(value) {
6
+ while (value.length && value.endsWith('=')) {
7
+ value = value.slice(0, -1);
8
+ }
9
+ return value;
10
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @name blake2AsU8a
3
+ * @summary Creates a blake2b u8a from the input.
4
+ * @description
5
+ * From a `Uint8Array` input, create the blake2b and return the result as a u8a with the specified `bitLength`.
6
+ * @example
7
+ * <BR>
8
+ *
9
+ * ```javascript
10
+ * import { blake2AsU8a } from '@polkadot/util-crypto';
11
+ *
12
+ * blake2AsU8a('abc'); // => [0xba, 0x80, 0xa5, 0x3f, 0x98, 0x1c, 0x4d, 0x0d]
13
+ * ```
14
+ */
15
+ export declare function blake2AsU8a(data: string | Uint8Array, bitLength?: 64 | 128 | 256 | 384 | 512, key?: Uint8Array | null, onlyJs?: boolean): Uint8Array;
16
+ /**
17
+ * @name blake2AsHex
18
+ * @description Creates a blake2b hex from the input.
19
+ */
20
+ export declare const blake2AsHex: (data: string | Uint8Array, bitLength?: 256 | 512 | 64 | 128 | 384 | undefined, key?: Uint8Array | null | undefined, onlyJs?: boolean | undefined) => import("@polkadot/util/types").HexString;
@@ -1,13 +1,7 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  import { blake2b as blake2bJs } from '@noble/hashes/blake2b';
5
-
6
2
  import { hasBigInt, u8aToU8a } from '@pezkuwi/util';
7
3
  import { blake2b, isReady } from '@pezkuwi/wasm-crypto';
8
-
9
4
  import { createAsHex } from '../helpers.js';
10
-
11
5
  /**
12
6
  * @name blake2AsU8a
13
7
  * @summary Creates a blake2b u8a from the input.
@@ -22,17 +16,15 @@ import { createAsHex } from '../helpers.js';
22
16
  * blake2AsU8a('abc'); // => [0xba, 0x80, 0xa5, 0x3f, 0x98, 0x1c, 0x4d, 0x0d]
23
17
  * ```
24
18
  */
25
- export function blake2AsU8a (data: string | Uint8Array, bitLength: 64 | 128 | 256 | 384 | 512 = 256, key?: Uint8Array | null, onlyJs?: boolean): Uint8Array {
26
- const byteLength = Math.ceil(bitLength / 8);
27
- const u8a = u8aToU8a(data);
28
-
29
- return !hasBigInt || (!onlyJs && isReady())
30
- ? blake2b(u8a, u8aToU8a(key), byteLength)
31
- : key
32
- ? blake2bJs(u8a, { dkLen: byteLength, key })
33
- : blake2bJs(u8a, { dkLen: byteLength });
19
+ export function blake2AsU8a(data, bitLength = 256, key, onlyJs) {
20
+ const byteLength = Math.ceil(bitLength / 8);
21
+ const u8a = u8aToU8a(data);
22
+ return !hasBigInt || (!onlyJs && isReady())
23
+ ? blake2b(u8a, u8aToU8a(key), byteLength)
24
+ : key
25
+ ? blake2bJs(u8a, { dkLen: byteLength, key })
26
+ : blake2bJs(u8a, { dkLen: byteLength });
34
27
  }
35
-
36
28
  /**
37
29
  * @name blake2AsHex
38
30
  * @description Creates a blake2b hex from the input.
@@ -1,8 +1,4 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  /**
5
2
  * @summary Create blake2b values with specified bitlengths
6
3
  */
7
-
8
4
  export { blake2AsHex, blake2AsU8a } from './asU8a.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @summary Create blake2b values with specified bitlengths
3
+ */
4
+ export { blake2AsHex, blake2AsU8a } from './asU8a.js';
package/bn.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ export declare const BN_BE_OPTS: {
2
+ isLe: boolean;
3
+ };
4
+ export declare const BN_LE_OPTS: {
5
+ isLe: boolean;
6
+ };
7
+ export declare const BN_LE_16_OPTS: {
8
+ bitLength: number;
9
+ isLe: boolean;
10
+ };
11
+ export declare const BN_BE_32_OPTS: {
12
+ bitLength: number;
13
+ isLe: boolean;
14
+ };
15
+ export declare const BN_LE_32_OPTS: {
16
+ bitLength: number;
17
+ isLe: boolean;
18
+ };
19
+ export declare const BN_BE_256_OPTS: {
20
+ bitLength: number;
21
+ isLe: boolean;
22
+ };
23
+ export declare const BN_LE_256_OPTS: {
24
+ bitLength: number;
25
+ isLe: boolean;
26
+ };
27
+ export declare const BN_LE_512_OPTS: {
28
+ bitLength: number;
29
+ isLe: boolean;
30
+ };
@@ -1,15 +1,8 @@
1
- // Copyright 2017-2025 @polkadot/util-crypto authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
1
  export const BN_BE_OPTS = { isLe: false };
5
2
  export const BN_LE_OPTS = { isLe: true };
6
-
7
3
  export const BN_LE_16_OPTS = { bitLength: 16, isLe: true };
8
-
9
4
  export const BN_BE_32_OPTS = { bitLength: 32, isLe: false };
10
5
  export const BN_LE_32_OPTS = { bitLength: 32, isLe: true };
11
-
12
6
  export const BN_BE_256_OPTS = { bitLength: 256, isLe: false };
13
7
  export const BN_LE_256_OPTS = { bitLength: 256, isLe: true };
14
-
15
8
  export const BN_LE_512_OPTS = { bitLength: 512, isLe: true };
package/bridge.d.ts ADDED
@@ -0,0 +1,82 @@
1
+ import type { BridgeBase, InitFn, WasmBaseInstance } from './types.js';
2
+ /**
3
+ * @name Bridge
4
+ * @description
5
+ * Creates a bridge between the JS and WASM environments.
6
+ *
7
+ * For any bridge it is passed an function which is then called internally at the
8
+ * time of initialization. This affectively implements the layer between WASM and
9
+ * the native environment, providing all the plumbing needed for the Wbg classes.
10
+ */
11
+ export declare class Bridge<C extends WasmBaseInstance> implements BridgeBase<C> {
12
+ #private;
13
+ constructor(createWasm: InitFn<C>);
14
+ /** @description Returns the init error */
15
+ get error(): string | null;
16
+ /** @description Returns the init type */
17
+ get type(): 'asm' | 'wasm' | 'none';
18
+ /** @description Returns the created wasm interface */
19
+ get wasm(): C | null;
20
+ /** @description Performs the wasm initialization */
21
+ init(createWasm?: InitFn<C>): Promise<C | null>;
22
+ /**
23
+ * @internal
24
+ * @description Gets an object from the heap
25
+ */
26
+ getObject(idx: number): unknown;
27
+ /**
28
+ * @internal
29
+ * @description Removes an object from the heap
30
+ */
31
+ dropObject(idx: number): void;
32
+ /**
33
+ * @internal
34
+ * @description Retrieves and removes an object to the heap
35
+ */
36
+ takeObject(idx: number): unknown;
37
+ /**
38
+ * @internal
39
+ * @description Adds an object to the heap
40
+ */
41
+ addObject(obj: unknown): number;
42
+ /**
43
+ * @internal
44
+ * @description Retrieve an Int32 in the WASM interface
45
+ */
46
+ getInt32(): Int32Array;
47
+ /**
48
+ * @internal
49
+ * @description Retrieve an Uint8Array in the WASM interface
50
+ */
51
+ getUint8(): Uint8Array;
52
+ /**
53
+ * @internal
54
+ * @description Retrieves an Uint8Array in the WASM interface
55
+ */
56
+ getU8a(ptr: number, len: number): Uint8Array;
57
+ /**
58
+ * @internal
59
+ * @description Retrieves a string in the WASM interface
60
+ */
61
+ getString(ptr: number, len: number): string;
62
+ /**
63
+ * @internal
64
+ * @description Allocates an Uint8Array in the WASM interface
65
+ */
66
+ allocU8a(arg: Uint8Array): [number, number];
67
+ /**
68
+ * @internal
69
+ * @description Allocates a string in the WASM interface
70
+ */
71
+ allocString(arg: string): [number, number];
72
+ /**
73
+ * @internal
74
+ * @description Retrieves an Uint8Array from the WASM interface
75
+ */
76
+ resultU8a(): Uint8Array;
77
+ /**
78
+ * @internal
79
+ * @description Retrieve a string from the WASM interface
80
+ */
81
+ resultString(): string;
82
+ }