@pezkuwi/util-crypto 14.0.7 → 14.0.11
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/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-pezkuwi-util-crypto.js +8251 -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 +3248 -6810
- package/cjs/packageInfo.js +1 -1
- package/package.json +7 -7
- package/packageInfo.js +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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { Keypair } from '../../types.js';
|
|
5
|
+
|
|
6
|
+
import { ed25519PairFromSeed } from '../../ed25519/index.js';
|
|
7
|
+
import { mnemonicValidate } from '../../mnemonic/index.js';
|
|
8
|
+
import { HARDENED, hdValidatePath } from '../validatePath.js';
|
|
9
|
+
import { ledgerDerivePrivate } from './derivePrivate.js';
|
|
10
|
+
import { ledgerMaster } from './master.js';
|
|
11
|
+
|
|
12
|
+
export function hdLedger (_mnemonic: string, path: string): Keypair {
|
|
13
|
+
const words = _mnemonic
|
|
14
|
+
.split(' ')
|
|
15
|
+
.map((s) => s.trim())
|
|
16
|
+
.filter((s) => s);
|
|
17
|
+
|
|
18
|
+
if (![12, 24, 25].includes(words.length)) {
|
|
19
|
+
throw new Error('Expected a mnemonic with 24 words (or 25 including a password)');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const [mnemonic, password] = words.length === 25
|
|
23
|
+
? [words.slice(0, 24).join(' '), words[24]]
|
|
24
|
+
: [words.join(' '), ''];
|
|
25
|
+
|
|
26
|
+
if (!mnemonicValidate(mnemonic)) {
|
|
27
|
+
throw new Error('Invalid mnemonic passed to ledger derivation');
|
|
28
|
+
} else if (!hdValidatePath(path)) {
|
|
29
|
+
throw new Error('Invalid derivation path');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const parts = path.split('/').slice(1);
|
|
33
|
+
let seed = ledgerMaster(mnemonic, password);
|
|
34
|
+
|
|
35
|
+
for (const p of parts) {
|
|
36
|
+
const n = parseInt(p.replace(/'$/, ''), 10);
|
|
37
|
+
|
|
38
|
+
seed = ledgerDerivePrivate(seed, (n < HARDENED) ? (n + HARDENED) : n);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return ed25519PairFromSeed(seed.slice(0, 32));
|
|
42
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 { ledgerMaster } from './master.js';
|
|
9
|
+
|
|
10
|
+
const MNEMONIC = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about';
|
|
11
|
+
const XPRV = '0x402b03cd9c8bed9ba9f9bd6cd9c315ce9fcc59c7c25d37c85a36096617e69d418e35cb4a3b737afd007f0688618f21a8831643c0e6c77fc33c06026d2a0fc93832596435e70647d7d98ef102a32ea40319ca8fb6c851d7346d3bd8f9d1492658';
|
|
12
|
+
|
|
13
|
+
describe('ledgerDerive', (): void => {
|
|
14
|
+
it('derives a known master xprv', (): void => {
|
|
15
|
+
expect(u8aToHex(
|
|
16
|
+
ledgerMaster(MNEMONIC)
|
|
17
|
+
)).toEqual(XPRV);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { u8aConcat } from '@pezkuwi/util';
|
|
5
|
+
|
|
6
|
+
import { hmacShaAsU8a } from '../../hmac/index.js';
|
|
7
|
+
import { mnemonicToSeedSync } from '../../mnemonic/bip39.js';
|
|
8
|
+
|
|
9
|
+
const ED25519_CRYPTO = 'ed25519 seed';
|
|
10
|
+
|
|
11
|
+
// gets an xprv from a mnemonic
|
|
12
|
+
export function ledgerMaster (mnemonic: string, password?: string): Uint8Array {
|
|
13
|
+
const seed = mnemonicToSeedSync(mnemonic, password);
|
|
14
|
+
const chainCode = hmacShaAsU8a(ED25519_CRYPTO, new Uint8Array([1, ...seed]), 256);
|
|
15
|
+
let priv;
|
|
16
|
+
|
|
17
|
+
while (!priv || (priv[31] & 0b0010_0000)) {
|
|
18
|
+
priv = hmacShaAsU8a(ED25519_CRYPTO, priv || seed, 512);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
priv[0] &= 0b1111_1000;
|
|
22
|
+
priv[31] &= 0b0111_1111;
|
|
23
|
+
priv[31] |= 0b0100_0000;
|
|
24
|
+
|
|
25
|
+
return u8aConcat(priv, chainCode);
|
|
26
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { hdValidatePath } from './index.js';
|
|
7
|
+
|
|
8
|
+
const VECTORS: [string, boolean][] = [
|
|
9
|
+
["m/44'/60'/0'/0/0", true],
|
|
10
|
+
['m/0', true],
|
|
11
|
+
["m/123'", true],
|
|
12
|
+
["n/44'/60'/0'/0/0", false],
|
|
13
|
+
['m', false],
|
|
14
|
+
['m/', false],
|
|
15
|
+
["m/xyz'", false],
|
|
16
|
+
['m/123x', false],
|
|
17
|
+
['m/123"', false],
|
|
18
|
+
["m/123''", false],
|
|
19
|
+
["m/123'0'", false],
|
|
20
|
+
[`m/${0x80000000}`, false],
|
|
21
|
+
['m/-1', false]
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
describe('hdValidatePath', (): void => {
|
|
25
|
+
VECTORS.forEach(([path, result]): void => {
|
|
26
|
+
it(`validates ${path} as ${result.toString()}`, (): void => {
|
|
27
|
+
expect(hdValidatePath(path)).toEqual(result);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export const HARDENED = 0x80000000;
|
|
5
|
+
|
|
6
|
+
export function hdValidatePath (path: string): boolean {
|
|
7
|
+
if (!path.startsWith('m/')) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const parts = path.split('/').slice(1);
|
|
12
|
+
|
|
13
|
+
for (const p of parts) {
|
|
14
|
+
const n = /^\d+'?$/.test(p)
|
|
15
|
+
? parseInt(p.replace(/'$/, ''), 10)
|
|
16
|
+
: Number.NaN;
|
|
17
|
+
|
|
18
|
+
if (isNaN(n) || (n >= HARDENED) || (n < 0)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return true;
|
|
24
|
+
}
|
package/src/helpers.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { HexString } from '@pezkuwi/util/types';
|
|
5
|
+
|
|
6
|
+
import { hasBigInt, u8aToHex, u8aToU8a } from '@pezkuwi/util';
|
|
7
|
+
import { isReady } from '@pezkuwi/wasm-crypto';
|
|
8
|
+
|
|
9
|
+
// re-export so TS *.d.ts generation is correct
|
|
10
|
+
export type { HexString } from '@pezkuwi/util/types';
|
|
11
|
+
|
|
12
|
+
interface DualHash {
|
|
13
|
+
256: (u8a: Uint8Array) => Uint8Array;
|
|
14
|
+
512: (u8a: Uint8Array) => Uint8Array;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @internal */
|
|
18
|
+
export function createAsHex <T extends (...args: never[]) => Uint8Array> (fn: T): (...args: Parameters<T>) => HexString {
|
|
19
|
+
return (...args: Parameters<T>): HexString =>
|
|
20
|
+
u8aToHex(fn(...args));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function createBitHasher (bitLength: 256 | 512, fn: (data: string | Uint8Array, bitLength: 256 | 512, onlyJs?: boolean) => Uint8Array): (data: string | Uint8Array, onlyJs?: boolean) => Uint8Array {
|
|
25
|
+
return (data: string | Uint8Array, onlyJs?: boolean): Uint8Array =>
|
|
26
|
+
fn(data, bitLength, onlyJs);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** @internal */
|
|
30
|
+
export function createDualHasher (wa: DualHash, js: DualHash): (value: string | Uint8Array, bitLength?: 256 | 512, onlyJs?: boolean) => Uint8Array {
|
|
31
|
+
return (value: string | Uint8Array, bitLength: 256 | 512 = 256, onlyJs?: boolean): Uint8Array => {
|
|
32
|
+
const u8a = u8aToU8a(value);
|
|
33
|
+
|
|
34
|
+
return !hasBigInt || (!onlyJs && isReady())
|
|
35
|
+
? wa[bitLength](u8a)
|
|
36
|
+
: js[bitLength](u8a);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 { hexToU8a, stringToU8a } from '@pezkuwi/util';
|
|
7
|
+
import { waitReady } from '@pezkuwi/wasm-crypto';
|
|
8
|
+
|
|
9
|
+
import { perfWasm } from '../test/index.js';
|
|
10
|
+
import { hmacShaAsU8a } from './index.js';
|
|
11
|
+
|
|
12
|
+
describe('hmacShaAsU8a', (): void => {
|
|
13
|
+
beforeEach(async (): Promise<void> => {
|
|
14
|
+
await waitReady();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const key = stringToU8a('secret');
|
|
18
|
+
const data = stringToU8a('some message');
|
|
19
|
+
const output = {
|
|
20
|
+
256: hexToU8a(
|
|
21
|
+
'0xf28a70b41263840e5c059a0a733336e0957efba87902aa8cca11441d4b0c96d7'
|
|
22
|
+
),
|
|
23
|
+
512: hexToU8a(
|
|
24
|
+
'0x295832e97ed77be75a9fa98029497e4a722c4b9a2f21b39d34f1befa931a39ec520fd24711d6f5c03501384ea66b83066a01a82c57a0460f8cd1f471fcce5841'
|
|
25
|
+
)
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
for (const bitLength of [256, 512] as const) {
|
|
29
|
+
describe(`bitLength=${bitLength}`, (): void => {
|
|
30
|
+
for (const onlyJs of [false, true]) {
|
|
31
|
+
describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
|
|
32
|
+
it('returns an hex representation (string)', (): void => {
|
|
33
|
+
expect(
|
|
34
|
+
hmacShaAsU8a(key, data, bitLength, onlyJs)
|
|
35
|
+
).toEqual(output[bitLength]);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
perfWasm(`hmacShaAsU8a, bitLength=${bitLength}`, 16000, (input, onlyJs) =>
|
|
42
|
+
hmacShaAsU8a(input, input, bitLength, onlyJs)
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { hmac } from '@noble/hashes/hmac';
|
|
5
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
6
|
+
import { sha512 } from '@noble/hashes/sha512';
|
|
7
|
+
|
|
8
|
+
import { hasBigInt, u8aToU8a } from '@pezkuwi/util';
|
|
9
|
+
import { hmacSha256, hmacSha512, isReady } from '@pezkuwi/wasm-crypto';
|
|
10
|
+
|
|
11
|
+
const JS_HASH = {
|
|
12
|
+
256: sha256,
|
|
13
|
+
512: sha512
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const WA_MHAC = {
|
|
17
|
+
256: hmacSha256,
|
|
18
|
+
512: hmacSha512
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
function createSha (bitLength: 256 | 512): (key: Uint8Array | string, data: Uint8Array, onlyJs?: boolean) => Uint8Array {
|
|
22
|
+
return (key: Uint8Array | string, data: Uint8Array, onlyJs?: boolean): Uint8Array =>
|
|
23
|
+
hmacShaAsU8a(key, data, bitLength, onlyJs);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @name hmacShaAsU8a
|
|
28
|
+
* @description creates a Hmac Sha (256/512) Uint8Array from the key & data
|
|
29
|
+
*/
|
|
30
|
+
export function hmacShaAsU8a (key: Uint8Array | string, data: Uint8Array, bitLength: 256 | 512 = 256, onlyJs?: boolean): Uint8Array {
|
|
31
|
+
const u8aKey = u8aToU8a(key);
|
|
32
|
+
|
|
33
|
+
return !hasBigInt || (!onlyJs && isReady())
|
|
34
|
+
? WA_MHAC[bitLength](u8aKey, data)
|
|
35
|
+
: hmac(JS_HASH[bitLength], u8aKey, data);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @name hmacSha256AsU8a
|
|
40
|
+
* @description creates a Hmac Sha256 Uint8Array from the key & data
|
|
41
|
+
*/
|
|
42
|
+
export const hmacSha256AsU8a = /*#__PURE__*/ createSha(256);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @name hmacSha512AsU8a
|
|
46
|
+
* @description creates a Hmac Sha512 Uint8Array from the key & data
|
|
47
|
+
*/
|
|
48
|
+
export const hmacSha512AsU8a = /*#__PURE__*/ createSha(512);
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { EncryptedJsonEncoding, EncryptedJsonVersion } from './types.js';
|
|
5
|
+
|
|
6
|
+
export const ENCODING: EncryptedJsonEncoding[] = ['scrypt', 'xsalsa20-poly1305'];
|
|
7
|
+
export const ENCODING_NONE: EncryptedJsonEncoding[] = ['none'];
|
|
8
|
+
export const ENCODING_VERSION: EncryptedJsonVersion = '3';
|
|
9
|
+
|
|
10
|
+
export const NONCE_LENGTH = 24;
|
|
11
|
+
export const SCRYPT_LENGTH = 32 + (3 * 4);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { EncryptedJson } from './types.js';
|
|
5
|
+
|
|
6
|
+
import { hexToU8a, isHex } from '@pezkuwi/util';
|
|
7
|
+
|
|
8
|
+
import { base64Decode } from '../base64/index.js';
|
|
9
|
+
import { jsonDecryptData } from './decryptData.js';
|
|
10
|
+
|
|
11
|
+
export function jsonDecrypt ({ encoded, encoding }: EncryptedJson, passphrase?: string | null): Uint8Array {
|
|
12
|
+
if (!encoded) {
|
|
13
|
+
throw new Error('No encrypted data available to decode');
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return jsonDecryptData(
|
|
17
|
+
isHex(encoded)
|
|
18
|
+
? hexToU8a(encoded)
|
|
19
|
+
: base64Decode(encoded),
|
|
20
|
+
passphrase,
|
|
21
|
+
Array.isArray(encoding.type)
|
|
22
|
+
? encoding.type
|
|
23
|
+
: [encoding.type]
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { EncryptedJsonEncoding } from './types.js';
|
|
5
|
+
|
|
6
|
+
import { stringToU8a, u8aFixLength } from '@pezkuwi/util';
|
|
7
|
+
|
|
8
|
+
import { naclDecrypt } from '../nacl/index.js';
|
|
9
|
+
import { scryptEncode, scryptFromU8a } from '../scrypt/index.js';
|
|
10
|
+
import { ENCODING, NONCE_LENGTH, SCRYPT_LENGTH } from './constants.js';
|
|
11
|
+
|
|
12
|
+
export function jsonDecryptData (encrypted?: Uint8Array | null, passphrase?: string | null, encType: EncryptedJsonEncoding[] = ENCODING): Uint8Array {
|
|
13
|
+
if (!encrypted) {
|
|
14
|
+
throw new Error('No encrypted data available to decode');
|
|
15
|
+
} else if (encType.includes('xsalsa20-poly1305') && !passphrase) {
|
|
16
|
+
throw new Error('Password required to decode encrypted data');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let encoded: Uint8Array | null = encrypted;
|
|
20
|
+
|
|
21
|
+
if (passphrase) {
|
|
22
|
+
let password: Uint8Array;
|
|
23
|
+
|
|
24
|
+
if (encType.includes('scrypt')) {
|
|
25
|
+
const { params, salt } = scryptFromU8a(encrypted);
|
|
26
|
+
|
|
27
|
+
password = scryptEncode(passphrase, salt, params).password;
|
|
28
|
+
encrypted = encrypted.subarray(SCRYPT_LENGTH);
|
|
29
|
+
} else {
|
|
30
|
+
password = stringToU8a(passphrase);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
encoded = naclDecrypt(
|
|
34
|
+
encrypted.subarray(NONCE_LENGTH),
|
|
35
|
+
encrypted.subarray(0, NONCE_LENGTH),
|
|
36
|
+
u8aFixLength(password, 256, true)
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!encoded) {
|
|
41
|
+
throw new Error('Unable to decode using the supplied passphrase');
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return encoded;
|
|
45
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { EncryptedJson } from './types.js';
|
|
5
|
+
|
|
6
|
+
import { u8aConcat } from '@pezkuwi/util';
|
|
7
|
+
|
|
8
|
+
import { naclEncrypt } from '../nacl/index.js';
|
|
9
|
+
import { scryptEncode, scryptToU8a } from '../scrypt/index.js';
|
|
10
|
+
import { jsonEncryptFormat } from './encryptFormat.js';
|
|
11
|
+
|
|
12
|
+
export function jsonEncrypt (data: Uint8Array, contentType: string[], passphrase?: string | null): EncryptedJson {
|
|
13
|
+
let isEncrypted = false;
|
|
14
|
+
let encoded = data;
|
|
15
|
+
|
|
16
|
+
if (passphrase) {
|
|
17
|
+
const { params, password, salt } = scryptEncode(passphrase);
|
|
18
|
+
const { encrypted, nonce } = naclEncrypt(encoded, password.subarray(0, 32));
|
|
19
|
+
|
|
20
|
+
isEncrypted = true;
|
|
21
|
+
encoded = u8aConcat(scryptToU8a(salt, params), nonce, encrypted);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return jsonEncryptFormat(encoded, contentType, isEncrypted);
|
|
25
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { EncryptedJson } from './types.js';
|
|
5
|
+
|
|
6
|
+
import { base64Encode } from '../base64/index.js';
|
|
7
|
+
import { ENCODING, ENCODING_NONE, ENCODING_VERSION } from './constants.js';
|
|
8
|
+
|
|
9
|
+
export function jsonEncryptFormat (encoded: Uint8Array, contentType: string[], isEncrypted: boolean): EncryptedJson {
|
|
10
|
+
return {
|
|
11
|
+
encoded: base64Encode(encoded),
|
|
12
|
+
encoding: {
|
|
13
|
+
content: contentType,
|
|
14
|
+
type: isEncrypted
|
|
15
|
+
? ENCODING
|
|
16
|
+
: ENCODING_NONE,
|
|
17
|
+
version: ENCODING_VERSION
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export { jsonDecrypt } from './decrypt.js';
|
|
5
|
+
export { jsonDecryptData } from './decryptData.js';
|
|
6
|
+
export { jsonEncrypt } from './encrypt.js';
|
|
7
|
+
export { jsonEncryptFormat } from './encryptFormat.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export type EncryptedJsonVersion = '0' | '1' | '2' | '3';
|
|
5
|
+
|
|
6
|
+
export type EncryptedJsonEncoding = 'none' | 'scrypt' | 'xsalsa20-poly1305';
|
|
7
|
+
|
|
8
|
+
export interface EncryptedJsonDescriptor {
|
|
9
|
+
/** Descriptor for the content */
|
|
10
|
+
content: string[];
|
|
11
|
+
/** The encoding (in current/latest versions this is always an array) */
|
|
12
|
+
type: EncryptedJsonEncoding | EncryptedJsonEncoding[];
|
|
13
|
+
/** The version of encoding applied */
|
|
14
|
+
version: EncryptedJsonVersion;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface EncryptedJson {
|
|
18
|
+
/** The encoded string */
|
|
19
|
+
encoded: string;
|
|
20
|
+
/** The encoding used */
|
|
21
|
+
encoding: EncryptedJsonDescriptor;
|
|
22
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { waitReady } from '@pezkuwi/wasm-crypto';
|
|
7
|
+
|
|
8
|
+
import { keccakAsHex } from './index.js';
|
|
9
|
+
|
|
10
|
+
const BITS: (256 | 512)[] = [256, 512];
|
|
11
|
+
|
|
12
|
+
const value = 'test';
|
|
13
|
+
const result = {
|
|
14
|
+
256: '9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658',
|
|
15
|
+
512: '1e2e9fc2002b002d75198b7503210c05a1baac4560916a3c6d93bcce3a50d7f00fd395bf1647b9abb8d1afcc9c76c289b0c9383ba386a956da4b38934417789e'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
describe('keccakAsHex', (): void => {
|
|
19
|
+
beforeEach(async (): Promise<void> => {
|
|
20
|
+
await waitReady();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
BITS.forEach((bitLength): void => {
|
|
24
|
+
it('returns a prefixed hex representation', (): void => {
|
|
25
|
+
expect(
|
|
26
|
+
keccakAsHex(value, bitLength)
|
|
27
|
+
).toEqual(`0x${result[bitLength]}`);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
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 { hexToU8a, stringToU8a } from '@pezkuwi/util';
|
|
7
|
+
import { waitReady } from '@pezkuwi/wasm-crypto';
|
|
8
|
+
|
|
9
|
+
import { perfWasm } from '../test/index.js';
|
|
10
|
+
import { keccakAsU8a } from './index.js';
|
|
11
|
+
|
|
12
|
+
describe('keccakAsU8a', (): void => {
|
|
13
|
+
beforeEach(async (): Promise<void> => {
|
|
14
|
+
await waitReady();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const input = 'test value';
|
|
18
|
+
const output = {
|
|
19
|
+
256: hexToU8a(
|
|
20
|
+
'0x2d07364b5c231c56ce63d49430e085ea3033c750688ba532b24029124c26ca5e'
|
|
21
|
+
),
|
|
22
|
+
512: hexToU8a(
|
|
23
|
+
'0xc1b50cc57f85ccd968a9d7c7a809dcebd140a548c8e0b67f3afcdd6fc14cca2b1d04187aef24ba0081b74f2ec362431e425760febe94a5607790854cafe5b197'
|
|
24
|
+
)
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
for (const bitLength of [256, 512] as const) {
|
|
28
|
+
describe(`bitLength=${bitLength}`, (): void => {
|
|
29
|
+
for (const onlyJs of [false, true]) {
|
|
30
|
+
describe(`onlyJs=${(onlyJs && 'true') || 'false'}`, (): void => {
|
|
31
|
+
it('returns an hex representation (string)', (): void => {
|
|
32
|
+
expect(
|
|
33
|
+
keccakAsU8a(input, bitLength, onlyJs)
|
|
34
|
+
).toEqual(output[bitLength]);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('returns an hex representation (Buffer)', (): void => {
|
|
38
|
+
expect(
|
|
39
|
+
keccakAsU8a(Buffer.from(input), bitLength, onlyJs)
|
|
40
|
+
).toEqual(output[bitLength]);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('returns an hex representation (Uint8Array)', (): void => {
|
|
44
|
+
expect(
|
|
45
|
+
keccakAsU8a(stringToU8a(input), bitLength, onlyJs)
|
|
46
|
+
).toEqual(output[bitLength]);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
perfWasm(`keccakAsU8a, bitLength=${bitLength}`, 128000, (input, onlyJs) =>
|
|
52
|
+
keccakAsU8a(input, bitLength, onlyJs)
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { keccak_256 as keccak256Js, keccak_512 as keccak512Js } from '@noble/hashes/sha3';
|
|
5
|
+
|
|
6
|
+
import { keccak256, keccak512 } from '@pezkuwi/wasm-crypto';
|
|
7
|
+
|
|
8
|
+
import { createAsHex, createBitHasher, createDualHasher } from '../helpers.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @name keccakAsU8a
|
|
12
|
+
* @summary Creates a keccak Uint8Array from the input.
|
|
13
|
+
* @description
|
|
14
|
+
* From either a `string` or a `Buffer` input, create the keccak and return the result as a `Uint8Array`.
|
|
15
|
+
* @example
|
|
16
|
+
* <BR>
|
|
17
|
+
*
|
|
18
|
+
* ```javascript
|
|
19
|
+
* import { keccakAsU8a } from '@pezkuwi/util-crypto';
|
|
20
|
+
*
|
|
21
|
+
* keccakAsU8a('123'); // => Uint8Array
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export const keccakAsU8a = /*#__PURE__*/ createDualHasher(
|
|
25
|
+
{ 256: keccak256, 512: keccak512 },
|
|
26
|
+
{ 256: keccak256Js, 512: keccak512Js }
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @name keccak256AsU8a
|
|
31
|
+
* @description Creates a keccak256 Uint8Array from the input.
|
|
32
|
+
*/
|
|
33
|
+
export const keccak256AsU8a = /*#__PURE__*/ createBitHasher(256, keccakAsU8a);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @name keccak512AsU8a
|
|
37
|
+
* @description Creates a keccak512 Uint8Array from the input.
|
|
38
|
+
*/
|
|
39
|
+
export const keccak512AsU8a = /*#__PURE__*/ createBitHasher(512, keccakAsU8a);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @name keccakAsHex
|
|
43
|
+
* @description Creates a keccak hex string from the input.
|
|
44
|
+
*/
|
|
45
|
+
export const keccakAsHex = /*#__PURE__*/ createAsHex(keccakAsU8a);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @summary Create Keccak256/512 values as hex & Uint8Array output
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export { keccak256AsU8a, keccak512AsU8a, keccakAsHex, keccakAsU8a } from './asU8a.js';
|