@pezkuwi/util-crypto 14.0.2 → 14.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +4 -4
- package/address/addressToEvm.d.ts +5 -0
- package/address/addressToEvm.js +8 -0
- package/address/check.d.ts +8 -0
- package/address/check.js +26 -0
- package/address/checksum.d.ts +1 -0
- package/address/checksum.js +16 -0
- package/address/decode.d.ts +2 -0
- package/address/decode.js +29 -0
- package/address/defaults.d.ts +6 -0
- package/address/defaults.js +8 -0
- package/address/derive.d.ts +8 -0
- package/address/derive.js +24 -0
- package/address/encode.d.ts +2 -0
- package/address/encode.js +23 -0
- package/address/encodeDerived.d.ts +9 -0
- package/address/encodeDerived.js +12 -0
- package/address/encodeMulti.d.ts +9 -0
- package/address/encodeMulti.js +11 -0
- package/address/eq.d.ts +15 -0
- package/{src/address/eq.ts → address/eq.js} +2 -7
- package/address/evmToAddress.d.ts +7 -0
- package/address/evmToAddress.js +14 -0
- package/{src/address/index.ts → address/index.d.ts} +0 -5
- package/address/index.js +16 -0
- package/address/is.d.ts +2 -0
- package/address/is.js +9 -0
- package/address/keyDerived.d.ts +2 -0
- package/address/keyDerived.js +8 -0
- package/address/keyMulti.d.ts +2 -0
- package/address/keyMulti.js +8 -0
- package/address/setSS58Format.d.ts +6 -0
- package/address/setSS58Format.js +11 -0
- package/address/sort.d.ts +2 -0
- package/address/sort.js +7 -0
- package/address/sshash.d.ts +1 -0
- package/address/sshash.js +6 -0
- package/address/types.d.ts +1 -0
- package/address/types.js +1 -0
- package/address/util.d.ts +1 -0
- package/address/util.js +4 -0
- package/address/validate.d.ts +2 -0
- package/address/validate.js +4 -0
- package/base32/bs32.d.ts +26 -0
- package/{src/base32/bs32.ts → base32/bs32.js} +8 -21
- package/base32/helpers.d.ts +25 -0
- package/base32/helpers.js +61 -0
- package/{src/base32/index.ts → base32/index.d.ts} +0 -4
- package/base32/index.js +4 -0
- package/base58/bs58.d.ts +26 -0
- package/{src/base58/bs58.ts → base58/bs58.js} +4 -13
- package/{src/base58/index.ts → base58/index.d.ts} +0 -4
- package/base58/index.js +4 -0
- package/base64/bs64.d.ts +26 -0
- package/{src/base64/bs64.ts → base64/bs64.js} +4 -13
- package/{src/base64/index.ts → base64/index.d.ts} +0 -4
- package/base64/index.js +6 -0
- package/base64/pad.d.ts +5 -0
- package/base64/pad.js +7 -0
- package/base64/trim.d.ts +5 -0
- package/base64/trim.js +10 -0
- package/blake2/asU8a.d.ts +20 -0
- package/{src/blake2/asU8a.ts → blake2/asU8a.js} +8 -16
- package/{src/blake2/index.ts → blake2/index.d.ts} +0 -4
- package/blake2/index.js +4 -0
- package/bn.d.ts +30 -0
- package/{src/bn.ts → bn.js} +0 -7
- package/bridge.d.ts +82 -0
- package/bridge.js +168 -0
- package/bundle-polkadot-util-crypto.js +11813 -0
- package/{src/bundle.ts → bundle.d.ts} +0 -7
- package/bundle.js +26 -0
- package/bundleInit.d.ts +1 -0
- package/bundleInit.js +5 -0
- package/cjs/address/addressToEvm.d.ts +5 -0
- package/cjs/address/addressToEvm.js +11 -0
- package/cjs/address/check.d.ts +8 -0
- package/cjs/address/check.js +29 -0
- package/cjs/address/checksum.d.ts +1 -0
- package/cjs/address/checksum.js +19 -0
- package/cjs/address/decode.d.ts +2 -0
- package/cjs/address/decode.js +32 -0
- package/cjs/address/defaults.d.ts +6 -0
- package/cjs/address/defaults.js +11 -0
- package/cjs/address/derive.d.ts +8 -0
- package/cjs/address/derive.js +27 -0
- package/cjs/address/encode.d.ts +2 -0
- package/cjs/address/encode.js +26 -0
- package/cjs/address/encodeDerived.d.ts +9 -0
- package/cjs/address/encodeDerived.js +15 -0
- package/cjs/address/encodeMulti.d.ts +9 -0
- package/cjs/address/encodeMulti.js +14 -0
- package/cjs/address/eq.d.ts +15 -0
- package/cjs/address/eq.js +22 -0
- package/cjs/address/evmToAddress.d.ts +7 -0
- package/cjs/address/evmToAddress.js +17 -0
- package/cjs/address/index.d.ts +16 -0
- package/cjs/address/index.js +35 -0
- package/cjs/address/is.d.ts +2 -0
- package/cjs/address/is.js +12 -0
- package/cjs/address/keyDerived.d.ts +2 -0
- package/cjs/address/keyDerived.js +11 -0
- package/cjs/address/keyMulti.d.ts +2 -0
- package/cjs/address/keyMulti.js +11 -0
- package/cjs/address/setSS58Format.d.ts +6 -0
- package/cjs/address/setSS58Format.js +14 -0
- package/cjs/address/sort.d.ts +2 -0
- package/cjs/address/sort.js +10 -0
- package/cjs/address/sshash.d.ts +1 -0
- package/cjs/address/sshash.js +9 -0
- package/cjs/address/types.d.ts +1 -0
- package/cjs/address/types.js +2 -0
- package/cjs/address/util.d.ts +1 -0
- package/cjs/address/util.js +7 -0
- package/cjs/address/validate.d.ts +2 -0
- package/cjs/address/validate.js +7 -0
- package/cjs/base32/bs32.d.ts +26 -0
- package/cjs/base32/bs32.js +43 -0
- package/cjs/base32/helpers.d.ts +25 -0
- package/cjs/base32/helpers.js +67 -0
- package/cjs/base32/index.d.ts +4 -0
- package/cjs/base32/index.js +11 -0
- package/cjs/base58/bs58.d.ts +26 -0
- package/cjs/base58/bs58.js +37 -0
- package/cjs/base58/index.d.ts +4 -0
- package/cjs/base58/index.js +11 -0
- package/cjs/base64/bs64.d.ts +26 -0
- package/cjs/base64/bs64.js +37 -0
- package/cjs/base64/index.d.ts +6 -0
- package/cjs/base64/index.js +15 -0
- package/cjs/base64/pad.d.ts +5 -0
- package/cjs/base64/pad.js +10 -0
- package/cjs/base64/trim.d.ts +5 -0
- package/cjs/base64/trim.js +13 -0
- package/cjs/blake2/asU8a.d.ts +20 -0
- package/cjs/blake2/asU8a.js +36 -0
- package/cjs/blake2/index.d.ts +4 -0
- package/cjs/blake2/index.js +9 -0
- package/cjs/bn.d.ts +30 -0
- package/cjs/bn.js +11 -0
- package/cjs/bridge.d.ts +82 -0
- package/cjs/bridge.js +172 -0
- package/cjs/bundle.d.ts +26 -0
- package/cjs/bundle.js +31 -0
- package/cjs/bundleInit.d.ts +1 -0
- package/cjs/bundleInit.js +7 -0
- package/cjs/crypto.d.ts +3 -0
- package/cjs/crypto.js +16 -0
- package/cjs/ed25519/deriveHard.d.ts +1 -0
- package/cjs/ed25519/deriveHard.js +12 -0
- package/{src/ed25519/index.ts → cjs/ed25519/index.d.ts} +0 -3
- package/cjs/ed25519/index.js +20 -0
- package/cjs/ed25519/pair/fromRandom.d.ts +16 -0
- package/cjs/ed25519/pair/fromRandom.js +22 -0
- package/cjs/ed25519/pair/fromSecret.d.ts +16 -0
- package/{src/ed25519/pair/fromSecret.ts → cjs/ed25519/pair/fromSecret.js} +11 -14
- package/cjs/ed25519/pair/fromSeed.d.ts +16 -0
- package/cjs/ed25519/pair/fromSeed.js +34 -0
- package/cjs/ed25519/pair/fromString.d.ts +16 -0
- package/cjs/ed25519/pair/fromString.js +23 -0
- package/cjs/ed25519/sign.d.ts +16 -0
- package/cjs/ed25519/sign.js +33 -0
- package/cjs/ed25519/verify.d.ts +15 -0
- package/cjs/ed25519/verify.js +39 -0
- package/cjs/ethereum/encode.d.ts +2 -0
- package/cjs/ethereum/encode.js +28 -0
- package/{src/ethereum/index.ts → cjs/ethereum/index.d.ts} +0 -3
- package/cjs/ethereum/index.js +9 -0
- package/cjs/ethereum/isAddress.d.ts +1 -0
- package/cjs/ethereum/isAddress.js +14 -0
- package/cjs/ethereum/isChecksum.d.ts +1 -0
- package/cjs/ethereum/isChecksum.js +20 -0
- package/cjs/hd/ethereum/index.d.ts +2 -0
- package/cjs/hd/ethereum/index.js +47 -0
- package/{src/hd/index.ts → cjs/hd/index.d.ts} +0 -3
- package/cjs/hd/index.js +9 -0
- package/cjs/hd/ledger/derivePrivate.d.ts +1 -0
- package/cjs/hd/ledger/derivePrivate.js +15 -0
- package/cjs/hd/ledger/index.d.ts +2 -0
- package/cjs/hd/ledger/index.js +33 -0
- package/cjs/hd/ledger/master.d.ts +1 -0
- package/cjs/hd/ledger/master.js +19 -0
- package/cjs/hd/validatePath.d.ts +2 -0
- package/cjs/hd/validatePath.js +20 -0
- package/cjs/helpers.d.ts +12 -0
- package/cjs/helpers.js +24 -0
- package/cjs/hmac/index.d.ts +1 -0
- package/cjs/hmac/index.js +7 -0
- package/cjs/hmac/shaAsU8a.d.ts +15 -0
- package/cjs/hmac/shaAsU8a.js +40 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +5 -0
- package/cjs/init.d.ts +10 -0
- package/cjs/init.js +43 -0
- package/cjs/json/constants.d.ts +6 -0
- package/cjs/json/constants.js +8 -0
- package/cjs/json/decrypt.d.ts +2 -0
- package/cjs/json/decrypt.js +16 -0
- package/cjs/json/decryptData.d.ts +2 -0
- package/cjs/json/decryptData.js +32 -0
- package/cjs/json/encrypt.d.ts +2 -0
- package/cjs/json/encrypt.js +18 -0
- package/cjs/json/encryptFormat.d.ts +2 -0
- package/cjs/json/encryptFormat.js +17 -0
- package/{src/json/index.ts → cjs/json/index.d.ts} +0 -3
- package/cjs/json/index.js +11 -0
- package/cjs/json/types.d.ts +16 -0
- package/cjs/json/types.js +2 -0
- package/cjs/keccak/asU8a.d.ts +30 -0
- package/cjs/keccak/asU8a.js +36 -0
- package/{src/keccak/index.ts → cjs/keccak/index.d.ts} +0 -4
- package/cjs/keccak/index.js +11 -0
- package/cjs/key/DeriveJunction.d.ts +12 -0
- package/cjs/key/DeriveJunction.js +62 -0
- package/cjs/key/extractPath.d.ts +9 -0
- package/cjs/key/extractPath.js +26 -0
- package/cjs/key/extractSuri.d.ts +11 -0
- package/cjs/key/extractSuri.js +25 -0
- package/cjs/key/fromPath.d.ts +3 -0
- package/cjs/key/fromPath.js +21 -0
- package/cjs/key/hdkdDerive.d.ts +3 -0
- package/cjs/key/hdkdDerive.js +11 -0
- package/cjs/key/hdkdEcdsa.d.ts +1 -0
- package/cjs/key/hdkdEcdsa.js +7 -0
- package/cjs/key/hdkdEd25519.d.ts +1 -0
- package/cjs/key/hdkdEd25519.js +6 -0
- package/cjs/key/hdkdSr25519.d.ts +3 -0
- package/cjs/key/hdkdSr25519.js +10 -0
- package/{src/key/index.ts → cjs/key/index.d.ts} +0 -3
- package/cjs/key/index.js +18 -0
- package/cjs/mnemonic/bip39.d.ts +5 -0
- package/cjs/mnemonic/bip39.js +90 -0
- package/cjs/mnemonic/generate.d.ts +13 -0
- package/cjs/mnemonic/generate.js +23 -0
- package/{src/mnemonic/index.ts → cjs/mnemonic/index.d.ts} +0 -3
- package/cjs/mnemonic/index.js +16 -0
- package/cjs/mnemonic/toEntropy.d.ts +1 -0
- package/cjs/mnemonic/toEntropy.js +11 -0
- package/cjs/mnemonic/toLegacySeed.d.ts +18 -0
- package/cjs/mnemonic/toLegacySeed.js +37 -0
- package/cjs/mnemonic/toMiniSecret.d.ts +1 -0
- package/cjs/mnemonic/toMiniSecret.js +20 -0
- package/cjs/mnemonic/validate.d.ts +14 -0
- package/cjs/mnemonic/validate.js +24 -0
- package/cjs/mnemonic/wordlists/en.d.ts +2 -0
- package/cjs/mnemonic/wordlists/en.js +3 -0
- package/cjs/mnemonic/wordlists/es.d.ts +2 -0
- package/cjs/mnemonic/wordlists/es.js +3 -0
- package/cjs/mnemonic/wordlists/fr.d.ts +2 -0
- package/cjs/mnemonic/wordlists/fr.js +3 -0
- package/{src/mnemonic/wordlists/index.ts → cjs/mnemonic/wordlists/index.d.ts} +0 -3
- package/cjs/mnemonic/wordlists/index.js +20 -0
- package/cjs/mnemonic/wordlists/it.d.ts +2 -0
- package/cjs/mnemonic/wordlists/it.js +3 -0
- package/cjs/mnemonic/wordlists/jp.d.ts +2 -0
- package/cjs/mnemonic/wordlists/jp.js +3 -0
- package/cjs/mnemonic/wordlists/ko.d.ts +2 -0
- package/cjs/mnemonic/wordlists/ko.js +3 -0
- package/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/cjs/mnemonic/wordlists/zh-s.js +3 -0
- package/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/cjs/mnemonic/wordlists/zh-t.js +3 -0
- package/cjs/nacl/decrypt.d.ts +15 -0
- package/cjs/nacl/decrypt.js +21 -0
- package/cjs/nacl/encrypt.d.ts +20 -0
- package/cjs/nacl/encrypt.js +25 -0
- package/{src/nacl/index.ts → cjs/nacl/index.d.ts} +0 -3
- package/cjs/nacl/index.js +10 -0
- package/cjs/nacl/tweetnacl.d.ts +2 -0
- package/cjs/nacl/tweetnacl.js +238 -0
- package/cjs/networks.d.ts +1 -0
- package/cjs/networks.js +7 -0
- package/cjs/package.json +3 -0
- package/cjs/packageDetect.d.ts +1 -0
- package/cjs/packageDetect.js +8 -0
- package/cjs/packageInfo.d.ts +6 -0
- package/cjs/packageInfo.js +4 -0
- package/cjs/pbkdf2/encode.d.ts +7 -0
- package/cjs/pbkdf2/encode.js +19 -0
- package/cjs/pbkdf2/index.d.ts +1 -0
- package/cjs/pbkdf2/index.js +5 -0
- package/cjs/random/asNumber.d.ts +15 -0
- package/cjs/random/asNumber.js +23 -0
- package/cjs/random/asU8a.d.ts +20 -0
- package/cjs/random/asU8a.js +28 -0
- package/{src/random/index.ts → cjs/random/index.d.ts} +0 -4
- package/cjs/random/index.js +11 -0
- package/cjs/scrypt/defaults.d.ts +3 -0
- package/cjs/scrypt/defaults.js +16 -0
- package/cjs/scrypt/encode.d.ts +8 -0
- package/cjs/scrypt/encode.js +18 -0
- package/cjs/scrypt/fromU8a.d.ts +7 -0
- package/cjs/scrypt/fromU8a.js +27 -0
- package/{src/scrypt/index.ts → cjs/scrypt/index.d.ts} +0 -3
- package/cjs/scrypt/index.js +9 -0
- package/cjs/scrypt/toU8a.d.ts +2 -0
- package/cjs/scrypt/toU8a.js +8 -0
- package/cjs/scrypt/types.d.ts +6 -0
- package/cjs/scrypt/types.js +2 -0
- package/cjs/secp256k1/compress.d.ts +1 -0
- package/cjs/secp256k1/compress.js +17 -0
- package/cjs/secp256k1/deriveHard.d.ts +1 -0
- package/cjs/secp256k1/deriveHard.js +13 -0
- package/cjs/secp256k1/expand.d.ts +1 -0
- package/cjs/secp256k1/expand.js +20 -0
- package/cjs/secp256k1/hasher.d.ts +2 -0
- package/cjs/secp256k1/hasher.js +10 -0
- package/{src/secp256k1/index.ts → cjs/secp256k1/index.d.ts} +0 -3
- package/cjs/secp256k1/index.js +17 -0
- package/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
- package/cjs/secp256k1/pair/fromSeed.js +34 -0
- package/cjs/secp256k1/recover.d.ts +6 -0
- package/cjs/secp256k1/recover.js +29 -0
- package/cjs/secp256k1/sign.d.ts +7 -0
- package/cjs/secp256k1/sign.js +23 -0
- package/cjs/secp256k1/tweakAdd.d.ts +1 -0
- package/cjs/secp256k1/tweakAdd.js +48 -0
- package/cjs/secp256k1/types.d.ts +1 -0
- package/cjs/secp256k1/types.js +2 -0
- package/cjs/secp256k1/verify.d.ts +6 -0
- package/cjs/secp256k1/verify.js +23 -0
- package/cjs/sha/asU8a.d.ts +15 -0
- package/cjs/sha/asU8a.js +22 -0
- package/{src/sha/index.ts → cjs/sha/index.d.ts} +0 -4
- package/cjs/sha/index.js +10 -0
- package/cjs/signature/index.d.ts +4 -0
- package/cjs/signature/index.js +8 -0
- package/cjs/signature/verify.d.ts +2 -0
- package/cjs/signature/verify.js +81 -0
- package/cjs/sr25519/agreement.d.ts +5 -0
- package/cjs/sr25519/agreement.js +20 -0
- package/cjs/sr25519/derive.d.ts +2 -0
- package/cjs/sr25519/derive.js +16 -0
- package/cjs/sr25519/deriveHard.d.ts +1 -0
- package/cjs/sr25519/deriveHard.js +7 -0
- package/cjs/sr25519/derivePublic.d.ts +1 -0
- package/cjs/sr25519/derivePublic.js +16 -0
- package/cjs/sr25519/deriveSoft.d.ts +1 -0
- package/cjs/sr25519/deriveSoft.js +7 -0
- package/{src/sr25519/index.ts → cjs/sr25519/index.d.ts} +0 -3
- package/cjs/sr25519/index.js +21 -0
- package/cjs/sr25519/pair/fromSeed.d.ts +6 -0
- package/cjs/sr25519/pair/fromSeed.js +22 -0
- package/cjs/sr25519/pair/fromU8a.d.ts +2 -0
- package/cjs/sr25519/pair/fromU8a.js +17 -0
- package/cjs/sr25519/pair/toU8a.d.ts +2 -0
- package/cjs/sr25519/pair/toU8a.js +7 -0
- package/cjs/sr25519/sign.d.ts +6 -0
- package/cjs/sr25519/sign.js +19 -0
- package/cjs/sr25519/verify.d.ts +5 -0
- package/cjs/sr25519/verify.js +21 -0
- package/cjs/sr25519/vrfSign.d.ts +6 -0
- package/cjs/sr25519/vrfSign.js +19 -0
- package/cjs/sr25519/vrfVerify.d.ts +5 -0
- package/cjs/sr25519/vrfVerify.js +22 -0
- package/cjs/types.d.ts +26 -0
- package/cjs/types.js +5 -0
- package/cjs/wbg.d.ts +36 -0
- package/cjs/wbg.js +65 -0
- package/cjs/xxhash/asU8a.d.ts +20 -0
- package/cjs/xxhash/asU8a.js +39 -0
- package/{src/xxhash/index.ts → cjs/xxhash/index.d.ts} +0 -4
- package/cjs/xxhash/index.js +9 -0
- package/cjs/xxhash/xxhash64.d.ts +1 -0
- package/cjs/xxhash/xxhash64.js +103 -0
- package/crypto.d.ts +3 -0
- package/crypto.js +12 -0
- package/ed25519/deriveHard.d.ts +1 -0
- package/ed25519/deriveHard.js +9 -0
- package/ed25519/index.d.ts +10 -0
- package/ed25519/index.js +10 -0
- package/ed25519/pair/fromRandom.d.ts +16 -0
- package/{src/ed25519/pair/fromRandom.ts → ed25519/pair/fromRandom.js} +2 -8
- package/ed25519/pair/fromSecret.d.ts +16 -0
- package/ed25519/pair/fromSecret.js +23 -0
- package/ed25519/pair/fromSeed.d.ts +16 -0
- package/{src/ed25519/pair/fromSeed.ts → ed25519/pair/fromSeed.js} +11 -21
- package/ed25519/pair/fromString.d.ts +16 -0
- package/{src/ed25519/pair/fromString.ts → ed25519/pair/fromString.js} +2 -13
- package/ed25519/sign.d.ts +16 -0
- package/ed25519/sign.js +30 -0
- package/ed25519/verify.d.ts +15 -0
- package/ed25519/verify.js +36 -0
- package/ethereum/encode.d.ts +2 -0
- package/ethereum/encode.js +25 -0
- package/ethereum/index.d.ts +3 -0
- package/ethereum/index.js +3 -0
- package/ethereum/isAddress.d.ts +1 -0
- package/ethereum/isAddress.js +11 -0
- package/ethereum/isChecksum.d.ts +1 -0
- package/ethereum/isChecksum.js +17 -0
- package/hd/ethereum/index.d.ts +2 -0
- package/hd/ethereum/index.js +44 -0
- package/hd/index.d.ts +3 -0
- package/hd/index.js +3 -0
- package/hd/ledger/derivePrivate.d.ts +1 -0
- package/hd/ledger/derivePrivate.js +12 -0
- package/hd/ledger/index.d.ts +2 -0
- package/hd/ledger/index.js +30 -0
- package/hd/ledger/master.d.ts +1 -0
- package/hd/ledger/master.js +16 -0
- package/hd/validatePath.d.ts +2 -0
- package/hd/validatePath.js +16 -0
- package/helpers.d.ts +12 -0
- package/helpers.js +19 -0
- package/hmac/index.d.ts +1 -0
- package/hmac/index.js +1 -0
- package/hmac/shaAsU8a.d.ts +15 -0
- package/{src/hmac/shaAsU8a.ts → hmac/shaAsU8a.js} +11 -23
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/init.d.ts +10 -0
- package/init.js +40 -0
- package/json/constants.d.ts +6 -0
- package/json/constants.js +5 -0
- package/json/decrypt.d.ts +2 -0
- package/json/decrypt.js +13 -0
- package/json/decryptData.d.ts +2 -0
- package/json/decryptData.js +29 -0
- package/json/encrypt.d.ts +2 -0
- package/json/encrypt.js +15 -0
- package/json/encryptFormat.d.ts +2 -0
- package/json/encryptFormat.js +14 -0
- package/json/index.d.ts +4 -0
- package/json/index.js +4 -0
- package/json/types.d.ts +16 -0
- package/json/types.js +1 -0
- package/keccak/asU8a.d.ts +30 -0
- package/{src/keccak/asU8a.ts → keccak/asU8a.js} +1 -13
- package/keccak/index.d.ts +4 -0
- package/keccak/index.js +4 -0
- package/key/DeriveJunction.d.ts +12 -0
- package/key/DeriveJunction.js +58 -0
- package/key/extractPath.d.ts +9 -0
- package/key/extractPath.js +23 -0
- package/key/extractSuri.d.ts +11 -0
- package/key/extractSuri.js +22 -0
- package/key/fromPath.d.ts +3 -0
- package/key/fromPath.js +18 -0
- package/key/hdkdDerive.d.ts +3 -0
- package/key/hdkdDerive.js +8 -0
- package/key/hdkdEcdsa.d.ts +1 -0
- package/{src/key/hdkdEcdsa.ts → key/hdkdEcdsa.js} +0 -4
- package/key/hdkdEd25519.d.ts +1 -0
- package/{src/key/hdkdEd25519.ts → key/hdkdEd25519.js} +0 -4
- package/key/hdkdSr25519.d.ts +3 -0
- package/key/hdkdSr25519.js +7 -0
- package/key/index.d.ts +9 -0
- package/key/index.js +9 -0
- package/mnemonic/bip39.d.ts +5 -0
- package/mnemonic/bip39.js +82 -0
- package/mnemonic/generate.d.ts +13 -0
- package/{src/mnemonic/generate.ts → mnemonic/generate.js} +4 -9
- package/mnemonic/index.d.ts +8 -0
- package/mnemonic/index.js +8 -0
- package/mnemonic/toEntropy.d.ts +1 -0
- package/mnemonic/toEntropy.js +8 -0
- package/mnemonic/toLegacySeed.d.ts +18 -0
- package/{src/mnemonic/toLegacySeed.ts → mnemonic/toLegacySeed.js} +12 -17
- package/mnemonic/toMiniSecret.d.ts +1 -0
- package/mnemonic/toMiniSecret.js +17 -0
- package/mnemonic/validate.d.ts +14 -0
- package/{src/mnemonic/validate.ts → mnemonic/validate.js} +4 -9
- package/mnemonic/wordlists/en.d.ts +2 -0
- package/{src/mnemonic/wordlists/en.ts → mnemonic/wordlists/en.js} +0 -6
- package/mnemonic/wordlists/es.d.ts +2 -0
- package/{src/mnemonic/wordlists/es.ts → mnemonic/wordlists/es.js} +0 -6
- package/mnemonic/wordlists/fr.d.ts +2 -0
- package/{src/mnemonic/wordlists/fr.ts → mnemonic/wordlists/fr.js} +0 -6
- package/mnemonic/wordlists/index.d.ts +8 -0
- package/mnemonic/wordlists/index.js +8 -0
- package/mnemonic/wordlists/it.d.ts +2 -0
- package/{src/mnemonic/wordlists/it.ts → mnemonic/wordlists/it.js} +0 -6
- package/mnemonic/wordlists/jp.d.ts +2 -0
- package/{src/mnemonic/wordlists/jp.ts → mnemonic/wordlists/jp.js} +0 -6
- package/mnemonic/wordlists/ko.d.ts +2 -0
- package/{src/mnemonic/wordlists/ko.ts → mnemonic/wordlists/ko.js} +0 -6
- package/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/{src/mnemonic/wordlists/zh-s.ts → mnemonic/wordlists/zh-s.js} +0 -6
- package/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/{src/mnemonic/wordlists/zh-t.ts → mnemonic/wordlists/zh-t.js} +0 -6
- package/nacl/decrypt.d.ts +15 -0
- package/{src/nacl/decrypt.ts → nacl/decrypt.js} +2 -6
- package/nacl/encrypt.d.ts +20 -0
- package/{src/nacl/encrypt.ts → nacl/encrypt.js} +5 -14
- package/nacl/index.d.ts +5 -0
- package/nacl/index.js +5 -0
- package/nacl/tweetnacl.d.ts +2 -0
- package/nacl/tweetnacl.js +234 -0
- package/networks.d.ts +1 -0
- package/networks.js +1 -0
- package/package.json +2022 -10
- package/packageDetect.d.ts +1 -0
- package/{src/packageDetect.ts → packageDetect.js} +0 -8
- package/packageInfo.d.ts +6 -0
- package/packageInfo.js +1 -0
- package/pbkdf2/encode.d.ts +7 -0
- package/pbkdf2/encode.js +16 -0
- package/pbkdf2/index.d.ts +1 -0
- package/pbkdf2/index.js +1 -0
- package/random/asNumber.d.ts +15 -0
- package/{src/random/asNumber.ts → random/asNumber.js} +2 -10
- package/random/asU8a.d.ts +20 -0
- package/{src/random/asU8a.ts → random/asU8a.js} +2 -8
- package/random/index.d.ts +5 -0
- package/random/index.js +5 -0
- package/scrypt/defaults.d.ts +3 -0
- package/scrypt/defaults.js +13 -0
- package/scrypt/encode.d.ts +8 -0
- package/scrypt/encode.js +15 -0
- package/scrypt/fromU8a.d.ts +7 -0
- package/scrypt/fromU8a.js +24 -0
- package/scrypt/index.d.ts +3 -0
- package/scrypt/index.js +3 -0
- package/scrypt/toU8a.d.ts +2 -0
- package/scrypt/toU8a.js +5 -0
- package/scrypt/types.d.ts +6 -0
- package/scrypt/types.js +1 -0
- package/secp256k1/compress.d.ts +1 -0
- package/secp256k1/compress.js +14 -0
- package/secp256k1/deriveHard.d.ts +1 -0
- package/secp256k1/deriveHard.js +10 -0
- package/secp256k1/expand.d.ts +1 -0
- package/secp256k1/expand.js +17 -0
- package/secp256k1/hasher.d.ts +2 -0
- package/secp256k1/hasher.js +7 -0
- package/secp256k1/index.d.ts +7 -0
- package/secp256k1/index.js +7 -0
- package/secp256k1/pair/fromSeed.d.ts +6 -0
- package/secp256k1/pair/fromSeed.js +31 -0
- package/secp256k1/recover.d.ts +6 -0
- package/secp256k1/recover.js +26 -0
- package/secp256k1/sign.d.ts +7 -0
- package/secp256k1/sign.js +20 -0
- package/secp256k1/tweakAdd.d.ts +1 -0
- package/secp256k1/tweakAdd.js +45 -0
- package/secp256k1/types.d.ts +1 -0
- package/secp256k1/types.js +1 -0
- package/secp256k1/verify.d.ts +6 -0
- package/secp256k1/verify.js +20 -0
- package/sha/asU8a.d.ts +15 -0
- package/{src/sha/asU8a.ts → sha/asU8a.js} +1 -12
- package/sha/index.d.ts +4 -0
- package/sha/index.js +4 -0
- package/signature/index.d.ts +4 -0
- package/signature/index.js +4 -0
- package/signature/verify.d.ts +2 -0
- package/signature/verify.js +78 -0
- package/sr25519/agreement.d.ts +5 -0
- package/sr25519/agreement.js +17 -0
- package/sr25519/derive.d.ts +2 -0
- package/sr25519/derive.js +12 -0
- package/sr25519/deriveHard.d.ts +1 -0
- package/{src/sr25519/deriveHard.ts → sr25519/deriveHard.js} +0 -6
- package/sr25519/derivePublic.d.ts +1 -0
- package/sr25519/derivePublic.js +12 -0
- package/sr25519/deriveSoft.d.ts +1 -0
- package/{src/sr25519/deriveSoft.ts → sr25519/deriveSoft.js} +0 -6
- package/sr25519/index.d.ts +9 -0
- package/sr25519/index.js +9 -0
- package/sr25519/pair/fromSeed.d.ts +6 -0
- package/sr25519/pair/fromSeed.js +18 -0
- package/sr25519/pair/fromU8a.d.ts +2 -0
- package/sr25519/pair/fromU8a.js +14 -0
- package/sr25519/pair/toU8a.d.ts +2 -0
- package/sr25519/pair/toU8a.js +4 -0
- package/sr25519/sign.d.ts +6 -0
- package/sr25519/sign.js +15 -0
- package/sr25519/verify.d.ts +5 -0
- package/sr25519/verify.js +17 -0
- package/sr25519/vrfSign.d.ts +6 -0
- package/sr25519/vrfSign.js +15 -0
- package/sr25519/vrfVerify.d.ts +5 -0
- package/sr25519/vrfVerify.js +18 -0
- package/types.d.ts +26 -0
- package/types.js +2 -0
- package/wbg.d.ts +36 -0
- package/wbg.js +61 -0
- package/xxhash/asU8a.d.ts +20 -0
- package/{src/xxhash/asU8a.ts → xxhash/asU8a.js} +11 -21
- package/xxhash/index.d.ts +4 -0
- package/xxhash/index.js +4 -0
- package/xxhash/xxhash64.d.ts +1 -0
- package/xxhash/xxhash64.js +100 -0
- package/src/address/addressToEvm.spec.ts +0 -16
- package/src/address/addressToEvm.ts +0 -12
- package/src/address/check.spec.ts +0 -44
- package/src/address/check.ts +0 -34
- package/src/address/checksum.spec.ts +0 -45
- package/src/address/checksum.ts +0 -25
- package/src/address/decode.spec.ts +0 -138
- package/src/address/decode.ts +0 -41
- package/src/address/defaults.ts +0 -12
- package/src/address/derive.spec.ts +0 -26
- package/src/address/derive.ts +0 -36
- package/src/address/encode.spec.ts +0 -177
- package/src/address/encode.ts +0 -43
- package/src/address/encodeDerived.spec.ts +0 -14
- package/src/address/encodeDerived.ts +0 -19
- package/src/address/encodeMulti.spec.ts +0 -18
- package/src/address/encodeMulti.ts +0 -18
- package/src/address/eq.spec.ts +0 -45
- package/src/address/evmToAddress.spec.ts +0 -20
- package/src/address/evmToAddress.ts +0 -24
- package/src/address/is.spec.ts +0 -113
- package/src/address/is.ts +0 -14
- package/src/address/keyDerived.spec.ts +0 -24
- package/src/address/keyDerived.ts +0 -22
- package/src/address/keyMulti.spec.ts +0 -20
- package/src/address/keyMulti.ts +0 -23
- package/src/address/setSS58Format.spec.ts +0 -21
- package/src/address/setSS58Format.ts +0 -20
- package/src/address/sort.spec.ts +0 -22
- package/src/address/sort.ts +0 -17
- package/src/address/sshash.ts +0 -12
- package/src/address/types.ts +0 -6
- package/src/address/util.ts +0 -8
- package/src/address/validate.spec.ts +0 -113
- package/src/address/validate.ts +0 -10
- package/src/base32/decode.spec.ts +0 -34
- package/src/base32/encode.spec.ts +0 -30
- package/src/base32/helpers.ts +0 -93
- package/src/base32/is.spec.ts +0 -32
- package/src/base32/validate.spec.ts +0 -44
- package/src/base58/decode.spec.ts +0 -31
- package/src/base58/encode.spec.ts +0 -26
- package/src/base58/validate.spec.ts +0 -20
- package/src/base64/decode.spec.ts +0 -42
- package/src/base64/encode.spec.ts +0 -14
- package/src/base64/pad.spec.ts +0 -14
- package/src/base64/pad.ts +0 -10
- package/src/base64/trim.spec.ts +0 -14
- package/src/base64/trim.ts +0 -14
- package/src/base64/validate.spec.ts +0 -32
- package/src/blake2/asHex.spec.ts +0 -57
- package/src/blake2/asU8a.spec.ts +0 -74
- package/src/bundleInit.ts +0 -11
- package/src/crypto.spec.ts +0 -18
- package/src/crypto.ts +0 -18
- package/src/ed25519/deriveHard.ts +0 -18
- package/src/ed25519/pair/fromRandom.spec.ts +0 -28
- package/src/ed25519/pair/fromSecret.spec.ts +0 -33
- package/src/ed25519/pair/fromSeed.spec.ts +0 -42
- package/src/ed25519/pair/fromString.spec.ts +0 -17
- package/src/ed25519/sign.spec.ts +0 -40
- package/src/ed25519/sign.ts +0 -38
- package/src/ed25519/verify.spec.ts +0 -84
- package/src/ed25519/verify.ts +0 -41
- package/src/ethereum/encode.spec.ts +0 -59
- package/src/ethereum/encode.ts +0 -39
- package/src/ethereum/isAddress.spec.ts +0 -34
- package/src/ethereum/isAddress.ts +0 -16
- package/src/ethereum/isChecksum.ts +0 -27
- package/src/ethereum/isCheksum.spec.ts +0 -30
- package/src/hd/ethereum/index.spec.ts +0 -54
- package/src/hd/ethereum/index.ts +0 -69
- package/src/hd/ledger/derivePrivate.ts +0 -34
- package/src/hd/ledger/index.spec.ts +0 -64
- package/src/hd/ledger/index.ts +0 -42
- package/src/hd/ledger/master.spec.ts +0 -19
- package/src/hd/ledger/master.ts +0 -26
- package/src/hd/validatePath.spec.ts +0 -30
- package/src/hd/validatePath.ts +0 -24
- package/src/helpers.ts +0 -38
- package/src/hmac/index.ts +0 -4
- package/src/hmac/shaAsU8a.spec.ts +0 -45
- package/src/index.ts +0 -6
- package/src/json/constants.ts +0 -11
- package/src/json/decrypt.ts +0 -25
- package/src/json/decryptData.ts +0 -45
- package/src/json/encrypt.ts +0 -25
- package/src/json/encryptFormat.ts +0 -20
- package/src/json/types.ts +0 -22
- package/src/keccak/asHex.spec.ts +0 -30
- package/src/keccak/asU8a.spec.ts +0 -56
- package/src/key/DeriveJunction.ts +0 -79
- package/src/key/extractPath.spec.ts +0 -51
- package/src/key/extractPath.ts +0 -37
- package/src/key/extractSuri.spec.ts +0 -147
- package/src/key/extractSuri.ts +0 -40
- package/src/key/fromPath.ts +0 -28
- package/src/key/hdkdDerive.ts +0 -17
- package/src/key/hdkdSr25519.ts +0 -14
- package/src/mnemonic/bip39.spec.ts +0 -80
- package/src/mnemonic/bip39.ts +0 -127
- package/src/mnemonic/generate.spec.ts +0 -58
- package/src/mnemonic/toEntropy.spec.ts +0 -36
- package/src/mnemonic/toEntropy.ts +0 -13
- package/src/mnemonic/toLegacySeed.spec.ts +0 -52
- package/src/mnemonic/toMiniSecret.spec.ts +0 -67
- package/src/mnemonic/toMiniSecret.ts +0 -23
- package/src/mnemonic/toMiniSecretCmp.spec.ts +0 -64
- package/src/mnemonic/validate.spec.ts +0 -39
- package/src/mod.ts +0 -4
- package/src/nacl/decrypt.spec.ts +0 -26
- package/src/nacl/encrypt.spec.ts +0 -20
- package/src/nacl/tweetnacl-secretbox-data.spec.ts +0 -4629
- package/src/nacl/tweetnacl-secretbox.spec.ts +0 -161
- package/src/nacl/tweetnacl.ts +0 -1159
- package/src/networks.ts +0 -5
- package/src/packageInfo.ts +0 -6
- package/src/pbkdf2/encode.spec.ts +0 -54
- package/src/pbkdf2/encode.ts +0 -29
- package/src/pbkdf2/index.ts +0 -4
- package/src/random/asHex.spec.ts +0 -38
- package/src/random/asNumber.spec.ts +0 -16
- package/src/random/asU8a.spec.ts +0 -36
- package/src/scrypt/defaults.ts +0 -19
- package/src/scrypt/encode.spec.ts +0 -43
- package/src/scrypt/encode.ts +0 -30
- package/src/scrypt/fromU8a.ts +0 -44
- package/src/scrypt/toU8a.ts +0 -17
- package/src/scrypt/types.ts +0 -9
- package/src/secp256k1/compress.spec.ts +0 -47
- package/src/secp256k1/compress.ts +0 -21
- package/src/secp256k1/deriveHard.ts +0 -17
- package/src/secp256k1/expand.spec.ts +0 -47
- package/src/secp256k1/expand.ts +0 -30
- package/src/secp256k1/hasher.spec.ts +0 -24
- package/src/secp256k1/hasher.ts +0 -13
- package/src/secp256k1/pair/fromSeed.spec.ts +0 -75
- package/src/secp256k1/pair/fromSeed.ts +0 -42
- package/src/secp256k1/recover.spec.ts +0 -35
- package/src/secp256k1/recover.ts +0 -36
- package/src/secp256k1/sign.spec.ts +0 -39
- package/src/secp256k1/sign.ts +0 -37
- package/src/secp256k1/signVerify.spec.ts +0 -94
- package/src/secp256k1/tweakAdd.spec.ts +0 -35
- package/src/secp256k1/tweakAdd.ts +0 -65
- package/src/secp256k1/types.ts +0 -4
- package/src/secp256k1/verify.spec.ts +0 -81
- package/src/secp256k1/verify.ts +0 -32
- package/src/sha/asU8a256.spec.ts +0 -55
- package/src/sha/asU8a512.spec.ts +0 -33
- package/src/signature/index.ts +0 -8
- package/src/signature/verify.spec.ts +0 -230
- package/src/signature/verify.ts +0 -114
- package/src/sr25519/agreement.spec.ts +0 -31
- package/src/sr25519/agreement.ts +0 -23
- package/src/sr25519/derive.ts +0 -21
- package/src/sr25519/derivePublic.ts +0 -18
- package/src/sr25519/pair/fromSeed.spec.ts +0 -35
- package/src/sr25519/pair/fromSeed.ts +0 -28
- package/src/sr25519/pair/fromU8a.ts +0 -23
- package/src/sr25519/pair/testing.spec.ts +0 -161
- package/src/sr25519/pair/toU8a.ts +0 -10
- package/src/sr25519/sign.spec.ts +0 -28
- package/src/sr25519/sign.ts +0 -22
- package/src/sr25519/verify.spec.ts +0 -42
- package/src/sr25519/verify.ts +0 -23
- package/src/sr25519/vrfSign.ts +0 -24
- package/src/sr25519/vrfSignVerify.spec.ts +0 -73
- package/src/sr25519/vrfVerify.ts +0 -25
- package/src/test/index.ts +0 -8
- package/src/test/performance.ts +0 -17
- package/src/types.ts +0 -33
- package/src/xxhash/asHex.spec.ts +0 -36
- package/src/xxhash/asU8a.spec.ts +0 -48
- package/src/xxhash/xxhash64.ts +0 -155
- package/tsconfig.build.json +0 -18
- package/tsconfig.spec.json +0 -20
package/src/mnemonic/bip39.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/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
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/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
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
});
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/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
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { 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
|
-
});
|
package/src/mod.ts
DELETED
package/src/nacl/decrypt.spec.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { naclDecrypt, naclEncrypt } from './index.js';
|
|
7
|
-
|
|
8
|
-
describe('naclDecrypt', (): void => {
|
|
9
|
-
it('decrypts a encrypted message', (): void => {
|
|
10
|
-
const secret = new Uint8Array(32);
|
|
11
|
-
const message = new Uint8Array([1, 2, 3, 4, 5, 4, 3, 2, 1]);
|
|
12
|
-
const { encrypted, nonce } = naclEncrypt(message, secret);
|
|
13
|
-
|
|
14
|
-
expect(
|
|
15
|
-
naclDecrypt(encrypted, nonce, secret)
|
|
16
|
-
).toEqual(
|
|
17
|
-
message
|
|
18
|
-
);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns null on invalid', (): void => {
|
|
22
|
-
expect(
|
|
23
|
-
naclDecrypt(new Uint8Array(), new Uint8Array(24), new Uint8Array(32))
|
|
24
|
-
).toEqual(null);
|
|
25
|
-
});
|
|
26
|
-
});
|
package/src/nacl/encrypt.spec.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Copyright 2017-2025 @polkadot/util-crypto authors & contributors
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
|
5
|
-
|
|
6
|
-
import { naclEncrypt } from './index.js';
|
|
7
|
-
|
|
8
|
-
describe('naclEncrypt', (): void => {
|
|
9
|
-
it('encrypts a message', (): void => {
|
|
10
|
-
const secret = new Uint8Array(32);
|
|
11
|
-
const message = new Uint8Array([1, 2, 3, 4, 5, 4, 3, 2, 1]);
|
|
12
|
-
|
|
13
|
-
expect(
|
|
14
|
-
naclEncrypt(message, secret, new Uint8Array(24))
|
|
15
|
-
).toEqual({
|
|
16
|
-
encrypted: new Uint8Array([94, 21, 20, 69, 68, 221, 140, 245, 200, 67, 77, 188, 129, 85, 227, 141, 199, 60, 184, 251, 251, 129, 205, 46, 234]),
|
|
17
|
-
nonce: new Uint8Array(24)
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
});
|