@pezkuwi/util-crypto 14.0.22 → 14.0.23

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 (1391) hide show
  1. package/blake2/asU8a.d.ts +1 -1
  2. package/build/LICENSE +201 -0
  3. package/build/README.md +17 -0
  4. package/build/address/addressToEvm.d.ts +5 -0
  5. package/build/address/addressToEvm.js +8 -0
  6. package/build/address/check.d.ts +8 -0
  7. package/build/address/check.js +26 -0
  8. package/build/address/checksum.d.ts +1 -0
  9. package/build/address/checksum.js +16 -0
  10. package/build/address/decode.d.ts +2 -0
  11. package/build/address/decode.js +29 -0
  12. package/build/address/defaults.d.ts +6 -0
  13. package/build/address/defaults.js +8 -0
  14. package/build/address/derive.d.ts +8 -0
  15. package/build/address/derive.js +24 -0
  16. package/build/address/encode.d.ts +2 -0
  17. package/build/address/encode.js +23 -0
  18. package/build/address/encodeDerived.d.ts +9 -0
  19. package/build/address/encodeDerived.js +12 -0
  20. package/build/address/encodeMulti.d.ts +9 -0
  21. package/build/address/encodeMulti.js +11 -0
  22. package/build/address/eq.d.ts +15 -0
  23. package/build/address/eq.js +19 -0
  24. package/build/address/evmToAddress.d.ts +7 -0
  25. package/build/address/evmToAddress.js +14 -0
  26. package/build/address/index.d.ts +16 -0
  27. package/build/address/index.js +16 -0
  28. package/build/address/is.d.ts +2 -0
  29. package/build/address/is.js +9 -0
  30. package/build/address/keyDerived.d.ts +2 -0
  31. package/build/address/keyDerived.js +8 -0
  32. package/build/address/keyMulti.d.ts +2 -0
  33. package/build/address/keyMulti.js +8 -0
  34. package/build/address/setSS58Format.d.ts +6 -0
  35. package/build/address/setSS58Format.js +11 -0
  36. package/build/address/sort.d.ts +2 -0
  37. package/build/address/sort.js +7 -0
  38. package/build/address/sshash.d.ts +1 -0
  39. package/build/address/sshash.js +6 -0
  40. package/build/address/types.d.ts +1 -0
  41. package/build/address/types.js +1 -0
  42. package/build/address/util.d.ts +1 -0
  43. package/build/address/util.js +4 -0
  44. package/build/address/validate.d.ts +2 -0
  45. package/build/address/validate.js +4 -0
  46. package/build/base32/bs32.d.ts +26 -0
  47. package/build/base32/bs32.js +40 -0
  48. package/build/base32/helpers.d.ts +25 -0
  49. package/build/base32/helpers.js +61 -0
  50. package/build/base32/index.d.ts +4 -0
  51. package/build/base32/index.js +4 -0
  52. package/build/base58/bs58.d.ts +26 -0
  53. package/build/base58/bs58.js +34 -0
  54. package/build/base58/index.d.ts +4 -0
  55. package/build/base58/index.js +4 -0
  56. package/build/base64/bs64.d.ts +26 -0
  57. package/build/base64/bs64.js +34 -0
  58. package/build/base64/index.d.ts +6 -0
  59. package/build/base64/index.js +6 -0
  60. package/build/base64/pad.d.ts +5 -0
  61. package/build/base64/pad.js +7 -0
  62. package/build/base64/trim.d.ts +5 -0
  63. package/build/base64/trim.js +10 -0
  64. package/build/blake2/asU8a.d.ts +20 -0
  65. package/build/blake2/asU8a.js +32 -0
  66. package/build/blake2/index.d.ts +4 -0
  67. package/build/blake2/index.js +4 -0
  68. package/build/bn.d.ts +30 -0
  69. package/build/bn.js +8 -0
  70. package/build/bundle.d.ts +26 -0
  71. package/build/bundle.js +26 -0
  72. package/build/bundleInit.d.ts +1 -0
  73. package/build/bundleInit.js +5 -0
  74. package/build/cjs/address/addressToEvm.d.ts +5 -0
  75. package/build/cjs/address/addressToEvm.js +11 -0
  76. package/build/cjs/address/check.d.ts +8 -0
  77. package/build/cjs/address/check.js +29 -0
  78. package/build/cjs/address/checksum.d.ts +1 -0
  79. package/build/cjs/address/checksum.js +19 -0
  80. package/build/cjs/address/decode.d.ts +2 -0
  81. package/build/cjs/address/decode.js +32 -0
  82. package/build/cjs/address/defaults.d.ts +6 -0
  83. package/build/cjs/address/defaults.js +11 -0
  84. package/build/cjs/address/derive.d.ts +8 -0
  85. package/build/cjs/address/derive.js +27 -0
  86. package/build/cjs/address/encode.d.ts +2 -0
  87. package/build/cjs/address/encode.js +26 -0
  88. package/build/cjs/address/encodeDerived.d.ts +9 -0
  89. package/build/cjs/address/encodeDerived.js +15 -0
  90. package/build/cjs/address/encodeMulti.d.ts +9 -0
  91. package/build/cjs/address/encodeMulti.js +14 -0
  92. package/build/cjs/address/eq.d.ts +15 -0
  93. package/build/cjs/address/eq.js +22 -0
  94. package/build/cjs/address/evmToAddress.d.ts +7 -0
  95. package/build/cjs/address/evmToAddress.js +17 -0
  96. package/build/cjs/address/index.d.ts +16 -0
  97. package/build/cjs/address/index.js +35 -0
  98. package/build/cjs/address/is.d.ts +2 -0
  99. package/build/cjs/address/is.js +12 -0
  100. package/build/cjs/address/keyDerived.d.ts +2 -0
  101. package/build/cjs/address/keyDerived.js +11 -0
  102. package/build/cjs/address/keyMulti.d.ts +2 -0
  103. package/build/cjs/address/keyMulti.js +11 -0
  104. package/build/cjs/address/setSS58Format.d.ts +6 -0
  105. package/build/cjs/address/setSS58Format.js +14 -0
  106. package/build/cjs/address/sort.d.ts +2 -0
  107. package/build/cjs/address/sort.js +10 -0
  108. package/build/cjs/address/sshash.d.ts +1 -0
  109. package/build/cjs/address/sshash.js +9 -0
  110. package/build/cjs/address/types.d.ts +1 -0
  111. package/build/cjs/address/types.js +2 -0
  112. package/build/cjs/address/util.d.ts +1 -0
  113. package/build/cjs/address/util.js +7 -0
  114. package/build/cjs/address/validate.d.ts +2 -0
  115. package/build/cjs/address/validate.js +7 -0
  116. package/build/cjs/base32/bs32.d.ts +26 -0
  117. package/build/cjs/base32/bs32.js +43 -0
  118. package/build/cjs/base32/helpers.d.ts +25 -0
  119. package/build/cjs/base32/helpers.js +67 -0
  120. package/build/cjs/base32/index.d.ts +4 -0
  121. package/build/cjs/base32/index.js +11 -0
  122. package/build/cjs/base58/bs58.d.ts +26 -0
  123. package/build/cjs/base58/bs58.js +37 -0
  124. package/build/cjs/base58/index.d.ts +4 -0
  125. package/build/cjs/base58/index.js +11 -0
  126. package/build/cjs/base64/bs64.d.ts +26 -0
  127. package/build/cjs/base64/bs64.js +37 -0
  128. package/build/cjs/base64/index.d.ts +6 -0
  129. package/build/cjs/base64/index.js +15 -0
  130. package/build/cjs/base64/pad.d.ts +5 -0
  131. package/build/cjs/base64/pad.js +10 -0
  132. package/build/cjs/base64/trim.d.ts +5 -0
  133. package/build/cjs/base64/trim.js +13 -0
  134. package/build/cjs/blake2/asU8a.d.ts +20 -0
  135. package/build/cjs/blake2/asU8a.js +36 -0
  136. package/build/cjs/blake2/index.d.ts +4 -0
  137. package/build/cjs/blake2/index.js +9 -0
  138. package/build/cjs/bn.d.ts +30 -0
  139. package/build/cjs/bn.js +11 -0
  140. package/build/cjs/bundle.d.ts +26 -0
  141. package/build/cjs/bundle.js +31 -0
  142. package/build/cjs/bundleInit.d.ts +1 -0
  143. package/build/cjs/bundleInit.js +7 -0
  144. package/build/cjs/crypto.d.ts +3 -0
  145. package/build/cjs/crypto.js +16 -0
  146. package/build/cjs/ed25519/deriveHard.d.ts +1 -0
  147. package/build/cjs/ed25519/deriveHard.js +12 -0
  148. package/build/cjs/ed25519/index.d.ts +10 -0
  149. package/build/cjs/ed25519/index.js +20 -0
  150. package/build/cjs/ed25519/pair/fromRandom.d.ts +16 -0
  151. package/build/cjs/ed25519/pair/fromRandom.js +22 -0
  152. package/build/cjs/ed25519/pair/fromSecret.d.ts +16 -0
  153. package/build/cjs/ed25519/pair/fromSecret.js +26 -0
  154. package/build/cjs/ed25519/pair/fromSeed.d.ts +16 -0
  155. package/build/cjs/ed25519/pair/fromSeed.js +34 -0
  156. package/build/cjs/ed25519/pair/fromString.d.ts +16 -0
  157. package/build/cjs/ed25519/pair/fromString.js +23 -0
  158. package/build/cjs/ed25519/sign.d.ts +16 -0
  159. package/build/cjs/ed25519/sign.js +33 -0
  160. package/build/cjs/ed25519/verify.d.ts +15 -0
  161. package/build/cjs/ed25519/verify.js +39 -0
  162. package/build/cjs/ethereum/encode.d.ts +2 -0
  163. package/build/cjs/ethereum/encode.js +28 -0
  164. package/build/cjs/ethereum/index.d.ts +3 -0
  165. package/build/cjs/ethereum/index.js +9 -0
  166. package/build/cjs/ethereum/isAddress.d.ts +1 -0
  167. package/build/cjs/ethereum/isAddress.js +14 -0
  168. package/build/cjs/ethereum/isChecksum.d.ts +1 -0
  169. package/build/cjs/ethereum/isChecksum.js +20 -0
  170. package/build/cjs/hd/ethereum/index.d.ts +2 -0
  171. package/build/cjs/hd/ethereum/index.js +47 -0
  172. package/build/cjs/hd/index.d.ts +3 -0
  173. package/build/cjs/hd/index.js +9 -0
  174. package/build/cjs/hd/ledger/derivePrivate.d.ts +1 -0
  175. package/build/cjs/hd/ledger/derivePrivate.js +15 -0
  176. package/build/cjs/hd/ledger/index.d.ts +2 -0
  177. package/build/cjs/hd/ledger/index.js +33 -0
  178. package/build/cjs/hd/ledger/master.d.ts +1 -0
  179. package/build/cjs/hd/ledger/master.js +19 -0
  180. package/build/cjs/hd/validatePath.d.ts +2 -0
  181. package/build/cjs/hd/validatePath.js +20 -0
  182. package/build/cjs/helpers.d.ts +12 -0
  183. package/build/cjs/helpers.js +24 -0
  184. package/build/cjs/hmac/index.d.ts +1 -0
  185. package/build/cjs/hmac/index.js +7 -0
  186. package/build/cjs/hmac/shaAsU8a.d.ts +15 -0
  187. package/build/cjs/hmac/shaAsU8a.js +40 -0
  188. package/build/cjs/index.d.ts +2 -0
  189. package/build/cjs/index.js +5 -0
  190. package/build/cjs/json/constants.d.ts +6 -0
  191. package/build/cjs/json/constants.js +8 -0
  192. package/build/cjs/json/decrypt.d.ts +2 -0
  193. package/build/cjs/json/decrypt.js +16 -0
  194. package/build/cjs/json/decryptData.d.ts +2 -0
  195. package/build/cjs/json/decryptData.js +32 -0
  196. package/build/cjs/json/encrypt.d.ts +2 -0
  197. package/build/cjs/json/encrypt.js +18 -0
  198. package/build/cjs/json/encryptFormat.d.ts +2 -0
  199. package/build/cjs/json/encryptFormat.js +17 -0
  200. package/build/cjs/json/index.d.ts +4 -0
  201. package/build/cjs/json/index.js +11 -0
  202. package/build/cjs/json/types.d.ts +16 -0
  203. package/build/cjs/json/types.js +2 -0
  204. package/build/cjs/keccak/asU8a.d.ts +30 -0
  205. package/build/cjs/keccak/asU8a.js +36 -0
  206. package/build/cjs/keccak/index.d.ts +4 -0
  207. package/build/cjs/keccak/index.js +11 -0
  208. package/build/cjs/key/DeriveJunction.d.ts +12 -0
  209. package/build/cjs/key/DeriveJunction.js +62 -0
  210. package/build/cjs/key/extractPath.d.ts +9 -0
  211. package/build/cjs/key/extractPath.js +26 -0
  212. package/build/cjs/key/extractSuri.d.ts +11 -0
  213. package/build/cjs/key/extractSuri.js +25 -0
  214. package/build/cjs/key/fromPath.d.ts +3 -0
  215. package/build/cjs/key/fromPath.js +21 -0
  216. package/build/cjs/key/hdkdDerive.d.ts +3 -0
  217. package/build/cjs/key/hdkdDerive.js +11 -0
  218. package/build/cjs/key/hdkdEcdsa.d.ts +1 -0
  219. package/build/cjs/key/hdkdEcdsa.js +7 -0
  220. package/build/cjs/key/hdkdEd25519.d.ts +1 -0
  221. package/build/cjs/key/hdkdEd25519.js +6 -0
  222. package/build/cjs/key/hdkdSr25519.d.ts +3 -0
  223. package/build/cjs/key/hdkdSr25519.js +10 -0
  224. package/build/cjs/key/index.d.ts +9 -0
  225. package/build/cjs/key/index.js +18 -0
  226. package/build/cjs/mnemonic/bip39.d.ts +5 -0
  227. package/build/cjs/mnemonic/bip39.js +90 -0
  228. package/build/cjs/mnemonic/generate.d.ts +13 -0
  229. package/build/cjs/mnemonic/generate.js +23 -0
  230. package/build/cjs/mnemonic/index.d.ts +8 -0
  231. package/build/cjs/mnemonic/index.js +16 -0
  232. package/build/cjs/mnemonic/toEntropy.d.ts +1 -0
  233. package/build/cjs/mnemonic/toEntropy.js +11 -0
  234. package/build/cjs/mnemonic/toLegacySeed.d.ts +18 -0
  235. package/build/cjs/mnemonic/toLegacySeed.js +37 -0
  236. package/build/cjs/mnemonic/toMiniSecret.d.ts +1 -0
  237. package/build/cjs/mnemonic/toMiniSecret.js +20 -0
  238. package/build/cjs/mnemonic/validate.d.ts +14 -0
  239. package/build/cjs/mnemonic/validate.js +24 -0
  240. package/build/cjs/mnemonic/wordlists/en.d.ts +2 -0
  241. package/build/cjs/mnemonic/wordlists/en.js +3 -0
  242. package/build/cjs/mnemonic/wordlists/es.d.ts +2 -0
  243. package/build/cjs/mnemonic/wordlists/es.js +3 -0
  244. package/build/cjs/mnemonic/wordlists/fr.d.ts +2 -0
  245. package/build/cjs/mnemonic/wordlists/fr.js +3 -0
  246. package/build/cjs/mnemonic/wordlists/index.d.ts +8 -0
  247. package/build/cjs/mnemonic/wordlists/index.js +20 -0
  248. package/build/cjs/mnemonic/wordlists/it.d.ts +2 -0
  249. package/build/cjs/mnemonic/wordlists/it.js +3 -0
  250. package/build/cjs/mnemonic/wordlists/jp.d.ts +2 -0
  251. package/build/cjs/mnemonic/wordlists/jp.js +3 -0
  252. package/build/cjs/mnemonic/wordlists/ko.d.ts +2 -0
  253. package/build/cjs/mnemonic/wordlists/ko.js +3 -0
  254. package/build/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
  255. package/build/cjs/mnemonic/wordlists/zh-s.js +3 -0
  256. package/build/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
  257. package/build/cjs/mnemonic/wordlists/zh-t.js +3 -0
  258. package/build/cjs/nacl/decrypt.d.ts +15 -0
  259. package/build/cjs/nacl/decrypt.js +21 -0
  260. package/build/cjs/nacl/encrypt.d.ts +20 -0
  261. package/build/cjs/nacl/encrypt.js +25 -0
  262. package/build/cjs/nacl/index.d.ts +5 -0
  263. package/build/cjs/nacl/index.js +10 -0
  264. package/build/cjs/nacl/tweetnacl.d.ts +2 -0
  265. package/build/cjs/nacl/tweetnacl.js +238 -0
  266. package/build/cjs/networks.d.ts +1 -0
  267. package/build/cjs/networks.js +7 -0
  268. package/build/cjs/package.json +3 -0
  269. package/build/cjs/packageDetect.d.ts +1 -0
  270. package/build/cjs/packageDetect.js +8 -0
  271. package/build/cjs/packageInfo.d.ts +6 -0
  272. package/build/cjs/packageInfo.js +4 -0
  273. package/build/cjs/pbkdf2/encode.d.ts +7 -0
  274. package/build/cjs/pbkdf2/encode.js +19 -0
  275. package/build/cjs/pbkdf2/index.d.ts +1 -0
  276. package/build/cjs/pbkdf2/index.js +5 -0
  277. package/build/cjs/random/asNumber.d.ts +15 -0
  278. package/build/cjs/random/asNumber.js +23 -0
  279. package/build/cjs/random/asU8a.d.ts +20 -0
  280. package/build/cjs/random/asU8a.js +28 -0
  281. package/build/cjs/random/index.d.ts +5 -0
  282. package/build/cjs/random/index.js +11 -0
  283. package/build/cjs/scrypt/defaults.d.ts +3 -0
  284. package/build/cjs/scrypt/defaults.js +16 -0
  285. package/build/cjs/scrypt/encode.d.ts +8 -0
  286. package/build/cjs/scrypt/encode.js +18 -0
  287. package/build/cjs/scrypt/fromU8a.d.ts +7 -0
  288. package/build/cjs/scrypt/fromU8a.js +27 -0
  289. package/build/cjs/scrypt/index.d.ts +3 -0
  290. package/build/cjs/scrypt/index.js +9 -0
  291. package/build/cjs/scrypt/toU8a.d.ts +2 -0
  292. package/build/cjs/scrypt/toU8a.js +8 -0
  293. package/build/cjs/scrypt/types.d.ts +6 -0
  294. package/build/cjs/scrypt/types.js +2 -0
  295. package/build/cjs/secp256k1/compress.d.ts +1 -0
  296. package/build/cjs/secp256k1/compress.js +17 -0
  297. package/build/cjs/secp256k1/deriveHard.d.ts +1 -0
  298. package/build/cjs/secp256k1/deriveHard.js +13 -0
  299. package/build/cjs/secp256k1/expand.d.ts +1 -0
  300. package/build/cjs/secp256k1/expand.js +20 -0
  301. package/build/cjs/secp256k1/hasher.d.ts +2 -0
  302. package/build/cjs/secp256k1/hasher.js +10 -0
  303. package/build/cjs/secp256k1/index.d.ts +7 -0
  304. package/build/cjs/secp256k1/index.js +17 -0
  305. package/build/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
  306. package/build/cjs/secp256k1/pair/fromSeed.js +34 -0
  307. package/build/cjs/secp256k1/recover.d.ts +6 -0
  308. package/build/cjs/secp256k1/recover.js +29 -0
  309. package/build/cjs/secp256k1/sign.d.ts +7 -0
  310. package/build/cjs/secp256k1/sign.js +23 -0
  311. package/build/cjs/secp256k1/tweakAdd.d.ts +1 -0
  312. package/build/cjs/secp256k1/tweakAdd.js +48 -0
  313. package/build/cjs/secp256k1/types.d.ts +1 -0
  314. package/build/cjs/secp256k1/types.js +2 -0
  315. package/build/cjs/secp256k1/verify.d.ts +6 -0
  316. package/build/cjs/secp256k1/verify.js +23 -0
  317. package/build/cjs/sha/asU8a.d.ts +15 -0
  318. package/build/cjs/sha/asU8a.js +22 -0
  319. package/build/cjs/sha/index.d.ts +4 -0
  320. package/build/cjs/sha/index.js +10 -0
  321. package/build/cjs/signature/index.d.ts +4 -0
  322. package/build/cjs/signature/index.js +8 -0
  323. package/build/cjs/signature/verify.d.ts +2 -0
  324. package/build/cjs/signature/verify.js +81 -0
  325. package/build/cjs/sr25519/agreement.d.ts +5 -0
  326. package/build/cjs/sr25519/agreement.js +20 -0
  327. package/build/cjs/sr25519/derive.d.ts +2 -0
  328. package/build/cjs/sr25519/derive.js +16 -0
  329. package/build/cjs/sr25519/deriveHard.d.ts +1 -0
  330. package/build/cjs/sr25519/deriveHard.js +7 -0
  331. package/build/cjs/sr25519/derivePublic.d.ts +1 -0
  332. package/build/cjs/sr25519/derivePublic.js +16 -0
  333. package/build/cjs/sr25519/deriveSoft.d.ts +1 -0
  334. package/build/cjs/sr25519/deriveSoft.js +7 -0
  335. package/build/cjs/sr25519/index.d.ts +9 -0
  336. package/build/cjs/sr25519/index.js +21 -0
  337. package/build/cjs/sr25519/pair/fromSeed.d.ts +6 -0
  338. package/build/cjs/sr25519/pair/fromSeed.js +22 -0
  339. package/build/cjs/sr25519/pair/fromU8a.d.ts +2 -0
  340. package/build/cjs/sr25519/pair/fromU8a.js +17 -0
  341. package/build/cjs/sr25519/pair/toU8a.d.ts +2 -0
  342. package/build/cjs/sr25519/pair/toU8a.js +7 -0
  343. package/build/cjs/sr25519/sign.d.ts +6 -0
  344. package/build/cjs/sr25519/sign.js +19 -0
  345. package/build/cjs/sr25519/verify.d.ts +5 -0
  346. package/build/cjs/sr25519/verify.js +21 -0
  347. package/build/cjs/sr25519/vrfSign.d.ts +6 -0
  348. package/build/cjs/sr25519/vrfSign.js +19 -0
  349. package/build/cjs/sr25519/vrfVerify.d.ts +5 -0
  350. package/build/cjs/sr25519/vrfVerify.js +22 -0
  351. package/build/cjs/types.d.ts +26 -0
  352. package/build/cjs/types.js +5 -0
  353. package/build/cjs/xxhash/asU8a.d.ts +20 -0
  354. package/build/cjs/xxhash/asU8a.js +39 -0
  355. package/build/cjs/xxhash/index.d.ts +4 -0
  356. package/build/cjs/xxhash/index.js +9 -0
  357. package/build/cjs/xxhash/xxhash64.d.ts +1 -0
  358. package/build/cjs/xxhash/xxhash64.js +103 -0
  359. package/build/crypto.d.ts +3 -0
  360. package/build/crypto.js +12 -0
  361. package/build/ed25519/deriveHard.d.ts +1 -0
  362. package/build/ed25519/deriveHard.js +9 -0
  363. package/build/ed25519/index.d.ts +10 -0
  364. package/build/ed25519/index.js +10 -0
  365. package/build/ed25519/pair/fromRandom.d.ts +16 -0
  366. package/build/ed25519/pair/fromRandom.js +19 -0
  367. package/build/ed25519/pair/fromSecret.d.ts +16 -0
  368. package/build/ed25519/pair/fromSecret.js +23 -0
  369. package/build/ed25519/pair/fromSeed.d.ts +16 -0
  370. package/build/ed25519/pair/fromSeed.js +31 -0
  371. package/build/ed25519/pair/fromString.d.ts +16 -0
  372. package/build/ed25519/pair/fromString.js +20 -0
  373. package/build/ed25519/sign.d.ts +16 -0
  374. package/build/ed25519/sign.js +30 -0
  375. package/build/ed25519/verify.d.ts +15 -0
  376. package/build/ed25519/verify.js +36 -0
  377. package/build/ethereum/encode.d.ts +2 -0
  378. package/build/ethereum/encode.js +25 -0
  379. package/build/ethereum/index.d.ts +3 -0
  380. package/build/ethereum/index.js +3 -0
  381. package/build/ethereum/isAddress.d.ts +1 -0
  382. package/build/ethereum/isAddress.js +11 -0
  383. package/build/ethereum/isChecksum.d.ts +1 -0
  384. package/build/ethereum/isChecksum.js +17 -0
  385. package/build/hd/ethereum/index.d.ts +2 -0
  386. package/build/hd/ethereum/index.js +44 -0
  387. package/build/hd/index.d.ts +3 -0
  388. package/build/hd/index.js +3 -0
  389. package/build/hd/ledger/derivePrivate.d.ts +1 -0
  390. package/build/hd/ledger/derivePrivate.js +12 -0
  391. package/build/hd/ledger/index.d.ts +2 -0
  392. package/build/hd/ledger/index.js +30 -0
  393. package/build/hd/ledger/master.d.ts +1 -0
  394. package/build/hd/ledger/master.js +16 -0
  395. package/build/hd/validatePath.d.ts +2 -0
  396. package/build/hd/validatePath.js +16 -0
  397. package/build/helpers.d.ts +12 -0
  398. package/build/helpers.js +19 -0
  399. package/build/hmac/index.d.ts +1 -0
  400. package/build/hmac/index.js +1 -0
  401. package/build/hmac/shaAsU8a.d.ts +15 -0
  402. package/build/hmac/shaAsU8a.js +36 -0
  403. package/build/index.d.ts +2 -0
  404. package/build/index.js +2 -0
  405. package/build/json/constants.d.ts +6 -0
  406. package/build/json/constants.js +5 -0
  407. package/build/json/decrypt.d.ts +2 -0
  408. package/build/json/decrypt.js +13 -0
  409. package/build/json/decryptData.d.ts +2 -0
  410. package/build/json/decryptData.js +29 -0
  411. package/build/json/encrypt.d.ts +2 -0
  412. package/build/json/encrypt.js +15 -0
  413. package/build/json/encryptFormat.d.ts +2 -0
  414. package/build/json/encryptFormat.js +14 -0
  415. package/build/json/index.d.ts +4 -0
  416. package/build/json/index.js +4 -0
  417. package/build/json/types.d.ts +16 -0
  418. package/build/json/types.js +1 -0
  419. package/build/keccak/asU8a.d.ts +30 -0
  420. package/build/keccak/asU8a.js +33 -0
  421. package/build/keccak/index.d.ts +4 -0
  422. package/build/keccak/index.js +4 -0
  423. package/build/key/DeriveJunction.d.ts +12 -0
  424. package/build/key/DeriveJunction.js +58 -0
  425. package/build/key/extractPath.d.ts +9 -0
  426. package/build/key/extractPath.js +23 -0
  427. package/build/key/extractSuri.d.ts +11 -0
  428. package/build/key/extractSuri.js +22 -0
  429. package/build/key/fromPath.d.ts +3 -0
  430. package/build/key/fromPath.js +18 -0
  431. package/build/key/hdkdDerive.d.ts +3 -0
  432. package/build/key/hdkdDerive.js +8 -0
  433. package/build/key/hdkdEcdsa.d.ts +1 -0
  434. package/build/key/hdkdEcdsa.js +4 -0
  435. package/build/key/hdkdEd25519.d.ts +1 -0
  436. package/build/key/hdkdEd25519.js +3 -0
  437. package/build/key/hdkdSr25519.d.ts +3 -0
  438. package/build/key/hdkdSr25519.js +7 -0
  439. package/build/key/index.d.ts +9 -0
  440. package/build/key/index.js +9 -0
  441. package/build/mnemonic/bip39.d.ts +5 -0
  442. package/build/mnemonic/bip39.js +82 -0
  443. package/build/mnemonic/generate.d.ts +13 -0
  444. package/build/mnemonic/generate.js +20 -0
  445. package/build/mnemonic/index.d.ts +8 -0
  446. package/build/mnemonic/index.js +8 -0
  447. package/build/mnemonic/toEntropy.d.ts +1 -0
  448. package/build/mnemonic/toEntropy.js +8 -0
  449. package/build/mnemonic/toLegacySeed.d.ts +18 -0
  450. package/build/mnemonic/toLegacySeed.js +34 -0
  451. package/build/mnemonic/toMiniSecret.d.ts +1 -0
  452. package/build/mnemonic/toMiniSecret.js +17 -0
  453. package/build/mnemonic/validate.d.ts +14 -0
  454. package/build/mnemonic/validate.js +21 -0
  455. package/build/mnemonic/wordlists/en.d.ts +2 -0
  456. package/build/mnemonic/wordlists/en.js +1 -0
  457. package/build/mnemonic/wordlists/es.d.ts +2 -0
  458. package/build/mnemonic/wordlists/es.js +1 -0
  459. package/build/mnemonic/wordlists/fr.d.ts +2 -0
  460. package/build/mnemonic/wordlists/fr.js +1 -0
  461. package/build/mnemonic/wordlists/index.d.ts +8 -0
  462. package/build/mnemonic/wordlists/index.js +8 -0
  463. package/build/mnemonic/wordlists/it.d.ts +2 -0
  464. package/build/mnemonic/wordlists/it.js +1 -0
  465. package/build/mnemonic/wordlists/jp.d.ts +2 -0
  466. package/build/mnemonic/wordlists/jp.js +1 -0
  467. package/build/mnemonic/wordlists/ko.d.ts +2 -0
  468. package/build/mnemonic/wordlists/ko.js +1 -0
  469. package/build/mnemonic/wordlists/zh-s.d.ts +2 -0
  470. package/build/mnemonic/wordlists/zh-s.js +1 -0
  471. package/build/mnemonic/wordlists/zh-t.d.ts +2 -0
  472. package/build/mnemonic/wordlists/zh-t.js +1 -0
  473. package/build/nacl/decrypt.d.ts +15 -0
  474. package/build/nacl/decrypt.js +18 -0
  475. package/build/nacl/encrypt.d.ts +20 -0
  476. package/build/nacl/encrypt.js +22 -0
  477. package/build/nacl/index.d.ts +5 -0
  478. package/build/nacl/index.js +5 -0
  479. package/build/nacl/tweetnacl.d.ts +2 -0
  480. package/build/nacl/tweetnacl.js +234 -0
  481. package/build/networks.d.ts +1 -0
  482. package/build/networks.js +1 -0
  483. package/build/package.json +2057 -0
  484. package/build/packageDetect.d.ts +1 -0
  485. package/build/packageDetect.js +6 -0
  486. package/build/packageInfo.d.ts +6 -0
  487. package/build/packageInfo.js +1 -0
  488. package/build/pbkdf2/encode.d.ts +7 -0
  489. package/build/pbkdf2/encode.js +16 -0
  490. package/build/pbkdf2/index.d.ts +1 -0
  491. package/build/pbkdf2/index.js +1 -0
  492. package/build/random/asNumber.d.ts +15 -0
  493. package/build/random/asNumber.js +20 -0
  494. package/build/random/asU8a.d.ts +20 -0
  495. package/build/random/asU8a.js +24 -0
  496. package/build/random/index.d.ts +5 -0
  497. package/build/random/index.js +5 -0
  498. package/build/scrypt/defaults.d.ts +3 -0
  499. package/build/scrypt/defaults.js +13 -0
  500. package/build/scrypt/encode.d.ts +8 -0
  501. package/build/scrypt/encode.js +15 -0
  502. package/build/scrypt/fromU8a.d.ts +7 -0
  503. package/build/scrypt/fromU8a.js +24 -0
  504. package/build/scrypt/index.d.ts +3 -0
  505. package/build/scrypt/index.js +3 -0
  506. package/build/scrypt/toU8a.d.ts +2 -0
  507. package/build/scrypt/toU8a.js +5 -0
  508. package/build/scrypt/types.d.ts +6 -0
  509. package/build/scrypt/types.js +1 -0
  510. package/build/secp256k1/compress.d.ts +1 -0
  511. package/build/secp256k1/compress.js +14 -0
  512. package/build/secp256k1/deriveHard.d.ts +1 -0
  513. package/build/secp256k1/deriveHard.js +10 -0
  514. package/build/secp256k1/expand.d.ts +1 -0
  515. package/build/secp256k1/expand.js +17 -0
  516. package/build/secp256k1/hasher.d.ts +2 -0
  517. package/build/secp256k1/hasher.js +7 -0
  518. package/build/secp256k1/index.d.ts +7 -0
  519. package/build/secp256k1/index.js +7 -0
  520. package/build/secp256k1/pair/fromSeed.d.ts +6 -0
  521. package/build/secp256k1/pair/fromSeed.js +31 -0
  522. package/build/secp256k1/recover.d.ts +6 -0
  523. package/build/secp256k1/recover.js +26 -0
  524. package/build/secp256k1/sign.d.ts +7 -0
  525. package/build/secp256k1/sign.js +20 -0
  526. package/build/secp256k1/tweakAdd.d.ts +1 -0
  527. package/build/secp256k1/tweakAdd.js +45 -0
  528. package/build/secp256k1/types.d.ts +1 -0
  529. package/build/secp256k1/types.js +1 -0
  530. package/build/secp256k1/verify.d.ts +6 -0
  531. package/build/secp256k1/verify.js +20 -0
  532. package/build/sha/asU8a.d.ts +15 -0
  533. package/build/sha/asU8a.js +19 -0
  534. package/build/sha/index.d.ts +4 -0
  535. package/build/sha/index.js +4 -0
  536. package/build/signature/index.d.ts +4 -0
  537. package/build/signature/index.js +4 -0
  538. package/build/signature/verify.d.ts +2 -0
  539. package/build/signature/verify.js +78 -0
  540. package/build/sr25519/agreement.d.ts +5 -0
  541. package/build/sr25519/agreement.js +17 -0
  542. package/build/sr25519/derive.d.ts +2 -0
  543. package/build/sr25519/derive.js +12 -0
  544. package/build/sr25519/deriveHard.d.ts +1 -0
  545. package/build/sr25519/deriveHard.js +3 -0
  546. package/build/sr25519/derivePublic.d.ts +1 -0
  547. package/build/sr25519/derivePublic.js +12 -0
  548. package/build/sr25519/deriveSoft.d.ts +1 -0
  549. package/build/sr25519/deriveSoft.js +3 -0
  550. package/build/sr25519/index.d.ts +9 -0
  551. package/build/sr25519/index.js +9 -0
  552. package/build/sr25519/pair/fromSeed.d.ts +6 -0
  553. package/build/sr25519/pair/fromSeed.js +18 -0
  554. package/build/sr25519/pair/fromU8a.d.ts +2 -0
  555. package/build/sr25519/pair/fromU8a.js +14 -0
  556. package/build/sr25519/pair/toU8a.d.ts +2 -0
  557. package/build/sr25519/pair/toU8a.js +4 -0
  558. package/build/sr25519/sign.d.ts +6 -0
  559. package/build/sr25519/sign.js +15 -0
  560. package/build/sr25519/verify.d.ts +5 -0
  561. package/build/sr25519/verify.js +17 -0
  562. package/build/sr25519/vrfSign.d.ts +6 -0
  563. package/build/sr25519/vrfSign.js +15 -0
  564. package/build/sr25519/vrfVerify.d.ts +5 -0
  565. package/build/sr25519/vrfVerify.js +18 -0
  566. package/build/types.d.ts +26 -0
  567. package/build/types.js +2 -0
  568. package/build/xxhash/asU8a.d.ts +20 -0
  569. package/build/xxhash/asU8a.js +35 -0
  570. package/build/xxhash/index.d.ts +4 -0
  571. package/build/xxhash/index.js +4 -0
  572. package/build/xxhash/xxhash64.d.ts +1 -0
  573. package/build/xxhash/xxhash64.js +100 -0
  574. package/build-deno/README.md +17 -0
  575. package/build-deno/address/addressToEvm.ts +10 -0
  576. package/build-deno/address/check.ts +32 -0
  577. package/build-deno/address/checksum.ts +23 -0
  578. package/build-deno/address/decode.ts +38 -0
  579. package/build-deno/address/defaults.ts +10 -0
  580. package/build-deno/address/derive.ts +34 -0
  581. package/build-deno/address/encode.ts +39 -0
  582. package/build-deno/address/encodeDerived.ts +17 -0
  583. package/build-deno/address/encodeMulti.ts +16 -0
  584. package/build-deno/address/eq.ts +22 -0
  585. package/build-deno/address/evmToAddress.ts +22 -0
  586. package/build-deno/address/index.ts +18 -0
  587. package/build-deno/address/is.ts +12 -0
  588. package/build-deno/address/keyDerived.ts +20 -0
  589. package/build-deno/address/keyMulti.ts +21 -0
  590. package/build-deno/address/setSS58Format.ts +18 -0
  591. package/build-deno/address/sort.ts +15 -0
  592. package/build-deno/address/sshash.ts +10 -0
  593. package/build-deno/address/types.ts +2 -0
  594. package/build-deno/address/util.ts +6 -0
  595. package/build-deno/address/validate.ts +8 -0
  596. package/build-deno/base32/bs32.ts +51 -0
  597. package/build-deno/base32/helpers.ts +90 -0
  598. package/build-deno/base32/index.ts +6 -0
  599. package/build-deno/base58/bs58.ts +41 -0
  600. package/build-deno/base58/index.ts +6 -0
  601. package/build-deno/base64/bs64.ts +41 -0
  602. package/build-deno/base64/index.ts +8 -0
  603. package/build-deno/base64/pad.ts +8 -0
  604. package/build-deno/base64/trim.ts +12 -0
  605. package/build-deno/blake2/asU8a.ts +38 -0
  606. package/build-deno/blake2/index.ts +6 -0
  607. package/build-deno/bn.ts +13 -0
  608. package/build-deno/bundle.ts +29 -0
  609. package/build-deno/bundleInit.ts +8 -0
  610. package/build-deno/crypto.ts +16 -0
  611. package/build-deno/ed25519/deriveHard.ts +16 -0
  612. package/build-deno/ed25519/index.ts +11 -0
  613. package/build-deno/ed25519/pair/fromRandom.ts +23 -0
  614. package/build-deno/ed25519/pair/fromSecret.ts +27 -0
  615. package/build-deno/ed25519/pair/fromSeed.ts +39 -0
  616. package/build-deno/ed25519/pair/fromString.ts +29 -0
  617. package/build-deno/ed25519/sign.ts +36 -0
  618. package/build-deno/ed25519/verify.ts +39 -0
  619. package/build-deno/ethereum/encode.ts +37 -0
  620. package/build-deno/ethereum/index.ts +4 -0
  621. package/build-deno/ethereum/isAddress.ts +14 -0
  622. package/build-deno/ethereum/isChecksum.ts +25 -0
  623. package/build-deno/hd/ethereum/index.ts +69 -0
  624. package/build-deno/hd/index.ts +4 -0
  625. package/build-deno/hd/ledger/derivePrivate.ts +31 -0
  626. package/build-deno/hd/ledger/index.ts +40 -0
  627. package/build-deno/hd/ledger/master.ts +23 -0
  628. package/build-deno/hd/validatePath.ts +22 -0
  629. package/build-deno/helpers.ts +35 -0
  630. package/build-deno/hmac/index.ts +2 -0
  631. package/build-deno/hmac/shaAsU8a.ts +46 -0
  632. package/build-deno/index.ts +4 -0
  633. package/build-deno/json/constants.ts +9 -0
  634. package/build-deno/json/decrypt.ts +23 -0
  635. package/build-deno/json/decryptData.ts +43 -0
  636. package/build-deno/json/encrypt.ts +23 -0
  637. package/build-deno/json/encryptFormat.ts +18 -0
  638. package/build-deno/json/index.ts +5 -0
  639. package/build-deno/json/types.ts +20 -0
  640. package/build-deno/keccak/asU8a.ts +45 -0
  641. package/build-deno/keccak/index.ts +6 -0
  642. package/build-deno/key/DeriveJunction.ts +77 -0
  643. package/build-deno/key/extractPath.ts +35 -0
  644. package/build-deno/key/extractSuri.ts +38 -0
  645. package/build-deno/key/fromPath.ts +26 -0
  646. package/build-deno/key/hdkdDerive.ts +15 -0
  647. package/build-deno/key/hdkdEcdsa.ts +6 -0
  648. package/build-deno/key/hdkdEd25519.ts +5 -0
  649. package/build-deno/key/hdkdSr25519.ts +12 -0
  650. package/build-deno/key/index.ts +10 -0
  651. package/build-deno/mnemonic/bip39.ts +115 -0
  652. package/build-deno/mnemonic/generate.ts +23 -0
  653. package/build-deno/mnemonic/index.ts +9 -0
  654. package/build-deno/mnemonic/toEntropy.ts +11 -0
  655. package/build-deno/mnemonic/toLegacySeed.ts +37 -0
  656. package/build-deno/mnemonic/toMiniSecret.ts +21 -0
  657. package/build-deno/mnemonic/validate.ts +24 -0
  658. package/build-deno/mnemonic/wordlists/en.ts +3 -0
  659. package/build-deno/mnemonic/wordlists/es.ts +3 -0
  660. package/build-deno/mnemonic/wordlists/fr.ts +3 -0
  661. package/build-deno/mnemonic/wordlists/index.ts +9 -0
  662. package/build-deno/mnemonic/wordlists/it.ts +3 -0
  663. package/build-deno/mnemonic/wordlists/jp.ts +3 -0
  664. package/build-deno/mnemonic/wordlists/ko.ts +3 -0
  665. package/build-deno/mnemonic/wordlists/zh-s.ts +3 -0
  666. package/build-deno/mnemonic/wordlists/zh-t.ts +3 -0
  667. package/build-deno/mod.ts +2 -0
  668. package/build-deno/nacl/decrypt.ts +20 -0
  669. package/build-deno/nacl/encrypt.ts +29 -0
  670. package/build-deno/nacl/index.ts +6 -0
  671. package/build-deno/nacl/tweetnacl.ts +344 -0
  672. package/build-deno/networks.ts +2 -0
  673. package/build-deno/packageDetect.ts +10 -0
  674. package/build-deno/packageInfo.ts +3 -0
  675. package/build-deno/pbkdf2/encode.ts +27 -0
  676. package/build-deno/pbkdf2/index.ts +2 -0
  677. package/build-deno/random/asNumber.ts +26 -0
  678. package/build-deno/random/asU8a.ts +28 -0
  679. package/build-deno/random/index.ts +7 -0
  680. package/build-deno/scrypt/defaults.ts +17 -0
  681. package/build-deno/scrypt/encode.ts +28 -0
  682. package/build-deno/scrypt/fromU8a.ts +42 -0
  683. package/build-deno/scrypt/index.ts +4 -0
  684. package/build-deno/scrypt/toU8a.ts +15 -0
  685. package/build-deno/scrypt/types.ts +7 -0
  686. package/build-deno/secp256k1/compress.ts +19 -0
  687. package/build-deno/secp256k1/deriveHard.ts +15 -0
  688. package/build-deno/secp256k1/expand.ts +28 -0
  689. package/build-deno/secp256k1/hasher.ts +11 -0
  690. package/build-deno/secp256k1/index.ts +8 -0
  691. package/build-deno/secp256k1/pair/fromSeed.ts +40 -0
  692. package/build-deno/secp256k1/recover.ts +34 -0
  693. package/build-deno/secp256k1/sign.ts +35 -0
  694. package/build-deno/secp256k1/tweakAdd.ts +61 -0
  695. package/build-deno/secp256k1/types.ts +2 -0
  696. package/build-deno/secp256k1/verify.ts +30 -0
  697. package/build-deno/sha/asU8a.ts +28 -0
  698. package/build-deno/sha/index.ts +6 -0
  699. package/build-deno/signature/index.ts +6 -0
  700. package/build-deno/signature/verify.ts +112 -0
  701. package/build-deno/sr25519/agreement.ts +21 -0
  702. package/build-deno/sr25519/derive.ts +19 -0
  703. package/build-deno/sr25519/deriveHard.ts +6 -0
  704. package/build-deno/sr25519/derivePublic.ts +16 -0
  705. package/build-deno/sr25519/deriveSoft.ts +6 -0
  706. package/build-deno/sr25519/index.ts +10 -0
  707. package/build-deno/sr25519/pair/fromSeed.ts +26 -0
  708. package/build-deno/sr25519/pair/fromU8a.ts +21 -0
  709. package/build-deno/sr25519/pair/toU8a.ts +8 -0
  710. package/build-deno/sr25519/sign.ts +20 -0
  711. package/build-deno/sr25519/verify.ts +21 -0
  712. package/build-deno/sr25519/vrfSign.ts +22 -0
  713. package/build-deno/sr25519/vrfVerify.ts +23 -0
  714. package/build-deno/test/index.ts +4 -0
  715. package/build-deno/test/performance.ts +15 -0
  716. package/build-deno/types.ts +31 -0
  717. package/build-deno/xxhash/asU8a.ts +45 -0
  718. package/build-deno/xxhash/index.ts +6 -0
  719. package/build-deno/xxhash/xxhash64.ts +138 -0
  720. package/build-tsc/address/addressToEvm.d.ts +5 -0
  721. package/build-tsc/address/check.d.ts +8 -0
  722. package/build-tsc/address/checksum.d.ts +1 -0
  723. package/build-tsc/address/decode.d.ts +2 -0
  724. package/build-tsc/address/defaults.d.ts +6 -0
  725. package/build-tsc/address/derive.d.ts +8 -0
  726. package/build-tsc/address/encode.d.ts +2 -0
  727. package/build-tsc/address/encodeDerived.d.ts +9 -0
  728. package/build-tsc/address/encodeMulti.d.ts +9 -0
  729. package/build-tsc/address/eq.d.ts +15 -0
  730. package/build-tsc/address/evmToAddress.d.ts +7 -0
  731. package/build-tsc/address/index.d.ts +16 -0
  732. package/build-tsc/address/is.d.ts +2 -0
  733. package/build-tsc/address/keyDerived.d.ts +2 -0
  734. package/build-tsc/address/keyMulti.d.ts +2 -0
  735. package/build-tsc/address/setSS58Format.d.ts +6 -0
  736. package/build-tsc/address/sort.d.ts +2 -0
  737. package/build-tsc/address/sshash.d.ts +1 -0
  738. package/build-tsc/address/types.d.ts +1 -0
  739. package/build-tsc/address/util.d.ts +1 -0
  740. package/build-tsc/address/validate.d.ts +2 -0
  741. package/build-tsc/base32/bs32.d.ts +26 -0
  742. package/build-tsc/base32/helpers.d.ts +25 -0
  743. package/build-tsc/base32/index.d.ts +4 -0
  744. package/build-tsc/base58/bs58.d.ts +26 -0
  745. package/build-tsc/base58/index.d.ts +4 -0
  746. package/build-tsc/base64/bs64.d.ts +26 -0
  747. package/build-tsc/base64/index.d.ts +6 -0
  748. package/build-tsc/base64/pad.d.ts +5 -0
  749. package/build-tsc/base64/trim.d.ts +5 -0
  750. package/build-tsc/blake2/asU8a.d.ts +20 -0
  751. package/build-tsc/blake2/index.d.ts +4 -0
  752. package/build-tsc/bn.d.ts +30 -0
  753. package/build-tsc/bundle.d.ts +26 -0
  754. package/build-tsc/bundleInit.d.ts +1 -0
  755. package/build-tsc/crypto.d.ts +3 -0
  756. package/build-tsc/ed25519/deriveHard.d.ts +1 -0
  757. package/build-tsc/ed25519/index.d.ts +10 -0
  758. package/build-tsc/ed25519/pair/fromRandom.d.ts +16 -0
  759. package/build-tsc/ed25519/pair/fromSecret.d.ts +16 -0
  760. package/build-tsc/ed25519/pair/fromSeed.d.ts +16 -0
  761. package/build-tsc/ed25519/pair/fromString.d.ts +16 -0
  762. package/build-tsc/ed25519/sign.d.ts +16 -0
  763. package/build-tsc/ed25519/verify.d.ts +15 -0
  764. package/build-tsc/ethereum/encode.d.ts +2 -0
  765. package/build-tsc/ethereum/index.d.ts +3 -0
  766. package/build-tsc/ethereum/isAddress.d.ts +1 -0
  767. package/build-tsc/ethereum/isChecksum.d.ts +1 -0
  768. package/build-tsc/hd/ethereum/index.d.ts +2 -0
  769. package/build-tsc/hd/index.d.ts +3 -0
  770. package/build-tsc/hd/ledger/derivePrivate.d.ts +1 -0
  771. package/build-tsc/hd/ledger/index.d.ts +2 -0
  772. package/build-tsc/hd/ledger/master.d.ts +1 -0
  773. package/build-tsc/hd/validatePath.d.ts +2 -0
  774. package/build-tsc/helpers.d.ts +12 -0
  775. package/build-tsc/hmac/index.d.ts +1 -0
  776. package/build-tsc/hmac/shaAsU8a.d.ts +15 -0
  777. package/build-tsc/index.d.ts +2 -0
  778. package/build-tsc/json/constants.d.ts +6 -0
  779. package/build-tsc/json/decrypt.d.ts +2 -0
  780. package/build-tsc/json/decryptData.d.ts +2 -0
  781. package/build-tsc/json/encrypt.d.ts +2 -0
  782. package/build-tsc/json/encryptFormat.d.ts +2 -0
  783. package/build-tsc/json/index.d.ts +4 -0
  784. package/build-tsc/json/types.d.ts +16 -0
  785. package/build-tsc/keccak/asU8a.d.ts +30 -0
  786. package/build-tsc/keccak/index.d.ts +4 -0
  787. package/build-tsc/key/DeriveJunction.d.ts +12 -0
  788. package/build-tsc/key/extractPath.d.ts +9 -0
  789. package/build-tsc/key/extractSuri.d.ts +11 -0
  790. package/build-tsc/key/fromPath.d.ts +3 -0
  791. package/build-tsc/key/hdkdDerive.d.ts +3 -0
  792. package/build-tsc/key/hdkdEcdsa.d.ts +1 -0
  793. package/build-tsc/key/hdkdEd25519.d.ts +1 -0
  794. package/build-tsc/key/hdkdSr25519.d.ts +3 -0
  795. package/build-tsc/key/index.d.ts +9 -0
  796. package/build-tsc/mnemonic/bip39.d.ts +5 -0
  797. package/build-tsc/mnemonic/generate.d.ts +13 -0
  798. package/build-tsc/mnemonic/index.d.ts +8 -0
  799. package/build-tsc/mnemonic/toEntropy.d.ts +1 -0
  800. package/build-tsc/mnemonic/toLegacySeed.d.ts +18 -0
  801. package/build-tsc/mnemonic/toMiniSecret.d.ts +1 -0
  802. package/build-tsc/mnemonic/validate.d.ts +14 -0
  803. package/build-tsc/mnemonic/wordlists/en.d.ts +2 -0
  804. package/build-tsc/mnemonic/wordlists/es.d.ts +2 -0
  805. package/build-tsc/mnemonic/wordlists/fr.d.ts +2 -0
  806. package/build-tsc/mnemonic/wordlists/index.d.ts +8 -0
  807. package/build-tsc/mnemonic/wordlists/it.d.ts +2 -0
  808. package/build-tsc/mnemonic/wordlists/jp.d.ts +2 -0
  809. package/build-tsc/mnemonic/wordlists/ko.d.ts +2 -0
  810. package/build-tsc/mnemonic/wordlists/zh-s.d.ts +2 -0
  811. package/build-tsc/mnemonic/wordlists/zh-t.d.ts +2 -0
  812. package/build-tsc/nacl/decrypt.d.ts +15 -0
  813. package/build-tsc/nacl/encrypt.d.ts +20 -0
  814. package/build-tsc/nacl/index.d.ts +5 -0
  815. package/build-tsc/nacl/tweetnacl.d.ts +2 -0
  816. package/build-tsc/networks.d.ts +1 -0
  817. package/build-tsc/packageDetect.d.ts +1 -0
  818. package/build-tsc/packageInfo.d.ts +6 -0
  819. package/build-tsc/pbkdf2/encode.d.ts +7 -0
  820. package/build-tsc/pbkdf2/index.d.ts +1 -0
  821. package/build-tsc/random/asNumber.d.ts +15 -0
  822. package/build-tsc/random/asU8a.d.ts +20 -0
  823. package/build-tsc/random/index.d.ts +5 -0
  824. package/build-tsc/scrypt/defaults.d.ts +3 -0
  825. package/build-tsc/scrypt/encode.d.ts +8 -0
  826. package/build-tsc/scrypt/fromU8a.d.ts +7 -0
  827. package/build-tsc/scrypt/index.d.ts +3 -0
  828. package/build-tsc/scrypt/toU8a.d.ts +2 -0
  829. package/build-tsc/scrypt/types.d.ts +6 -0
  830. package/build-tsc/secp256k1/compress.d.ts +1 -0
  831. package/build-tsc/secp256k1/deriveHard.d.ts +1 -0
  832. package/build-tsc/secp256k1/expand.d.ts +1 -0
  833. package/build-tsc/secp256k1/hasher.d.ts +2 -0
  834. package/build-tsc/secp256k1/index.d.ts +7 -0
  835. package/build-tsc/secp256k1/pair/fromSeed.d.ts +6 -0
  836. package/build-tsc/secp256k1/recover.d.ts +6 -0
  837. package/build-tsc/secp256k1/sign.d.ts +7 -0
  838. package/build-tsc/secp256k1/tweakAdd.d.ts +1 -0
  839. package/build-tsc/secp256k1/types.d.ts +1 -0
  840. package/build-tsc/secp256k1/verify.d.ts +6 -0
  841. package/build-tsc/sha/asU8a.d.ts +15 -0
  842. package/build-tsc/sha/index.d.ts +4 -0
  843. package/build-tsc/signature/index.d.ts +4 -0
  844. package/build-tsc/signature/verify.d.ts +2 -0
  845. package/build-tsc/sr25519/agreement.d.ts +5 -0
  846. package/build-tsc/sr25519/derive.d.ts +2 -0
  847. package/build-tsc/sr25519/deriveHard.d.ts +1 -0
  848. package/build-tsc/sr25519/derivePublic.d.ts +1 -0
  849. package/build-tsc/sr25519/deriveSoft.d.ts +1 -0
  850. package/build-tsc/sr25519/index.d.ts +9 -0
  851. package/build-tsc/sr25519/pair/fromSeed.d.ts +6 -0
  852. package/build-tsc/sr25519/pair/fromU8a.d.ts +2 -0
  853. package/build-tsc/sr25519/pair/toU8a.d.ts +2 -0
  854. package/build-tsc/sr25519/sign.d.ts +6 -0
  855. package/build-tsc/sr25519/verify.d.ts +5 -0
  856. package/build-tsc/sr25519/vrfSign.d.ts +6 -0
  857. package/build-tsc/sr25519/vrfVerify.d.ts +5 -0
  858. package/build-tsc/types.d.ts +26 -0
  859. package/build-tsc/xxhash/asU8a.d.ts +20 -0
  860. package/build-tsc/xxhash/index.d.ts +4 -0
  861. package/build-tsc/xxhash/xxhash64.d.ts +1 -0
  862. package/build-tsc-cjs/address/addressToEvm.js +11 -0
  863. package/build-tsc-cjs/address/check.js +29 -0
  864. package/build-tsc-cjs/address/checksum.js +19 -0
  865. package/build-tsc-cjs/address/decode.js +32 -0
  866. package/build-tsc-cjs/address/defaults.js +11 -0
  867. package/build-tsc-cjs/address/derive.js +27 -0
  868. package/build-tsc-cjs/address/encode.js +26 -0
  869. package/build-tsc-cjs/address/encodeDerived.js +15 -0
  870. package/build-tsc-cjs/address/encodeMulti.js +14 -0
  871. package/build-tsc-cjs/address/eq.js +22 -0
  872. package/build-tsc-cjs/address/evmToAddress.js +17 -0
  873. package/build-tsc-cjs/address/index.js +35 -0
  874. package/build-tsc-cjs/address/is.js +12 -0
  875. package/build-tsc-cjs/address/keyDerived.js +11 -0
  876. package/build-tsc-cjs/address/keyMulti.js +11 -0
  877. package/build-tsc-cjs/address/setSS58Format.js +14 -0
  878. package/build-tsc-cjs/address/sort.js +10 -0
  879. package/build-tsc-cjs/address/sshash.js +9 -0
  880. package/build-tsc-cjs/address/types.js +2 -0
  881. package/build-tsc-cjs/address/util.js +7 -0
  882. package/build-tsc-cjs/address/validate.js +7 -0
  883. package/build-tsc-cjs/base32/bs32.js +43 -0
  884. package/build-tsc-cjs/base32/helpers.js +67 -0
  885. package/build-tsc-cjs/base32/index.js +11 -0
  886. package/build-tsc-cjs/base58/bs58.js +37 -0
  887. package/build-tsc-cjs/base58/index.js +11 -0
  888. package/build-tsc-cjs/base64/bs64.js +37 -0
  889. package/build-tsc-cjs/base64/index.js +15 -0
  890. package/build-tsc-cjs/base64/pad.js +10 -0
  891. package/build-tsc-cjs/base64/trim.js +13 -0
  892. package/build-tsc-cjs/blake2/asU8a.js +36 -0
  893. package/build-tsc-cjs/blake2/index.js +9 -0
  894. package/build-tsc-cjs/bn.js +11 -0
  895. package/build-tsc-cjs/bundle.js +31 -0
  896. package/build-tsc-cjs/bundleInit.js +7 -0
  897. package/build-tsc-cjs/crypto.js +16 -0
  898. package/build-tsc-cjs/ed25519/deriveHard.js +12 -0
  899. package/build-tsc-cjs/ed25519/index.js +20 -0
  900. package/build-tsc-cjs/ed25519/pair/fromRandom.js +22 -0
  901. package/build-tsc-cjs/ed25519/pair/fromSecret.js +26 -0
  902. package/build-tsc-cjs/ed25519/pair/fromSeed.js +34 -0
  903. package/build-tsc-cjs/ed25519/pair/fromString.js +23 -0
  904. package/build-tsc-cjs/ed25519/sign.js +33 -0
  905. package/build-tsc-cjs/ed25519/verify.js +39 -0
  906. package/build-tsc-cjs/ethereum/encode.js +28 -0
  907. package/build-tsc-cjs/ethereum/index.js +9 -0
  908. package/build-tsc-cjs/ethereum/isAddress.js +14 -0
  909. package/build-tsc-cjs/ethereum/isChecksum.js +20 -0
  910. package/build-tsc-cjs/hd/ethereum/index.js +47 -0
  911. package/build-tsc-cjs/hd/index.js +9 -0
  912. package/build-tsc-cjs/hd/ledger/derivePrivate.js +15 -0
  913. package/build-tsc-cjs/hd/ledger/index.js +33 -0
  914. package/build-tsc-cjs/hd/ledger/master.js +19 -0
  915. package/build-tsc-cjs/hd/validatePath.js +20 -0
  916. package/build-tsc-cjs/helpers.js +24 -0
  917. package/build-tsc-cjs/hmac/index.js +7 -0
  918. package/build-tsc-cjs/hmac/shaAsU8a.js +40 -0
  919. package/build-tsc-cjs/index.js +5 -0
  920. package/build-tsc-cjs/json/constants.js +8 -0
  921. package/build-tsc-cjs/json/decrypt.js +16 -0
  922. package/build-tsc-cjs/json/decryptData.js +32 -0
  923. package/build-tsc-cjs/json/encrypt.js +18 -0
  924. package/build-tsc-cjs/json/encryptFormat.js +17 -0
  925. package/build-tsc-cjs/json/index.js +11 -0
  926. package/build-tsc-cjs/json/types.js +2 -0
  927. package/build-tsc-cjs/keccak/asU8a.js +36 -0
  928. package/build-tsc-cjs/keccak/index.js +11 -0
  929. package/build-tsc-cjs/key/DeriveJunction.js +62 -0
  930. package/build-tsc-cjs/key/extractPath.js +26 -0
  931. package/build-tsc-cjs/key/extractSuri.js +25 -0
  932. package/build-tsc-cjs/key/fromPath.js +21 -0
  933. package/build-tsc-cjs/key/hdkdDerive.js +11 -0
  934. package/build-tsc-cjs/key/hdkdEcdsa.js +7 -0
  935. package/build-tsc-cjs/key/hdkdEd25519.js +6 -0
  936. package/build-tsc-cjs/key/hdkdSr25519.js +10 -0
  937. package/build-tsc-cjs/key/index.js +18 -0
  938. package/build-tsc-cjs/mnemonic/bip39.js +90 -0
  939. package/build-tsc-cjs/mnemonic/generate.js +23 -0
  940. package/build-tsc-cjs/mnemonic/index.js +16 -0
  941. package/build-tsc-cjs/mnemonic/toEntropy.js +11 -0
  942. package/build-tsc-cjs/mnemonic/toLegacySeed.js +37 -0
  943. package/build-tsc-cjs/mnemonic/toMiniSecret.js +20 -0
  944. package/build-tsc-cjs/mnemonic/validate.js +24 -0
  945. package/build-tsc-cjs/mnemonic/wordlists/en.js +3 -0
  946. package/build-tsc-cjs/mnemonic/wordlists/es.js +3 -0
  947. package/build-tsc-cjs/mnemonic/wordlists/fr.js +3 -0
  948. package/build-tsc-cjs/mnemonic/wordlists/index.js +20 -0
  949. package/build-tsc-cjs/mnemonic/wordlists/it.js +3 -0
  950. package/build-tsc-cjs/mnemonic/wordlists/jp.js +3 -0
  951. package/build-tsc-cjs/mnemonic/wordlists/ko.js +3 -0
  952. package/build-tsc-cjs/mnemonic/wordlists/zh-s.js +3 -0
  953. package/build-tsc-cjs/mnemonic/wordlists/zh-t.js +3 -0
  954. package/build-tsc-cjs/nacl/decrypt.js +21 -0
  955. package/build-tsc-cjs/nacl/encrypt.js +25 -0
  956. package/build-tsc-cjs/nacl/index.js +10 -0
  957. package/build-tsc-cjs/nacl/tweetnacl.js +238 -0
  958. package/build-tsc-cjs/networks.js +7 -0
  959. package/build-tsc-cjs/packageDetect.js +8 -0
  960. package/build-tsc-cjs/packageInfo.js +4 -0
  961. package/build-tsc-cjs/pbkdf2/encode.js +19 -0
  962. package/build-tsc-cjs/pbkdf2/index.js +5 -0
  963. package/build-tsc-cjs/random/asNumber.js +23 -0
  964. package/build-tsc-cjs/random/asU8a.js +28 -0
  965. package/build-tsc-cjs/random/index.js +11 -0
  966. package/build-tsc-cjs/scrypt/defaults.js +16 -0
  967. package/build-tsc-cjs/scrypt/encode.js +18 -0
  968. package/build-tsc-cjs/scrypt/fromU8a.js +27 -0
  969. package/build-tsc-cjs/scrypt/index.js +9 -0
  970. package/build-tsc-cjs/scrypt/toU8a.js +8 -0
  971. package/build-tsc-cjs/scrypt/types.js +2 -0
  972. package/build-tsc-cjs/secp256k1/compress.js +17 -0
  973. package/build-tsc-cjs/secp256k1/deriveHard.js +13 -0
  974. package/build-tsc-cjs/secp256k1/expand.js +20 -0
  975. package/build-tsc-cjs/secp256k1/hasher.js +10 -0
  976. package/build-tsc-cjs/secp256k1/index.js +17 -0
  977. package/build-tsc-cjs/secp256k1/pair/fromSeed.js +34 -0
  978. package/build-tsc-cjs/secp256k1/recover.js +29 -0
  979. package/build-tsc-cjs/secp256k1/sign.js +23 -0
  980. package/build-tsc-cjs/secp256k1/tweakAdd.js +48 -0
  981. package/build-tsc-cjs/secp256k1/types.js +2 -0
  982. package/build-tsc-cjs/secp256k1/verify.js +23 -0
  983. package/build-tsc-cjs/sha/asU8a.js +22 -0
  984. package/build-tsc-cjs/sha/index.js +10 -0
  985. package/build-tsc-cjs/signature/index.js +8 -0
  986. package/build-tsc-cjs/signature/verify.js +81 -0
  987. package/build-tsc-cjs/sr25519/agreement.js +20 -0
  988. package/build-tsc-cjs/sr25519/derive.js +16 -0
  989. package/build-tsc-cjs/sr25519/deriveHard.js +7 -0
  990. package/build-tsc-cjs/sr25519/derivePublic.js +16 -0
  991. package/build-tsc-cjs/sr25519/deriveSoft.js +7 -0
  992. package/build-tsc-cjs/sr25519/index.js +21 -0
  993. package/build-tsc-cjs/sr25519/pair/fromSeed.js +22 -0
  994. package/build-tsc-cjs/sr25519/pair/fromU8a.js +17 -0
  995. package/build-tsc-cjs/sr25519/pair/toU8a.js +7 -0
  996. package/build-tsc-cjs/sr25519/sign.js +19 -0
  997. package/build-tsc-cjs/sr25519/verify.js +21 -0
  998. package/build-tsc-cjs/sr25519/vrfSign.js +19 -0
  999. package/build-tsc-cjs/sr25519/vrfVerify.js +22 -0
  1000. package/build-tsc-cjs/types.js +5 -0
  1001. package/build-tsc-cjs/xxhash/asU8a.js +39 -0
  1002. package/build-tsc-cjs/xxhash/index.js +9 -0
  1003. package/build-tsc-cjs/xxhash/xxhash64.js +103 -0
  1004. package/build-tsc-esm/address/addressToEvm.js +8 -0
  1005. package/build-tsc-esm/address/check.js +26 -0
  1006. package/build-tsc-esm/address/checksum.js +16 -0
  1007. package/build-tsc-esm/address/decode.js +29 -0
  1008. package/build-tsc-esm/address/defaults.js +8 -0
  1009. package/build-tsc-esm/address/derive.js +24 -0
  1010. package/build-tsc-esm/address/encode.js +23 -0
  1011. package/build-tsc-esm/address/encodeDerived.js +12 -0
  1012. package/build-tsc-esm/address/encodeMulti.js +11 -0
  1013. package/build-tsc-esm/address/eq.js +19 -0
  1014. package/build-tsc-esm/address/evmToAddress.js +14 -0
  1015. package/build-tsc-esm/address/index.js +16 -0
  1016. package/build-tsc-esm/address/is.js +9 -0
  1017. package/build-tsc-esm/address/keyDerived.js +8 -0
  1018. package/build-tsc-esm/address/keyMulti.js +8 -0
  1019. package/build-tsc-esm/address/setSS58Format.js +11 -0
  1020. package/build-tsc-esm/address/sort.js +7 -0
  1021. package/build-tsc-esm/address/sshash.js +6 -0
  1022. package/build-tsc-esm/address/types.js +1 -0
  1023. package/build-tsc-esm/address/util.js +4 -0
  1024. package/build-tsc-esm/address/validate.js +4 -0
  1025. package/build-tsc-esm/base32/bs32.js +40 -0
  1026. package/build-tsc-esm/base32/helpers.js +61 -0
  1027. package/build-tsc-esm/base32/index.js +4 -0
  1028. package/build-tsc-esm/base58/bs58.js +34 -0
  1029. package/build-tsc-esm/base58/index.js +4 -0
  1030. package/build-tsc-esm/base64/bs64.js +34 -0
  1031. package/build-tsc-esm/base64/index.js +6 -0
  1032. package/build-tsc-esm/base64/pad.js +7 -0
  1033. package/build-tsc-esm/base64/trim.js +10 -0
  1034. package/build-tsc-esm/blake2/asU8a.js +32 -0
  1035. package/build-tsc-esm/blake2/index.js +4 -0
  1036. package/build-tsc-esm/bn.js +8 -0
  1037. package/build-tsc-esm/bundle.js +26 -0
  1038. package/build-tsc-esm/bundleInit.js +5 -0
  1039. package/build-tsc-esm/crypto.js +12 -0
  1040. package/build-tsc-esm/ed25519/deriveHard.js +9 -0
  1041. package/build-tsc-esm/ed25519/index.js +10 -0
  1042. package/build-tsc-esm/ed25519/pair/fromRandom.js +19 -0
  1043. package/build-tsc-esm/ed25519/pair/fromSecret.js +23 -0
  1044. package/build-tsc-esm/ed25519/pair/fromSeed.js +31 -0
  1045. package/build-tsc-esm/ed25519/pair/fromString.js +20 -0
  1046. package/build-tsc-esm/ed25519/sign.js +30 -0
  1047. package/build-tsc-esm/ed25519/verify.js +36 -0
  1048. package/build-tsc-esm/ethereum/encode.js +25 -0
  1049. package/build-tsc-esm/ethereum/index.js +3 -0
  1050. package/build-tsc-esm/ethereum/isAddress.js +11 -0
  1051. package/build-tsc-esm/ethereum/isChecksum.js +17 -0
  1052. package/build-tsc-esm/hd/ethereum/index.js +44 -0
  1053. package/build-tsc-esm/hd/index.js +3 -0
  1054. package/build-tsc-esm/hd/ledger/derivePrivate.js +12 -0
  1055. package/build-tsc-esm/hd/ledger/index.js +30 -0
  1056. package/build-tsc-esm/hd/ledger/master.js +16 -0
  1057. package/build-tsc-esm/hd/validatePath.js +16 -0
  1058. package/build-tsc-esm/helpers.js +19 -0
  1059. package/build-tsc-esm/hmac/index.js +1 -0
  1060. package/build-tsc-esm/hmac/shaAsU8a.js +36 -0
  1061. package/build-tsc-esm/index.js +2 -0
  1062. package/build-tsc-esm/json/constants.js +5 -0
  1063. package/build-tsc-esm/json/decrypt.js +13 -0
  1064. package/build-tsc-esm/json/decryptData.js +29 -0
  1065. package/build-tsc-esm/json/encrypt.js +15 -0
  1066. package/build-tsc-esm/json/encryptFormat.js +14 -0
  1067. package/build-tsc-esm/json/index.js +4 -0
  1068. package/build-tsc-esm/json/types.js +1 -0
  1069. package/build-tsc-esm/keccak/asU8a.js +33 -0
  1070. package/build-tsc-esm/keccak/index.js +4 -0
  1071. package/build-tsc-esm/key/DeriveJunction.js +58 -0
  1072. package/build-tsc-esm/key/extractPath.js +23 -0
  1073. package/build-tsc-esm/key/extractSuri.js +22 -0
  1074. package/build-tsc-esm/key/fromPath.js +18 -0
  1075. package/build-tsc-esm/key/hdkdDerive.js +8 -0
  1076. package/build-tsc-esm/key/hdkdEcdsa.js +4 -0
  1077. package/build-tsc-esm/key/hdkdEd25519.js +3 -0
  1078. package/build-tsc-esm/key/hdkdSr25519.js +7 -0
  1079. package/build-tsc-esm/key/index.js +9 -0
  1080. package/build-tsc-esm/mnemonic/bip39.js +82 -0
  1081. package/build-tsc-esm/mnemonic/generate.js +20 -0
  1082. package/build-tsc-esm/mnemonic/index.js +8 -0
  1083. package/build-tsc-esm/mnemonic/toEntropy.js +8 -0
  1084. package/build-tsc-esm/mnemonic/toLegacySeed.js +34 -0
  1085. package/build-tsc-esm/mnemonic/toMiniSecret.js +17 -0
  1086. package/build-tsc-esm/mnemonic/validate.js +21 -0
  1087. package/build-tsc-esm/mnemonic/wordlists/en.js +1 -0
  1088. package/build-tsc-esm/mnemonic/wordlists/es.js +1 -0
  1089. package/build-tsc-esm/mnemonic/wordlists/fr.js +1 -0
  1090. package/build-tsc-esm/mnemonic/wordlists/index.js +8 -0
  1091. package/build-tsc-esm/mnemonic/wordlists/it.js +1 -0
  1092. package/build-tsc-esm/mnemonic/wordlists/jp.js +1 -0
  1093. package/build-tsc-esm/mnemonic/wordlists/ko.js +1 -0
  1094. package/build-tsc-esm/mnemonic/wordlists/zh-s.js +1 -0
  1095. package/build-tsc-esm/mnemonic/wordlists/zh-t.js +1 -0
  1096. package/build-tsc-esm/nacl/decrypt.js +18 -0
  1097. package/build-tsc-esm/nacl/encrypt.js +22 -0
  1098. package/build-tsc-esm/nacl/index.js +5 -0
  1099. package/build-tsc-esm/nacl/tweetnacl.js +234 -0
  1100. package/build-tsc-esm/networks.js +1 -0
  1101. package/build-tsc-esm/packageDetect.js +6 -0
  1102. package/build-tsc-esm/packageInfo.js +1 -0
  1103. package/build-tsc-esm/pbkdf2/encode.js +16 -0
  1104. package/build-tsc-esm/pbkdf2/index.js +1 -0
  1105. package/build-tsc-esm/random/asNumber.js +20 -0
  1106. package/build-tsc-esm/random/asU8a.js +24 -0
  1107. package/build-tsc-esm/random/index.js +5 -0
  1108. package/build-tsc-esm/scrypt/defaults.js +13 -0
  1109. package/build-tsc-esm/scrypt/encode.js +15 -0
  1110. package/build-tsc-esm/scrypt/fromU8a.js +24 -0
  1111. package/build-tsc-esm/scrypt/index.js +3 -0
  1112. package/build-tsc-esm/scrypt/toU8a.js +5 -0
  1113. package/build-tsc-esm/scrypt/types.js +1 -0
  1114. package/build-tsc-esm/secp256k1/compress.js +14 -0
  1115. package/build-tsc-esm/secp256k1/deriveHard.js +10 -0
  1116. package/build-tsc-esm/secp256k1/expand.js +17 -0
  1117. package/build-tsc-esm/secp256k1/hasher.js +7 -0
  1118. package/build-tsc-esm/secp256k1/index.js +7 -0
  1119. package/build-tsc-esm/secp256k1/pair/fromSeed.js +31 -0
  1120. package/build-tsc-esm/secp256k1/recover.js +26 -0
  1121. package/build-tsc-esm/secp256k1/sign.js +20 -0
  1122. package/build-tsc-esm/secp256k1/tweakAdd.js +45 -0
  1123. package/build-tsc-esm/secp256k1/types.js +1 -0
  1124. package/build-tsc-esm/secp256k1/verify.js +20 -0
  1125. package/build-tsc-esm/sha/asU8a.js +19 -0
  1126. package/build-tsc-esm/sha/index.js +4 -0
  1127. package/build-tsc-esm/signature/index.js +4 -0
  1128. package/build-tsc-esm/signature/verify.js +78 -0
  1129. package/build-tsc-esm/sr25519/agreement.js +17 -0
  1130. package/build-tsc-esm/sr25519/derive.js +12 -0
  1131. package/build-tsc-esm/sr25519/deriveHard.js +3 -0
  1132. package/build-tsc-esm/sr25519/derivePublic.js +12 -0
  1133. package/build-tsc-esm/sr25519/deriveSoft.js +3 -0
  1134. package/build-tsc-esm/sr25519/index.js +9 -0
  1135. package/build-tsc-esm/sr25519/pair/fromSeed.js +18 -0
  1136. package/build-tsc-esm/sr25519/pair/fromU8a.js +14 -0
  1137. package/build-tsc-esm/sr25519/pair/toU8a.js +4 -0
  1138. package/build-tsc-esm/sr25519/sign.js +15 -0
  1139. package/build-tsc-esm/sr25519/verify.js +17 -0
  1140. package/build-tsc-esm/sr25519/vrfSign.js +15 -0
  1141. package/build-tsc-esm/sr25519/vrfVerify.js +18 -0
  1142. package/build-tsc-esm/types.js +2 -0
  1143. package/build-tsc-esm/xxhash/asU8a.js +35 -0
  1144. package/build-tsc-esm/xxhash/index.js +4 -0
  1145. package/build-tsc-esm/xxhash/xxhash64.js +100 -0
  1146. package/bundle-pezkuwi-util-crypto.js +8246 -8797
  1147. package/cjs/blake2/asU8a.d.ts +1 -1
  1148. package/cjs/keccak/asU8a.d.ts +1 -1
  1149. package/cjs/packageInfo.js +1 -1
  1150. package/cjs/scrypt/encode.d.ts +1 -1
  1151. package/cjs/sr25519/agreement.js +2 -2
  1152. package/cjs/xxhash/asU8a.d.ts +1 -1
  1153. package/keccak/asU8a.d.ts +1 -1
  1154. package/package.json +14 -14
  1155. package/packageInfo.js +1 -1
  1156. package/scrypt/encode.d.ts +1 -1
  1157. package/src/address/addressToEvm.spec.ts +16 -0
  1158. package/src/address/addressToEvm.ts +12 -0
  1159. package/src/address/check.spec.ts +44 -0
  1160. package/src/address/check.ts +34 -0
  1161. package/src/address/checksum.spec.ts +45 -0
  1162. package/src/address/checksum.ts +25 -0
  1163. package/src/address/decode.spec.ts +138 -0
  1164. package/src/address/decode.ts +41 -0
  1165. package/src/address/defaults.ts +12 -0
  1166. package/src/address/derive.spec.ts +26 -0
  1167. package/src/address/derive.ts +36 -0
  1168. package/src/address/encode.spec.ts +177 -0
  1169. package/src/address/encode.ts +43 -0
  1170. package/src/address/encodeDerived.spec.ts +14 -0
  1171. package/src/address/encodeDerived.ts +19 -0
  1172. package/src/address/encodeMulti.spec.ts +18 -0
  1173. package/src/address/encodeMulti.ts +18 -0
  1174. package/src/address/eq.spec.ts +45 -0
  1175. package/src/address/eq.ts +24 -0
  1176. package/src/address/evmToAddress.spec.ts +20 -0
  1177. package/src/address/evmToAddress.ts +24 -0
  1178. package/src/address/index.ts +21 -0
  1179. package/src/address/is.spec.ts +113 -0
  1180. package/src/address/is.ts +14 -0
  1181. package/src/address/keyDerived.spec.ts +24 -0
  1182. package/src/address/keyDerived.ts +22 -0
  1183. package/src/address/keyMulti.spec.ts +20 -0
  1184. package/src/address/keyMulti.ts +23 -0
  1185. package/src/address/setSS58Format.spec.ts +21 -0
  1186. package/src/address/setSS58Format.ts +20 -0
  1187. package/src/address/sort.spec.ts +22 -0
  1188. package/src/address/sort.ts +17 -0
  1189. package/src/address/sshash.ts +12 -0
  1190. package/src/address/types.ts +6 -0
  1191. package/src/address/util.ts +8 -0
  1192. package/src/address/validate.spec.ts +113 -0
  1193. package/src/address/validate.ts +10 -0
  1194. package/src/base32/bs32.ts +53 -0
  1195. package/src/base32/decode.spec.ts +34 -0
  1196. package/src/base32/encode.spec.ts +30 -0
  1197. package/src/base32/helpers.ts +93 -0
  1198. package/src/base32/index.ts +8 -0
  1199. package/src/base32/is.spec.ts +32 -0
  1200. package/src/base32/validate.spec.ts +44 -0
  1201. package/src/base58/bs58.ts +43 -0
  1202. package/src/base58/decode.spec.ts +31 -0
  1203. package/src/base58/encode.spec.ts +26 -0
  1204. package/src/base58/index.ts +8 -0
  1205. package/src/base58/validate.spec.ts +20 -0
  1206. package/src/base64/bs64.ts +43 -0
  1207. package/src/base64/decode.spec.ts +42 -0
  1208. package/src/base64/encode.spec.ts +14 -0
  1209. package/src/base64/index.ts +10 -0
  1210. package/src/base64/pad.spec.ts +14 -0
  1211. package/src/base64/pad.ts +10 -0
  1212. package/src/base64/trim.spec.ts +14 -0
  1213. package/src/base64/trim.ts +14 -0
  1214. package/src/base64/validate.spec.ts +32 -0
  1215. package/src/blake2/asHex.spec.ts +57 -0
  1216. package/src/blake2/asU8a.spec.ts +74 -0
  1217. package/src/blake2/asU8a.ts +40 -0
  1218. package/src/blake2/index.ts +8 -0
  1219. package/src/bn.ts +15 -0
  1220. package/src/bundle.ts +33 -0
  1221. package/src/bundleInit.ts +11 -0
  1222. package/src/crypto.spec.ts +18 -0
  1223. package/src/crypto.ts +18 -0
  1224. package/src/ed25519/deriveHard.ts +18 -0
  1225. package/src/ed25519/index.ts +13 -0
  1226. package/src/ed25519/pair/fromRandom.spec.ts +28 -0
  1227. package/src/ed25519/pair/fromRandom.ts +25 -0
  1228. package/src/ed25519/pair/fromSecret.spec.ts +33 -0
  1229. package/src/ed25519/pair/fromSecret.ts +29 -0
  1230. package/src/ed25519/pair/fromSeed.spec.ts +42 -0
  1231. package/src/ed25519/pair/fromSeed.ts +41 -0
  1232. package/src/ed25519/pair/fromString.spec.ts +17 -0
  1233. package/src/ed25519/pair/fromString.ts +31 -0
  1234. package/src/ed25519/sign.spec.ts +40 -0
  1235. package/src/ed25519/sign.ts +38 -0
  1236. package/src/ed25519/verify.spec.ts +84 -0
  1237. package/src/ed25519/verify.ts +41 -0
  1238. package/src/ethereum/encode.spec.ts +59 -0
  1239. package/src/ethereum/encode.ts +39 -0
  1240. package/src/ethereum/index.ts +6 -0
  1241. package/src/ethereum/isAddress.spec.ts +34 -0
  1242. package/src/ethereum/isAddress.ts +16 -0
  1243. package/src/ethereum/isChecksum.ts +27 -0
  1244. package/src/ethereum/isCheksum.spec.ts +30 -0
  1245. package/src/hd/ethereum/index.spec.ts +54 -0
  1246. package/src/hd/ethereum/index.ts +69 -0
  1247. package/src/hd/index.ts +6 -0
  1248. package/src/hd/ledger/derivePrivate.ts +34 -0
  1249. package/src/hd/ledger/index.spec.ts +64 -0
  1250. package/src/hd/ledger/index.ts +42 -0
  1251. package/src/hd/ledger/master.spec.ts +19 -0
  1252. package/src/hd/ledger/master.ts +26 -0
  1253. package/src/hd/validatePath.spec.ts +30 -0
  1254. package/src/hd/validatePath.ts +24 -0
  1255. package/src/helpers.ts +38 -0
  1256. package/src/hmac/index.ts +4 -0
  1257. package/src/hmac/shaAsU8a.spec.ts +45 -0
  1258. package/src/hmac/shaAsU8a.ts +48 -0
  1259. package/src/index.ts +6 -0
  1260. package/src/json/constants.ts +11 -0
  1261. package/src/json/decrypt.ts +25 -0
  1262. package/src/json/decryptData.ts +45 -0
  1263. package/src/json/encrypt.ts +25 -0
  1264. package/src/json/encryptFormat.ts +20 -0
  1265. package/src/json/index.ts +7 -0
  1266. package/src/json/types.ts +22 -0
  1267. package/src/keccak/asHex.spec.ts +30 -0
  1268. package/src/keccak/asU8a.spec.ts +56 -0
  1269. package/src/keccak/asU8a.ts +45 -0
  1270. package/src/keccak/index.ts +8 -0
  1271. package/src/key/DeriveJunction.ts +79 -0
  1272. package/src/key/extractPath.spec.ts +51 -0
  1273. package/src/key/extractPath.ts +37 -0
  1274. package/src/key/extractSuri.spec.ts +147 -0
  1275. package/src/key/extractSuri.ts +40 -0
  1276. package/src/key/fromPath.ts +28 -0
  1277. package/src/key/hdkdDerive.ts +17 -0
  1278. package/src/key/hdkdEcdsa.ts +8 -0
  1279. package/src/key/hdkdEd25519.ts +7 -0
  1280. package/src/key/hdkdSr25519.ts +14 -0
  1281. package/src/key/index.ts +12 -0
  1282. package/src/mnemonic/bip39.spec.ts +80 -0
  1283. package/src/mnemonic/bip39.ts +127 -0
  1284. package/src/mnemonic/generate.spec.ts +58 -0
  1285. package/src/mnemonic/generate.ts +25 -0
  1286. package/src/mnemonic/index.ts +11 -0
  1287. package/src/mnemonic/toEntropy.spec.ts +36 -0
  1288. package/src/mnemonic/toEntropy.ts +13 -0
  1289. package/src/mnemonic/toLegacySeed.spec.ts +52 -0
  1290. package/src/mnemonic/toLegacySeed.ts +39 -0
  1291. package/src/mnemonic/toMiniSecret.spec.ts +67 -0
  1292. package/src/mnemonic/toMiniSecret.ts +23 -0
  1293. package/src/mnemonic/toMiniSecretCmp.spec.ts +64 -0
  1294. package/src/mnemonic/validate.spec.ts +39 -0
  1295. package/src/mnemonic/validate.ts +26 -0
  1296. package/src/mnemonic/wordlists/en.ts +7 -0
  1297. package/src/mnemonic/wordlists/es.ts +7 -0
  1298. package/src/mnemonic/wordlists/fr.ts +7 -0
  1299. package/src/mnemonic/wordlists/index.ts +11 -0
  1300. package/src/mnemonic/wordlists/it.ts +7 -0
  1301. package/src/mnemonic/wordlists/jp.ts +7 -0
  1302. package/src/mnemonic/wordlists/ko.ts +7 -0
  1303. package/src/mnemonic/wordlists/zh-s.ts +7 -0
  1304. package/src/mnemonic/wordlists/zh-t.ts +7 -0
  1305. package/src/mod.ts +4 -0
  1306. package/src/nacl/decrypt.spec.ts +26 -0
  1307. package/src/nacl/decrypt.ts +22 -0
  1308. package/src/nacl/encrypt.spec.ts +20 -0
  1309. package/src/nacl/encrypt.ts +31 -0
  1310. package/src/nacl/index.ts +8 -0
  1311. package/src/nacl/tweetnacl-secretbox-data.spec.ts +4629 -0
  1312. package/src/nacl/tweetnacl-secretbox.spec.ts +161 -0
  1313. package/src/nacl/tweetnacl.ts +1159 -0
  1314. package/src/networks.ts +5 -0
  1315. package/src/packageDetect.ts +14 -0
  1316. package/src/packageInfo.ts +6 -0
  1317. package/src/pbkdf2/encode.spec.ts +54 -0
  1318. package/src/pbkdf2/encode.ts +29 -0
  1319. package/src/pbkdf2/index.ts +4 -0
  1320. package/src/random/asHex.spec.ts +38 -0
  1321. package/src/random/asNumber.spec.ts +16 -0
  1322. package/src/random/asNumber.ts +28 -0
  1323. package/src/random/asU8a.spec.ts +36 -0
  1324. package/src/random/asU8a.ts +30 -0
  1325. package/src/random/index.ts +9 -0
  1326. package/src/scrypt/defaults.ts +19 -0
  1327. package/src/scrypt/encode.spec.ts +43 -0
  1328. package/src/scrypt/encode.ts +30 -0
  1329. package/src/scrypt/fromU8a.ts +44 -0
  1330. package/src/scrypt/index.ts +6 -0
  1331. package/src/scrypt/toU8a.ts +17 -0
  1332. package/src/scrypt/types.ts +9 -0
  1333. package/src/secp256k1/compress.spec.ts +47 -0
  1334. package/src/secp256k1/compress.ts +21 -0
  1335. package/src/secp256k1/deriveHard.ts +17 -0
  1336. package/src/secp256k1/expand.spec.ts +47 -0
  1337. package/src/secp256k1/expand.ts +30 -0
  1338. package/src/secp256k1/hasher.spec.ts +24 -0
  1339. package/src/secp256k1/hasher.ts +13 -0
  1340. package/src/secp256k1/index.ts +10 -0
  1341. package/src/secp256k1/pair/fromSeed.spec.ts +75 -0
  1342. package/src/secp256k1/pair/fromSeed.ts +42 -0
  1343. package/src/secp256k1/recover.spec.ts +35 -0
  1344. package/src/secp256k1/recover.ts +36 -0
  1345. package/src/secp256k1/sign.spec.ts +39 -0
  1346. package/src/secp256k1/sign.ts +37 -0
  1347. package/src/secp256k1/signVerify.spec.ts +94 -0
  1348. package/src/secp256k1/tweakAdd.spec.ts +35 -0
  1349. package/src/secp256k1/tweakAdd.ts +65 -0
  1350. package/src/secp256k1/types.ts +4 -0
  1351. package/src/secp256k1/verify.spec.ts +81 -0
  1352. package/src/secp256k1/verify.ts +32 -0
  1353. package/src/sha/asU8a.ts +30 -0
  1354. package/src/sha/asU8a256.spec.ts +55 -0
  1355. package/src/sha/asU8a512.spec.ts +33 -0
  1356. package/src/sha/index.ts +8 -0
  1357. package/src/signature/index.ts +8 -0
  1358. package/src/signature/verify.spec.ts +230 -0
  1359. package/src/signature/verify.ts +114 -0
  1360. package/src/sr25519/agreement.spec.ts +31 -0
  1361. package/src/sr25519/agreement.ts +23 -0
  1362. package/src/sr25519/derive.ts +21 -0
  1363. package/src/sr25519/deriveHard.ts +9 -0
  1364. package/src/sr25519/derivePublic.ts +18 -0
  1365. package/src/sr25519/deriveSoft.ts +9 -0
  1366. package/src/sr25519/index.ts +12 -0
  1367. package/src/sr25519/pair/fromSeed.spec.ts +35 -0
  1368. package/src/sr25519/pair/fromSeed.ts +28 -0
  1369. package/src/sr25519/pair/fromU8a.ts +23 -0
  1370. package/src/sr25519/pair/testing.spec.ts +161 -0
  1371. package/src/sr25519/pair/toU8a.ts +10 -0
  1372. package/src/sr25519/sign.spec.ts +28 -0
  1373. package/src/sr25519/sign.ts +22 -0
  1374. package/src/sr25519/verify.spec.ts +42 -0
  1375. package/src/sr25519/verify.ts +23 -0
  1376. package/src/sr25519/vrfSign.ts +24 -0
  1377. package/src/sr25519/vrfSignVerify.spec.ts +73 -0
  1378. package/src/sr25519/vrfVerify.ts +25 -0
  1379. package/src/test/index.ts +8 -0
  1380. package/src/test/performance.ts +17 -0
  1381. package/src/types.ts +33 -0
  1382. package/src/xxhash/asHex.spec.ts +36 -0
  1383. package/src/xxhash/asU8a.spec.ts +48 -0
  1384. package/src/xxhash/asU8a.ts +45 -0
  1385. package/src/xxhash/index.ts +8 -0
  1386. package/src/xxhash/xxhash64.ts +155 -0
  1387. package/tsconfig.build.json +18 -0
  1388. package/tsconfig.build.tsbuildinfo +1 -0
  1389. package/tsconfig.spec.json +20 -0
  1390. package/tsconfig.spec.tsbuildinfo +1 -0
  1391. package/xxhash/asU8a.d.ts +1 -1
