@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.
- package/blake2/asU8a.d.ts +1 -1
- package/build/LICENSE +201 -0
- package/build/README.md +17 -0
- package/build/address/addressToEvm.d.ts +5 -0
- package/build/address/addressToEvm.js +8 -0
- package/build/address/check.d.ts +8 -0
- package/build/address/check.js +26 -0
- package/build/address/checksum.d.ts +1 -0
- package/build/address/checksum.js +16 -0
- package/build/address/decode.d.ts +2 -0
- package/build/address/decode.js +29 -0
- package/build/address/defaults.d.ts +6 -0
- package/build/address/defaults.js +8 -0
- package/build/address/derive.d.ts +8 -0
- package/build/address/derive.js +24 -0
- package/build/address/encode.d.ts +2 -0
- package/build/address/encode.js +23 -0
- package/build/address/encodeDerived.d.ts +9 -0
- package/build/address/encodeDerived.js +12 -0
- package/build/address/encodeMulti.d.ts +9 -0
- package/build/address/encodeMulti.js +11 -0
- package/build/address/eq.d.ts +15 -0
- package/build/address/eq.js +19 -0
- package/build/address/evmToAddress.d.ts +7 -0
- package/build/address/evmToAddress.js +14 -0
- package/build/address/index.d.ts +16 -0
- package/build/address/index.js +16 -0
- package/build/address/is.d.ts +2 -0
- package/build/address/is.js +9 -0
- package/build/address/keyDerived.d.ts +2 -0
- package/build/address/keyDerived.js +8 -0
- package/build/address/keyMulti.d.ts +2 -0
- package/build/address/keyMulti.js +8 -0
- package/build/address/setSS58Format.d.ts +6 -0
- package/build/address/setSS58Format.js +11 -0
- package/build/address/sort.d.ts +2 -0
- package/build/address/sort.js +7 -0
- package/build/address/sshash.d.ts +1 -0
- package/build/address/sshash.js +6 -0
- package/build/address/types.d.ts +1 -0
- package/build/address/types.js +1 -0
- package/build/address/util.d.ts +1 -0
- package/build/address/util.js +4 -0
- package/build/address/validate.d.ts +2 -0
- package/build/address/validate.js +4 -0
- package/build/base32/bs32.d.ts +26 -0
- package/build/base32/bs32.js +40 -0
- package/build/base32/helpers.d.ts +25 -0
- package/build/base32/helpers.js +61 -0
- package/build/base32/index.d.ts +4 -0
- package/build/base32/index.js +4 -0
- package/build/base58/bs58.d.ts +26 -0
- package/build/base58/bs58.js +34 -0
- package/build/base58/index.d.ts +4 -0
- package/build/base58/index.js +4 -0
- package/build/base64/bs64.d.ts +26 -0
- package/build/base64/bs64.js +34 -0
- package/build/base64/index.d.ts +6 -0
- package/build/base64/index.js +6 -0
- package/build/base64/pad.d.ts +5 -0
- package/build/base64/pad.js +7 -0
- package/build/base64/trim.d.ts +5 -0
- package/build/base64/trim.js +10 -0
- package/build/blake2/asU8a.d.ts +20 -0
- package/build/blake2/asU8a.js +32 -0
- package/build/blake2/index.d.ts +4 -0
- package/build/blake2/index.js +4 -0
- package/build/bn.d.ts +30 -0
- package/build/bn.js +8 -0
- package/build/bundle.d.ts +26 -0
- package/build/bundle.js +26 -0
- package/build/bundleInit.d.ts +1 -0
- package/build/bundleInit.js +5 -0
- package/build/cjs/address/addressToEvm.d.ts +5 -0
- package/build/cjs/address/addressToEvm.js +11 -0
- package/build/cjs/address/check.d.ts +8 -0
- package/build/cjs/address/check.js +29 -0
- package/build/cjs/address/checksum.d.ts +1 -0
- package/build/cjs/address/checksum.js +19 -0
- package/build/cjs/address/decode.d.ts +2 -0
- package/build/cjs/address/decode.js +32 -0
- package/build/cjs/address/defaults.d.ts +6 -0
- package/build/cjs/address/defaults.js +11 -0
- package/build/cjs/address/derive.d.ts +8 -0
- package/build/cjs/address/derive.js +27 -0
- package/build/cjs/address/encode.d.ts +2 -0
- package/build/cjs/address/encode.js +26 -0
- package/build/cjs/address/encodeDerived.d.ts +9 -0
- package/build/cjs/address/encodeDerived.js +15 -0
- package/build/cjs/address/encodeMulti.d.ts +9 -0
- package/build/cjs/address/encodeMulti.js +14 -0
- package/build/cjs/address/eq.d.ts +15 -0
- package/build/cjs/address/eq.js +22 -0
- package/build/cjs/address/evmToAddress.d.ts +7 -0
- package/build/cjs/address/evmToAddress.js +17 -0
- package/build/cjs/address/index.d.ts +16 -0
- package/build/cjs/address/index.js +35 -0
- package/build/cjs/address/is.d.ts +2 -0
- package/build/cjs/address/is.js +12 -0
- package/build/cjs/address/keyDerived.d.ts +2 -0
- package/build/cjs/address/keyDerived.js +11 -0
- package/build/cjs/address/keyMulti.d.ts +2 -0
- package/build/cjs/address/keyMulti.js +11 -0
- package/build/cjs/address/setSS58Format.d.ts +6 -0
- package/build/cjs/address/setSS58Format.js +14 -0
- package/build/cjs/address/sort.d.ts +2 -0
- package/build/cjs/address/sort.js +10 -0
- package/build/cjs/address/sshash.d.ts +1 -0
- package/build/cjs/address/sshash.js +9 -0
- package/build/cjs/address/types.d.ts +1 -0
- package/build/cjs/address/types.js +2 -0
- package/build/cjs/address/util.d.ts +1 -0
- package/build/cjs/address/util.js +7 -0
- package/build/cjs/address/validate.d.ts +2 -0
- package/build/cjs/address/validate.js +7 -0
- package/build/cjs/base32/bs32.d.ts +26 -0
- package/build/cjs/base32/bs32.js +43 -0
- package/build/cjs/base32/helpers.d.ts +25 -0
- package/build/cjs/base32/helpers.js +67 -0
- package/build/cjs/base32/index.d.ts +4 -0
- package/build/cjs/base32/index.js +11 -0
- package/build/cjs/base58/bs58.d.ts +26 -0
- package/build/cjs/base58/bs58.js +37 -0
- package/build/cjs/base58/index.d.ts +4 -0
- package/build/cjs/base58/index.js +11 -0
- package/build/cjs/base64/bs64.d.ts +26 -0
- package/build/cjs/base64/bs64.js +37 -0
- package/build/cjs/base64/index.d.ts +6 -0
- package/build/cjs/base64/index.js +15 -0
- package/build/cjs/base64/pad.d.ts +5 -0
- package/build/cjs/base64/pad.js +10 -0
- package/build/cjs/base64/trim.d.ts +5 -0
- package/build/cjs/base64/trim.js +13 -0
- package/build/cjs/blake2/asU8a.d.ts +20 -0
- package/build/cjs/blake2/asU8a.js +36 -0
- package/build/cjs/blake2/index.d.ts +4 -0
- package/build/cjs/blake2/index.js +9 -0
- package/build/cjs/bn.d.ts +30 -0
- package/build/cjs/bn.js +11 -0
- package/build/cjs/bundle.d.ts +26 -0
- package/build/cjs/bundle.js +31 -0
- package/build/cjs/bundleInit.d.ts +1 -0
- package/build/cjs/bundleInit.js +7 -0
- package/build/cjs/crypto.d.ts +3 -0
- package/build/cjs/crypto.js +16 -0
- package/build/cjs/ed25519/deriveHard.d.ts +1 -0
- package/build/cjs/ed25519/deriveHard.js +12 -0
- package/build/cjs/ed25519/index.d.ts +10 -0
- package/build/cjs/ed25519/index.js +20 -0
- package/build/cjs/ed25519/pair/fromRandom.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromRandom.js +22 -0
- package/build/cjs/ed25519/pair/fromSecret.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromSecret.js +26 -0
- package/build/cjs/ed25519/pair/fromSeed.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromSeed.js +34 -0
- package/build/cjs/ed25519/pair/fromString.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromString.js +23 -0
- package/build/cjs/ed25519/sign.d.ts +16 -0
- package/build/cjs/ed25519/sign.js +33 -0
- package/build/cjs/ed25519/verify.d.ts +15 -0
- package/build/cjs/ed25519/verify.js +39 -0
- package/build/cjs/ethereum/encode.d.ts +2 -0
- package/build/cjs/ethereum/encode.js +28 -0
- package/build/cjs/ethereum/index.d.ts +3 -0
- package/build/cjs/ethereum/index.js +9 -0
- package/build/cjs/ethereum/isAddress.d.ts +1 -0
- package/build/cjs/ethereum/isAddress.js +14 -0
- package/build/cjs/ethereum/isChecksum.d.ts +1 -0
- package/build/cjs/ethereum/isChecksum.js +20 -0
- package/build/cjs/hd/ethereum/index.d.ts +2 -0
- package/build/cjs/hd/ethereum/index.js +47 -0
- package/build/cjs/hd/index.d.ts +3 -0
- package/build/cjs/hd/index.js +9 -0
- package/build/cjs/hd/ledger/derivePrivate.d.ts +1 -0
- package/build/cjs/hd/ledger/derivePrivate.js +15 -0
- package/build/cjs/hd/ledger/index.d.ts +2 -0
- package/build/cjs/hd/ledger/index.js +33 -0
- package/build/cjs/hd/ledger/master.d.ts +1 -0
- package/build/cjs/hd/ledger/master.js +19 -0
- package/build/cjs/hd/validatePath.d.ts +2 -0
- package/build/cjs/hd/validatePath.js +20 -0
- package/build/cjs/helpers.d.ts +12 -0
- package/build/cjs/helpers.js +24 -0
- package/build/cjs/hmac/index.d.ts +1 -0
- package/build/cjs/hmac/index.js +7 -0
- package/build/cjs/hmac/shaAsU8a.d.ts +15 -0
- package/build/cjs/hmac/shaAsU8a.js +40 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +5 -0
- package/build/cjs/json/constants.d.ts +6 -0
- package/build/cjs/json/constants.js +8 -0
- package/build/cjs/json/decrypt.d.ts +2 -0
- package/build/cjs/json/decrypt.js +16 -0
- package/build/cjs/json/decryptData.d.ts +2 -0
- package/build/cjs/json/decryptData.js +32 -0
- package/build/cjs/json/encrypt.d.ts +2 -0
- package/build/cjs/json/encrypt.js +18 -0
- package/build/cjs/json/encryptFormat.d.ts +2 -0
- package/build/cjs/json/encryptFormat.js +17 -0
- package/build/cjs/json/index.d.ts +4 -0
- package/build/cjs/json/index.js +11 -0
- package/build/cjs/json/types.d.ts +16 -0
- package/build/cjs/json/types.js +2 -0
- package/build/cjs/keccak/asU8a.d.ts +30 -0
- package/build/cjs/keccak/asU8a.js +36 -0
- package/build/cjs/keccak/index.d.ts +4 -0
- package/build/cjs/keccak/index.js +11 -0
- package/build/cjs/key/DeriveJunction.d.ts +12 -0
- package/build/cjs/key/DeriveJunction.js +62 -0
- package/build/cjs/key/extractPath.d.ts +9 -0
- package/build/cjs/key/extractPath.js +26 -0
- package/build/cjs/key/extractSuri.d.ts +11 -0
- package/build/cjs/key/extractSuri.js +25 -0
- package/build/cjs/key/fromPath.d.ts +3 -0
- package/build/cjs/key/fromPath.js +21 -0
- package/build/cjs/key/hdkdDerive.d.ts +3 -0
- package/build/cjs/key/hdkdDerive.js +11 -0
- package/build/cjs/key/hdkdEcdsa.d.ts +1 -0
- package/build/cjs/key/hdkdEcdsa.js +7 -0
- package/build/cjs/key/hdkdEd25519.d.ts +1 -0
- package/build/cjs/key/hdkdEd25519.js +6 -0
- package/build/cjs/key/hdkdSr25519.d.ts +3 -0
- package/build/cjs/key/hdkdSr25519.js +10 -0
- package/build/cjs/key/index.d.ts +9 -0
- package/build/cjs/key/index.js +18 -0
- package/build/cjs/mnemonic/bip39.d.ts +5 -0
- package/build/cjs/mnemonic/bip39.js +90 -0
- package/build/cjs/mnemonic/generate.d.ts +13 -0
- package/build/cjs/mnemonic/generate.js +23 -0
- package/build/cjs/mnemonic/index.d.ts +8 -0
- package/build/cjs/mnemonic/index.js +16 -0
- package/build/cjs/mnemonic/toEntropy.d.ts +1 -0
- package/build/cjs/mnemonic/toEntropy.js +11 -0
- package/build/cjs/mnemonic/toLegacySeed.d.ts +18 -0
- package/build/cjs/mnemonic/toLegacySeed.js +37 -0
- package/build/cjs/mnemonic/toMiniSecret.d.ts +1 -0
- package/build/cjs/mnemonic/toMiniSecret.js +20 -0
- package/build/cjs/mnemonic/validate.d.ts +14 -0
- package/build/cjs/mnemonic/validate.js +24 -0
- package/build/cjs/mnemonic/wordlists/en.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/en.js +3 -0
- package/build/cjs/mnemonic/wordlists/es.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/es.js +3 -0
- package/build/cjs/mnemonic/wordlists/fr.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/fr.js +3 -0
- package/build/cjs/mnemonic/wordlists/index.d.ts +8 -0
- package/build/cjs/mnemonic/wordlists/index.js +20 -0
- package/build/cjs/mnemonic/wordlists/it.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/it.js +3 -0
- package/build/cjs/mnemonic/wordlists/jp.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/jp.js +3 -0
- package/build/cjs/mnemonic/wordlists/ko.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/ko.js +3 -0
- package/build/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/zh-s.js +3 -0
- package/build/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/zh-t.js +3 -0
- package/build/cjs/nacl/decrypt.d.ts +15 -0
- package/build/cjs/nacl/decrypt.js +21 -0
- package/build/cjs/nacl/encrypt.d.ts +20 -0
- package/build/cjs/nacl/encrypt.js +25 -0
- package/build/cjs/nacl/index.d.ts +5 -0
- package/build/cjs/nacl/index.js +10 -0
- package/build/cjs/nacl/tweetnacl.d.ts +2 -0
- package/build/cjs/nacl/tweetnacl.js +238 -0
- package/build/cjs/networks.d.ts +1 -0
- package/build/cjs/networks.js +7 -0
- package/build/cjs/package.json +3 -0
- package/build/cjs/packageDetect.d.ts +1 -0
- package/build/cjs/packageDetect.js +8 -0
- package/build/cjs/packageInfo.d.ts +6 -0
- package/build/cjs/packageInfo.js +4 -0
- package/build/cjs/pbkdf2/encode.d.ts +7 -0
- package/build/cjs/pbkdf2/encode.js +19 -0
- package/build/cjs/pbkdf2/index.d.ts +1 -0
- package/build/cjs/pbkdf2/index.js +5 -0
- package/build/cjs/random/asNumber.d.ts +15 -0
- package/build/cjs/random/asNumber.js +23 -0
- package/build/cjs/random/asU8a.d.ts +20 -0
- package/build/cjs/random/asU8a.js +28 -0
- package/build/cjs/random/index.d.ts +5 -0
- package/build/cjs/random/index.js +11 -0
- package/build/cjs/scrypt/defaults.d.ts +3 -0
- package/build/cjs/scrypt/defaults.js +16 -0
- package/build/cjs/scrypt/encode.d.ts +8 -0
- package/build/cjs/scrypt/encode.js +18 -0
- package/build/cjs/scrypt/fromU8a.d.ts +7 -0
- package/build/cjs/scrypt/fromU8a.js +27 -0
- package/build/cjs/scrypt/index.d.ts +3 -0
- package/build/cjs/scrypt/index.js +9 -0
- package/build/cjs/scrypt/toU8a.d.ts +2 -0
- package/build/cjs/scrypt/toU8a.js +8 -0
- package/build/cjs/scrypt/types.d.ts +6 -0
- package/build/cjs/scrypt/types.js +2 -0
- package/build/cjs/secp256k1/compress.d.ts +1 -0
- package/build/cjs/secp256k1/compress.js +17 -0
- package/build/cjs/secp256k1/deriveHard.d.ts +1 -0
- package/build/cjs/secp256k1/deriveHard.js +13 -0
- package/build/cjs/secp256k1/expand.d.ts +1 -0
- package/build/cjs/secp256k1/expand.js +20 -0
- package/build/cjs/secp256k1/hasher.d.ts +2 -0
- package/build/cjs/secp256k1/hasher.js +10 -0
- package/build/cjs/secp256k1/index.d.ts +7 -0
- package/build/cjs/secp256k1/index.js +17 -0
- package/build/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build/cjs/secp256k1/pair/fromSeed.js +34 -0
- package/build/cjs/secp256k1/recover.d.ts +6 -0
- package/build/cjs/secp256k1/recover.js +29 -0
- package/build/cjs/secp256k1/sign.d.ts +7 -0
- package/build/cjs/secp256k1/sign.js +23 -0
- package/build/cjs/secp256k1/tweakAdd.d.ts +1 -0
- package/build/cjs/secp256k1/tweakAdd.js +48 -0
- package/build/cjs/secp256k1/types.d.ts +1 -0
- package/build/cjs/secp256k1/types.js +2 -0
- package/build/cjs/secp256k1/verify.d.ts +6 -0
- package/build/cjs/secp256k1/verify.js +23 -0
- package/build/cjs/sha/asU8a.d.ts +15 -0
- package/build/cjs/sha/asU8a.js +22 -0
- package/build/cjs/sha/index.d.ts +4 -0
- package/build/cjs/sha/index.js +10 -0
- package/build/cjs/signature/index.d.ts +4 -0
- package/build/cjs/signature/index.js +8 -0
- package/build/cjs/signature/verify.d.ts +2 -0
- package/build/cjs/signature/verify.js +81 -0
- package/build/cjs/sr25519/agreement.d.ts +5 -0
- package/build/cjs/sr25519/agreement.js +20 -0
- package/build/cjs/sr25519/derive.d.ts +2 -0
- package/build/cjs/sr25519/derive.js +16 -0
- package/build/cjs/sr25519/deriveHard.d.ts +1 -0
- package/build/cjs/sr25519/deriveHard.js +7 -0
- package/build/cjs/sr25519/derivePublic.d.ts +1 -0
- package/build/cjs/sr25519/derivePublic.js +16 -0
- package/build/cjs/sr25519/deriveSoft.d.ts +1 -0
- package/build/cjs/sr25519/deriveSoft.js +7 -0
- package/build/cjs/sr25519/index.d.ts +9 -0
- package/build/cjs/sr25519/index.js +21 -0
- package/build/cjs/sr25519/pair/fromSeed.d.ts +6 -0
- package/build/cjs/sr25519/pair/fromSeed.js +22 -0
- package/build/cjs/sr25519/pair/fromU8a.d.ts +2 -0
- package/build/cjs/sr25519/pair/fromU8a.js +17 -0
- package/build/cjs/sr25519/pair/toU8a.d.ts +2 -0
- package/build/cjs/sr25519/pair/toU8a.js +7 -0
- package/build/cjs/sr25519/sign.d.ts +6 -0
- package/build/cjs/sr25519/sign.js +19 -0
- package/build/cjs/sr25519/verify.d.ts +5 -0
- package/build/cjs/sr25519/verify.js +21 -0
- package/build/cjs/sr25519/vrfSign.d.ts +6 -0
- package/build/cjs/sr25519/vrfSign.js +19 -0
- package/build/cjs/sr25519/vrfVerify.d.ts +5 -0
- package/build/cjs/sr25519/vrfVerify.js +22 -0
- package/build/cjs/types.d.ts +26 -0
- package/build/cjs/types.js +5 -0
- package/build/cjs/xxhash/asU8a.d.ts +20 -0
- package/build/cjs/xxhash/asU8a.js +39 -0
- package/build/cjs/xxhash/index.d.ts +4 -0
- package/build/cjs/xxhash/index.js +9 -0
- package/build/cjs/xxhash/xxhash64.d.ts +1 -0
- package/build/cjs/xxhash/xxhash64.js +103 -0
- package/build/crypto.d.ts +3 -0
- package/build/crypto.js +12 -0
- package/build/ed25519/deriveHard.d.ts +1 -0
- package/build/ed25519/deriveHard.js +9 -0
- package/build/ed25519/index.d.ts +10 -0
- package/build/ed25519/index.js +10 -0
- package/build/ed25519/pair/fromRandom.d.ts +16 -0
- package/build/ed25519/pair/fromRandom.js +19 -0
- package/build/ed25519/pair/fromSecret.d.ts +16 -0
- package/build/ed25519/pair/fromSecret.js +23 -0
- package/build/ed25519/pair/fromSeed.d.ts +16 -0
- package/build/ed25519/pair/fromSeed.js +31 -0
- package/build/ed25519/pair/fromString.d.ts +16 -0
- package/build/ed25519/pair/fromString.js +20 -0
- package/build/ed25519/sign.d.ts +16 -0
- package/build/ed25519/sign.js +30 -0
- package/build/ed25519/verify.d.ts +15 -0
- package/build/ed25519/verify.js +36 -0
- package/build/ethereum/encode.d.ts +2 -0
- package/build/ethereum/encode.js +25 -0
- package/build/ethereum/index.d.ts +3 -0
- package/build/ethereum/index.js +3 -0
- package/build/ethereum/isAddress.d.ts +1 -0
- package/build/ethereum/isAddress.js +11 -0
- package/build/ethereum/isChecksum.d.ts +1 -0
- package/build/ethereum/isChecksum.js +17 -0
- package/build/hd/ethereum/index.d.ts +2 -0
- package/build/hd/ethereum/index.js +44 -0
- package/build/hd/index.d.ts +3 -0
- package/build/hd/index.js +3 -0
- package/build/hd/ledger/derivePrivate.d.ts +1 -0
- package/build/hd/ledger/derivePrivate.js +12 -0
- package/build/hd/ledger/index.d.ts +2 -0
- package/build/hd/ledger/index.js +30 -0
- package/build/hd/ledger/master.d.ts +1 -0
- package/build/hd/ledger/master.js +16 -0
- package/build/hd/validatePath.d.ts +2 -0
- package/build/hd/validatePath.js +16 -0
- package/build/helpers.d.ts +12 -0
- package/build/helpers.js +19 -0
- package/build/hmac/index.d.ts +1 -0
- package/build/hmac/index.js +1 -0
- package/build/hmac/shaAsU8a.d.ts +15 -0
- package/build/hmac/shaAsU8a.js +36 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +2 -0
- package/build/json/constants.d.ts +6 -0
- package/build/json/constants.js +5 -0
- package/build/json/decrypt.d.ts +2 -0
- package/build/json/decrypt.js +13 -0
- package/build/json/decryptData.d.ts +2 -0
- package/build/json/decryptData.js +29 -0
- package/build/json/encrypt.d.ts +2 -0
- package/build/json/encrypt.js +15 -0
- package/build/json/encryptFormat.d.ts +2 -0
- package/build/json/encryptFormat.js +14 -0
- package/build/json/index.d.ts +4 -0
- package/build/json/index.js +4 -0
- package/build/json/types.d.ts +16 -0
- package/build/json/types.js +1 -0
- package/build/keccak/asU8a.d.ts +30 -0
- package/build/keccak/asU8a.js +33 -0
- package/build/keccak/index.d.ts +4 -0
- package/build/keccak/index.js +4 -0
- package/build/key/DeriveJunction.d.ts +12 -0
- package/build/key/DeriveJunction.js +58 -0
- package/build/key/extractPath.d.ts +9 -0
- package/build/key/extractPath.js +23 -0
- package/build/key/extractSuri.d.ts +11 -0
- package/build/key/extractSuri.js +22 -0
- package/build/key/fromPath.d.ts +3 -0
- package/build/key/fromPath.js +18 -0
- package/build/key/hdkdDerive.d.ts +3 -0
- package/build/key/hdkdDerive.js +8 -0
- package/build/key/hdkdEcdsa.d.ts +1 -0
- package/build/key/hdkdEcdsa.js +4 -0
- package/build/key/hdkdEd25519.d.ts +1 -0
- package/build/key/hdkdEd25519.js +3 -0
- package/build/key/hdkdSr25519.d.ts +3 -0
- package/build/key/hdkdSr25519.js +7 -0
- package/build/key/index.d.ts +9 -0
- package/build/key/index.js +9 -0
- package/build/mnemonic/bip39.d.ts +5 -0
- package/build/mnemonic/bip39.js +82 -0
- package/build/mnemonic/generate.d.ts +13 -0
- package/build/mnemonic/generate.js +20 -0
- package/build/mnemonic/index.d.ts +8 -0
- package/build/mnemonic/index.js +8 -0
- package/build/mnemonic/toEntropy.d.ts +1 -0
- package/build/mnemonic/toEntropy.js +8 -0
- package/build/mnemonic/toLegacySeed.d.ts +18 -0
- package/build/mnemonic/toLegacySeed.js +34 -0
- package/build/mnemonic/toMiniSecret.d.ts +1 -0
- package/build/mnemonic/toMiniSecret.js +17 -0
- package/build/mnemonic/validate.d.ts +14 -0
- package/build/mnemonic/validate.js +21 -0
- package/build/mnemonic/wordlists/en.d.ts +2 -0
- package/build/mnemonic/wordlists/en.js +1 -0
- package/build/mnemonic/wordlists/es.d.ts +2 -0
- package/build/mnemonic/wordlists/es.js +1 -0
- package/build/mnemonic/wordlists/fr.d.ts +2 -0
- package/build/mnemonic/wordlists/fr.js +1 -0
- package/build/mnemonic/wordlists/index.d.ts +8 -0
- package/build/mnemonic/wordlists/index.js +8 -0
- package/build/mnemonic/wordlists/it.d.ts +2 -0
- package/build/mnemonic/wordlists/it.js +1 -0
- package/build/mnemonic/wordlists/jp.d.ts +2 -0
- package/build/mnemonic/wordlists/jp.js +1 -0
- package/build/mnemonic/wordlists/ko.d.ts +2 -0
- package/build/mnemonic/wordlists/ko.js +1 -0
- package/build/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build/mnemonic/wordlists/zh-s.js +1 -0
- package/build/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build/mnemonic/wordlists/zh-t.js +1 -0
- package/build/nacl/decrypt.d.ts +15 -0
- package/build/nacl/decrypt.js +18 -0
- package/build/nacl/encrypt.d.ts +20 -0
- package/build/nacl/encrypt.js +22 -0
- package/build/nacl/index.d.ts +5 -0
- package/build/nacl/index.js +5 -0
- package/build/nacl/tweetnacl.d.ts +2 -0
- package/build/nacl/tweetnacl.js +234 -0
- package/build/networks.d.ts +1 -0
- package/build/networks.js +1 -0
- package/build/package.json +2057 -0
- package/build/packageDetect.d.ts +1 -0
- package/build/packageDetect.js +6 -0
- package/build/packageInfo.d.ts +6 -0
- package/build/packageInfo.js +1 -0
- package/build/pbkdf2/encode.d.ts +7 -0
- package/build/pbkdf2/encode.js +16 -0
- package/build/pbkdf2/index.d.ts +1 -0
- package/build/pbkdf2/index.js +1 -0
- package/build/random/asNumber.d.ts +15 -0
- package/build/random/asNumber.js +20 -0
- package/build/random/asU8a.d.ts +20 -0
- package/build/random/asU8a.js +24 -0
- package/build/random/index.d.ts +5 -0
- package/build/random/index.js +5 -0
- package/build/scrypt/defaults.d.ts +3 -0
- package/build/scrypt/defaults.js +13 -0
- package/build/scrypt/encode.d.ts +8 -0
- package/build/scrypt/encode.js +15 -0
- package/build/scrypt/fromU8a.d.ts +7 -0
- package/build/scrypt/fromU8a.js +24 -0
- package/build/scrypt/index.d.ts +3 -0
- package/build/scrypt/index.js +3 -0
- package/build/scrypt/toU8a.d.ts +2 -0
- package/build/scrypt/toU8a.js +5 -0
- package/build/scrypt/types.d.ts +6 -0
- package/build/scrypt/types.js +1 -0
- package/build/secp256k1/compress.d.ts +1 -0
- package/build/secp256k1/compress.js +14 -0
- package/build/secp256k1/deriveHard.d.ts +1 -0
- package/build/secp256k1/deriveHard.js +10 -0
- package/build/secp256k1/expand.d.ts +1 -0
- package/build/secp256k1/expand.js +17 -0
- package/build/secp256k1/hasher.d.ts +2 -0
- package/build/secp256k1/hasher.js +7 -0
- package/build/secp256k1/index.d.ts +7 -0
- package/build/secp256k1/index.js +7 -0
- package/build/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build/secp256k1/pair/fromSeed.js +31 -0
- package/build/secp256k1/recover.d.ts +6 -0
- package/build/secp256k1/recover.js +26 -0
- package/build/secp256k1/sign.d.ts +7 -0
- package/build/secp256k1/sign.js +20 -0
- package/build/secp256k1/tweakAdd.d.ts +1 -0
- package/build/secp256k1/tweakAdd.js +45 -0
- package/build/secp256k1/types.d.ts +1 -0
- package/build/secp256k1/types.js +1 -0
- package/build/secp256k1/verify.d.ts +6 -0
- package/build/secp256k1/verify.js +20 -0
- package/build/sha/asU8a.d.ts +15 -0
- package/build/sha/asU8a.js +19 -0
- package/build/sha/index.d.ts +4 -0
- package/build/sha/index.js +4 -0
- package/build/signature/index.d.ts +4 -0
- package/build/signature/index.js +4 -0
- package/build/signature/verify.d.ts +2 -0
- package/build/signature/verify.js +78 -0
- package/build/sr25519/agreement.d.ts +5 -0
- package/build/sr25519/agreement.js +17 -0
- package/build/sr25519/derive.d.ts +2 -0
- package/build/sr25519/derive.js +12 -0
- package/build/sr25519/deriveHard.d.ts +1 -0
- package/build/sr25519/deriveHard.js +3 -0
- package/build/sr25519/derivePublic.d.ts +1 -0
- package/build/sr25519/derivePublic.js +12 -0
- package/build/sr25519/deriveSoft.d.ts +1 -0
- package/build/sr25519/deriveSoft.js +3 -0
- package/build/sr25519/index.d.ts +9 -0
- package/build/sr25519/index.js +9 -0
- package/build/sr25519/pair/fromSeed.d.ts +6 -0
- package/build/sr25519/pair/fromSeed.js +18 -0
- package/build/sr25519/pair/fromU8a.d.ts +2 -0
- package/build/sr25519/pair/fromU8a.js +14 -0
- package/build/sr25519/pair/toU8a.d.ts +2 -0
- package/build/sr25519/pair/toU8a.js +4 -0
- package/build/sr25519/sign.d.ts +6 -0
- package/build/sr25519/sign.js +15 -0
- package/build/sr25519/verify.d.ts +5 -0
- package/build/sr25519/verify.js +17 -0
- package/build/sr25519/vrfSign.d.ts +6 -0
- package/build/sr25519/vrfSign.js +15 -0
- package/build/sr25519/vrfVerify.d.ts +5 -0
- package/build/sr25519/vrfVerify.js +18 -0
- package/build/types.d.ts +26 -0
- package/build/types.js +2 -0
- package/build/xxhash/asU8a.d.ts +20 -0
- package/build/xxhash/asU8a.js +35 -0
- package/build/xxhash/index.d.ts +4 -0
- package/build/xxhash/index.js +4 -0
- package/build/xxhash/xxhash64.d.ts +1 -0
- package/build/xxhash/xxhash64.js +100 -0
- package/build-deno/README.md +17 -0
- package/build-deno/address/addressToEvm.ts +10 -0
- package/build-deno/address/check.ts +32 -0
- package/build-deno/address/checksum.ts +23 -0
- package/build-deno/address/decode.ts +38 -0
- package/build-deno/address/defaults.ts +10 -0
- package/build-deno/address/derive.ts +34 -0
- package/build-deno/address/encode.ts +39 -0
- package/build-deno/address/encodeDerived.ts +17 -0
- package/build-deno/address/encodeMulti.ts +16 -0
- package/build-deno/address/eq.ts +22 -0
- package/build-deno/address/evmToAddress.ts +22 -0
- package/build-deno/address/index.ts +18 -0
- package/build-deno/address/is.ts +12 -0
- package/build-deno/address/keyDerived.ts +20 -0
- package/build-deno/address/keyMulti.ts +21 -0
- package/build-deno/address/setSS58Format.ts +18 -0
- package/build-deno/address/sort.ts +15 -0
- package/build-deno/address/sshash.ts +10 -0
- package/build-deno/address/types.ts +2 -0
- package/build-deno/address/util.ts +6 -0
- package/build-deno/address/validate.ts +8 -0
- package/build-deno/base32/bs32.ts +51 -0
- package/build-deno/base32/helpers.ts +90 -0
- package/build-deno/base32/index.ts +6 -0
- package/build-deno/base58/bs58.ts +41 -0
- package/build-deno/base58/index.ts +6 -0
- package/build-deno/base64/bs64.ts +41 -0
- package/build-deno/base64/index.ts +8 -0
- package/build-deno/base64/pad.ts +8 -0
- package/build-deno/base64/trim.ts +12 -0
- package/build-deno/blake2/asU8a.ts +38 -0
- package/build-deno/blake2/index.ts +6 -0
- package/build-deno/bn.ts +13 -0
- package/build-deno/bundle.ts +29 -0
- package/build-deno/bundleInit.ts +8 -0
- package/build-deno/crypto.ts +16 -0
- package/build-deno/ed25519/deriveHard.ts +16 -0
- package/build-deno/ed25519/index.ts +11 -0
- package/build-deno/ed25519/pair/fromRandom.ts +23 -0
- package/build-deno/ed25519/pair/fromSecret.ts +27 -0
- package/build-deno/ed25519/pair/fromSeed.ts +39 -0
- package/build-deno/ed25519/pair/fromString.ts +29 -0
- package/build-deno/ed25519/sign.ts +36 -0
- package/build-deno/ed25519/verify.ts +39 -0
- package/build-deno/ethereum/encode.ts +37 -0
- package/build-deno/ethereum/index.ts +4 -0
- package/build-deno/ethereum/isAddress.ts +14 -0
- package/build-deno/ethereum/isChecksum.ts +25 -0
- package/build-deno/hd/ethereum/index.ts +69 -0
- package/build-deno/hd/index.ts +4 -0
- package/build-deno/hd/ledger/derivePrivate.ts +31 -0
- package/build-deno/hd/ledger/index.ts +40 -0
- package/build-deno/hd/ledger/master.ts +23 -0
- package/build-deno/hd/validatePath.ts +22 -0
- package/build-deno/helpers.ts +35 -0
- package/build-deno/hmac/index.ts +2 -0
- package/build-deno/hmac/shaAsU8a.ts +46 -0
- package/build-deno/index.ts +4 -0
- package/build-deno/json/constants.ts +9 -0
- package/build-deno/json/decrypt.ts +23 -0
- package/build-deno/json/decryptData.ts +43 -0
- package/build-deno/json/encrypt.ts +23 -0
- package/build-deno/json/encryptFormat.ts +18 -0
- package/build-deno/json/index.ts +5 -0
- package/build-deno/json/types.ts +20 -0
- package/build-deno/keccak/asU8a.ts +45 -0
- package/build-deno/keccak/index.ts +6 -0
- package/build-deno/key/DeriveJunction.ts +77 -0
- package/build-deno/key/extractPath.ts +35 -0
- package/build-deno/key/extractSuri.ts +38 -0
- package/build-deno/key/fromPath.ts +26 -0
- package/build-deno/key/hdkdDerive.ts +15 -0
- package/build-deno/key/hdkdEcdsa.ts +6 -0
- package/build-deno/key/hdkdEd25519.ts +5 -0
- package/build-deno/key/hdkdSr25519.ts +12 -0
- package/build-deno/key/index.ts +10 -0
- package/build-deno/mnemonic/bip39.ts +115 -0
- package/build-deno/mnemonic/generate.ts +23 -0
- package/build-deno/mnemonic/index.ts +9 -0
- package/build-deno/mnemonic/toEntropy.ts +11 -0
- package/build-deno/mnemonic/toLegacySeed.ts +37 -0
- package/build-deno/mnemonic/toMiniSecret.ts +21 -0
- package/build-deno/mnemonic/validate.ts +24 -0
- package/build-deno/mnemonic/wordlists/en.ts +3 -0
- package/build-deno/mnemonic/wordlists/es.ts +3 -0
- package/build-deno/mnemonic/wordlists/fr.ts +3 -0
- package/build-deno/mnemonic/wordlists/index.ts +9 -0
- package/build-deno/mnemonic/wordlists/it.ts +3 -0
- package/build-deno/mnemonic/wordlists/jp.ts +3 -0
- package/build-deno/mnemonic/wordlists/ko.ts +3 -0
- package/build-deno/mnemonic/wordlists/zh-s.ts +3 -0
- package/build-deno/mnemonic/wordlists/zh-t.ts +3 -0
- package/build-deno/mod.ts +2 -0
- package/build-deno/nacl/decrypt.ts +20 -0
- package/build-deno/nacl/encrypt.ts +29 -0
- package/build-deno/nacl/index.ts +6 -0
- package/build-deno/nacl/tweetnacl.ts +344 -0
- package/build-deno/networks.ts +2 -0
- package/build-deno/packageDetect.ts +10 -0
- package/build-deno/packageInfo.ts +3 -0
- package/build-deno/pbkdf2/encode.ts +27 -0
- package/build-deno/pbkdf2/index.ts +2 -0
- package/build-deno/random/asNumber.ts +26 -0
- package/build-deno/random/asU8a.ts +28 -0
- package/build-deno/random/index.ts +7 -0
- package/build-deno/scrypt/defaults.ts +17 -0
- package/build-deno/scrypt/encode.ts +28 -0
- package/build-deno/scrypt/fromU8a.ts +42 -0
- package/build-deno/scrypt/index.ts +4 -0
- package/build-deno/scrypt/toU8a.ts +15 -0
- package/build-deno/scrypt/types.ts +7 -0
- package/build-deno/secp256k1/compress.ts +19 -0
- package/build-deno/secp256k1/deriveHard.ts +15 -0
- package/build-deno/secp256k1/expand.ts +28 -0
- package/build-deno/secp256k1/hasher.ts +11 -0
- package/build-deno/secp256k1/index.ts +8 -0
- package/build-deno/secp256k1/pair/fromSeed.ts +40 -0
- package/build-deno/secp256k1/recover.ts +34 -0
- package/build-deno/secp256k1/sign.ts +35 -0
- package/build-deno/secp256k1/tweakAdd.ts +61 -0
- package/build-deno/secp256k1/types.ts +2 -0
- package/build-deno/secp256k1/verify.ts +30 -0
- package/build-deno/sha/asU8a.ts +28 -0
- package/build-deno/sha/index.ts +6 -0
- package/build-deno/signature/index.ts +6 -0
- package/build-deno/signature/verify.ts +112 -0
- package/build-deno/sr25519/agreement.ts +21 -0
- package/build-deno/sr25519/derive.ts +19 -0
- package/build-deno/sr25519/deriveHard.ts +6 -0
- package/build-deno/sr25519/derivePublic.ts +16 -0
- package/build-deno/sr25519/deriveSoft.ts +6 -0
- package/build-deno/sr25519/index.ts +10 -0
- package/build-deno/sr25519/pair/fromSeed.ts +26 -0
- package/build-deno/sr25519/pair/fromU8a.ts +21 -0
- package/build-deno/sr25519/pair/toU8a.ts +8 -0
- package/build-deno/sr25519/sign.ts +20 -0
- package/build-deno/sr25519/verify.ts +21 -0
- package/build-deno/sr25519/vrfSign.ts +22 -0
- package/build-deno/sr25519/vrfVerify.ts +23 -0
- package/build-deno/test/index.ts +4 -0
- package/build-deno/test/performance.ts +15 -0
- package/build-deno/types.ts +31 -0
- package/build-deno/xxhash/asU8a.ts +45 -0
- package/build-deno/xxhash/index.ts +6 -0
- package/build-deno/xxhash/xxhash64.ts +138 -0
- package/build-tsc/address/addressToEvm.d.ts +5 -0
- package/build-tsc/address/check.d.ts +8 -0
- package/build-tsc/address/checksum.d.ts +1 -0
- package/build-tsc/address/decode.d.ts +2 -0
- package/build-tsc/address/defaults.d.ts +6 -0
- package/build-tsc/address/derive.d.ts +8 -0
- package/build-tsc/address/encode.d.ts +2 -0
- package/build-tsc/address/encodeDerived.d.ts +9 -0
- package/build-tsc/address/encodeMulti.d.ts +9 -0
- package/build-tsc/address/eq.d.ts +15 -0
- package/build-tsc/address/evmToAddress.d.ts +7 -0
- package/build-tsc/address/index.d.ts +16 -0
- package/build-tsc/address/is.d.ts +2 -0
- package/build-tsc/address/keyDerived.d.ts +2 -0
- package/build-tsc/address/keyMulti.d.ts +2 -0
- package/build-tsc/address/setSS58Format.d.ts +6 -0
- package/build-tsc/address/sort.d.ts +2 -0
- package/build-tsc/address/sshash.d.ts +1 -0
- package/build-tsc/address/types.d.ts +1 -0
- package/build-tsc/address/util.d.ts +1 -0
- package/build-tsc/address/validate.d.ts +2 -0
- package/build-tsc/base32/bs32.d.ts +26 -0
- package/build-tsc/base32/helpers.d.ts +25 -0
- package/build-tsc/base32/index.d.ts +4 -0
- package/build-tsc/base58/bs58.d.ts +26 -0
- package/build-tsc/base58/index.d.ts +4 -0
- package/build-tsc/base64/bs64.d.ts +26 -0
- package/build-tsc/base64/index.d.ts +6 -0
- package/build-tsc/base64/pad.d.ts +5 -0
- package/build-tsc/base64/trim.d.ts +5 -0
- package/build-tsc/blake2/asU8a.d.ts +20 -0
- package/build-tsc/blake2/index.d.ts +4 -0
- package/build-tsc/bn.d.ts +30 -0
- package/build-tsc/bundle.d.ts +26 -0
- package/build-tsc/bundleInit.d.ts +1 -0
- package/build-tsc/crypto.d.ts +3 -0
- package/build-tsc/ed25519/deriveHard.d.ts +1 -0
- package/build-tsc/ed25519/index.d.ts +10 -0
- package/build-tsc/ed25519/pair/fromRandom.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromSecret.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromSeed.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromString.d.ts +16 -0
- package/build-tsc/ed25519/sign.d.ts +16 -0
- package/build-tsc/ed25519/verify.d.ts +15 -0
- package/build-tsc/ethereum/encode.d.ts +2 -0
- package/build-tsc/ethereum/index.d.ts +3 -0
- package/build-tsc/ethereum/isAddress.d.ts +1 -0
- package/build-tsc/ethereum/isChecksum.d.ts +1 -0
- package/build-tsc/hd/ethereum/index.d.ts +2 -0
- package/build-tsc/hd/index.d.ts +3 -0
- package/build-tsc/hd/ledger/derivePrivate.d.ts +1 -0
- package/build-tsc/hd/ledger/index.d.ts +2 -0
- package/build-tsc/hd/ledger/master.d.ts +1 -0
- package/build-tsc/hd/validatePath.d.ts +2 -0
- package/build-tsc/helpers.d.ts +12 -0
- package/build-tsc/hmac/index.d.ts +1 -0
- package/build-tsc/hmac/shaAsU8a.d.ts +15 -0
- package/build-tsc/index.d.ts +2 -0
- package/build-tsc/json/constants.d.ts +6 -0
- package/build-tsc/json/decrypt.d.ts +2 -0
- package/build-tsc/json/decryptData.d.ts +2 -0
- package/build-tsc/json/encrypt.d.ts +2 -0
- package/build-tsc/json/encryptFormat.d.ts +2 -0
- package/build-tsc/json/index.d.ts +4 -0
- package/build-tsc/json/types.d.ts +16 -0
- package/build-tsc/keccak/asU8a.d.ts +30 -0
- package/build-tsc/keccak/index.d.ts +4 -0
- package/build-tsc/key/DeriveJunction.d.ts +12 -0
- package/build-tsc/key/extractPath.d.ts +9 -0
- package/build-tsc/key/extractSuri.d.ts +11 -0
- package/build-tsc/key/fromPath.d.ts +3 -0
- package/build-tsc/key/hdkdDerive.d.ts +3 -0
- package/build-tsc/key/hdkdEcdsa.d.ts +1 -0
- package/build-tsc/key/hdkdEd25519.d.ts +1 -0
- package/build-tsc/key/hdkdSr25519.d.ts +3 -0
- package/build-tsc/key/index.d.ts +9 -0
- package/build-tsc/mnemonic/bip39.d.ts +5 -0
- package/build-tsc/mnemonic/generate.d.ts +13 -0
- package/build-tsc/mnemonic/index.d.ts +8 -0
- package/build-tsc/mnemonic/toEntropy.d.ts +1 -0
- package/build-tsc/mnemonic/toLegacySeed.d.ts +18 -0
- package/build-tsc/mnemonic/toMiniSecret.d.ts +1 -0
- package/build-tsc/mnemonic/validate.d.ts +14 -0
- package/build-tsc/mnemonic/wordlists/en.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/es.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/fr.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/index.d.ts +8 -0
- package/build-tsc/mnemonic/wordlists/it.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/jp.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/ko.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build-tsc/nacl/decrypt.d.ts +15 -0
- package/build-tsc/nacl/encrypt.d.ts +20 -0
- package/build-tsc/nacl/index.d.ts +5 -0
- package/build-tsc/nacl/tweetnacl.d.ts +2 -0
- package/build-tsc/networks.d.ts +1 -0
- package/build-tsc/packageDetect.d.ts +1 -0
- package/build-tsc/packageInfo.d.ts +6 -0
- package/build-tsc/pbkdf2/encode.d.ts +7 -0
- package/build-tsc/pbkdf2/index.d.ts +1 -0
- package/build-tsc/random/asNumber.d.ts +15 -0
- package/build-tsc/random/asU8a.d.ts +20 -0
- package/build-tsc/random/index.d.ts +5 -0
- package/build-tsc/scrypt/defaults.d.ts +3 -0
- package/build-tsc/scrypt/encode.d.ts +8 -0
- package/build-tsc/scrypt/fromU8a.d.ts +7 -0
- package/build-tsc/scrypt/index.d.ts +3 -0
- package/build-tsc/scrypt/toU8a.d.ts +2 -0
- package/build-tsc/scrypt/types.d.ts +6 -0
- package/build-tsc/secp256k1/compress.d.ts +1 -0
- package/build-tsc/secp256k1/deriveHard.d.ts +1 -0
- package/build-tsc/secp256k1/expand.d.ts +1 -0
- package/build-tsc/secp256k1/hasher.d.ts +2 -0
- package/build-tsc/secp256k1/index.d.ts +7 -0
- package/build-tsc/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build-tsc/secp256k1/recover.d.ts +6 -0
- package/build-tsc/secp256k1/sign.d.ts +7 -0
- package/build-tsc/secp256k1/tweakAdd.d.ts +1 -0
- package/build-tsc/secp256k1/types.d.ts +1 -0
- package/build-tsc/secp256k1/verify.d.ts +6 -0
- package/build-tsc/sha/asU8a.d.ts +15 -0
- package/build-tsc/sha/index.d.ts +4 -0
- package/build-tsc/signature/index.d.ts +4 -0
- package/build-tsc/signature/verify.d.ts +2 -0
- package/build-tsc/sr25519/agreement.d.ts +5 -0
- package/build-tsc/sr25519/derive.d.ts +2 -0
- package/build-tsc/sr25519/deriveHard.d.ts +1 -0
- package/build-tsc/sr25519/derivePublic.d.ts +1 -0
- package/build-tsc/sr25519/deriveSoft.d.ts +1 -0
- package/build-tsc/sr25519/index.d.ts +9 -0
- package/build-tsc/sr25519/pair/fromSeed.d.ts +6 -0
- package/build-tsc/sr25519/pair/fromU8a.d.ts +2 -0
- package/build-tsc/sr25519/pair/toU8a.d.ts +2 -0
- package/build-tsc/sr25519/sign.d.ts +6 -0
- package/build-tsc/sr25519/verify.d.ts +5 -0
- package/build-tsc/sr25519/vrfSign.d.ts +6 -0
- package/build-tsc/sr25519/vrfVerify.d.ts +5 -0
- package/build-tsc/types.d.ts +26 -0
- package/build-tsc/xxhash/asU8a.d.ts +20 -0
- package/build-tsc/xxhash/index.d.ts +4 -0
- package/build-tsc/xxhash/xxhash64.d.ts +1 -0
- package/build-tsc-cjs/address/addressToEvm.js +11 -0
- package/build-tsc-cjs/address/check.js +29 -0
- package/build-tsc-cjs/address/checksum.js +19 -0
- package/build-tsc-cjs/address/decode.js +32 -0
- package/build-tsc-cjs/address/defaults.js +11 -0
- package/build-tsc-cjs/address/derive.js +27 -0
- package/build-tsc-cjs/address/encode.js +26 -0
- package/build-tsc-cjs/address/encodeDerived.js +15 -0
- package/build-tsc-cjs/address/encodeMulti.js +14 -0
- package/build-tsc-cjs/address/eq.js +22 -0
- package/build-tsc-cjs/address/evmToAddress.js +17 -0
- package/build-tsc-cjs/address/index.js +35 -0
- package/build-tsc-cjs/address/is.js +12 -0
- package/build-tsc-cjs/address/keyDerived.js +11 -0
- package/build-tsc-cjs/address/keyMulti.js +11 -0
- package/build-tsc-cjs/address/setSS58Format.js +14 -0
- package/build-tsc-cjs/address/sort.js +10 -0
- package/build-tsc-cjs/address/sshash.js +9 -0
- package/build-tsc-cjs/address/types.js +2 -0
- package/build-tsc-cjs/address/util.js +7 -0
- package/build-tsc-cjs/address/validate.js +7 -0
- package/build-tsc-cjs/base32/bs32.js +43 -0
- package/build-tsc-cjs/base32/helpers.js +67 -0
- package/build-tsc-cjs/base32/index.js +11 -0
- package/build-tsc-cjs/base58/bs58.js +37 -0
- package/build-tsc-cjs/base58/index.js +11 -0
- package/build-tsc-cjs/base64/bs64.js +37 -0
- package/build-tsc-cjs/base64/index.js +15 -0
- package/build-tsc-cjs/base64/pad.js +10 -0
- package/build-tsc-cjs/base64/trim.js +13 -0
- package/build-tsc-cjs/blake2/asU8a.js +36 -0
- package/build-tsc-cjs/blake2/index.js +9 -0
- package/build-tsc-cjs/bn.js +11 -0
- package/build-tsc-cjs/bundle.js +31 -0
- package/build-tsc-cjs/bundleInit.js +7 -0
- package/build-tsc-cjs/crypto.js +16 -0
- package/build-tsc-cjs/ed25519/deriveHard.js +12 -0
- package/build-tsc-cjs/ed25519/index.js +20 -0
- package/build-tsc-cjs/ed25519/pair/fromRandom.js +22 -0
- package/build-tsc-cjs/ed25519/pair/fromSecret.js +26 -0
- package/build-tsc-cjs/ed25519/pair/fromSeed.js +34 -0
- package/build-tsc-cjs/ed25519/pair/fromString.js +23 -0
- package/build-tsc-cjs/ed25519/sign.js +33 -0
- package/build-tsc-cjs/ed25519/verify.js +39 -0
- package/build-tsc-cjs/ethereum/encode.js +28 -0
- package/build-tsc-cjs/ethereum/index.js +9 -0
- package/build-tsc-cjs/ethereum/isAddress.js +14 -0
- package/build-tsc-cjs/ethereum/isChecksum.js +20 -0
- package/build-tsc-cjs/hd/ethereum/index.js +47 -0
- package/build-tsc-cjs/hd/index.js +9 -0
- package/build-tsc-cjs/hd/ledger/derivePrivate.js +15 -0
- package/build-tsc-cjs/hd/ledger/index.js +33 -0
- package/build-tsc-cjs/hd/ledger/master.js +19 -0
- package/build-tsc-cjs/hd/validatePath.js +20 -0
- package/build-tsc-cjs/helpers.js +24 -0
- package/build-tsc-cjs/hmac/index.js +7 -0
- package/build-tsc-cjs/hmac/shaAsU8a.js +40 -0
- package/build-tsc-cjs/index.js +5 -0
- package/build-tsc-cjs/json/constants.js +8 -0
- package/build-tsc-cjs/json/decrypt.js +16 -0
- package/build-tsc-cjs/json/decryptData.js +32 -0
- package/build-tsc-cjs/json/encrypt.js +18 -0
- package/build-tsc-cjs/json/encryptFormat.js +17 -0
- package/build-tsc-cjs/json/index.js +11 -0
- package/build-tsc-cjs/json/types.js +2 -0
- package/build-tsc-cjs/keccak/asU8a.js +36 -0
- package/build-tsc-cjs/keccak/index.js +11 -0
- package/build-tsc-cjs/key/DeriveJunction.js +62 -0
- package/build-tsc-cjs/key/extractPath.js +26 -0
- package/build-tsc-cjs/key/extractSuri.js +25 -0
- package/build-tsc-cjs/key/fromPath.js +21 -0
- package/build-tsc-cjs/key/hdkdDerive.js +11 -0
- package/build-tsc-cjs/key/hdkdEcdsa.js +7 -0
- package/build-tsc-cjs/key/hdkdEd25519.js +6 -0
- package/build-tsc-cjs/key/hdkdSr25519.js +10 -0
- package/build-tsc-cjs/key/index.js +18 -0
- package/build-tsc-cjs/mnemonic/bip39.js +90 -0
- package/build-tsc-cjs/mnemonic/generate.js +23 -0
- package/build-tsc-cjs/mnemonic/index.js +16 -0
- package/build-tsc-cjs/mnemonic/toEntropy.js +11 -0
- package/build-tsc-cjs/mnemonic/toLegacySeed.js +37 -0
- package/build-tsc-cjs/mnemonic/toMiniSecret.js +20 -0
- package/build-tsc-cjs/mnemonic/validate.js +24 -0
- package/build-tsc-cjs/mnemonic/wordlists/en.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/es.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/fr.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/index.js +20 -0
- package/build-tsc-cjs/mnemonic/wordlists/it.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/jp.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/ko.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/zh-s.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/zh-t.js +3 -0
- package/build-tsc-cjs/nacl/decrypt.js +21 -0
- package/build-tsc-cjs/nacl/encrypt.js +25 -0
- package/build-tsc-cjs/nacl/index.js +10 -0
- package/build-tsc-cjs/nacl/tweetnacl.js +238 -0
- package/build-tsc-cjs/networks.js +7 -0
- package/build-tsc-cjs/packageDetect.js +8 -0
- package/build-tsc-cjs/packageInfo.js +4 -0
- package/build-tsc-cjs/pbkdf2/encode.js +19 -0
- package/build-tsc-cjs/pbkdf2/index.js +5 -0
- package/build-tsc-cjs/random/asNumber.js +23 -0
- package/build-tsc-cjs/random/asU8a.js +28 -0
- package/build-tsc-cjs/random/index.js +11 -0
- package/build-tsc-cjs/scrypt/defaults.js +16 -0
- package/build-tsc-cjs/scrypt/encode.js +18 -0
- package/build-tsc-cjs/scrypt/fromU8a.js +27 -0
- package/build-tsc-cjs/scrypt/index.js +9 -0
- package/build-tsc-cjs/scrypt/toU8a.js +8 -0
- package/build-tsc-cjs/scrypt/types.js +2 -0
- package/build-tsc-cjs/secp256k1/compress.js +17 -0
- package/build-tsc-cjs/secp256k1/deriveHard.js +13 -0
- package/build-tsc-cjs/secp256k1/expand.js +20 -0
- package/build-tsc-cjs/secp256k1/hasher.js +10 -0
- package/build-tsc-cjs/secp256k1/index.js +17 -0
- package/build-tsc-cjs/secp256k1/pair/fromSeed.js +34 -0
- package/build-tsc-cjs/secp256k1/recover.js +29 -0
- package/build-tsc-cjs/secp256k1/sign.js +23 -0
- package/build-tsc-cjs/secp256k1/tweakAdd.js +48 -0
- package/build-tsc-cjs/secp256k1/types.js +2 -0
- package/build-tsc-cjs/secp256k1/verify.js +23 -0
- package/build-tsc-cjs/sha/asU8a.js +22 -0
- package/build-tsc-cjs/sha/index.js +10 -0
- package/build-tsc-cjs/signature/index.js +8 -0
- package/build-tsc-cjs/signature/verify.js +81 -0
- package/build-tsc-cjs/sr25519/agreement.js +20 -0
- package/build-tsc-cjs/sr25519/derive.js +16 -0
- package/build-tsc-cjs/sr25519/deriveHard.js +7 -0
- package/build-tsc-cjs/sr25519/derivePublic.js +16 -0
- package/build-tsc-cjs/sr25519/deriveSoft.js +7 -0
- package/build-tsc-cjs/sr25519/index.js +21 -0
- package/build-tsc-cjs/sr25519/pair/fromSeed.js +22 -0
- package/build-tsc-cjs/sr25519/pair/fromU8a.js +17 -0
- package/build-tsc-cjs/sr25519/pair/toU8a.js +7 -0
- package/build-tsc-cjs/sr25519/sign.js +19 -0
- package/build-tsc-cjs/sr25519/verify.js +21 -0
- package/build-tsc-cjs/sr25519/vrfSign.js +19 -0
- package/build-tsc-cjs/sr25519/vrfVerify.js +22 -0
- package/build-tsc-cjs/types.js +5 -0
- package/build-tsc-cjs/xxhash/asU8a.js +39 -0
- package/build-tsc-cjs/xxhash/index.js +9 -0
- package/build-tsc-cjs/xxhash/xxhash64.js +103 -0
- package/build-tsc-esm/address/addressToEvm.js +8 -0
- package/build-tsc-esm/address/check.js +26 -0
- package/build-tsc-esm/address/checksum.js +16 -0
- package/build-tsc-esm/address/decode.js +29 -0
- package/build-tsc-esm/address/defaults.js +8 -0
- package/build-tsc-esm/address/derive.js +24 -0
- package/build-tsc-esm/address/encode.js +23 -0
- package/build-tsc-esm/address/encodeDerived.js +12 -0
- package/build-tsc-esm/address/encodeMulti.js +11 -0
- package/build-tsc-esm/address/eq.js +19 -0
- package/build-tsc-esm/address/evmToAddress.js +14 -0
- package/build-tsc-esm/address/index.js +16 -0
- package/build-tsc-esm/address/is.js +9 -0
- package/build-tsc-esm/address/keyDerived.js +8 -0
- package/build-tsc-esm/address/keyMulti.js +8 -0
- package/build-tsc-esm/address/setSS58Format.js +11 -0
- package/build-tsc-esm/address/sort.js +7 -0
- package/build-tsc-esm/address/sshash.js +6 -0
- package/build-tsc-esm/address/types.js +1 -0
- package/build-tsc-esm/address/util.js +4 -0
- package/build-tsc-esm/address/validate.js +4 -0
- package/build-tsc-esm/base32/bs32.js +40 -0
- package/build-tsc-esm/base32/helpers.js +61 -0
- package/build-tsc-esm/base32/index.js +4 -0
- package/build-tsc-esm/base58/bs58.js +34 -0
- package/build-tsc-esm/base58/index.js +4 -0
- package/build-tsc-esm/base64/bs64.js +34 -0
- package/build-tsc-esm/base64/index.js +6 -0
- package/build-tsc-esm/base64/pad.js +7 -0
- package/build-tsc-esm/base64/trim.js +10 -0
- package/build-tsc-esm/blake2/asU8a.js +32 -0
- package/build-tsc-esm/blake2/index.js +4 -0
- package/build-tsc-esm/bn.js +8 -0
- package/build-tsc-esm/bundle.js +26 -0
- package/build-tsc-esm/bundleInit.js +5 -0
- package/build-tsc-esm/crypto.js +12 -0
- package/build-tsc-esm/ed25519/deriveHard.js +9 -0
- package/build-tsc-esm/ed25519/index.js +10 -0
- package/build-tsc-esm/ed25519/pair/fromRandom.js +19 -0
- package/build-tsc-esm/ed25519/pair/fromSecret.js +23 -0
- package/build-tsc-esm/ed25519/pair/fromSeed.js +31 -0
- package/build-tsc-esm/ed25519/pair/fromString.js +20 -0
- package/build-tsc-esm/ed25519/sign.js +30 -0
- package/build-tsc-esm/ed25519/verify.js +36 -0
- package/build-tsc-esm/ethereum/encode.js +25 -0
- package/build-tsc-esm/ethereum/index.js +3 -0
- package/build-tsc-esm/ethereum/isAddress.js +11 -0
- package/build-tsc-esm/ethereum/isChecksum.js +17 -0
- package/build-tsc-esm/hd/ethereum/index.js +44 -0
- package/build-tsc-esm/hd/index.js +3 -0
- package/build-tsc-esm/hd/ledger/derivePrivate.js +12 -0
- package/build-tsc-esm/hd/ledger/index.js +30 -0
- package/build-tsc-esm/hd/ledger/master.js +16 -0
- package/build-tsc-esm/hd/validatePath.js +16 -0
- package/build-tsc-esm/helpers.js +19 -0
- package/build-tsc-esm/hmac/index.js +1 -0
- package/build-tsc-esm/hmac/shaAsU8a.js +36 -0
- package/build-tsc-esm/index.js +2 -0
- package/build-tsc-esm/json/constants.js +5 -0
- package/build-tsc-esm/json/decrypt.js +13 -0
- package/build-tsc-esm/json/decryptData.js +29 -0
- package/build-tsc-esm/json/encrypt.js +15 -0
- package/build-tsc-esm/json/encryptFormat.js +14 -0
- package/build-tsc-esm/json/index.js +4 -0
- package/build-tsc-esm/json/types.js +1 -0
- package/build-tsc-esm/keccak/asU8a.js +33 -0
- package/build-tsc-esm/keccak/index.js +4 -0
- package/build-tsc-esm/key/DeriveJunction.js +58 -0
- package/build-tsc-esm/key/extractPath.js +23 -0
- package/build-tsc-esm/key/extractSuri.js +22 -0
- package/build-tsc-esm/key/fromPath.js +18 -0
- package/build-tsc-esm/key/hdkdDerive.js +8 -0
- package/build-tsc-esm/key/hdkdEcdsa.js +4 -0
- package/build-tsc-esm/key/hdkdEd25519.js +3 -0
- package/build-tsc-esm/key/hdkdSr25519.js +7 -0
- package/build-tsc-esm/key/index.js +9 -0
- package/build-tsc-esm/mnemonic/bip39.js +82 -0
- package/build-tsc-esm/mnemonic/generate.js +20 -0
- package/build-tsc-esm/mnemonic/index.js +8 -0
- package/build-tsc-esm/mnemonic/toEntropy.js +8 -0
- package/build-tsc-esm/mnemonic/toLegacySeed.js +34 -0
- package/build-tsc-esm/mnemonic/toMiniSecret.js +17 -0
- package/build-tsc-esm/mnemonic/validate.js +21 -0
- package/build-tsc-esm/mnemonic/wordlists/en.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/es.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/fr.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/index.js +8 -0
- package/build-tsc-esm/mnemonic/wordlists/it.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/jp.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/ko.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/zh-s.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/zh-t.js +1 -0
- package/build-tsc-esm/nacl/decrypt.js +18 -0
- package/build-tsc-esm/nacl/encrypt.js +22 -0
- package/build-tsc-esm/nacl/index.js +5 -0
- package/build-tsc-esm/nacl/tweetnacl.js +234 -0
- package/build-tsc-esm/networks.js +1 -0
- package/build-tsc-esm/packageDetect.js +6 -0
- package/build-tsc-esm/packageInfo.js +1 -0
- package/build-tsc-esm/pbkdf2/encode.js +16 -0
- package/build-tsc-esm/pbkdf2/index.js +1 -0
- package/build-tsc-esm/random/asNumber.js +20 -0
- package/build-tsc-esm/random/asU8a.js +24 -0
- package/build-tsc-esm/random/index.js +5 -0
- package/build-tsc-esm/scrypt/defaults.js +13 -0
- package/build-tsc-esm/scrypt/encode.js +15 -0
- package/build-tsc-esm/scrypt/fromU8a.js +24 -0
- package/build-tsc-esm/scrypt/index.js +3 -0
- package/build-tsc-esm/scrypt/toU8a.js +5 -0
- package/build-tsc-esm/scrypt/types.js +1 -0
- package/build-tsc-esm/secp256k1/compress.js +14 -0
- package/build-tsc-esm/secp256k1/deriveHard.js +10 -0
- package/build-tsc-esm/secp256k1/expand.js +17 -0
- package/build-tsc-esm/secp256k1/hasher.js +7 -0
- package/build-tsc-esm/secp256k1/index.js +7 -0
- package/build-tsc-esm/secp256k1/pair/fromSeed.js +31 -0
- package/build-tsc-esm/secp256k1/recover.js +26 -0
- package/build-tsc-esm/secp256k1/sign.js +20 -0
- package/build-tsc-esm/secp256k1/tweakAdd.js +45 -0
- package/build-tsc-esm/secp256k1/types.js +1 -0
- package/build-tsc-esm/secp256k1/verify.js +20 -0
- package/build-tsc-esm/sha/asU8a.js +19 -0
- package/build-tsc-esm/sha/index.js +4 -0
- package/build-tsc-esm/signature/index.js +4 -0
- package/build-tsc-esm/signature/verify.js +78 -0
- package/build-tsc-esm/sr25519/agreement.js +17 -0
- package/build-tsc-esm/sr25519/derive.js +12 -0
- package/build-tsc-esm/sr25519/deriveHard.js +3 -0
- package/build-tsc-esm/sr25519/derivePublic.js +12 -0
- package/build-tsc-esm/sr25519/deriveSoft.js +3 -0
- package/build-tsc-esm/sr25519/index.js +9 -0
- package/build-tsc-esm/sr25519/pair/fromSeed.js +18 -0
- package/build-tsc-esm/sr25519/pair/fromU8a.js +14 -0
- package/build-tsc-esm/sr25519/pair/toU8a.js +4 -0
- package/build-tsc-esm/sr25519/sign.js +15 -0
- package/build-tsc-esm/sr25519/verify.js +17 -0
- package/build-tsc-esm/sr25519/vrfSign.js +15 -0
- package/build-tsc-esm/sr25519/vrfVerify.js +18 -0
- package/build-tsc-esm/types.js +2 -0
- package/build-tsc-esm/xxhash/asU8a.js +35 -0
- package/build-tsc-esm/xxhash/index.js +4 -0
- package/build-tsc-esm/xxhash/xxhash64.js +100 -0
- package/bundle-pezkuwi-util-crypto.js +8246 -8797
- package/cjs/blake2/asU8a.d.ts +1 -1
- package/cjs/keccak/asU8a.d.ts +1 -1
- package/cjs/packageInfo.js +1 -1
- package/cjs/scrypt/encode.d.ts +1 -1
- package/cjs/sr25519/agreement.js +2 -2
- package/cjs/xxhash/asU8a.d.ts +1 -1
- package/keccak/asU8a.d.ts +1 -1
- package/package.json +14 -14
- package/packageInfo.js +1 -1
- package/scrypt/encode.d.ts +1 -1
- package/src/address/addressToEvm.spec.ts +16 -0
- package/src/address/addressToEvm.ts +12 -0
- package/src/address/check.spec.ts +44 -0
- package/src/address/check.ts +34 -0
- package/src/address/checksum.spec.ts +45 -0
- package/src/address/checksum.ts +25 -0
- package/src/address/decode.spec.ts +138 -0
- package/src/address/decode.ts +41 -0
- package/src/address/defaults.ts +12 -0
- package/src/address/derive.spec.ts +26 -0
- package/src/address/derive.ts +36 -0
- package/src/address/encode.spec.ts +177 -0
- package/src/address/encode.ts +43 -0
- package/src/address/encodeDerived.spec.ts +14 -0
- package/src/address/encodeDerived.ts +19 -0
- package/src/address/encodeMulti.spec.ts +18 -0
- package/src/address/encodeMulti.ts +18 -0
- package/src/address/eq.spec.ts +45 -0
- package/src/address/eq.ts +24 -0
- package/src/address/evmToAddress.spec.ts +20 -0
- package/src/address/evmToAddress.ts +24 -0
- package/src/address/index.ts +21 -0
- package/src/address/is.spec.ts +113 -0
- package/src/address/is.ts +14 -0
- package/src/address/keyDerived.spec.ts +24 -0
- package/src/address/keyDerived.ts +22 -0
- package/src/address/keyMulti.spec.ts +20 -0
- package/src/address/keyMulti.ts +23 -0
- package/src/address/setSS58Format.spec.ts +21 -0
- package/src/address/setSS58Format.ts +20 -0
- package/src/address/sort.spec.ts +22 -0
- package/src/address/sort.ts +17 -0
- package/src/address/sshash.ts +12 -0
- package/src/address/types.ts +6 -0
- package/src/address/util.ts +8 -0
- package/src/address/validate.spec.ts +113 -0
- package/src/address/validate.ts +10 -0
- package/src/base32/bs32.ts +53 -0
- package/src/base32/decode.spec.ts +34 -0
- package/src/base32/encode.spec.ts +30 -0
- package/src/base32/helpers.ts +93 -0
- package/src/base32/index.ts +8 -0
- package/src/base32/is.spec.ts +32 -0
- package/src/base32/validate.spec.ts +44 -0
- package/src/base58/bs58.ts +43 -0
- package/src/base58/decode.spec.ts +31 -0
- package/src/base58/encode.spec.ts +26 -0
- package/src/base58/index.ts +8 -0
- package/src/base58/validate.spec.ts +20 -0
- package/src/base64/bs64.ts +43 -0
- package/src/base64/decode.spec.ts +42 -0
- package/src/base64/encode.spec.ts +14 -0
- package/src/base64/index.ts +10 -0
- package/src/base64/pad.spec.ts +14 -0
- package/src/base64/pad.ts +10 -0
- package/src/base64/trim.spec.ts +14 -0
- package/src/base64/trim.ts +14 -0
- package/src/base64/validate.spec.ts +32 -0
- package/src/blake2/asHex.spec.ts +57 -0
- package/src/blake2/asU8a.spec.ts +74 -0
- package/src/blake2/asU8a.ts +40 -0
- package/src/blake2/index.ts +8 -0
- package/src/bn.ts +15 -0
- package/src/bundle.ts +33 -0
- package/src/bundleInit.ts +11 -0
- package/src/crypto.spec.ts +18 -0
- package/src/crypto.ts +18 -0
- package/src/ed25519/deriveHard.ts +18 -0
- package/src/ed25519/index.ts +13 -0
- package/src/ed25519/pair/fromRandom.spec.ts +28 -0
- package/src/ed25519/pair/fromRandom.ts +25 -0
- package/src/ed25519/pair/fromSecret.spec.ts +33 -0
- package/src/ed25519/pair/fromSecret.ts +29 -0
- package/src/ed25519/pair/fromSeed.spec.ts +42 -0
- package/src/ed25519/pair/fromSeed.ts +41 -0
- package/src/ed25519/pair/fromString.spec.ts +17 -0
- package/src/ed25519/pair/fromString.ts +31 -0
- package/src/ed25519/sign.spec.ts +40 -0
- package/src/ed25519/sign.ts +38 -0
- package/src/ed25519/verify.spec.ts +84 -0
- package/src/ed25519/verify.ts +41 -0
- package/src/ethereum/encode.spec.ts +59 -0
- package/src/ethereum/encode.ts +39 -0
- package/src/ethereum/index.ts +6 -0
- package/src/ethereum/isAddress.spec.ts +34 -0
- package/src/ethereum/isAddress.ts +16 -0
- package/src/ethereum/isChecksum.ts +27 -0
- package/src/ethereum/isCheksum.spec.ts +30 -0
- package/src/hd/ethereum/index.spec.ts +54 -0
- package/src/hd/ethereum/index.ts +69 -0
- package/src/hd/index.ts +6 -0
- package/src/hd/ledger/derivePrivate.ts +34 -0
- package/src/hd/ledger/index.spec.ts +64 -0
- package/src/hd/ledger/index.ts +42 -0
- package/src/hd/ledger/master.spec.ts +19 -0
- package/src/hd/ledger/master.ts +26 -0
- package/src/hd/validatePath.spec.ts +30 -0
- package/src/hd/validatePath.ts +24 -0
- package/src/helpers.ts +38 -0
- package/src/hmac/index.ts +4 -0
- package/src/hmac/shaAsU8a.spec.ts +45 -0
- package/src/hmac/shaAsU8a.ts +48 -0
- package/src/index.ts +6 -0
- package/src/json/constants.ts +11 -0
- package/src/json/decrypt.ts +25 -0
- package/src/json/decryptData.ts +45 -0
- package/src/json/encrypt.ts +25 -0
- package/src/json/encryptFormat.ts +20 -0
- package/src/json/index.ts +7 -0
- package/src/json/types.ts +22 -0
- package/src/keccak/asHex.spec.ts +30 -0
- package/src/keccak/asU8a.spec.ts +56 -0
- package/src/keccak/asU8a.ts +45 -0
- package/src/keccak/index.ts +8 -0
- package/src/key/DeriveJunction.ts +79 -0
- package/src/key/extractPath.spec.ts +51 -0
- package/src/key/extractPath.ts +37 -0
- package/src/key/extractSuri.spec.ts +147 -0
- package/src/key/extractSuri.ts +40 -0
- package/src/key/fromPath.ts +28 -0
- package/src/key/hdkdDerive.ts +17 -0
- package/src/key/hdkdEcdsa.ts +8 -0
- package/src/key/hdkdEd25519.ts +7 -0
- package/src/key/hdkdSr25519.ts +14 -0
- package/src/key/index.ts +12 -0
- package/src/mnemonic/bip39.spec.ts +80 -0
- package/src/mnemonic/bip39.ts +127 -0
- package/src/mnemonic/generate.spec.ts +58 -0
- package/src/mnemonic/generate.ts +25 -0
- package/src/mnemonic/index.ts +11 -0
- package/src/mnemonic/toEntropy.spec.ts +36 -0
- package/src/mnemonic/toEntropy.ts +13 -0
- package/src/mnemonic/toLegacySeed.spec.ts +52 -0
- package/src/mnemonic/toLegacySeed.ts +39 -0
- package/src/mnemonic/toMiniSecret.spec.ts +67 -0
- package/src/mnemonic/toMiniSecret.ts +23 -0
- package/src/mnemonic/toMiniSecretCmp.spec.ts +64 -0
- package/src/mnemonic/validate.spec.ts +39 -0
- package/src/mnemonic/validate.ts +26 -0
- package/src/mnemonic/wordlists/en.ts +7 -0
- package/src/mnemonic/wordlists/es.ts +7 -0
- package/src/mnemonic/wordlists/fr.ts +7 -0
- package/src/mnemonic/wordlists/index.ts +11 -0
- package/src/mnemonic/wordlists/it.ts +7 -0
- package/src/mnemonic/wordlists/jp.ts +7 -0
- package/src/mnemonic/wordlists/ko.ts +7 -0
- package/src/mnemonic/wordlists/zh-s.ts +7 -0
- package/src/mnemonic/wordlists/zh-t.ts +7 -0
- package/src/mod.ts +4 -0
- package/src/nacl/decrypt.spec.ts +26 -0
- package/src/nacl/decrypt.ts +22 -0
- package/src/nacl/encrypt.spec.ts +20 -0
- package/src/nacl/encrypt.ts +31 -0
- package/src/nacl/index.ts +8 -0
- package/src/nacl/tweetnacl-secretbox-data.spec.ts +4629 -0
- package/src/nacl/tweetnacl-secretbox.spec.ts +161 -0
- package/src/nacl/tweetnacl.ts +1159 -0
- package/src/networks.ts +5 -0
- package/src/packageDetect.ts +14 -0
- package/src/packageInfo.ts +6 -0
- package/src/pbkdf2/encode.spec.ts +54 -0
- package/src/pbkdf2/encode.ts +29 -0
- package/src/pbkdf2/index.ts +4 -0
- package/src/random/asHex.spec.ts +38 -0
- package/src/random/asNumber.spec.ts +16 -0
- package/src/random/asNumber.ts +28 -0
- package/src/random/asU8a.spec.ts +36 -0
- package/src/random/asU8a.ts +30 -0
- package/src/random/index.ts +9 -0
- package/src/scrypt/defaults.ts +19 -0
- package/src/scrypt/encode.spec.ts +43 -0
- package/src/scrypt/encode.ts +30 -0
- package/src/scrypt/fromU8a.ts +44 -0
- package/src/scrypt/index.ts +6 -0
- package/src/scrypt/toU8a.ts +17 -0
- package/src/scrypt/types.ts +9 -0
- package/src/secp256k1/compress.spec.ts +47 -0
- package/src/secp256k1/compress.ts +21 -0
- package/src/secp256k1/deriveHard.ts +17 -0
- package/src/secp256k1/expand.spec.ts +47 -0
- package/src/secp256k1/expand.ts +30 -0
- package/src/secp256k1/hasher.spec.ts +24 -0
- package/src/secp256k1/hasher.ts +13 -0
- package/src/secp256k1/index.ts +10 -0
- package/src/secp256k1/pair/fromSeed.spec.ts +75 -0
- package/src/secp256k1/pair/fromSeed.ts +42 -0
- package/src/secp256k1/recover.spec.ts +35 -0
- package/src/secp256k1/recover.ts +36 -0
- package/src/secp256k1/sign.spec.ts +39 -0
- package/src/secp256k1/sign.ts +37 -0
- package/src/secp256k1/signVerify.spec.ts +94 -0
- package/src/secp256k1/tweakAdd.spec.ts +35 -0
- package/src/secp256k1/tweakAdd.ts +65 -0
- package/src/secp256k1/types.ts +4 -0
- package/src/secp256k1/verify.spec.ts +81 -0
- package/src/secp256k1/verify.ts +32 -0
- package/src/sha/asU8a.ts +30 -0
- package/src/sha/asU8a256.spec.ts +55 -0
- package/src/sha/asU8a512.spec.ts +33 -0
- package/src/sha/index.ts +8 -0
- package/src/signature/index.ts +8 -0
- package/src/signature/verify.spec.ts +230 -0
- package/src/signature/verify.ts +114 -0
- package/src/sr25519/agreement.spec.ts +31 -0
- package/src/sr25519/agreement.ts +23 -0
- package/src/sr25519/derive.ts +21 -0
- package/src/sr25519/deriveHard.ts +9 -0
- package/src/sr25519/derivePublic.ts +18 -0
- package/src/sr25519/deriveSoft.ts +9 -0
- package/src/sr25519/index.ts +12 -0
- package/src/sr25519/pair/fromSeed.spec.ts +35 -0
- package/src/sr25519/pair/fromSeed.ts +28 -0
- package/src/sr25519/pair/fromU8a.ts +23 -0
- package/src/sr25519/pair/testing.spec.ts +161 -0
- package/src/sr25519/pair/toU8a.ts +10 -0
- package/src/sr25519/sign.spec.ts +28 -0
- package/src/sr25519/sign.ts +22 -0
- package/src/sr25519/verify.spec.ts +42 -0
- package/src/sr25519/verify.ts +23 -0
- package/src/sr25519/vrfSign.ts +24 -0
- package/src/sr25519/vrfSignVerify.spec.ts +73 -0
- package/src/sr25519/vrfVerify.ts +25 -0
- package/src/test/index.ts +8 -0
- package/src/test/performance.ts +17 -0
- package/src/types.ts +33 -0
- package/src/xxhash/asHex.spec.ts +36 -0
- package/src/xxhash/asU8a.spec.ts +48 -0
- package/src/xxhash/asU8a.ts +45 -0
- package/src/xxhash/index.ts +8 -0
- package/src/xxhash/xxhash64.ts +155 -0
- package/tsconfig.build.json +18 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.spec.json +20 -0
- package/tsconfig.spec.tsbuildinfo +1 -0
- 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('|');
|