@@ -0,0 +1,127 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ // Adapted from the bitcoinjs/bip39 source
5
+ // https://github.com/bitcoinjs/bip39/blob/1d063b6a6aee4145b34d701037cd3e67f5446ff9/ts_src/index.ts
6
+ // Copyright (c) 2014, Wei Lu <luwei.here@gmail.com> and Daniel Cousens <email@dcousens.com>
7
+ // ISC Licence
8
+ //
9
+ // Change made in this version -
10
+ // - Adjust formatting (just eslint differences)
11
+ // - Only English wordlist (this aligns with the wasm-crypto implementation)
12
+ // - Use util-crypto randomAsU8a (instead of randombytes)
13
+ // - Remove setting of wordlist passing of wordlist in functions
14
+ // - Remove mnemonicToSeed (we only use the sync variant)
15
+ // - generateMnemonic takes number of words (instead of strength)
16
+
17
+ import { stringToU8a, u8aToU8a } from '@pezkuwi/util';
18
+
19
+ import { pbkdf2Encode } from '../pbkdf2/index.js';
20
+ import { randomAsU8a } from '../random/index.js';
21
+ import { sha256AsU8a } from '../sha/index.js';
22
+ import DEFAULT_WORDLIST from './wordlists/en.js';
23
+
24
+ const INVALID_MNEMONIC = 'Invalid mnemonic';
25
+ const INVALID_ENTROPY = 'Invalid entropy';
26
+ const INVALID_CHECKSUM = 'Invalid mnemonic checksum';
27
+
28
+ /** @internal */
29
+ function normalize (str?: string): string {
30
+ return (str || '').normalize('NFKD');
31
+ }
32
+
33
+ /** @internal */
34
+ function binaryToByte (bin: string): number {
35
+ return parseInt(bin, 2);
36
+ }
37
+
38
+ /** @internal */
39
+ function bytesToBinary (bytes: number[]): string {
40
+ return bytes.map((x) => x.toString(2).padStart(8, '0')).join('');
41
+ }
42
+
43
+ /** @internal */
44
+ function deriveChecksumBits (entropyBuffer: Uint8Array): string {
45
+ return bytesToBinary(
46
+ Array.from(sha256AsU8a(entropyBuffer))
47
+ ).slice(0, (entropyBuffer.length * 8) / 32);
48
+ }
49
+
50
+ export function mnemonicToSeedSync (mnemonic: string, password?: string): Uint8Array {
51
+ return pbkdf2Encode(
52
+ stringToU8a(normalize(mnemonic)),
53
+ stringToU8a(`mnemonic${normalize(password)}`)
54
+ ).password;
55
+ }
56
+
57
+ export function mnemonicToEntropy (mnemonic: string, wordlist: string[] = DEFAULT_WORDLIST): Uint8Array {
58
+ const words = normalize(mnemonic).split(' ');
59
+
60
+ if (words.length % 3 !== 0) {
61
+ throw new Error(INVALID_MNEMONIC);
62
+ }
63
+
64
+ // convert word indices to 11 bit binary strings
65
+ const bits = words
66
+ .map((word): string => {
67
+ const index = wordlist.indexOf(word);
68
+
69
+ if (index === -1) {
70
+ throw new Error(INVALID_MNEMONIC);
71
+ }
72
+
73
+ return index.toString(2).padStart(11, '0');
74
+ })
75
+ .join('');
76
+
77
+ // split the binary string into ENT/CS
78
+ const dividerIndex = Math.floor(bits.length / 33) * 32;
79
+ const entropyBits = bits.slice(0, dividerIndex);
80
+ const checksumBits = bits.slice(dividerIndex);
81
+
82
+ // calculate the checksum and compare
83
+ const matched = entropyBits.match(/(.{1,8})/g);
84
+ const entropyBytes = matched?.map(binaryToByte);
85
+
86
+ if (!entropyBytes || (entropyBytes.length % 4 !== 0) || (entropyBytes.length < 16) || (entropyBytes.length > 32)) {
87
+ throw new Error(INVALID_ENTROPY);
88
+ }
89
+
90
+ const entropy = u8aToU8a(entropyBytes);
91
+
92
+ if (deriveChecksumBits(entropy) !== checksumBits) {
93
+ throw new Error(INVALID_CHECKSUM);
94
+ }
95
+
96
+ return entropy;
97
+ }
98
+
99
+ export function entropyToMnemonic (entropy: Uint8Array, wordlist: string[] = DEFAULT_WORDLIST): string {
100
+ // 128 <= ENT <= 256
101
+ if ((entropy.length % 4 !== 0) || (entropy.length < 16) || (entropy.length > 32)) {
102
+ throw new Error(INVALID_ENTROPY);
103
+ }
104
+
105
+ const matched = `${bytesToBinary(Array.from(entropy))}${deriveChecksumBits(entropy)}`.match(/(.{1,11})/g);
106
+ const mapped = matched?.map((b) => wordlist[binaryToByte(b)]);
107
+
108
+ if (!mapped || (mapped.length < 12)) {
109
+ throw new Error('Unable to map entropy to mnemonic');
110
+ }
111
+
112
+ return mapped.join(' ');
113
+ }
114
+
115
+ export function generateMnemonic (numWords: 12 | 15 | 18 | 21 | 24, wordlist?: string[]): string {
116
+ return entropyToMnemonic(randomAsU8a((numWords / 3) * 4), wordlist);
117
+ }
118
+
119
+ export function validateMnemonic (mnemonic: string, wordlist?: string[]): boolean {
120
+ try {
121
+ mnemonicToEntropy(mnemonic, wordlist);
122
+ } catch {
123
+ return false;
124
+ }
125
+
126
+ return true;
127
+ }
@@ -0,0 +1,58 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { cryptoWaitReady } from '../index.js';
7
+ import { french as frenchWords } from './wordlists/index.js';
8
+ import { mnemonicGenerate } from './generate.js';
9
+ import { mnemonicValidate } from './validate.js';
10
+
11
+ await cryptoWaitReady();
12
+
13
+ describe('mnemonicGenerate', (): void => {
14
+ it('generates a valid mnemonic (default strength)', (): void => {
15
+ expect(
16
+ mnemonicValidate(mnemonicGenerate())
17
+ ).toEqual(true);
18
+ });
19
+
20
+ it('generates a french mnemonic', (): void => {
21
+ const mnemonic = mnemonicGenerate(24, frenchWords);
22
+ const words = mnemonic.split(' ');
23
+
24
+ expect(words).toHaveLength(24);
25
+ expect(
26
+ mnemonicValidate(mnemonic, frenchWords)
27
+ ).toEqual(true);
28
+ expect(
29
+ mnemonicValidate(mnemonic)
30
+ ).toEqual(false);
31
+ expect(
32
+ words.every((w) => frenchWords.includes(w))
33
+ ).toEqual(true);
34
+ });
35
+
36
+ for (const onlyJs of [false, true]) {
37
+ describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
38
+ for (const num of [12, 15, 18, 21, 24] as const) {
39
+ it(`generates a valid mnemonic (${num} words)`, (): void => {
40
+ const mnemonic = mnemonicGenerate(num, undefined, onlyJs);
41
+ const isValid = mnemonicValidate(mnemonic);
42
+
43
+ expect(mnemonic.split(' ')).toHaveLength(num);
44
+ expect(isValid).toEqual(true);
45
+ });
46
+ }
47
+
48
+ it('generates non-deterministic', (): void => {
49
+ const m1 = mnemonicGenerate(24, undefined, onlyJs);
50
+ const m2 = mnemonicGenerate(24, undefined, onlyJs);
51
+
52
+ expect(m1 === m2).toEqual(false);
53
+ expect(mnemonicValidate(m1)).toEqual(true);
54
+ expect(mnemonicValidate(m2)).toEqual(true);
55
+ });
56
+ });
57
+ }
58
+ });
@@ -0,0 +1,25 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { hasBigInt } from '@pezkuwi/util';
5
+ import { bip39Generate, isReady } from '@pezkuwi/wasm-crypto';
6
+
7
+ import { generateMnemonic } from './bip39.js';
8
+
9
+ /**
10
+ * @name mnemonicGenerate
11
+ * @summary Creates a valid mnemonic string using using [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { mnemonicGenerate } from '@pezkuwi/util-crypto';
17
+ *
18
+ * const mnemonic = mnemonicGenerate(); // => string
19
+ * ```
20
+ */
21
+ export function mnemonicGenerate (numWords: 12 | 15 | 18 | 21 | 24 = 12, wordlist?: string[], onlyJs?: boolean): string {
22
+ return !hasBigInt || (!wordlist && !onlyJs && isReady())
23
+ ? bip39Generate(numWords)
24
+ : generateMnemonic(numWords, wordlist);
25
+ }
@@ -0,0 +1,11 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @summary Create valid mnemonic strings, validate them using BIP39, and convert them to valid seeds
6
+ */
7
+ export { mnemonicGenerate } from './generate.js';
8
+ export { mnemonicToEntropy } from './toEntropy.js';
9
+ export { mnemonicToLegacySeed } from './toLegacySeed.js';
10
+ export { mnemonicToMiniSecret } from './toMiniSecret.js';
11
+ export { mnemonicValidate } from './validate.js';
@@ -0,0 +1,36 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { u8aToHex } from '@pezkuwi/util';
7
+
8
+ import { cryptoWaitReady } from '../index.js';
9
+ import tests from '../sr25519/pair/testing.spec.js';
10
+ import { french as frenchWords } from './wordlists/index.js';
11
+ import { mnemonicToEntropy } from './toEntropy.js';
12
+
13
+ await cryptoWaitReady();
14
+
15
+ describe('mnemonicToEntropy', (): void => {
16
+ for (const onlyJs of [false, true]) {
17
+ describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
18
+ tests.forEach(([mnemonic, entropy], index): void => {
19
+ it(`Created correct entropy for ${index}`, (): void => {
20
+ expect(u8aToHex(mnemonicToEntropy(mnemonic, undefined, onlyJs))).toEqual(entropy);
21
+ });
22
+ });
23
+ });
24
+ }
25
+
26
+ it('has the correct entropy for non-Englist mnemonics', (): void => {
27
+ const mnemonic = 'pompier circuler pulpe injure aspect abyssal nuque boueux équerre balisage pieuvre médecin petit suffixe soleil cumuler monstre arlequin liasse pixel garrigue noble buisson scandale';
28
+
29
+ expect(
30
+ () => mnemonicToEntropy(mnemonic)
31
+ ).toThrow();
32
+ expect(
33
+ mnemonicToEntropy(mnemonic, frenchWords)
34
+ ).toEqual(new Uint8Array([189, 230, 55, 17, 65, 33, 40, 4, 106, 9, 11, 88, 227, 26, 229, 76, 59, 123, 200, 55, 177, 232, 158, 66, 34, 54, 93, 54, 255, 74, 137, 70]));
35
+ });
36
+ });
@@ -0,0 +1,13 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { hasBigInt } from '@pezkuwi/util';
5
+ import { bip39ToEntropy, isReady } from '@pezkuwi/wasm-crypto';
6
+
7
+ import { mnemonicToEntropy as jsToEntropy } from './bip39.js';
8
+
9
+ export function mnemonicToEntropy (mnemonic: string, wordlist?: string[], onlyJs?: boolean): Uint8Array {
10
+ return !hasBigInt || (!wordlist && !onlyJs && isReady())
11
+ ? bip39ToEntropy(mnemonic)
12
+ : jsToEntropy(mnemonic, wordlist);
13
+ }
@@ -0,0 +1,52 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { u8aEq, u8aToHex } from '@pezkuwi/util';
7
+ import { waitReady } from '@pezkuwi/wasm-crypto';
8
+
9
+ import { mnemonicToLegacySeed } from './index.js';
10
+
11
+ const MNEMONIC = 'seed sock milk update focus rotate barely fade car face mechanic mercy';
12
+ const SEED_32 = '0x3c121e20de068083b49c2315697fb59a2d9e8643c24e5ea7628132c58969a027';
13
+ const SEED_64 = '0x3c121e20de068083b49c2315697fb59a2d9e8643c24e5ea7628132c58969a0275693dd5bd9d4cc9e648475eba9613ed4678f4d62560a9c42f75bac04022ded25';
14
+
15
+ describe('mnemonicToLegacySeed', (): void => {
16
+ beforeEach(async (): Promise<void> => {
17
+ await waitReady();
18
+ });
19
+
20
+ for (const password of [undefined, 'foo', 'bar']) {
21
+ it(`generates Wasm & Js equivalents for password=${password || 'undefined'}`, (): void => {
22
+ expect(
23
+ u8aEq(
24
+ mnemonicToLegacySeed(MNEMONIC, password, true),
25
+ mnemonicToLegacySeed(MNEMONIC, password, false)
26
+ )
27
+ ).toEqual(true);
28
+ });
29
+ }
30
+
31
+ for (const onlyJs of [false, true]) {
32
+ describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
33
+ it('generates a valid 64bytes seed', (): void => {
34
+ expect(
35
+ u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs, 64))
36
+ ).toEqual(SEED_64);
37
+ });
38
+
39
+ it('generates a valid 32bytes seed', (): void => {
40
+ expect(
41
+ u8aToHex(mnemonicToLegacySeed(MNEMONIC, undefined, onlyJs))
42
+ ).toEqual(SEED_32);
43
+ });
44
+
45
+ it('fails with non-mnemonics', (): void => {
46
+ expect(
47
+ () => mnemonicToLegacySeed('foo bar baz', undefined, onlyJs)
48
+ ).toThrow(/mnemonic specified/);
49
+ });
50
+ });
51
+ }
52
+ });
@@ -0,0 +1,39 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { hasBigInt } from '@pezkuwi/util';
5
+ import { bip39ToSeed, isReady } from '@pezkuwi/wasm-crypto';
6
+
7
+ import { mnemonicToSeedSync } from './bip39.js';
8
+ import { mnemonicValidate } from './validate.js';
9
+
10
+ /**
11
+ * @name mnemonicToLegacySeed
12
+ * @summary Creates a valid Ethereum/Bitcoin-compatible seed from a mnemonic input
13
+ * @example
14
+ * <BR>
15
+ *
16
+ * ```javascript
17
+ * import { mnemonicGenerate, mnemonicToLegacySeed, mnemonicValidate } from '@pezkuwi/util-crypto';
18
+ *
19
+ * const mnemonic = mnemonicGenerate(); // => string
20
+ * const isValidMnemonic = mnemonicValidate(mnemonic); // => boolean
21
+ *
22
+ * if (isValidMnemonic) {
23
+ * console.log(`Seed generated from mnemonic: ${mnemonicToLegacySeed(mnemonic)}`); => u8a
24
+ * }
25
+ * ```
26
+ */
27
+ export function mnemonicToLegacySeed (mnemonic: string, password = '', onlyJs?: boolean, byteLength: 32 | 64 = 32): Uint8Array {
28
+ if (!mnemonicValidate(mnemonic)) {
29
+ throw new Error('Invalid bip39 mnemonic specified');
30
+ } else if (![32, 64].includes(byteLength)) {
31
+ throw new Error(`Invalid seed length ${byteLength}, expected 32 or 64`);
32
+ }
33
+
34
+ return byteLength === 32
35
+ ? !hasBigInt || (!onlyJs && isReady())
36
+ ? bip39ToSeed(mnemonic, password)
37
+ : mnemonicToSeedSync(mnemonic, password).subarray(0, 32)
38
+ : mnemonicToSeedSync(mnemonic, password);
39
+ }
@@ -0,0 +1,67 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { u8aEq, u8aToHex } from '@pezkuwi/util';
7
+
8
+ import { cryptoWaitReady } from '../index.js';
9
+ import tests from '../sr25519/pair/testing.spec.js';
10
+ import { korean as koreanWords } from './wordlists/index.js';
11
+ import { mnemonicToMiniSecret } from './toMiniSecret.js';
12
+
13
+ const MNEMONIC = 'seed sock milk update focus rotate barely fade car face mechanic mercy';
14
+ const SEED = '0x4d1ab2a57929edfd018aaa974e62ed557e3f54b4104acabedf73c8f5a1dbb029';
15
+
16
+ await cryptoWaitReady();
17
+
18
+ describe('mnemonicToMiniSecret', (): void => {
19
+ for (const password of [undefined, 'foo', 'bar']) {
20
+ it(`generates Wasm & Js equivalents for password=${password || 'undefined'}`, (): void => {
21
+ expect(
22
+ u8aEq(
23
+ mnemonicToMiniSecret(MNEMONIC, password, undefined, true),
24
+ mnemonicToMiniSecret(MNEMONIC, password, undefined, false)
25
+ )
26
+ ).toEqual(true);
27
+ });
28
+ }
29
+
30
+ it('creates a known minisecret from a non-english mnemonic', (): void => {
31
+ const mnemonic = '엉덩이 능동적 숫자 팩시밀리 비난 서적 파출소 도움 독창적 인생 상류 먼지 답변 음반 수박 사업 노란색 공사 우체국 특급 도대체 금지 굉장히 고무신';
32
+
33
+ expect(
34
+ () => mnemonicToMiniSecret(mnemonic, 'testing')
35
+ ).toThrow();
36
+ expect(
37
+ u8aToHex(mnemonicToMiniSecret(mnemonic, 'testing', koreanWords))
38
+ ).toEqual('0xefa278a62535581767a2f49cb542ed91b65fb911e1b05e7a09c702b257f10c13');
39
+ });
40
+
41
+ for (const onlyJs of [false, true]) {
42
+ describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
43
+ it('generates a valid seed', (): void => {
44
+ expect(
45
+ u8aToHex(mnemonicToMiniSecret(MNEMONIC, undefined, undefined, onlyJs))
46
+ ).toEqual(SEED);
47
+ });
48
+
49
+ it('fails with non-mnemonics', (): void => {
50
+ expect(
51
+ () => mnemonicToMiniSecret('foo bar baz', undefined, undefined, onlyJs)
52
+ ).toThrow(/mnemonic specified/);
53
+ });
54
+
55
+ tests.forEach(([mnemonic, , seed], index): void => {
56
+ it(`Created correct seed for ${index}`, (): void => {
57
+ expect(
58
+ u8aToHex(mnemonicToMiniSecret(mnemonic, 'Substrate', undefined, onlyJs))
59
+ ).toEqual(
60
+ // mini returned here, only check first 32-bytes (64 hex + 2 prefix)
61
+ seed.substring(0, 66)
62
+ );
63
+ });
64
+ });
65
+ });
66
+ }
67
+ });
@@ -0,0 +1,23 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { stringToU8a } from '@pezkuwi/util';
5
+ import { bip39ToMiniSecret, isReady } from '@pezkuwi/wasm-crypto';
6
+
7
+ import { pbkdf2Encode } from '../pbkdf2/index.js';
8
+ import { mnemonicToEntropy } from './toEntropy.js';
9
+ import { mnemonicValidate } from './validate.js';
10
+
11
+ export function mnemonicToMiniSecret (mnemonic: string, password = '', wordlist?: string[], onlyJs?: boolean): Uint8Array {
12
+ if (!mnemonicValidate(mnemonic, wordlist, onlyJs)) {
13
+ throw new Error('Invalid bip39 mnemonic specified');
14
+ } else if (!wordlist && !onlyJs && isReady()) {
15
+ return bip39ToMiniSecret(mnemonic, password);
16
+ }
17
+
18
+ const entropy = mnemonicToEntropy(mnemonic, wordlist);
19
+ const salt = stringToU8a(`mnemonic${password}`);
20
+
21
+ // return the first 32 bytes as the seed
22
+ return pbkdf2Encode(entropy, salt).password.slice(0, 32);
23
+ }
@@ -0,0 +1,64 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { arrayRange, u8aEq } from '@pezkuwi/util';
7
+
8
+ import { cryptoWaitReady, ed25519PairFromSeed, mnemonicGenerate, mnemonicToMiniSecret, sr25519PairFromSeed } from '../index.js';
9
+
10
+ // NOTE: This basically controls how long stuff runs for, YMMV
11
+ //
12
+ // - 100 runs with 5 checks, takes 2mins on _my_ machine
13
+ // - 10_000 runs with 5 checks should be ~3hrs
14
+ const NUM_RUNS = 100;
15
+ const NUM_CHECKS = 5;
16
+
17
+ await cryptoWaitReady();
18
+
19
+ // generate either a JS or WASM mnemonic
20
+ for (const onlyJsMnemonic of [false, true]) {
21
+ describe(`mnemonicToMiniSecret (conpare), onlyJs${(onlyJsMnemonic && 'true') || 'false'}`, (): void => {
22
+ for (const i of arrayRange(NUM_RUNS)) {
23
+ // loop through lots of mnemonics
24
+ describe(`run=${i + 1}`, (): void => {
25
+ // compare both JS and WASM outputs against original
26
+ for (const onlyJsMini of [false, true]) {
27
+ describe(`onlyJsMini=${(onlyJsMini && 'true') || 'false'}`, (): void => {
28
+ // NOTE we cannot actually use the onlyJsMnemonic flag here
29
+ const mnemonic = mnemonicGenerate(12);
30
+
31
+ describe(`${mnemonic}`, (): void => {
32
+ // do iterations to check and re-check that all matches
33
+ for (const count of arrayRange(NUM_CHECKS)) {
34
+ it(`check=${count + 1}`, (): void => {
35
+ const minisecret = mnemonicToMiniSecret(mnemonic, count ? `${count}` : '', undefined, onlyJsMnemonic);
36
+ const edpub = ed25519PairFromSeed(minisecret).publicKey;
37
+ const srpub = sr25519PairFromSeed(minisecret).publicKey;
38
+ const testmini = mnemonicToMiniSecret(mnemonic, count ? `${count}` : '', undefined, onlyJsMini);
39
+
40
+ // explicit minisecret compare
41
+ expect(
42
+ u8aEq(minisecret, testmini)
43
+ ).toEqual(true);
44
+
45
+ // compare the sr25519 keypair generated
46
+ expect(
47
+ u8aEq(srpub, sr25519PairFromSeed(testmini).publicKey)
48
+ ).toEqual(true);
49
+
50
+ // compare ed both in WASM and JS
51
+ [true, false].forEach((onlyJsEd): void => {
52
+ expect(
53
+ u8aEq(edpub, ed25519PairFromSeed(testmini, onlyJsEd).publicKey)
54
+ ).toEqual(true);
55
+ });
56
+ });
57
+ }
58
+ });
59
+ });
60
+ }
61
+ });
62
+ }
63
+ });
64
+ }
@@ -0,0 +1,39 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /// <reference types="@pezkuwi/dev-test/globals.d.ts" />
5
+
6
+ import { cryptoWaitReady } from '../index.js';
7
+ import { french as frenchWords } from './wordlists/index.js';
8
+ import { mnemonicValidate } from './validate.js';
9
+
10
+ await cryptoWaitReady();
11
+
12
+ describe('mnemonicValidate', (): void => {
13
+ for (const onlyJs of [undefined, true]) {
14
+ describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
15
+ it('returns true on valid', (): void => {
16
+ expect(
17
+ mnemonicValidate('seed sock milk update focus rotate barely fade car face mechanic mercy', undefined, onlyJs)
18
+ ).toEqual(true);
19
+ });
20
+
21
+ it('returns false on invalid', (): void => {
22
+ expect(
23
+ mnemonicValidate('wine photo extra cushion basket dwarf humor cloud truck job boat submit', undefined, onlyJs)
24
+ ).toEqual(false);
25
+ });
26
+ });
27
+ }
28
+
29
+ it('allows usage of a different wordlist', (): void => {
30
+ const mnemonic = 'pompier circuler pulpe injure aspect abyssal nuque boueux équerre balisage pieuvre médecin petit suffixe soleil cumuler monstre arlequin liasse pixel garrigue noble buisson scandale';
31
+
32
+ expect(
33
+ mnemonicValidate(mnemonic, frenchWords)
34
+ ).toEqual(true);
35
+ expect(
36
+ mnemonicValidate(mnemonic)
37
+ ).toEqual(false);
38
+ });
39
+ });
@@ -0,0 +1,26 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import { hasBigInt } from '@pezkuwi/util';
5
+ import { bip39Validate, isReady } from '@pezkuwi/wasm-crypto';
6
+
7
+ import { validateMnemonic } from './bip39.js';
8
+
9
+ /**
10
+ * @name mnemonicValidate
11
+ * @summary Validates a mnemonic input using [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).
12
+ * @example
13
+ * <BR>
14
+ *
15
+ * ```javascript
16
+ * import { mnemonicGenerate, mnemonicValidate } from '@pezkuwi/util-crypto';
17
+ *
18
+ * const mnemonic = mnemonicGenerate(); // => string
19
+ * const isValidMnemonic = mnemonicValidate(mnemonic); // => boolean
20
+ * ```
21
+ */
22
+ export function mnemonicValidate (mnemonic: string, wordlist?: string[], onlyJs?: boolean): boolean {
23
+ return !hasBigInt || (!wordlist && !onlyJs && isReady())
24
+ ? bip39Validate(mnemonic)
25
+ : validateMnemonic(mnemonic, wordlist);
26
+ }
@@ -0,0 +1,7 @@
1
+ // Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ // Adapted from the bitcoinjs/bip39 source
5
+ // https://github.com/bitcoinjs/bip39/blob/1d063b6a6aee4145b34d701037cd3e67f5446ff9/ts_src/
6
+
7
+ export default 'abandon|ability|able|about|above|absent|absorb|abstract|absurd|abuse|access|accident|account|accuse|achieve|acid|acoustic|acquire|across|act|action|actor|actress|actual|adapt|add|addict|address|adjust|admit|adult|advance|advice|aerobic|affair|afford|afraid|again|age|agent|agree|ahead|aim|air|airport|aisle|alarm|album|alcohol|alert|alien|all|alley|allow|almost|alone|alpha|already|also|alter|always|amateur|amazing|among|amount|amused|analyst|anchor|ancient|anger|angle|angry|animal|ankle|announce|annual|another|answer|antenna|antique|anxiety|any|apart|apology|appear|apple|approve|april|arch|arctic|area|arena|argue|arm|armed|armor|army|around|arrange|arrest|arrive|arrow|art|artefact|artist|artwork|ask|aspect|assault|asset|assist|assume|asthma|athlete|atom|attack|attend|attitude|attract|auction|audit|august|aunt|author|auto|autumn|average|avocado|avoid|awake|aware|away|awesome|awful|awkward|axis|baby|bachelor|bacon|badge|bag|balance|balcony|ball|bamboo|banana|banner|bar|barely|bargain|barrel|base|basic|basket|battle|beach|bean|beauty|because|become|beef|before|begin|behave|behind|believe|below|belt|bench|benefit|best|betray|better|between|beyond|bicycle|bid|bike|bind|biology|bird|birth|bitter|black|blade|blame|blanket|blast|bleak|bless|blind|blood|blossom|blouse|blue|blur|blush|board|boat|body|boil|bomb|bone|bonus|book|boost|border|boring|borrow|boss|bottom|bounce|box|boy|bracket|brain|brand|brass|brave|bread|breeze|brick|bridge|brief|bright|bring|brisk|broccoli|broken|bronze|broom|brother|brown|brush|bubble|buddy|budget|buffalo|build|bulb|bulk|bullet|bundle|bunker|burden|burger|burst|bus|business|busy|butter|buyer|buzz|cabbage|cabin|cable|cactus|cage|cake|call|calm|camera|camp|can|canal|cancel|candy|cannon|canoe|canvas|canyon|capable|capital|captain|car|carbon|card|cargo|carpet|carry|cart|case|cash|casino|castle|casual|cat|catalog|catch|category|cattle|caught|cause|caution|cave|ceiling|celery|cement|census|century|cereal|certain|chair|chalk|champion|change|chaos|chapter|charge|chase|chat|cheap|check|cheese|chef|cherry|chest|chicken|chief|child|chimney|choice|choose|chronic|chuckle|chunk|churn|cigar|cinnamon|circle|citizen|city|civil|claim|clap|clarify|claw|clay|clean|clerk|clever|click|client|cliff|climb|clinic|clip|clock|clog|close|cloth|cloud|clown|club|clump|cluster|clutch|coach|coast|coconut|code|coffee|coil|coin|collect|color|column|combine|come|comfort|comic|common|company|concert|conduct|confirm|congress|connect|consider|control|convince|cook|cool|copper|copy|coral|core|corn|correct|cost|cotton|couch|country|couple|course|cousin|cover|coyote|crack|cradle|craft|cram|crane|crash|crater|crawl|crazy|cream|credit|creek|crew|cricket|crime|crisp|critic|crop|cross|crouch|crowd|crucial|cruel|cruise|crumble|crunch|crush|cry|crystal|cube|culture|cup|cupboard|curious|current|curtain|curve|cushion|custom|cute|cycle|dad|damage|damp|dance|danger|daring|dash|daughter|dawn|day|deal|debate|debris|decade|december|decide|decline|decorate|decrease|deer|defense|define|defy|degree|delay|deliver|demand|demise|denial|dentist|deny|depart|depend|deposit|depth|deputy|derive|describe|desert|design|desk|despair|destroy|detail|detect|develop|device|devote|diagram|dial|diamond|diary|dice|diesel|diet|differ|digital|dignity|dilemma|dinner|dinosaur|direct|dirt|disagree|discover|disease|dish|dismiss|disorder|display|distance|divert|divide|divorce|dizzy|doctor|document|dog|doll|dolphin|domain|donate|donkey|donor|door|dose|double|dove|draft|dragon|drama|drastic|draw|dream|dress|drift|drill|drink|drip|drive|drop|drum|dry|duck|dumb|dune|during|dust|dutch|duty|dwarf|dynamic|eager|eagle|early|earn|earth|easily|east|easy|echo|ecology|economy|edge|edit|educate|effort|egg|eight|either|elbow|elder|electric|elegant|element|elephant|elevator|elite|else|embark|embody|embrace|emerge|emotion|employ|empower|empty|enable|enact|end|endless|endorse|enemy|energy|enforce|engage|engine|enhance|enjoy|enlist|enough|enrich|enroll|ensure|enter|entire|entry|envelope|episode|equal|equip|era|erase|erode|erosion|error|erupt|escape|essay|essence|estate|eternal|ethics|evidence|evil|evoke|evolve|exact|example|excess|exchange|excite|exclude|excuse|execute|exercise|exhaust|exhibit|exile|exist|exit|exotic|expand|expect|expire|explain|expose|express|extend|extra|eye|eyebrow|fabric|face|faculty|fade|faint|faith|fall|false|fame|family|famous|fan|fancy|fantasy|farm|fashion|fat|fatal|father|fatigue|fault|favorite|feature|february|federal|fee|feed|feel|female|fence|festival|fetch|fever|few|fiber|fiction|field|figure|file|film|filter|final|find|fine|finger|finish|fire|firm|first|fiscal|fish|fit|fitness|fix|flag|flame|flash|flat|flavor|flee|flight|flip|float|flock|floor|flower|fluid|flush|fly|foam|focus|fog|foil|fold|follow|food|foot|force|forest|forget|fork|fortune|forum|forward|fossil|foster|found|fox|fragile|frame|frequent|fresh|friend|fringe|frog|front|frost|frown|frozen|fruit|fuel|fun|funny|furnace|fury|future|gadget|gain|galaxy|gallery|game|gap|garage|garbage|garden|garlic|garment|gas|gasp|gate|gather|gauge|gaze|general|genius|genre|gentle|genuine|gesture|ghost|giant|gift|giggle|ginger|giraffe|girl|give|glad|glance|glare|glass|glide|glimpse|globe|gloom|glory|glove|glow|glue|goat|goddess|gold|good|goose|gorilla|gospel|gossip|govern|gown|grab|grace|grain|grant|grape|grass|gravity|great|green|grid|grief|grit|grocery|group|grow|grunt|guard|guess|guide|guilt|guitar|gun|gym|habit|hair|half|hammer|hamster|hand|happy|harbor|hard|harsh|harvest|hat|have|hawk|hazard|head|health|heart|heavy|hedgehog|height|hello|helmet|help|hen|hero|hidden|high|hill|hint|hip|hire|history|hobby|hockey|hold|hole|holiday|hollow|home|honey|hood|hope|horn|horror|horse|hospital|host|hotel|hour|hover|hub|huge|human|humble|humor|hundred|hungry|hunt|hurdle|hurry|hurt|husband|hybrid|ice|icon|idea|identify|idle|ignore|ill|illegal|illness|image|imitate|immense|immune|impact|impose|improve|impulse|inch|include|income|increase|index|indicate|indoor|industry|infant|inflict|inform|inhale|inherit|initial|inject|injury|inmate|inner|innocent|input|inquiry|insane|insect|inside|inspire|install|intact|interest|into|invest|invite|involve|iron|island|isolate|issue|item|ivory|jacket|jaguar|jar|jazz|jealous|jeans|jelly|jewel|job|join|joke|journey|joy|judge|juice|jump|jungle|junior|junk|just|kangaroo|keen|keep|ketchup|key|kick|kid|kidney|kind|kingdom|kiss|kit|kitchen|kite|kitten|kiwi|knee|knife|knock|know|lab|label|labor|ladder|lady|lake|lamp|language|laptop|large|later|latin|laugh|laundry|lava|law|lawn|lawsuit|layer|lazy|leader|leaf|learn|leave|lecture|left|leg|legal|legend|leisure|lemon|lend|length|lens|leopard|lesson|letter|level|liar|liberty|library|license|life|lift|light|like|limb|limit|link|lion|liquid|list|little|live|lizard|load|loan|lobster|local|lock|logic|lonely|long|loop|lottery|loud|lounge|love|loyal|lucky|luggage|lumber|lunar|lunch|luxury|lyrics|machine|mad|magic|magnet|maid|mail|main|major|make|mammal|man|manage|mandate|mango|mansion|manual|maple|marble|march|margin|marine|market|marriage|mask|mass|master|match|material|math|matrix|matter|maximum|maze|meadow|mean|measure|meat|mechanic|medal|media|melody|melt|member|memory|mention|menu|mercy|merge|merit|merry|mesh|message|metal|method|middle|midnight|milk|million|mimic|mind|minimum|minor|minute|miracle|mirror|misery|miss|mistake|mix|mixed|mixture|mobile|model|modify|mom|moment|monitor|monkey|monster|month|moon|moral|more|morning|mosquito|mother|motion|motor|mountain|mouse|move|movie|much|muffin|mule|multiply|muscle|museum|mushroom|music|must|mutual|myself|mystery|myth|naive|name|napkin|narrow|nasty|nation|nature|near|neck|need|negative|neglect|neither|nephew|nerve|nest|net|network|neutral|never|news|next|nice|night|noble|noise|nominee|noodle|normal|north|nose|notable|note|nothing|notice|novel|now|nuclear|number|nurse|nut|oak|obey|object|oblige|obscure|observe|obtain|obvious|occur|ocean|october|odor|off|offer|office|often|oil|okay|old|olive|olympic|omit|once|one|onion|online|only|open|opera|opinion|oppose|option|orange|orbit|orchard|order|ordinary|organ|orient|original|orphan|ostrich|other|outdoor|outer|output|outside|oval|oven|over|own|owner|oxygen|oyster|ozone|pact|paddle|page|pair|palace|palm|panda|panel|panic|panther|paper|parade|parent|park|parrot|party|pass|patch|path|patient|patrol|pattern|pause|pave|payment|peace|peanut|pear|peasant|pelican|pen|penalty|pencil|people|pepper|perfect|permit|person|pet|phone|photo|phrase|physical|piano|picnic|picture|piece|pig|pigeon|pill|pilot|pink|pioneer|pipe|pistol|pitch|pizza|place|planet|plastic|plate|play|please|pledge|pluck|plug|plunge|poem|poet|point|polar|pole|police|pond|pony|pool|popular|portion|position|possible|post|potato|pottery|poverty|powder|power|practice|praise|predict|prefer|prepare|present|pretty|prevent|price|pride|primary|print|priority|prison|private|prize|problem|process|produce|profit|program|project|promote|proof|property|prosper|protect|proud|provide|public|pudding|pull|pulp|pulse|pumpkin|punch|pupil|puppy|purchase|purity|purpose|purse|push|put|puzzle|pyramid|quality|quantum|quarter|question|quick|quit|quiz|quote|rabbit|raccoon|race|rack|radar|radio|rail|rain|raise|rally|ramp|ranch|random|range|rapid|rare|rate|rather|raven|raw|razor|ready|real|reason|rebel|rebuild|recall|receive|recipe|record|recycle|reduce|reflect|reform|refuse|region|regret|regular|reject|relax|release|relief|rely|remain|remember|remind|remove|render|renew|rent|reopen|repair|repeat|replace|report|require|rescue|resemble|resist|resource|response|result|retire|retreat|return|reunion|reveal|review|reward|rhythm|rib|ribbon|rice|rich|ride|ridge|rifle|right|rigid|ring|riot|ripple|risk|ritual|rival|river|road|roast|robot|robust|rocket|romance|roof|rookie|room|rose|rotate|rough|round|route|royal|rubber|rude|rug|rule|run|runway|rural|sad|saddle|sadness|safe|sail|salad|salmon|salon|salt|salute|same|sample|sand|satisfy|satoshi|sauce|sausage|save|say|scale|scan|scare|scatter|scene|scheme|school|science|scissors|scorpion|scout|scrap|screen|script|scrub|sea|search|season|seat|second|secret|section|security|seed|seek|segment|select|sell|seminar|senior|sense|sentence|series|service|session|settle|setup|seven|shadow|shaft|shallow|share|shed|shell|sheriff|shield|shift|shine|ship|shiver|shock|shoe|shoot|shop|short|shoulder|shove|shrimp|shrug|shuffle|shy|sibling|sick|side|siege|sight|sign|silent|silk|silly|silver|similar|simple|since|sing|siren|sister|situate|six|size|skate|sketch|ski|skill|skin|skirt|skull|slab|slam|sleep|slender|slice|slide|slight|slim|slogan|slot|slow|slush|small|smart|smile|smoke|smooth|snack|snake|snap|sniff|snow|soap|soccer|social|sock|soda|soft|solar|soldier|solid|solution|solve|someone|song|soon|sorry|sort|soul|sound|soup|source|south|space|spare|spatial|spawn|speak|special|speed|spell|spend|sphere|spice|spider|spike|spin|spirit|split|spoil|sponsor|spoon|sport|spot|spray|spread|spring|spy|square|squeeze|squirrel|stable|stadium|staff|stage|stairs|stamp|stand|start|state|stay|steak|steel|stem|step|stereo|stick|still|sting|stock|stomach|stone|stool|story|stove|strategy|street|strike|strong|struggle|student|stuff|stumble|style|subject|submit|subway|success|such|sudden|suffer|sugar|suggest|suit|summer|sun|sunny|sunset|super|supply|supreme|sure|surface|surge|surprise|surround|survey|suspect|sustain|swallow|swamp|swap|swarm|swear|sweet|swift|swim|swing|switch|sword|symbol|symptom|syrup|system|table|tackle|tag|tail|talent|talk|tank|tape|target|task|taste|tattoo|taxi|teach|team|tell|ten|tenant|tennis|tent|term|test|text|thank|that|theme|then|theory|there|they|thing|this|thought|three|thrive|throw|thumb|thunder|ticket|tide|tiger|tilt|timber|time|tiny|tip|tired|tissue|title|toast|tobacco|today|toddler|toe|together|toilet|token|tomato|tomorrow|tone|tongue|tonight|tool|tooth|top|topic|topple|torch|tornado|tortoise|toss|total|tourist|toward|tower|town|toy|track|trade|traffic|tragic|train|transfer|trap|trash|travel|tray|treat|tree|trend|trial|tribe|trick|trigger|trim|trip|trophy|trouble|truck|true|truly|trumpet|trust|truth|try|tube|tuition|tumble|tuna|tunnel|turkey|turn|turtle|twelve|twenty|twice|twin|twist|two|type|typical|ugly|umbrella|unable|unaware|uncle|uncover|under|undo|unfair|unfold|unhappy|uniform|unique|unit|universe|unknown|unlock|until|unusual|unveil|update|upgrade|uphold|upon|upper|upset|urban|urge|usage|use|used|useful|useless|usual|utility|vacant|vacuum|vague|valid|valley|valve|van|vanish|vapor|various|vast|vault|vehicle|velvet|vendor|venture|venue|verb|verify|version|very|vessel|veteran|viable|vibrant|vicious|victory|video|view|village|vintage|violin|virtual|virus|visa|visit|visual|vital|vivid|vocal|voice|void|volcano|volume|vote|voyage|wage|wagon|wait|walk|wall|walnut|want|warfare|warm|warrior|wash|wasp|waste|water|wave|way|wealth|weapon|wear|weasel|weather|web|wedding|weekend|weird|welcome|west|wet|whale|what|wheat|wheel|when|where|whip|whisper|wide|width|wife|wild|will|win|window|wine|wing|wink|winner|winter|wire|wisdom|wise|wish|witness|wolf|woman|wonder|wood|wool|word|work|world|worry|worth|wrap|wreck|wrestle|wrist|write|wrong|yard|year|yellow|you|young|youth|zebra|zero|zone|zoo'.split('|');