@pezkuwi/util-crypto 14.0.21 → 14.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blake2/asU8a.d.ts +1 -1
- package/build/LICENSE +201 -0
- package/build/README.md +17 -0
- package/build/address/addressToEvm.d.ts +5 -0
- package/build/address/addressToEvm.js +8 -0
- package/build/address/check.d.ts +8 -0
- package/build/address/check.js +26 -0
- package/build/address/checksum.d.ts +1 -0
- package/build/address/checksum.js +16 -0
- package/build/address/decode.d.ts +2 -0
- package/build/address/decode.js +29 -0
- package/build/address/defaults.d.ts +6 -0
- package/build/address/defaults.js +8 -0
- package/build/address/derive.d.ts +8 -0
- package/build/address/derive.js +24 -0
- package/build/address/encode.d.ts +2 -0
- package/build/address/encode.js +23 -0
- package/build/address/encodeDerived.d.ts +9 -0
- package/build/address/encodeDerived.js +12 -0
- package/build/address/encodeMulti.d.ts +9 -0
- package/build/address/encodeMulti.js +11 -0
- package/build/address/eq.d.ts +15 -0
- package/build/address/eq.js +19 -0
- package/build/address/evmToAddress.d.ts +7 -0
- package/build/address/evmToAddress.js +14 -0
- package/build/address/index.d.ts +16 -0
- package/build/address/index.js +16 -0
- package/build/address/is.d.ts +2 -0
- package/build/address/is.js +9 -0
- package/build/address/keyDerived.d.ts +2 -0
- package/build/address/keyDerived.js +8 -0
- package/build/address/keyMulti.d.ts +2 -0
- package/build/address/keyMulti.js +8 -0
- package/build/address/setSS58Format.d.ts +6 -0
- package/build/address/setSS58Format.js +11 -0
- package/build/address/sort.d.ts +2 -0
- package/build/address/sort.js +7 -0
- package/build/address/sshash.d.ts +1 -0
- package/build/address/sshash.js +6 -0
- package/build/address/types.d.ts +1 -0
- package/build/address/types.js +1 -0
- package/build/address/util.d.ts +1 -0
- package/build/address/util.js +4 -0
- package/build/address/validate.d.ts +2 -0
- package/build/address/validate.js +4 -0
- package/build/base32/bs32.d.ts +26 -0
- package/build/base32/bs32.js +40 -0
- package/build/base32/helpers.d.ts +25 -0
- package/build/base32/helpers.js +61 -0
- package/build/base32/index.d.ts +4 -0
- package/build/base32/index.js +4 -0
- package/build/base58/bs58.d.ts +26 -0
- package/build/base58/bs58.js +34 -0
- package/build/base58/index.d.ts +4 -0
- package/build/base58/index.js +4 -0
- package/build/base64/bs64.d.ts +26 -0
- package/build/base64/bs64.js +34 -0
- package/build/base64/index.d.ts +6 -0
- package/build/base64/index.js +6 -0
- package/build/base64/pad.d.ts +5 -0
- package/build/base64/pad.js +7 -0
- package/build/base64/trim.d.ts +5 -0
- package/build/base64/trim.js +10 -0
- package/build/blake2/asU8a.d.ts +20 -0
- package/build/blake2/asU8a.js +32 -0
- package/build/blake2/index.d.ts +4 -0
- package/build/blake2/index.js +4 -0
- package/build/bn.d.ts +30 -0
- package/build/bn.js +8 -0
- package/build/bundle.d.ts +26 -0
- package/build/bundle.js +26 -0
- package/build/bundleInit.d.ts +1 -0
- package/build/bundleInit.js +5 -0
- package/build/cjs/address/addressToEvm.d.ts +5 -0
- package/build/cjs/address/addressToEvm.js +11 -0
- package/build/cjs/address/check.d.ts +8 -0
- package/build/cjs/address/check.js +29 -0
- package/build/cjs/address/checksum.d.ts +1 -0
- package/build/cjs/address/checksum.js +19 -0
- package/build/cjs/address/decode.d.ts +2 -0
- package/build/cjs/address/decode.js +32 -0
- package/build/cjs/address/defaults.d.ts +6 -0
- package/build/cjs/address/defaults.js +11 -0
- package/build/cjs/address/derive.d.ts +8 -0
- package/build/cjs/address/derive.js +27 -0
- package/build/cjs/address/encode.d.ts +2 -0
- package/build/cjs/address/encode.js +26 -0
- package/build/cjs/address/encodeDerived.d.ts +9 -0
- package/build/cjs/address/encodeDerived.js +15 -0
- package/build/cjs/address/encodeMulti.d.ts +9 -0
- package/build/cjs/address/encodeMulti.js +14 -0
- package/build/cjs/address/eq.d.ts +15 -0
- package/build/cjs/address/eq.js +22 -0
- package/build/cjs/address/evmToAddress.d.ts +7 -0
- package/build/cjs/address/evmToAddress.js +17 -0
- package/build/cjs/address/index.d.ts +16 -0
- package/build/cjs/address/index.js +35 -0
- package/build/cjs/address/is.d.ts +2 -0
- package/build/cjs/address/is.js +12 -0
- package/build/cjs/address/keyDerived.d.ts +2 -0
- package/build/cjs/address/keyDerived.js +11 -0
- package/build/cjs/address/keyMulti.d.ts +2 -0
- package/build/cjs/address/keyMulti.js +11 -0
- package/build/cjs/address/setSS58Format.d.ts +6 -0
- package/build/cjs/address/setSS58Format.js +14 -0
- package/build/cjs/address/sort.d.ts +2 -0
- package/build/cjs/address/sort.js +10 -0
- package/build/cjs/address/sshash.d.ts +1 -0
- package/build/cjs/address/sshash.js +9 -0
- package/build/cjs/address/types.d.ts +1 -0
- package/build/cjs/address/types.js +2 -0
- package/build/cjs/address/util.d.ts +1 -0
- package/build/cjs/address/util.js +7 -0
- package/build/cjs/address/validate.d.ts +2 -0
- package/build/cjs/address/validate.js +7 -0
- package/build/cjs/base32/bs32.d.ts +26 -0
- package/build/cjs/base32/bs32.js +43 -0
- package/build/cjs/base32/helpers.d.ts +25 -0
- package/build/cjs/base32/helpers.js +67 -0
- package/build/cjs/base32/index.d.ts +4 -0
- package/build/cjs/base32/index.js +11 -0
- package/build/cjs/base58/bs58.d.ts +26 -0
- package/build/cjs/base58/bs58.js +37 -0
- package/build/cjs/base58/index.d.ts +4 -0
- package/build/cjs/base58/index.js +11 -0
- package/build/cjs/base64/bs64.d.ts +26 -0
- package/build/cjs/base64/bs64.js +37 -0
- package/build/cjs/base64/index.d.ts +6 -0
- package/build/cjs/base64/index.js +15 -0
- package/build/cjs/base64/pad.d.ts +5 -0
- package/build/cjs/base64/pad.js +10 -0
- package/build/cjs/base64/trim.d.ts +5 -0
- package/build/cjs/base64/trim.js +13 -0
- package/build/cjs/blake2/asU8a.d.ts +20 -0
- package/build/cjs/blake2/asU8a.js +36 -0
- package/build/cjs/blake2/index.d.ts +4 -0
- package/build/cjs/blake2/index.js +9 -0
- package/build/cjs/bn.d.ts +30 -0
- package/build/cjs/bn.js +11 -0
- package/build/cjs/bundle.d.ts +26 -0
- package/build/cjs/bundle.js +31 -0
- package/build/cjs/bundleInit.d.ts +1 -0
- package/build/cjs/bundleInit.js +7 -0
- package/build/cjs/crypto.d.ts +3 -0
- package/build/cjs/crypto.js +16 -0
- package/build/cjs/ed25519/deriveHard.d.ts +1 -0
- package/build/cjs/ed25519/deriveHard.js +12 -0
- package/build/cjs/ed25519/index.d.ts +10 -0
- package/build/cjs/ed25519/index.js +20 -0
- package/build/cjs/ed25519/pair/fromRandom.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromRandom.js +22 -0
- package/build/cjs/ed25519/pair/fromSecret.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromSecret.js +26 -0
- package/build/cjs/ed25519/pair/fromSeed.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromSeed.js +34 -0
- package/build/cjs/ed25519/pair/fromString.d.ts +16 -0
- package/build/cjs/ed25519/pair/fromString.js +23 -0
- package/build/cjs/ed25519/sign.d.ts +16 -0
- package/build/cjs/ed25519/sign.js +33 -0
- package/build/cjs/ed25519/verify.d.ts +15 -0
- package/build/cjs/ed25519/verify.js +39 -0
- package/build/cjs/ethereum/encode.d.ts +2 -0
- package/build/cjs/ethereum/encode.js +28 -0
- package/build/cjs/ethereum/index.d.ts +3 -0
- package/build/cjs/ethereum/index.js +9 -0
- package/build/cjs/ethereum/isAddress.d.ts +1 -0
- package/build/cjs/ethereum/isAddress.js +14 -0
- package/build/cjs/ethereum/isChecksum.d.ts +1 -0
- package/build/cjs/ethereum/isChecksum.js +20 -0
- package/build/cjs/hd/ethereum/index.d.ts +2 -0
- package/build/cjs/hd/ethereum/index.js +47 -0
- package/build/cjs/hd/index.d.ts +3 -0
- package/build/cjs/hd/index.js +9 -0
- package/build/cjs/hd/ledger/derivePrivate.d.ts +1 -0
- package/build/cjs/hd/ledger/derivePrivate.js +15 -0
- package/build/cjs/hd/ledger/index.d.ts +2 -0
- package/build/cjs/hd/ledger/index.js +33 -0
- package/build/cjs/hd/ledger/master.d.ts +1 -0
- package/build/cjs/hd/ledger/master.js +19 -0
- package/build/cjs/hd/validatePath.d.ts +2 -0
- package/build/cjs/hd/validatePath.js +20 -0
- package/build/cjs/helpers.d.ts +12 -0
- package/build/cjs/helpers.js +24 -0
- package/build/cjs/hmac/index.d.ts +1 -0
- package/build/cjs/hmac/index.js +7 -0
- package/build/cjs/hmac/shaAsU8a.d.ts +15 -0
- package/build/cjs/hmac/shaAsU8a.js +40 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +5 -0
- package/build/cjs/json/constants.d.ts +6 -0
- package/build/cjs/json/constants.js +8 -0
- package/build/cjs/json/decrypt.d.ts +2 -0
- package/build/cjs/json/decrypt.js +16 -0
- package/build/cjs/json/decryptData.d.ts +2 -0
- package/build/cjs/json/decryptData.js +32 -0
- package/build/cjs/json/encrypt.d.ts +2 -0
- package/build/cjs/json/encrypt.js +18 -0
- package/build/cjs/json/encryptFormat.d.ts +2 -0
- package/build/cjs/json/encryptFormat.js +17 -0
- package/build/cjs/json/index.d.ts +4 -0
- package/build/cjs/json/index.js +11 -0
- package/build/cjs/json/types.d.ts +16 -0
- package/build/cjs/json/types.js +2 -0
- package/build/cjs/keccak/asU8a.d.ts +30 -0
- package/build/cjs/keccak/asU8a.js +36 -0
- package/build/cjs/keccak/index.d.ts +4 -0
- package/build/cjs/keccak/index.js +11 -0
- package/build/cjs/key/DeriveJunction.d.ts +12 -0
- package/build/cjs/key/DeriveJunction.js +62 -0
- package/build/cjs/key/extractPath.d.ts +9 -0
- package/build/cjs/key/extractPath.js +26 -0
- package/build/cjs/key/extractSuri.d.ts +11 -0
- package/build/cjs/key/extractSuri.js +25 -0
- package/build/cjs/key/fromPath.d.ts +3 -0
- package/build/cjs/key/fromPath.js +21 -0
- package/build/cjs/key/hdkdDerive.d.ts +3 -0
- package/build/cjs/key/hdkdDerive.js +11 -0
- package/build/cjs/key/hdkdEcdsa.d.ts +1 -0
- package/build/cjs/key/hdkdEcdsa.js +7 -0
- package/build/cjs/key/hdkdEd25519.d.ts +1 -0
- package/build/cjs/key/hdkdEd25519.js +6 -0
- package/build/cjs/key/hdkdSr25519.d.ts +3 -0
- package/build/cjs/key/hdkdSr25519.js +10 -0
- package/build/cjs/key/index.d.ts +9 -0
- package/build/cjs/key/index.js +18 -0
- package/build/cjs/mnemonic/bip39.d.ts +5 -0
- package/build/cjs/mnemonic/bip39.js +90 -0
- package/build/cjs/mnemonic/generate.d.ts +13 -0
- package/build/cjs/mnemonic/generate.js +23 -0
- package/build/cjs/mnemonic/index.d.ts +8 -0
- package/build/cjs/mnemonic/index.js +16 -0
- package/build/cjs/mnemonic/toEntropy.d.ts +1 -0
- package/build/cjs/mnemonic/toEntropy.js +11 -0
- package/build/cjs/mnemonic/toLegacySeed.d.ts +18 -0
- package/build/cjs/mnemonic/toLegacySeed.js +37 -0
- package/build/cjs/mnemonic/toMiniSecret.d.ts +1 -0
- package/build/cjs/mnemonic/toMiniSecret.js +20 -0
- package/build/cjs/mnemonic/validate.d.ts +14 -0
- package/build/cjs/mnemonic/validate.js +24 -0
- package/build/cjs/mnemonic/wordlists/en.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/en.js +3 -0
- package/build/cjs/mnemonic/wordlists/es.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/es.js +3 -0
- package/build/cjs/mnemonic/wordlists/fr.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/fr.js +3 -0
- package/build/cjs/mnemonic/wordlists/index.d.ts +8 -0
- package/build/cjs/mnemonic/wordlists/index.js +20 -0
- package/build/cjs/mnemonic/wordlists/it.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/it.js +3 -0
- package/build/cjs/mnemonic/wordlists/jp.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/jp.js +3 -0
- package/build/cjs/mnemonic/wordlists/ko.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/ko.js +3 -0
- package/build/cjs/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/zh-s.js +3 -0
- package/build/cjs/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build/cjs/mnemonic/wordlists/zh-t.js +3 -0
- package/build/cjs/nacl/decrypt.d.ts +15 -0
- package/build/cjs/nacl/decrypt.js +21 -0
- package/build/cjs/nacl/encrypt.d.ts +20 -0
- package/build/cjs/nacl/encrypt.js +25 -0
- package/build/cjs/nacl/index.d.ts +5 -0
- package/build/cjs/nacl/index.js +10 -0
- package/build/cjs/nacl/tweetnacl.d.ts +2 -0
- package/build/cjs/nacl/tweetnacl.js +238 -0
- package/build/cjs/networks.d.ts +1 -0
- package/build/cjs/networks.js +7 -0
- package/build/cjs/package.json +3 -0
- package/build/cjs/packageDetect.d.ts +1 -0
- package/build/cjs/packageDetect.js +8 -0
- package/build/cjs/packageInfo.d.ts +6 -0
- package/build/cjs/packageInfo.js +4 -0
- package/build/cjs/pbkdf2/encode.d.ts +7 -0
- package/build/cjs/pbkdf2/encode.js +19 -0
- package/build/cjs/pbkdf2/index.d.ts +1 -0
- package/build/cjs/pbkdf2/index.js +5 -0
- package/build/cjs/random/asNumber.d.ts +15 -0
- package/build/cjs/random/asNumber.js +23 -0
- package/build/cjs/random/asU8a.d.ts +20 -0
- package/build/cjs/random/asU8a.js +28 -0
- package/build/cjs/random/index.d.ts +5 -0
- package/build/cjs/random/index.js +11 -0
- package/build/cjs/scrypt/defaults.d.ts +3 -0
- package/build/cjs/scrypt/defaults.js +16 -0
- package/build/cjs/scrypt/encode.d.ts +8 -0
- package/build/cjs/scrypt/encode.js +18 -0
- package/build/cjs/scrypt/fromU8a.d.ts +7 -0
- package/build/cjs/scrypt/fromU8a.js +27 -0
- package/build/cjs/scrypt/index.d.ts +3 -0
- package/build/cjs/scrypt/index.js +9 -0
- package/build/cjs/scrypt/toU8a.d.ts +2 -0
- package/build/cjs/scrypt/toU8a.js +8 -0
- package/build/cjs/scrypt/types.d.ts +6 -0
- package/build/cjs/scrypt/types.js +2 -0
- package/build/cjs/secp256k1/compress.d.ts +1 -0
- package/build/cjs/secp256k1/compress.js +17 -0
- package/build/cjs/secp256k1/deriveHard.d.ts +1 -0
- package/build/cjs/secp256k1/deriveHard.js +13 -0
- package/build/cjs/secp256k1/expand.d.ts +1 -0
- package/build/cjs/secp256k1/expand.js +20 -0
- package/build/cjs/secp256k1/hasher.d.ts +2 -0
- package/build/cjs/secp256k1/hasher.js +10 -0
- package/build/cjs/secp256k1/index.d.ts +7 -0
- package/build/cjs/secp256k1/index.js +17 -0
- package/build/cjs/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build/cjs/secp256k1/pair/fromSeed.js +34 -0
- package/build/cjs/secp256k1/recover.d.ts +6 -0
- package/build/cjs/secp256k1/recover.js +29 -0
- package/build/cjs/secp256k1/sign.d.ts +7 -0
- package/build/cjs/secp256k1/sign.js +23 -0
- package/build/cjs/secp256k1/tweakAdd.d.ts +1 -0
- package/build/cjs/secp256k1/tweakAdd.js +48 -0
- package/build/cjs/secp256k1/types.d.ts +1 -0
- package/build/cjs/secp256k1/types.js +2 -0
- package/build/cjs/secp256k1/verify.d.ts +6 -0
- package/build/cjs/secp256k1/verify.js +23 -0
- package/build/cjs/sha/asU8a.d.ts +15 -0
- package/build/cjs/sha/asU8a.js +22 -0
- package/build/cjs/sha/index.d.ts +4 -0
- package/build/cjs/sha/index.js +10 -0
- package/build/cjs/signature/index.d.ts +4 -0
- package/build/cjs/signature/index.js +8 -0
- package/build/cjs/signature/verify.d.ts +2 -0
- package/build/cjs/signature/verify.js +81 -0
- package/build/cjs/sr25519/agreement.d.ts +5 -0
- package/build/cjs/sr25519/agreement.js +20 -0
- package/build/cjs/sr25519/derive.d.ts +2 -0
- package/build/cjs/sr25519/derive.js +16 -0
- package/build/cjs/sr25519/deriveHard.d.ts +1 -0
- package/build/cjs/sr25519/deriveHard.js +7 -0
- package/build/cjs/sr25519/derivePublic.d.ts +1 -0
- package/build/cjs/sr25519/derivePublic.js +16 -0
- package/build/cjs/sr25519/deriveSoft.d.ts +1 -0
- package/build/cjs/sr25519/deriveSoft.js +7 -0
- package/build/cjs/sr25519/index.d.ts +9 -0
- package/build/cjs/sr25519/index.js +21 -0
- package/build/cjs/sr25519/pair/fromSeed.d.ts +6 -0
- package/build/cjs/sr25519/pair/fromSeed.js +22 -0
- package/build/cjs/sr25519/pair/fromU8a.d.ts +2 -0
- package/build/cjs/sr25519/pair/fromU8a.js +17 -0
- package/build/cjs/sr25519/pair/toU8a.d.ts +2 -0
- package/build/cjs/sr25519/pair/toU8a.js +7 -0
- package/build/cjs/sr25519/sign.d.ts +6 -0
- package/build/cjs/sr25519/sign.js +19 -0
- package/build/cjs/sr25519/verify.d.ts +5 -0
- package/build/cjs/sr25519/verify.js +21 -0
- package/build/cjs/sr25519/vrfSign.d.ts +6 -0
- package/build/cjs/sr25519/vrfSign.js +19 -0
- package/build/cjs/sr25519/vrfVerify.d.ts +5 -0
- package/build/cjs/sr25519/vrfVerify.js +22 -0
- package/build/cjs/types.d.ts +26 -0
- package/build/cjs/types.js +5 -0
- package/build/cjs/xxhash/asU8a.d.ts +20 -0
- package/build/cjs/xxhash/asU8a.js +39 -0
- package/build/cjs/xxhash/index.d.ts +4 -0
- package/build/cjs/xxhash/index.js +9 -0
- package/build/cjs/xxhash/xxhash64.d.ts +1 -0
- package/build/cjs/xxhash/xxhash64.js +103 -0
- package/build/crypto.d.ts +3 -0
- package/build/crypto.js +12 -0
- package/build/ed25519/deriveHard.d.ts +1 -0
- package/build/ed25519/deriveHard.js +9 -0
- package/build/ed25519/index.d.ts +10 -0
- package/build/ed25519/index.js +10 -0
- package/build/ed25519/pair/fromRandom.d.ts +16 -0
- package/build/ed25519/pair/fromRandom.js +19 -0
- package/build/ed25519/pair/fromSecret.d.ts +16 -0
- package/build/ed25519/pair/fromSecret.js +23 -0
- package/build/ed25519/pair/fromSeed.d.ts +16 -0
- package/build/ed25519/pair/fromSeed.js +31 -0
- package/build/ed25519/pair/fromString.d.ts +16 -0
- package/build/ed25519/pair/fromString.js +20 -0
- package/build/ed25519/sign.d.ts +16 -0
- package/build/ed25519/sign.js +30 -0
- package/build/ed25519/verify.d.ts +15 -0
- package/build/ed25519/verify.js +36 -0
- package/build/ethereum/encode.d.ts +2 -0
- package/build/ethereum/encode.js +25 -0
- package/build/ethereum/index.d.ts +3 -0
- package/build/ethereum/index.js +3 -0
- package/build/ethereum/isAddress.d.ts +1 -0
- package/build/ethereum/isAddress.js +11 -0
- package/build/ethereum/isChecksum.d.ts +1 -0
- package/build/ethereum/isChecksum.js +17 -0
- package/build/hd/ethereum/index.d.ts +2 -0
- package/build/hd/ethereum/index.js +44 -0
- package/build/hd/index.d.ts +3 -0
- package/build/hd/index.js +3 -0
- package/build/hd/ledger/derivePrivate.d.ts +1 -0
- package/build/hd/ledger/derivePrivate.js +12 -0
- package/build/hd/ledger/index.d.ts +2 -0
- package/build/hd/ledger/index.js +30 -0
- package/build/hd/ledger/master.d.ts +1 -0
- package/build/hd/ledger/master.js +16 -0
- package/build/hd/validatePath.d.ts +2 -0
- package/build/hd/validatePath.js +16 -0
- package/build/helpers.d.ts +12 -0
- package/build/helpers.js +19 -0
- package/build/hmac/index.d.ts +1 -0
- package/build/hmac/index.js +1 -0
- package/build/hmac/shaAsU8a.d.ts +15 -0
- package/build/hmac/shaAsU8a.js +36 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +2 -0
- package/build/json/constants.d.ts +6 -0
- package/build/json/constants.js +5 -0
- package/build/json/decrypt.d.ts +2 -0
- package/build/json/decrypt.js +13 -0
- package/build/json/decryptData.d.ts +2 -0
- package/build/json/decryptData.js +29 -0
- package/build/json/encrypt.d.ts +2 -0
- package/build/json/encrypt.js +15 -0
- package/build/json/encryptFormat.d.ts +2 -0
- package/build/json/encryptFormat.js +14 -0
- package/build/json/index.d.ts +4 -0
- package/build/json/index.js +4 -0
- package/build/json/types.d.ts +16 -0
- package/build/json/types.js +1 -0
- package/build/keccak/asU8a.d.ts +30 -0
- package/build/keccak/asU8a.js +33 -0
- package/build/keccak/index.d.ts +4 -0
- package/build/keccak/index.js +4 -0
- package/build/key/DeriveJunction.d.ts +12 -0
- package/build/key/DeriveJunction.js +58 -0
- package/build/key/extractPath.d.ts +9 -0
- package/build/key/extractPath.js +23 -0
- package/build/key/extractSuri.d.ts +11 -0
- package/build/key/extractSuri.js +22 -0
- package/build/key/fromPath.d.ts +3 -0
- package/build/key/fromPath.js +18 -0
- package/build/key/hdkdDerive.d.ts +3 -0
- package/build/key/hdkdDerive.js +8 -0
- package/build/key/hdkdEcdsa.d.ts +1 -0
- package/build/key/hdkdEcdsa.js +4 -0
- package/build/key/hdkdEd25519.d.ts +1 -0
- package/build/key/hdkdEd25519.js +3 -0
- package/build/key/hdkdSr25519.d.ts +3 -0
- package/build/key/hdkdSr25519.js +7 -0
- package/build/key/index.d.ts +9 -0
- package/build/key/index.js +9 -0
- package/build/mnemonic/bip39.d.ts +5 -0
- package/build/mnemonic/bip39.js +82 -0
- package/build/mnemonic/generate.d.ts +13 -0
- package/build/mnemonic/generate.js +20 -0
- package/build/mnemonic/index.d.ts +8 -0
- package/build/mnemonic/index.js +8 -0
- package/build/mnemonic/toEntropy.d.ts +1 -0
- package/build/mnemonic/toEntropy.js +8 -0
- package/build/mnemonic/toLegacySeed.d.ts +18 -0
- package/build/mnemonic/toLegacySeed.js +34 -0
- package/build/mnemonic/toMiniSecret.d.ts +1 -0
- package/build/mnemonic/toMiniSecret.js +17 -0
- package/build/mnemonic/validate.d.ts +14 -0
- package/build/mnemonic/validate.js +21 -0
- package/build/mnemonic/wordlists/en.d.ts +2 -0
- package/build/mnemonic/wordlists/en.js +1 -0
- package/build/mnemonic/wordlists/es.d.ts +2 -0
- package/build/mnemonic/wordlists/es.js +1 -0
- package/build/mnemonic/wordlists/fr.d.ts +2 -0
- package/build/mnemonic/wordlists/fr.js +1 -0
- package/build/mnemonic/wordlists/index.d.ts +8 -0
- package/build/mnemonic/wordlists/index.js +8 -0
- package/build/mnemonic/wordlists/it.d.ts +2 -0
- package/build/mnemonic/wordlists/it.js +1 -0
- package/build/mnemonic/wordlists/jp.d.ts +2 -0
- package/build/mnemonic/wordlists/jp.js +1 -0
- package/build/mnemonic/wordlists/ko.d.ts +2 -0
- package/build/mnemonic/wordlists/ko.js +1 -0
- package/build/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build/mnemonic/wordlists/zh-s.js +1 -0
- package/build/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build/mnemonic/wordlists/zh-t.js +1 -0
- package/build/nacl/decrypt.d.ts +15 -0
- package/build/nacl/decrypt.js +18 -0
- package/build/nacl/encrypt.d.ts +20 -0
- package/build/nacl/encrypt.js +22 -0
- package/build/nacl/index.d.ts +5 -0
- package/build/nacl/index.js +5 -0
- package/build/nacl/tweetnacl.d.ts +2 -0
- package/build/nacl/tweetnacl.js +234 -0
- package/build/networks.d.ts +1 -0
- package/build/networks.js +1 -0
- package/build/package.json +2057 -0
- package/build/packageDetect.d.ts +1 -0
- package/build/packageDetect.js +6 -0
- package/build/packageInfo.d.ts +6 -0
- package/build/packageInfo.js +1 -0
- package/build/pbkdf2/encode.d.ts +7 -0
- package/build/pbkdf2/encode.js +16 -0
- package/build/pbkdf2/index.d.ts +1 -0
- package/build/pbkdf2/index.js +1 -0
- package/build/random/asNumber.d.ts +15 -0
- package/build/random/asNumber.js +20 -0
- package/build/random/asU8a.d.ts +20 -0
- package/build/random/asU8a.js +24 -0
- package/build/random/index.d.ts +5 -0
- package/build/random/index.js +5 -0
- package/build/scrypt/defaults.d.ts +3 -0
- package/build/scrypt/defaults.js +13 -0
- package/build/scrypt/encode.d.ts +8 -0
- package/build/scrypt/encode.js +15 -0
- package/build/scrypt/fromU8a.d.ts +7 -0
- package/build/scrypt/fromU8a.js +24 -0
- package/build/scrypt/index.d.ts +3 -0
- package/build/scrypt/index.js +3 -0
- package/build/scrypt/toU8a.d.ts +2 -0
- package/build/scrypt/toU8a.js +5 -0
- package/build/scrypt/types.d.ts +6 -0
- package/build/scrypt/types.js +1 -0
- package/build/secp256k1/compress.d.ts +1 -0
- package/build/secp256k1/compress.js +14 -0
- package/build/secp256k1/deriveHard.d.ts +1 -0
- package/build/secp256k1/deriveHard.js +10 -0
- package/build/secp256k1/expand.d.ts +1 -0
- package/build/secp256k1/expand.js +17 -0
- package/build/secp256k1/hasher.d.ts +2 -0
- package/build/secp256k1/hasher.js +7 -0
- package/build/secp256k1/index.d.ts +7 -0
- package/build/secp256k1/index.js +7 -0
- package/build/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build/secp256k1/pair/fromSeed.js +31 -0
- package/build/secp256k1/recover.d.ts +6 -0
- package/build/secp256k1/recover.js +26 -0
- package/build/secp256k1/sign.d.ts +7 -0
- package/build/secp256k1/sign.js +20 -0
- package/build/secp256k1/tweakAdd.d.ts +1 -0
- package/build/secp256k1/tweakAdd.js +45 -0
- package/build/secp256k1/types.d.ts +1 -0
- package/build/secp256k1/types.js +1 -0
- package/build/secp256k1/verify.d.ts +6 -0
- package/build/secp256k1/verify.js +20 -0
- package/build/sha/asU8a.d.ts +15 -0
- package/build/sha/asU8a.js +19 -0
- package/build/sha/index.d.ts +4 -0
- package/build/sha/index.js +4 -0
- package/build/signature/index.d.ts +4 -0
- package/build/signature/index.js +4 -0
- package/build/signature/verify.d.ts +2 -0
- package/build/signature/verify.js +78 -0
- package/build/sr25519/agreement.d.ts +5 -0
- package/build/sr25519/agreement.js +17 -0
- package/build/sr25519/derive.d.ts +2 -0
- package/build/sr25519/derive.js +12 -0
- package/build/sr25519/deriveHard.d.ts +1 -0
- package/build/sr25519/deriveHard.js +3 -0
- package/build/sr25519/derivePublic.d.ts +1 -0
- package/build/sr25519/derivePublic.js +12 -0
- package/build/sr25519/deriveSoft.d.ts +1 -0
- package/build/sr25519/deriveSoft.js +3 -0
- package/build/sr25519/index.d.ts +9 -0
- package/build/sr25519/index.js +9 -0
- package/build/sr25519/pair/fromSeed.d.ts +6 -0
- package/build/sr25519/pair/fromSeed.js +18 -0
- package/build/sr25519/pair/fromU8a.d.ts +2 -0
- package/build/sr25519/pair/fromU8a.js +14 -0
- package/build/sr25519/pair/toU8a.d.ts +2 -0
- package/build/sr25519/pair/toU8a.js +4 -0
- package/build/sr25519/sign.d.ts +6 -0
- package/build/sr25519/sign.js +15 -0
- package/build/sr25519/verify.d.ts +5 -0
- package/build/sr25519/verify.js +17 -0
- package/build/sr25519/vrfSign.d.ts +6 -0
- package/build/sr25519/vrfSign.js +15 -0
- package/build/sr25519/vrfVerify.d.ts +5 -0
- package/build/sr25519/vrfVerify.js +18 -0
- package/build/types.d.ts +26 -0
- package/build/types.js +2 -0
- package/build/xxhash/asU8a.d.ts +20 -0
- package/build/xxhash/asU8a.js +35 -0
- package/build/xxhash/index.d.ts +4 -0
- package/build/xxhash/index.js +4 -0
- package/build/xxhash/xxhash64.d.ts +1 -0
- package/build/xxhash/xxhash64.js +100 -0
- package/build-deno/README.md +17 -0
- package/build-deno/address/addressToEvm.ts +10 -0
- package/build-deno/address/check.ts +32 -0
- package/build-deno/address/checksum.ts +23 -0
- package/build-deno/address/decode.ts +38 -0
- package/build-deno/address/defaults.ts +10 -0
- package/build-deno/address/derive.ts +34 -0
- package/build-deno/address/encode.ts +39 -0
- package/build-deno/address/encodeDerived.ts +17 -0
- package/build-deno/address/encodeMulti.ts +16 -0
- package/build-deno/address/eq.ts +22 -0
- package/build-deno/address/evmToAddress.ts +22 -0
- package/build-deno/address/index.ts +18 -0
- package/build-deno/address/is.ts +12 -0
- package/build-deno/address/keyDerived.ts +20 -0
- package/build-deno/address/keyMulti.ts +21 -0
- package/build-deno/address/setSS58Format.ts +18 -0
- package/build-deno/address/sort.ts +15 -0
- package/build-deno/address/sshash.ts +10 -0
- package/build-deno/address/types.ts +2 -0
- package/build-deno/address/util.ts +6 -0
- package/build-deno/address/validate.ts +8 -0
- package/build-deno/base32/bs32.ts +51 -0
- package/build-deno/base32/helpers.ts +90 -0
- package/build-deno/base32/index.ts +6 -0
- package/build-deno/base58/bs58.ts +41 -0
- package/build-deno/base58/index.ts +6 -0
- package/build-deno/base64/bs64.ts +41 -0
- package/build-deno/base64/index.ts +8 -0
- package/build-deno/base64/pad.ts +8 -0
- package/build-deno/base64/trim.ts +12 -0
- package/build-deno/blake2/asU8a.ts +38 -0
- package/build-deno/blake2/index.ts +6 -0
- package/build-deno/bn.ts +13 -0
- package/build-deno/bundle.ts +29 -0
- package/build-deno/bundleInit.ts +8 -0
- package/build-deno/crypto.ts +16 -0
- package/build-deno/ed25519/deriveHard.ts +16 -0
- package/build-deno/ed25519/index.ts +11 -0
- package/build-deno/ed25519/pair/fromRandom.ts +23 -0
- package/build-deno/ed25519/pair/fromSecret.ts +27 -0
- package/build-deno/ed25519/pair/fromSeed.ts +39 -0
- package/build-deno/ed25519/pair/fromString.ts +29 -0
- package/build-deno/ed25519/sign.ts +36 -0
- package/build-deno/ed25519/verify.ts +39 -0
- package/build-deno/ethereum/encode.ts +37 -0
- package/build-deno/ethereum/index.ts +4 -0
- package/build-deno/ethereum/isAddress.ts +14 -0
- package/build-deno/ethereum/isChecksum.ts +25 -0
- package/build-deno/hd/ethereum/index.ts +69 -0
- package/build-deno/hd/index.ts +4 -0
- package/build-deno/hd/ledger/derivePrivate.ts +31 -0
- package/build-deno/hd/ledger/index.ts +40 -0
- package/build-deno/hd/ledger/master.ts +23 -0
- package/build-deno/hd/validatePath.ts +22 -0
- package/build-deno/helpers.ts +35 -0
- package/build-deno/hmac/index.ts +2 -0
- package/build-deno/hmac/shaAsU8a.ts +46 -0
- package/build-deno/index.ts +4 -0
- package/build-deno/json/constants.ts +9 -0
- package/build-deno/json/decrypt.ts +23 -0
- package/build-deno/json/decryptData.ts +43 -0
- package/build-deno/json/encrypt.ts +23 -0
- package/build-deno/json/encryptFormat.ts +18 -0
- package/build-deno/json/index.ts +5 -0
- package/build-deno/json/types.ts +20 -0
- package/build-deno/keccak/asU8a.ts +45 -0
- package/build-deno/keccak/index.ts +6 -0
- package/build-deno/key/DeriveJunction.ts +77 -0
- package/build-deno/key/extractPath.ts +35 -0
- package/build-deno/key/extractSuri.ts +38 -0
- package/build-deno/key/fromPath.ts +26 -0
- package/build-deno/key/hdkdDerive.ts +15 -0
- package/build-deno/key/hdkdEcdsa.ts +6 -0
- package/build-deno/key/hdkdEd25519.ts +5 -0
- package/build-deno/key/hdkdSr25519.ts +12 -0
- package/build-deno/key/index.ts +10 -0
- package/build-deno/mnemonic/bip39.ts +115 -0
- package/build-deno/mnemonic/generate.ts +23 -0
- package/build-deno/mnemonic/index.ts +9 -0
- package/build-deno/mnemonic/toEntropy.ts +11 -0
- package/build-deno/mnemonic/toLegacySeed.ts +37 -0
- package/build-deno/mnemonic/toMiniSecret.ts +21 -0
- package/build-deno/mnemonic/validate.ts +24 -0
- package/build-deno/mnemonic/wordlists/en.ts +3 -0
- package/build-deno/mnemonic/wordlists/es.ts +3 -0
- package/build-deno/mnemonic/wordlists/fr.ts +3 -0
- package/build-deno/mnemonic/wordlists/index.ts +9 -0
- package/build-deno/mnemonic/wordlists/it.ts +3 -0
- package/build-deno/mnemonic/wordlists/jp.ts +3 -0
- package/build-deno/mnemonic/wordlists/ko.ts +3 -0
- package/build-deno/mnemonic/wordlists/zh-s.ts +3 -0
- package/build-deno/mnemonic/wordlists/zh-t.ts +3 -0
- package/build-deno/mod.ts +2 -0
- package/build-deno/nacl/decrypt.ts +20 -0
- package/build-deno/nacl/encrypt.ts +29 -0
- package/build-deno/nacl/index.ts +6 -0
- package/build-deno/nacl/tweetnacl.ts +344 -0
- package/build-deno/networks.ts +2 -0
- package/build-deno/packageDetect.ts +10 -0
- package/build-deno/packageInfo.ts +3 -0
- package/build-deno/pbkdf2/encode.ts +27 -0
- package/build-deno/pbkdf2/index.ts +2 -0
- package/build-deno/random/asNumber.ts +26 -0
- package/build-deno/random/asU8a.ts +28 -0
- package/build-deno/random/index.ts +7 -0
- package/build-deno/scrypt/defaults.ts +17 -0
- package/build-deno/scrypt/encode.ts +28 -0
- package/build-deno/scrypt/fromU8a.ts +42 -0
- package/build-deno/scrypt/index.ts +4 -0
- package/build-deno/scrypt/toU8a.ts +15 -0
- package/build-deno/scrypt/types.ts +7 -0
- package/build-deno/secp256k1/compress.ts +19 -0
- package/build-deno/secp256k1/deriveHard.ts +15 -0
- package/build-deno/secp256k1/expand.ts +28 -0
- package/build-deno/secp256k1/hasher.ts +11 -0
- package/build-deno/secp256k1/index.ts +8 -0
- package/build-deno/secp256k1/pair/fromSeed.ts +40 -0
- package/build-deno/secp256k1/recover.ts +34 -0
- package/build-deno/secp256k1/sign.ts +35 -0
- package/build-deno/secp256k1/tweakAdd.ts +61 -0
- package/build-deno/secp256k1/types.ts +2 -0
- package/build-deno/secp256k1/verify.ts +30 -0
- package/build-deno/sha/asU8a.ts +28 -0
- package/build-deno/sha/index.ts +6 -0
- package/build-deno/signature/index.ts +6 -0
- package/build-deno/signature/verify.ts +112 -0
- package/build-deno/sr25519/agreement.ts +21 -0
- package/build-deno/sr25519/derive.ts +19 -0
- package/build-deno/sr25519/deriveHard.ts +6 -0
- package/build-deno/sr25519/derivePublic.ts +16 -0
- package/build-deno/sr25519/deriveSoft.ts +6 -0
- package/build-deno/sr25519/index.ts +10 -0
- package/build-deno/sr25519/pair/fromSeed.ts +26 -0
- package/build-deno/sr25519/pair/fromU8a.ts +21 -0
- package/build-deno/sr25519/pair/toU8a.ts +8 -0
- package/build-deno/sr25519/sign.ts +20 -0
- package/build-deno/sr25519/verify.ts +21 -0
- package/build-deno/sr25519/vrfSign.ts +22 -0
- package/build-deno/sr25519/vrfVerify.ts +23 -0
- package/build-deno/test/index.ts +4 -0
- package/build-deno/test/performance.ts +15 -0
- package/build-deno/types.ts +31 -0
- package/build-deno/xxhash/asU8a.ts +45 -0
- package/build-deno/xxhash/index.ts +6 -0
- package/build-deno/xxhash/xxhash64.ts +138 -0
- package/build-tsc/address/addressToEvm.d.ts +5 -0
- package/build-tsc/address/check.d.ts +8 -0
- package/build-tsc/address/checksum.d.ts +1 -0
- package/build-tsc/address/decode.d.ts +2 -0
- package/build-tsc/address/defaults.d.ts +6 -0
- package/build-tsc/address/derive.d.ts +8 -0
- package/build-tsc/address/encode.d.ts +2 -0
- package/build-tsc/address/encodeDerived.d.ts +9 -0
- package/build-tsc/address/encodeMulti.d.ts +9 -0
- package/build-tsc/address/eq.d.ts +15 -0
- package/build-tsc/address/evmToAddress.d.ts +7 -0
- package/build-tsc/address/index.d.ts +16 -0
- package/build-tsc/address/is.d.ts +2 -0
- package/build-tsc/address/keyDerived.d.ts +2 -0
- package/build-tsc/address/keyMulti.d.ts +2 -0
- package/build-tsc/address/setSS58Format.d.ts +6 -0
- package/build-tsc/address/sort.d.ts +2 -0
- package/build-tsc/address/sshash.d.ts +1 -0
- package/build-tsc/address/types.d.ts +1 -0
- package/build-tsc/address/util.d.ts +1 -0
- package/build-tsc/address/validate.d.ts +2 -0
- package/build-tsc/base32/bs32.d.ts +26 -0
- package/build-tsc/base32/helpers.d.ts +25 -0
- package/build-tsc/base32/index.d.ts +4 -0
- package/build-tsc/base58/bs58.d.ts +26 -0
- package/build-tsc/base58/index.d.ts +4 -0
- package/build-tsc/base64/bs64.d.ts +26 -0
- package/build-tsc/base64/index.d.ts +6 -0
- package/build-tsc/base64/pad.d.ts +5 -0
- package/build-tsc/base64/trim.d.ts +5 -0
- package/build-tsc/blake2/asU8a.d.ts +20 -0
- package/build-tsc/blake2/index.d.ts +4 -0
- package/build-tsc/bn.d.ts +30 -0
- package/build-tsc/bundle.d.ts +26 -0
- package/build-tsc/bundleInit.d.ts +1 -0
- package/build-tsc/crypto.d.ts +3 -0
- package/build-tsc/ed25519/deriveHard.d.ts +1 -0
- package/build-tsc/ed25519/index.d.ts +10 -0
- package/build-tsc/ed25519/pair/fromRandom.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromSecret.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromSeed.d.ts +16 -0
- package/build-tsc/ed25519/pair/fromString.d.ts +16 -0
- package/build-tsc/ed25519/sign.d.ts +16 -0
- package/build-tsc/ed25519/verify.d.ts +15 -0
- package/build-tsc/ethereum/encode.d.ts +2 -0
- package/build-tsc/ethereum/index.d.ts +3 -0
- package/build-tsc/ethereum/isAddress.d.ts +1 -0
- package/build-tsc/ethereum/isChecksum.d.ts +1 -0
- package/build-tsc/hd/ethereum/index.d.ts +2 -0
- package/build-tsc/hd/index.d.ts +3 -0
- package/build-tsc/hd/ledger/derivePrivate.d.ts +1 -0
- package/build-tsc/hd/ledger/index.d.ts +2 -0
- package/build-tsc/hd/ledger/master.d.ts +1 -0
- package/build-tsc/hd/validatePath.d.ts +2 -0
- package/build-tsc/helpers.d.ts +12 -0
- package/build-tsc/hmac/index.d.ts +1 -0
- package/build-tsc/hmac/shaAsU8a.d.ts +15 -0
- package/build-tsc/index.d.ts +2 -0
- package/build-tsc/json/constants.d.ts +6 -0
- package/build-tsc/json/decrypt.d.ts +2 -0
- package/build-tsc/json/decryptData.d.ts +2 -0
- package/build-tsc/json/encrypt.d.ts +2 -0
- package/build-tsc/json/encryptFormat.d.ts +2 -0
- package/build-tsc/json/index.d.ts +4 -0
- package/build-tsc/json/types.d.ts +16 -0
- package/build-tsc/keccak/asU8a.d.ts +30 -0
- package/build-tsc/keccak/index.d.ts +4 -0
- package/build-tsc/key/DeriveJunction.d.ts +12 -0
- package/build-tsc/key/extractPath.d.ts +9 -0
- package/build-tsc/key/extractSuri.d.ts +11 -0
- package/build-tsc/key/fromPath.d.ts +3 -0
- package/build-tsc/key/hdkdDerive.d.ts +3 -0
- package/build-tsc/key/hdkdEcdsa.d.ts +1 -0
- package/build-tsc/key/hdkdEd25519.d.ts +1 -0
- package/build-tsc/key/hdkdSr25519.d.ts +3 -0
- package/build-tsc/key/index.d.ts +9 -0
- package/build-tsc/mnemonic/bip39.d.ts +5 -0
- package/build-tsc/mnemonic/generate.d.ts +13 -0
- package/build-tsc/mnemonic/index.d.ts +8 -0
- package/build-tsc/mnemonic/toEntropy.d.ts +1 -0
- package/build-tsc/mnemonic/toLegacySeed.d.ts +18 -0
- package/build-tsc/mnemonic/toMiniSecret.d.ts +1 -0
- package/build-tsc/mnemonic/validate.d.ts +14 -0
- package/build-tsc/mnemonic/wordlists/en.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/es.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/fr.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/index.d.ts +8 -0
- package/build-tsc/mnemonic/wordlists/it.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/jp.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/ko.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/zh-s.d.ts +2 -0
- package/build-tsc/mnemonic/wordlists/zh-t.d.ts +2 -0
- package/build-tsc/nacl/decrypt.d.ts +15 -0
- package/build-tsc/nacl/encrypt.d.ts +20 -0
- package/build-tsc/nacl/index.d.ts +5 -0
- package/build-tsc/nacl/tweetnacl.d.ts +2 -0
- package/build-tsc/networks.d.ts +1 -0
- package/build-tsc/packageDetect.d.ts +1 -0
- package/build-tsc/packageInfo.d.ts +6 -0
- package/build-tsc/pbkdf2/encode.d.ts +7 -0
- package/build-tsc/pbkdf2/index.d.ts +1 -0
- package/build-tsc/random/asNumber.d.ts +15 -0
- package/build-tsc/random/asU8a.d.ts +20 -0
- package/build-tsc/random/index.d.ts +5 -0
- package/build-tsc/scrypt/defaults.d.ts +3 -0
- package/build-tsc/scrypt/encode.d.ts +8 -0
- package/build-tsc/scrypt/fromU8a.d.ts +7 -0
- package/build-tsc/scrypt/index.d.ts +3 -0
- package/build-tsc/scrypt/toU8a.d.ts +2 -0
- package/build-tsc/scrypt/types.d.ts +6 -0
- package/build-tsc/secp256k1/compress.d.ts +1 -0
- package/build-tsc/secp256k1/deriveHard.d.ts +1 -0
- package/build-tsc/secp256k1/expand.d.ts +1 -0
- package/build-tsc/secp256k1/hasher.d.ts +2 -0
- package/build-tsc/secp256k1/index.d.ts +7 -0
- package/build-tsc/secp256k1/pair/fromSeed.d.ts +6 -0
- package/build-tsc/secp256k1/recover.d.ts +6 -0
- package/build-tsc/secp256k1/sign.d.ts +7 -0
- package/build-tsc/secp256k1/tweakAdd.d.ts +1 -0
- package/build-tsc/secp256k1/types.d.ts +1 -0
- package/build-tsc/secp256k1/verify.d.ts +6 -0
- package/build-tsc/sha/asU8a.d.ts +15 -0
- package/build-tsc/sha/index.d.ts +4 -0
- package/build-tsc/signature/index.d.ts +4 -0
- package/build-tsc/signature/verify.d.ts +2 -0
- package/build-tsc/sr25519/agreement.d.ts +5 -0
- package/build-tsc/sr25519/derive.d.ts +2 -0
- package/build-tsc/sr25519/deriveHard.d.ts +1 -0
- package/build-tsc/sr25519/derivePublic.d.ts +1 -0
- package/build-tsc/sr25519/deriveSoft.d.ts +1 -0
- package/build-tsc/sr25519/index.d.ts +9 -0
- package/build-tsc/sr25519/pair/fromSeed.d.ts +6 -0
- package/build-tsc/sr25519/pair/fromU8a.d.ts +2 -0
- package/build-tsc/sr25519/pair/toU8a.d.ts +2 -0
- package/build-tsc/sr25519/sign.d.ts +6 -0
- package/build-tsc/sr25519/verify.d.ts +5 -0
- package/build-tsc/sr25519/vrfSign.d.ts +6 -0
- package/build-tsc/sr25519/vrfVerify.d.ts +5 -0
- package/build-tsc/types.d.ts +26 -0
- package/build-tsc/xxhash/asU8a.d.ts +20 -0
- package/build-tsc/xxhash/index.d.ts +4 -0
- package/build-tsc/xxhash/xxhash64.d.ts +1 -0
- package/build-tsc-cjs/address/addressToEvm.js +11 -0
- package/build-tsc-cjs/address/check.js +29 -0
- package/build-tsc-cjs/address/checksum.js +19 -0
- package/build-tsc-cjs/address/decode.js +32 -0
- package/build-tsc-cjs/address/defaults.js +11 -0
- package/build-tsc-cjs/address/derive.js +27 -0
- package/build-tsc-cjs/address/encode.js +26 -0
- package/build-tsc-cjs/address/encodeDerived.js +15 -0
- package/build-tsc-cjs/address/encodeMulti.js +14 -0
- package/build-tsc-cjs/address/eq.js +22 -0
- package/build-tsc-cjs/address/evmToAddress.js +17 -0
- package/build-tsc-cjs/address/index.js +35 -0
- package/build-tsc-cjs/address/is.js +12 -0
- package/build-tsc-cjs/address/keyDerived.js +11 -0
- package/build-tsc-cjs/address/keyMulti.js +11 -0
- package/build-tsc-cjs/address/setSS58Format.js +14 -0
- package/build-tsc-cjs/address/sort.js +10 -0
- package/build-tsc-cjs/address/sshash.js +9 -0
- package/build-tsc-cjs/address/types.js +2 -0
- package/build-tsc-cjs/address/util.js +7 -0
- package/build-tsc-cjs/address/validate.js +7 -0
- package/build-tsc-cjs/base32/bs32.js +43 -0
- package/build-tsc-cjs/base32/helpers.js +67 -0
- package/build-tsc-cjs/base32/index.js +11 -0
- package/build-tsc-cjs/base58/bs58.js +37 -0
- package/build-tsc-cjs/base58/index.js +11 -0
- package/build-tsc-cjs/base64/bs64.js +37 -0
- package/build-tsc-cjs/base64/index.js +15 -0
- package/build-tsc-cjs/base64/pad.js +10 -0
- package/build-tsc-cjs/base64/trim.js +13 -0
- package/build-tsc-cjs/blake2/asU8a.js +36 -0
- package/build-tsc-cjs/blake2/index.js +9 -0
- package/build-tsc-cjs/bn.js +11 -0
- package/build-tsc-cjs/bundle.js +31 -0
- package/build-tsc-cjs/bundleInit.js +7 -0
- package/build-tsc-cjs/crypto.js +16 -0
- package/build-tsc-cjs/ed25519/deriveHard.js +12 -0
- package/build-tsc-cjs/ed25519/index.js +20 -0
- package/build-tsc-cjs/ed25519/pair/fromRandom.js +22 -0
- package/build-tsc-cjs/ed25519/pair/fromSecret.js +26 -0
- package/build-tsc-cjs/ed25519/pair/fromSeed.js +34 -0
- package/build-tsc-cjs/ed25519/pair/fromString.js +23 -0
- package/build-tsc-cjs/ed25519/sign.js +33 -0
- package/build-tsc-cjs/ed25519/verify.js +39 -0
- package/build-tsc-cjs/ethereum/encode.js +28 -0
- package/build-tsc-cjs/ethereum/index.js +9 -0
- package/build-tsc-cjs/ethereum/isAddress.js +14 -0
- package/build-tsc-cjs/ethereum/isChecksum.js +20 -0
- package/build-tsc-cjs/hd/ethereum/index.js +47 -0
- package/build-tsc-cjs/hd/index.js +9 -0
- package/build-tsc-cjs/hd/ledger/derivePrivate.js +15 -0
- package/build-tsc-cjs/hd/ledger/index.js +33 -0
- package/build-tsc-cjs/hd/ledger/master.js +19 -0
- package/build-tsc-cjs/hd/validatePath.js +20 -0
- package/build-tsc-cjs/helpers.js +24 -0
- package/build-tsc-cjs/hmac/index.js +7 -0
- package/build-tsc-cjs/hmac/shaAsU8a.js +40 -0
- package/build-tsc-cjs/index.js +5 -0
- package/build-tsc-cjs/json/constants.js +8 -0
- package/build-tsc-cjs/json/decrypt.js +16 -0
- package/build-tsc-cjs/json/decryptData.js +32 -0
- package/build-tsc-cjs/json/encrypt.js +18 -0
- package/build-tsc-cjs/json/encryptFormat.js +17 -0
- package/build-tsc-cjs/json/index.js +11 -0
- package/build-tsc-cjs/json/types.js +2 -0
- package/build-tsc-cjs/keccak/asU8a.js +36 -0
- package/build-tsc-cjs/keccak/index.js +11 -0
- package/build-tsc-cjs/key/DeriveJunction.js +62 -0
- package/build-tsc-cjs/key/extractPath.js +26 -0
- package/build-tsc-cjs/key/extractSuri.js +25 -0
- package/build-tsc-cjs/key/fromPath.js +21 -0
- package/build-tsc-cjs/key/hdkdDerive.js +11 -0
- package/build-tsc-cjs/key/hdkdEcdsa.js +7 -0
- package/build-tsc-cjs/key/hdkdEd25519.js +6 -0
- package/build-tsc-cjs/key/hdkdSr25519.js +10 -0
- package/build-tsc-cjs/key/index.js +18 -0
- package/build-tsc-cjs/mnemonic/bip39.js +90 -0
- package/build-tsc-cjs/mnemonic/generate.js +23 -0
- package/build-tsc-cjs/mnemonic/index.js +16 -0
- package/build-tsc-cjs/mnemonic/toEntropy.js +11 -0
- package/build-tsc-cjs/mnemonic/toLegacySeed.js +37 -0
- package/build-tsc-cjs/mnemonic/toMiniSecret.js +20 -0
- package/build-tsc-cjs/mnemonic/validate.js +24 -0
- package/build-tsc-cjs/mnemonic/wordlists/en.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/es.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/fr.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/index.js +20 -0
- package/build-tsc-cjs/mnemonic/wordlists/it.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/jp.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/ko.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/zh-s.js +3 -0
- package/build-tsc-cjs/mnemonic/wordlists/zh-t.js +3 -0
- package/build-tsc-cjs/nacl/decrypt.js +21 -0
- package/build-tsc-cjs/nacl/encrypt.js +25 -0
- package/build-tsc-cjs/nacl/index.js +10 -0
- package/build-tsc-cjs/nacl/tweetnacl.js +238 -0
- package/build-tsc-cjs/networks.js +7 -0
- package/build-tsc-cjs/packageDetect.js +8 -0
- package/build-tsc-cjs/packageInfo.js +4 -0
- package/build-tsc-cjs/pbkdf2/encode.js +19 -0
- package/build-tsc-cjs/pbkdf2/index.js +5 -0
- package/build-tsc-cjs/random/asNumber.js +23 -0
- package/build-tsc-cjs/random/asU8a.js +28 -0
- package/build-tsc-cjs/random/index.js +11 -0
- package/build-tsc-cjs/scrypt/defaults.js +16 -0
- package/build-tsc-cjs/scrypt/encode.js +18 -0
- package/build-tsc-cjs/scrypt/fromU8a.js +27 -0
- package/build-tsc-cjs/scrypt/index.js +9 -0
- package/build-tsc-cjs/scrypt/toU8a.js +8 -0
- package/build-tsc-cjs/scrypt/types.js +2 -0
- package/build-tsc-cjs/secp256k1/compress.js +17 -0
- package/build-tsc-cjs/secp256k1/deriveHard.js +13 -0
- package/build-tsc-cjs/secp256k1/expand.js +20 -0
- package/build-tsc-cjs/secp256k1/hasher.js +10 -0
- package/build-tsc-cjs/secp256k1/index.js +17 -0
- package/build-tsc-cjs/secp256k1/pair/fromSeed.js +34 -0
- package/build-tsc-cjs/secp256k1/recover.js +29 -0
- package/build-tsc-cjs/secp256k1/sign.js +23 -0
- package/build-tsc-cjs/secp256k1/tweakAdd.js +48 -0
- package/build-tsc-cjs/secp256k1/types.js +2 -0
- package/build-tsc-cjs/secp256k1/verify.js +23 -0
- package/build-tsc-cjs/sha/asU8a.js +22 -0
- package/build-tsc-cjs/sha/index.js +10 -0
- package/build-tsc-cjs/signature/index.js +8 -0
- package/build-tsc-cjs/signature/verify.js +81 -0
- package/build-tsc-cjs/sr25519/agreement.js +20 -0
- package/build-tsc-cjs/sr25519/derive.js +16 -0
- package/build-tsc-cjs/sr25519/deriveHard.js +7 -0
- package/build-tsc-cjs/sr25519/derivePublic.js +16 -0
- package/build-tsc-cjs/sr25519/deriveSoft.js +7 -0
- package/build-tsc-cjs/sr25519/index.js +21 -0
- package/build-tsc-cjs/sr25519/pair/fromSeed.js +22 -0
- package/build-tsc-cjs/sr25519/pair/fromU8a.js +17 -0
- package/build-tsc-cjs/sr25519/pair/toU8a.js +7 -0
- package/build-tsc-cjs/sr25519/sign.js +19 -0
- package/build-tsc-cjs/sr25519/verify.js +21 -0
- package/build-tsc-cjs/sr25519/vrfSign.js +19 -0
- package/build-tsc-cjs/sr25519/vrfVerify.js +22 -0
- package/build-tsc-cjs/types.js +5 -0
- package/build-tsc-cjs/xxhash/asU8a.js +39 -0
- package/build-tsc-cjs/xxhash/index.js +9 -0
- package/build-tsc-cjs/xxhash/xxhash64.js +103 -0
- package/build-tsc-esm/address/addressToEvm.js +8 -0
- package/build-tsc-esm/address/check.js +26 -0
- package/build-tsc-esm/address/checksum.js +16 -0
- package/build-tsc-esm/address/decode.js +29 -0
- package/build-tsc-esm/address/defaults.js +8 -0
- package/build-tsc-esm/address/derive.js +24 -0
- package/build-tsc-esm/address/encode.js +23 -0
- package/build-tsc-esm/address/encodeDerived.js +12 -0
- package/build-tsc-esm/address/encodeMulti.js +11 -0
- package/build-tsc-esm/address/eq.js +19 -0
- package/build-tsc-esm/address/evmToAddress.js +14 -0
- package/build-tsc-esm/address/index.js +16 -0
- package/build-tsc-esm/address/is.js +9 -0
- package/build-tsc-esm/address/keyDerived.js +8 -0
- package/build-tsc-esm/address/keyMulti.js +8 -0
- package/build-tsc-esm/address/setSS58Format.js +11 -0
- package/build-tsc-esm/address/sort.js +7 -0
- package/build-tsc-esm/address/sshash.js +6 -0
- package/build-tsc-esm/address/types.js +1 -0
- package/build-tsc-esm/address/util.js +4 -0
- package/build-tsc-esm/address/validate.js +4 -0
- package/build-tsc-esm/base32/bs32.js +40 -0
- package/build-tsc-esm/base32/helpers.js +61 -0
- package/build-tsc-esm/base32/index.js +4 -0
- package/build-tsc-esm/base58/bs58.js +34 -0
- package/build-tsc-esm/base58/index.js +4 -0
- package/build-tsc-esm/base64/bs64.js +34 -0
- package/build-tsc-esm/base64/index.js +6 -0
- package/build-tsc-esm/base64/pad.js +7 -0
- package/build-tsc-esm/base64/trim.js +10 -0
- package/build-tsc-esm/blake2/asU8a.js +32 -0
- package/build-tsc-esm/blake2/index.js +4 -0
- package/build-tsc-esm/bn.js +8 -0
- package/build-tsc-esm/bundle.js +26 -0
- package/build-tsc-esm/bundleInit.js +5 -0
- package/build-tsc-esm/crypto.js +12 -0
- package/build-tsc-esm/ed25519/deriveHard.js +9 -0
- package/build-tsc-esm/ed25519/index.js +10 -0
- package/build-tsc-esm/ed25519/pair/fromRandom.js +19 -0
- package/build-tsc-esm/ed25519/pair/fromSecret.js +23 -0
- package/build-tsc-esm/ed25519/pair/fromSeed.js +31 -0
- package/build-tsc-esm/ed25519/pair/fromString.js +20 -0
- package/build-tsc-esm/ed25519/sign.js +30 -0
- package/build-tsc-esm/ed25519/verify.js +36 -0
- package/build-tsc-esm/ethereum/encode.js +25 -0
- package/build-tsc-esm/ethereum/index.js +3 -0
- package/build-tsc-esm/ethereum/isAddress.js +11 -0
- package/build-tsc-esm/ethereum/isChecksum.js +17 -0
- package/build-tsc-esm/hd/ethereum/index.js +44 -0
- package/build-tsc-esm/hd/index.js +3 -0
- package/build-tsc-esm/hd/ledger/derivePrivate.js +12 -0
- package/build-tsc-esm/hd/ledger/index.js +30 -0
- package/build-tsc-esm/hd/ledger/master.js +16 -0
- package/build-tsc-esm/hd/validatePath.js +16 -0
- package/build-tsc-esm/helpers.js +19 -0
- package/build-tsc-esm/hmac/index.js +1 -0
- package/build-tsc-esm/hmac/shaAsU8a.js +36 -0
- package/build-tsc-esm/index.js +2 -0
- package/build-tsc-esm/json/constants.js +5 -0
- package/build-tsc-esm/json/decrypt.js +13 -0
- package/build-tsc-esm/json/decryptData.js +29 -0
- package/build-tsc-esm/json/encrypt.js +15 -0
- package/build-tsc-esm/json/encryptFormat.js +14 -0
- package/build-tsc-esm/json/index.js +4 -0
- package/build-tsc-esm/json/types.js +1 -0
- package/build-tsc-esm/keccak/asU8a.js +33 -0
- package/build-tsc-esm/keccak/index.js +4 -0
- package/build-tsc-esm/key/DeriveJunction.js +58 -0
- package/build-tsc-esm/key/extractPath.js +23 -0
- package/build-tsc-esm/key/extractSuri.js +22 -0
- package/build-tsc-esm/key/fromPath.js +18 -0
- package/build-tsc-esm/key/hdkdDerive.js +8 -0
- package/build-tsc-esm/key/hdkdEcdsa.js +4 -0
- package/build-tsc-esm/key/hdkdEd25519.js +3 -0
- package/build-tsc-esm/key/hdkdSr25519.js +7 -0
- package/build-tsc-esm/key/index.js +9 -0
- package/build-tsc-esm/mnemonic/bip39.js +82 -0
- package/build-tsc-esm/mnemonic/generate.js +20 -0
- package/build-tsc-esm/mnemonic/index.js +8 -0
- package/build-tsc-esm/mnemonic/toEntropy.js +8 -0
- package/build-tsc-esm/mnemonic/toLegacySeed.js +34 -0
- package/build-tsc-esm/mnemonic/toMiniSecret.js +17 -0
- package/build-tsc-esm/mnemonic/validate.js +21 -0
- package/build-tsc-esm/mnemonic/wordlists/en.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/es.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/fr.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/index.js +8 -0
- package/build-tsc-esm/mnemonic/wordlists/it.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/jp.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/ko.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/zh-s.js +1 -0
- package/build-tsc-esm/mnemonic/wordlists/zh-t.js +1 -0
- package/build-tsc-esm/nacl/decrypt.js +18 -0
- package/build-tsc-esm/nacl/encrypt.js +22 -0
- package/build-tsc-esm/nacl/index.js +5 -0
- package/build-tsc-esm/nacl/tweetnacl.js +234 -0
- package/build-tsc-esm/networks.js +1 -0
- package/build-tsc-esm/packageDetect.js +6 -0
- package/build-tsc-esm/packageInfo.js +1 -0
- package/build-tsc-esm/pbkdf2/encode.js +16 -0
- package/build-tsc-esm/pbkdf2/index.js +1 -0
- package/build-tsc-esm/random/asNumber.js +20 -0
- package/build-tsc-esm/random/asU8a.js +24 -0
- package/build-tsc-esm/random/index.js +5 -0
- package/build-tsc-esm/scrypt/defaults.js +13 -0
- package/build-tsc-esm/scrypt/encode.js +15 -0
- package/build-tsc-esm/scrypt/fromU8a.js +24 -0
- package/build-tsc-esm/scrypt/index.js +3 -0
- package/build-tsc-esm/scrypt/toU8a.js +5 -0
- package/build-tsc-esm/scrypt/types.js +1 -0
- package/build-tsc-esm/secp256k1/compress.js +14 -0
- package/build-tsc-esm/secp256k1/deriveHard.js +10 -0
- package/build-tsc-esm/secp256k1/expand.js +17 -0
- package/build-tsc-esm/secp256k1/hasher.js +7 -0
- package/build-tsc-esm/secp256k1/index.js +7 -0
- package/build-tsc-esm/secp256k1/pair/fromSeed.js +31 -0
- package/build-tsc-esm/secp256k1/recover.js +26 -0
- package/build-tsc-esm/secp256k1/sign.js +20 -0
- package/build-tsc-esm/secp256k1/tweakAdd.js +45 -0
- package/build-tsc-esm/secp256k1/types.js +1 -0
- package/build-tsc-esm/secp256k1/verify.js +20 -0
- package/build-tsc-esm/sha/asU8a.js +19 -0
- package/build-tsc-esm/sha/index.js +4 -0
- package/build-tsc-esm/signature/index.js +4 -0
- package/build-tsc-esm/signature/verify.js +78 -0
- package/build-tsc-esm/sr25519/agreement.js +17 -0
- package/build-tsc-esm/sr25519/derive.js +12 -0
- package/build-tsc-esm/sr25519/deriveHard.js +3 -0
- package/build-tsc-esm/sr25519/derivePublic.js +12 -0
- package/build-tsc-esm/sr25519/deriveSoft.js +3 -0
- package/build-tsc-esm/sr25519/index.js +9 -0
- package/build-tsc-esm/sr25519/pair/fromSeed.js +18 -0
- package/build-tsc-esm/sr25519/pair/fromU8a.js +14 -0
- package/build-tsc-esm/sr25519/pair/toU8a.js +4 -0
- package/build-tsc-esm/sr25519/sign.js +15 -0
- package/build-tsc-esm/sr25519/verify.js +17 -0
- package/build-tsc-esm/sr25519/vrfSign.js +15 -0
- package/build-tsc-esm/sr25519/vrfVerify.js +18 -0
- package/build-tsc-esm/types.js +2 -0
- package/build-tsc-esm/xxhash/asU8a.js +35 -0
- package/build-tsc-esm/xxhash/index.js +4 -0
- package/build-tsc-esm/xxhash/xxhash64.js +100 -0
- package/bundle-pezkuwi-util-crypto.js +8246 -8797
- package/cjs/blake2/asU8a.d.ts +1 -1
- package/cjs/keccak/asU8a.d.ts +1 -1
- package/cjs/packageInfo.js +1 -1
- package/cjs/scrypt/encode.d.ts +1 -1
- package/cjs/sr25519/agreement.js +2 -2
- package/cjs/xxhash/asU8a.d.ts +1 -1
- package/keccak/asU8a.d.ts +1 -1
- package/package.json +14 -14
- package/packageInfo.js +1 -1
- package/scrypt/encode.d.ts +1 -1
- package/src/address/addressToEvm.spec.ts +16 -0
- package/src/address/addressToEvm.ts +12 -0
- package/src/address/check.spec.ts +44 -0
- package/src/address/check.ts +34 -0
- package/src/address/checksum.spec.ts +45 -0
- package/src/address/checksum.ts +25 -0
- package/src/address/decode.spec.ts +138 -0
- package/src/address/decode.ts +41 -0
- package/src/address/defaults.ts +12 -0
- package/src/address/derive.spec.ts +26 -0
- package/src/address/derive.ts +36 -0
- package/src/address/encode.spec.ts +177 -0
- package/src/address/encode.ts +43 -0
- package/src/address/encodeDerived.spec.ts +14 -0
- package/src/address/encodeDerived.ts +19 -0
- package/src/address/encodeMulti.spec.ts +18 -0
- package/src/address/encodeMulti.ts +18 -0
- package/src/address/eq.spec.ts +45 -0
- package/src/address/eq.ts +24 -0
- package/src/address/evmToAddress.spec.ts +20 -0
- package/src/address/evmToAddress.ts +24 -0
- package/src/address/index.ts +21 -0
- package/src/address/is.spec.ts +113 -0
- package/src/address/is.ts +14 -0
- package/src/address/keyDerived.spec.ts +24 -0
- package/src/address/keyDerived.ts +22 -0
- package/src/address/keyMulti.spec.ts +20 -0
- package/src/address/keyMulti.ts +23 -0
- package/src/address/setSS58Format.spec.ts +21 -0
- package/src/address/setSS58Format.ts +20 -0
- package/src/address/sort.spec.ts +22 -0
- package/src/address/sort.ts +17 -0
- package/src/address/sshash.ts +12 -0
- package/src/address/types.ts +6 -0
- package/src/address/util.ts +8 -0
- package/src/address/validate.spec.ts +113 -0
- package/src/address/validate.ts +10 -0
- package/src/base32/bs32.ts +53 -0
- package/src/base32/decode.spec.ts +34 -0
- package/src/base32/encode.spec.ts +30 -0
- package/src/base32/helpers.ts +93 -0
- package/src/base32/index.ts +8 -0
- package/src/base32/is.spec.ts +32 -0
- package/src/base32/validate.spec.ts +44 -0
- package/src/base58/bs58.ts +43 -0
- package/src/base58/decode.spec.ts +31 -0
- package/src/base58/encode.spec.ts +26 -0
- package/src/base58/index.ts +8 -0
- package/src/base58/validate.spec.ts +20 -0
- package/src/base64/bs64.ts +43 -0
- package/src/base64/decode.spec.ts +42 -0
- package/src/base64/encode.spec.ts +14 -0
- package/src/base64/index.ts +10 -0
- package/src/base64/pad.spec.ts +14 -0
- package/src/base64/pad.ts +10 -0
- package/src/base64/trim.spec.ts +14 -0
- package/src/base64/trim.ts +14 -0
- package/src/base64/validate.spec.ts +32 -0
- package/src/blake2/asHex.spec.ts +57 -0
- package/src/blake2/asU8a.spec.ts +74 -0
- package/src/blake2/asU8a.ts +40 -0
- package/src/blake2/index.ts +8 -0
- package/src/bn.ts +15 -0
- package/src/bundle.ts +33 -0
- package/src/bundleInit.ts +11 -0
- package/src/crypto.spec.ts +18 -0
- package/src/crypto.ts +18 -0
- package/src/ed25519/deriveHard.ts +18 -0
- package/src/ed25519/index.ts +13 -0
- package/src/ed25519/pair/fromRandom.spec.ts +28 -0
- package/src/ed25519/pair/fromRandom.ts +25 -0
- package/src/ed25519/pair/fromSecret.spec.ts +33 -0
- package/src/ed25519/pair/fromSecret.ts +29 -0
- package/src/ed25519/pair/fromSeed.spec.ts +42 -0
- package/src/ed25519/pair/fromSeed.ts +41 -0
- package/src/ed25519/pair/fromString.spec.ts +17 -0
- package/src/ed25519/pair/fromString.ts +31 -0
- package/src/ed25519/sign.spec.ts +40 -0
- package/src/ed25519/sign.ts +38 -0
- package/src/ed25519/verify.spec.ts +84 -0
- package/src/ed25519/verify.ts +41 -0
- package/src/ethereum/encode.spec.ts +59 -0
- package/src/ethereum/encode.ts +39 -0
- package/src/ethereum/index.ts +6 -0
- package/src/ethereum/isAddress.spec.ts +34 -0
- package/src/ethereum/isAddress.ts +16 -0
- package/src/ethereum/isChecksum.ts +27 -0
- package/src/ethereum/isCheksum.spec.ts +30 -0
- package/src/hd/ethereum/index.spec.ts +54 -0
- package/src/hd/ethereum/index.ts +69 -0
- package/src/hd/index.ts +6 -0
- package/src/hd/ledger/derivePrivate.ts +34 -0
- package/src/hd/ledger/index.spec.ts +64 -0
- package/src/hd/ledger/index.ts +42 -0
- package/src/hd/ledger/master.spec.ts +19 -0
- package/src/hd/ledger/master.ts +26 -0
- package/src/hd/validatePath.spec.ts +30 -0
- package/src/hd/validatePath.ts +24 -0
- package/src/helpers.ts +38 -0
- package/src/hmac/index.ts +4 -0
- package/src/hmac/shaAsU8a.spec.ts +45 -0
- package/src/hmac/shaAsU8a.ts +48 -0
- package/src/index.ts +6 -0
- package/src/json/constants.ts +11 -0
- package/src/json/decrypt.ts +25 -0
- package/src/json/decryptData.ts +45 -0
- package/src/json/encrypt.ts +25 -0
- package/src/json/encryptFormat.ts +20 -0
- package/src/json/index.ts +7 -0
- package/src/json/types.ts +22 -0
- package/src/keccak/asHex.spec.ts +30 -0
- package/src/keccak/asU8a.spec.ts +56 -0
- package/src/keccak/asU8a.ts +45 -0
- package/src/keccak/index.ts +8 -0
- package/src/key/DeriveJunction.ts +79 -0
- package/src/key/extractPath.spec.ts +51 -0
- package/src/key/extractPath.ts +37 -0
- package/src/key/extractSuri.spec.ts +147 -0
- package/src/key/extractSuri.ts +40 -0
- package/src/key/fromPath.ts +28 -0
- package/src/key/hdkdDerive.ts +17 -0
- package/src/key/hdkdEcdsa.ts +8 -0
- package/src/key/hdkdEd25519.ts +7 -0
- package/src/key/hdkdSr25519.ts +14 -0
- package/src/key/index.ts +12 -0
- package/src/mnemonic/bip39.spec.ts +80 -0
- package/src/mnemonic/bip39.ts +127 -0
- package/src/mnemonic/generate.spec.ts +58 -0
- package/src/mnemonic/generate.ts +25 -0
- package/src/mnemonic/index.ts +11 -0
- package/src/mnemonic/toEntropy.spec.ts +36 -0
- package/src/mnemonic/toEntropy.ts +13 -0
- package/src/mnemonic/toLegacySeed.spec.ts +52 -0
- package/src/mnemonic/toLegacySeed.ts +39 -0
- package/src/mnemonic/toMiniSecret.spec.ts +67 -0
- package/src/mnemonic/toMiniSecret.ts +23 -0
- package/src/mnemonic/toMiniSecretCmp.spec.ts +64 -0
- package/src/mnemonic/validate.spec.ts +39 -0
- package/src/mnemonic/validate.ts +26 -0
- package/src/mnemonic/wordlists/en.ts +7 -0
- package/src/mnemonic/wordlists/es.ts +7 -0
- package/src/mnemonic/wordlists/fr.ts +7 -0
- package/src/mnemonic/wordlists/index.ts +11 -0
- package/src/mnemonic/wordlists/it.ts +7 -0
- package/src/mnemonic/wordlists/jp.ts +7 -0
- package/src/mnemonic/wordlists/ko.ts +7 -0
- package/src/mnemonic/wordlists/zh-s.ts +7 -0
- package/src/mnemonic/wordlists/zh-t.ts +7 -0
- package/src/mod.ts +4 -0
- package/src/nacl/decrypt.spec.ts +26 -0
- package/src/nacl/decrypt.ts +22 -0
- package/src/nacl/encrypt.spec.ts +20 -0
- package/src/nacl/encrypt.ts +31 -0
- package/src/nacl/index.ts +8 -0
- package/src/nacl/tweetnacl-secretbox-data.spec.ts +4629 -0
- package/src/nacl/tweetnacl-secretbox.spec.ts +161 -0
- package/src/nacl/tweetnacl.ts +1159 -0
- package/src/networks.ts +5 -0
- package/src/packageDetect.ts +14 -0
- package/src/packageInfo.ts +6 -0
- package/src/pbkdf2/encode.spec.ts +54 -0
- package/src/pbkdf2/encode.ts +29 -0
- package/src/pbkdf2/index.ts +4 -0
- package/src/random/asHex.spec.ts +38 -0
- package/src/random/asNumber.spec.ts +16 -0
- package/src/random/asNumber.ts +28 -0
- package/src/random/asU8a.spec.ts +36 -0
- package/src/random/asU8a.ts +30 -0
- package/src/random/index.ts +9 -0
- package/src/scrypt/defaults.ts +19 -0
- package/src/scrypt/encode.spec.ts +43 -0
- package/src/scrypt/encode.ts +30 -0
- package/src/scrypt/fromU8a.ts +44 -0
- package/src/scrypt/index.ts +6 -0
- package/src/scrypt/toU8a.ts +17 -0
- package/src/scrypt/types.ts +9 -0
- package/src/secp256k1/compress.spec.ts +47 -0
- package/src/secp256k1/compress.ts +21 -0
- package/src/secp256k1/deriveHard.ts +17 -0
- package/src/secp256k1/expand.spec.ts +47 -0
- package/src/secp256k1/expand.ts +30 -0
- package/src/secp256k1/hasher.spec.ts +24 -0
- package/src/secp256k1/hasher.ts +13 -0
- package/src/secp256k1/index.ts +10 -0
- package/src/secp256k1/pair/fromSeed.spec.ts +75 -0
- package/src/secp256k1/pair/fromSeed.ts +42 -0
- package/src/secp256k1/recover.spec.ts +35 -0
- package/src/secp256k1/recover.ts +36 -0
- package/src/secp256k1/sign.spec.ts +39 -0
- package/src/secp256k1/sign.ts +37 -0
- package/src/secp256k1/signVerify.spec.ts +94 -0
- package/src/secp256k1/tweakAdd.spec.ts +35 -0
- package/src/secp256k1/tweakAdd.ts +65 -0
- package/src/secp256k1/types.ts +4 -0
- package/src/secp256k1/verify.spec.ts +81 -0
- package/src/secp256k1/verify.ts +32 -0
- package/src/sha/asU8a.ts +30 -0
- package/src/sha/asU8a256.spec.ts +55 -0
- package/src/sha/asU8a512.spec.ts +33 -0
- package/src/sha/index.ts +8 -0
- package/src/signature/index.ts +8 -0
- package/src/signature/verify.spec.ts +230 -0
- package/src/signature/verify.ts +114 -0
- package/src/sr25519/agreement.spec.ts +31 -0
- package/src/sr25519/agreement.ts +23 -0
- package/src/sr25519/derive.ts +21 -0
- package/src/sr25519/deriveHard.ts +9 -0
- package/src/sr25519/derivePublic.ts +18 -0
- package/src/sr25519/deriveSoft.ts +9 -0
- package/src/sr25519/index.ts +12 -0
- package/src/sr25519/pair/fromSeed.spec.ts +35 -0
- package/src/sr25519/pair/fromSeed.ts +28 -0
- package/src/sr25519/pair/fromU8a.ts +23 -0
- package/src/sr25519/pair/testing.spec.ts +161 -0
- package/src/sr25519/pair/toU8a.ts +10 -0
- package/src/sr25519/sign.spec.ts +28 -0
- package/src/sr25519/sign.ts +22 -0
- package/src/sr25519/verify.spec.ts +42 -0
- package/src/sr25519/verify.ts +23 -0
- package/src/sr25519/vrfSign.ts +24 -0
- package/src/sr25519/vrfSignVerify.spec.ts +73 -0
- package/src/sr25519/vrfVerify.ts +25 -0
- package/src/test/index.ts +8 -0
- package/src/test/performance.ts +17 -0
- package/src/types.ts +33 -0
- package/src/xxhash/asHex.spec.ts +36 -0
- package/src/xxhash/asU8a.spec.ts +48 -0
- package/src/xxhash/asU8a.ts +45 -0
- package/src/xxhash/index.ts +8 -0
- package/src/xxhash/xxhash64.ts +155 -0
- package/tsconfig.build.json +18 -0
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.spec.json +20 -0
- package/tsconfig.spec.tsbuildinfo +1 -0
- package/xxhash/asU8a.d.ts +1 -1
|
@@ -0,0 +1,177 @@
|
|
|
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 { encodeAddress } from './index.js';
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line jest/no-export
|
|
9
|
+
export const ALICE_PUBLIC_SR = new Uint8Array([212, 53, 147, 199, 21, 253, 211, 28, 97, 20, 26, 189, 4, 169, 159, 214, 130, 44, 133, 88, 133, 76, 205, 227, 154, 86, 132, 231, 165, 109, 162, 125]);
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line jest/no-export
|
|
12
|
+
export const ALICE_PUBLIC_ED = new Uint8Array([209, 114, 167, 76, 218, 76, 134, 89, 18, 195, 43, 160, 168, 10, 87, 174, 105, 171, 174, 65, 14, 92, 203, 89, 222, 232, 78, 47, 68, 50, 219, 79]);
|
|
13
|
+
|
|
14
|
+
const SUBKEY = [
|
|
15
|
+
{
|
|
16
|
+
// substrate default
|
|
17
|
+
address: '5DA4D4GL5iakrn22h5uKoevgvo18Pqj5BcdEUv8etEDPdijA',
|
|
18
|
+
publicKey: '0x3050f8456519829fe03302da802d22d3233a5f4037b9a3e2bcc403ccfcb2d735',
|
|
19
|
+
ss58Format: 42
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
// aventus
|
|
23
|
+
address: 'cLtA6nCDyvwKcEHH4QkZDSHMhS9s78BvUJUsKUbUAn1Jc2SCF',
|
|
24
|
+
publicKey: '0x08e8969768fc14399930d4b8d693f68a2ff6c6a597325d6946095e5e9d9d1b0e',
|
|
25
|
+
ss58Format: 65
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
// crust
|
|
29
|
+
address: 'cTGShekJ1L1UKFZR9xmv9UTJod7vqjFAPo4sDhXih2c3y1yLS',
|
|
30
|
+
publicKey: '0x04a047d52fe542484c69bc528990cfeaf3a663dded0638ee1b51cf78bacd1072',
|
|
31
|
+
ss58Format: 66
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
// sora
|
|
35
|
+
address: 'cnVRwXfAnz3RSVQyBUC8f8McrK3YBX2QYd4WoctpeSC6VTJYm',
|
|
36
|
+
publicKey: '0xae640d53cfa815f4a6a50ae70235cd7d9d134d0f1c3a4ccd118e321dfb6ab51f',
|
|
37
|
+
ss58Format: 69
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
// ecdsa
|
|
41
|
+
address: '4pbsSkWcBaYoFHrKJZp5fDVUKbqSYD9dhZZGvpp3vQ5ysVs5ybV',
|
|
42
|
+
publicKey: '0x035676109c54b9a16d271abeb4954316a40a32bcce023ac14c8e26e958aa68fba9',
|
|
43
|
+
ss58Format: 200
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
// social-network
|
|
47
|
+
address: 'xw5g1Eec8LT99pZLZMaTWwrwvNtfM6vrSuZeVbtEszCDUwByg',
|
|
48
|
+
publicKey: '0x5c64f1151f0ce4358c27238fb20c88e7c899825436f565410724c8c2c5add869',
|
|
49
|
+
ss58Format: 252
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
address: 'yGF4JP7q5AK46d1FPCEm9sYQ4KooSjHMpyVAjLnsCSWVafPnf',
|
|
53
|
+
publicKey: '0x66cd6cf085627d6c85af1aaf2bd10cf843033e929b4e3b1c2ba8e4aa46fe111b',
|
|
54
|
+
ss58Format: 255
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
address: 'yGDYxQatQwuxqT39Zs4LtcTnpzE12vXb7ZJ6xpdiHv6gTu1hF',
|
|
58
|
+
publicKey: '0x242fd5a078ac6b7c3c2531e9bcf1314343782aeb58e7bc6880794589e701db55',
|
|
59
|
+
ss58Format: 255
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
address: 'mHm8k9Emsvyfp3piCauSH684iA6NakctF8dySQcX94GDdrJrE',
|
|
63
|
+
publicKey: '0x44d5a3ac156335ea99d33a83c57c7146c40c8e2260a8a4adf4e7a86256454651',
|
|
64
|
+
ss58Format: 4242
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
address: 'r6Gr4gaMP8TsjhFbqvZhv3YvnasugLiRJpzpRHifsqqG18UXa',
|
|
68
|
+
publicKey: '0x88f01441682a17b52d6ae12d1a5670cf675fd254897efabaa5069eb3a701ab73',
|
|
69
|
+
ss58Format: 14269
|
|
70
|
+
}
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
describe('encode', (): void => {
|
|
74
|
+
it('encodes an address to a valid value', (): void => {
|
|
75
|
+
expect(
|
|
76
|
+
encodeAddress(ALICE_PUBLIC_ED)
|
|
77
|
+
).toEqual('5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaQua');
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it('can re-encode an address', (): void => {
|
|
81
|
+
expect(
|
|
82
|
+
encodeAddress('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', 2)
|
|
83
|
+
).toEqual('HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F');
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it('can re-encode an address to Polkadot live', (): void => {
|
|
87
|
+
expect(
|
|
88
|
+
encodeAddress('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', 0)
|
|
89
|
+
).toEqual('15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5');
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it('fails when non-valid publicKey provided', (): void => {
|
|
93
|
+
expect(
|
|
94
|
+
(): string => encodeAddress(
|
|
95
|
+
ALICE_PUBLIC_ED.slice(0, 30)
|
|
96
|
+
)
|
|
97
|
+
).toThrow(/Expected a valid key/);
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
it('encodes a 1-byte address', (): void => {
|
|
101
|
+
expect(
|
|
102
|
+
encodeAddress(
|
|
103
|
+
new Uint8Array([1])
|
|
104
|
+
)
|
|
105
|
+
).toEqual('F7NZ');
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('encodes a 1-byte address (with prefix)', (): void => {
|
|
109
|
+
expect(
|
|
110
|
+
encodeAddress(
|
|
111
|
+
new Uint8Array([1]), 2
|
|
112
|
+
)
|
|
113
|
+
).toEqual('g4b');
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it('encodes a 2-byte address', (): void => {
|
|
117
|
+
expect(
|
|
118
|
+
encodeAddress(
|
|
119
|
+
new Uint8Array([0, 1]), 2
|
|
120
|
+
)
|
|
121
|
+
).toEqual('3xygo');
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('encodes a 4-byte address', (): void => {
|
|
125
|
+
expect(
|
|
126
|
+
encodeAddress(
|
|
127
|
+
new Uint8Array([1, 2, 3, 4]), 2
|
|
128
|
+
)
|
|
129
|
+
).toEqual('zswfoZa');
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it('encodes a 8-byte address', (): void => {
|
|
133
|
+
expect(
|
|
134
|
+
encodeAddress(
|
|
135
|
+
new Uint8Array([42, 44, 10, 0, 0, 0, 0, 0]), 2
|
|
136
|
+
)
|
|
137
|
+
).toEqual('848Gh2GcGaZia');
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it('encodes an 33-byte address', (): void => {
|
|
141
|
+
expect(
|
|
142
|
+
encodeAddress('0x03b9dc646dd71118e5f7fda681ad9eca36eb3ee96f344f582fbe7b5bcdebb13077')
|
|
143
|
+
).toEqual('KWCv1L3QX9LDPwY4VzvLmarEmXjVJidUzZcinvVnmxAJJCBou');
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
it('encodes with 2 byte prefix', (): void => {
|
|
147
|
+
expect(
|
|
148
|
+
encodeAddress(ALICE_PUBLIC_ED, 255)
|
|
149
|
+
).toEqual('yGHU8YKprxHbHdEv7oUK4rzMZXtsdhcXVG2CAMyC9WhzhjH2k');
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
SUBKEY.forEach(({ address, publicKey, ss58Format }, index): void => {
|
|
153
|
+
it(`encodes with Subkey equality (${index} - ${ss58Format})`, (): void => {
|
|
154
|
+
expect(
|
|
155
|
+
encodeAddress(publicKey, ss58Format)
|
|
156
|
+
).toEqual(address);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
it('does not encode for > 16,383, < 0', (): void => {
|
|
161
|
+
expect(
|
|
162
|
+
() => encodeAddress(ALICE_PUBLIC_ED, -1)
|
|
163
|
+
).toThrow(/range ss58Format specified/);
|
|
164
|
+
expect(
|
|
165
|
+
() => encodeAddress(ALICE_PUBLIC_ED, 16384)
|
|
166
|
+
).toThrow(/range ss58Format specified/);
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it('does not encode reserved', (): void => {
|
|
170
|
+
expect(
|
|
171
|
+
() => encodeAddress(ALICE_PUBLIC_ED, 46)
|
|
172
|
+
).toThrow(/range ss58Format specified/);
|
|
173
|
+
expect(
|
|
174
|
+
() => encodeAddress(ALICE_PUBLIC_ED, 47)
|
|
175
|
+
).toThrow(/range ss58Format specified/);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { Prefix } from './types.js';
|
|
5
|
+
|
|
6
|
+
// Original implementation: https://github.com/paritytech/polka-ui/blob/4858c094684769080f5811f32b081dd7780b0880/src/polkadot.js#L34
|
|
7
|
+
import { u8aConcat } from '@pezkuwi/util';
|
|
8
|
+
|
|
9
|
+
import { base58Encode } from '../base58/index.js';
|
|
10
|
+
import { decodeAddress } from './decode.js';
|
|
11
|
+
import { defaults } from './defaults.js';
|
|
12
|
+
import { sshash } from './sshash.js';
|
|
13
|
+
|
|
14
|
+
export function encodeAddress (key: string | Uint8Array, ss58Format: Prefix = defaults.prefix): string {
|
|
15
|
+
// decode it, this means we can re-encode an address
|
|
16
|
+
const u8a = decodeAddress(key);
|
|
17
|
+
|
|
18
|
+
if ((ss58Format < 0) || (ss58Format > 16383 && !ss58Exceptions.includes(ss58Format)) || [46, 47].includes(ss58Format)) {
|
|
19
|
+
throw new Error('Out of range ss58Format specified');
|
|
20
|
+
} else if (!defaults.allowedDecodedLengths.includes(u8a.length)) {
|
|
21
|
+
throw new Error(`Expected a valid key to convert, with length ${defaults.allowedDecodedLengths.join(', ')}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const input = u8aConcat(
|
|
25
|
+
ss58Format < 64
|
|
26
|
+
? [ss58Format]
|
|
27
|
+
: [
|
|
28
|
+
((ss58Format & 0b0000_0000_1111_1100) >> 2) | 0b0100_0000,
|
|
29
|
+
(ss58Format >> 8) | ((ss58Format & 0b0000_0000_0000_0011) << 6)
|
|
30
|
+
],
|
|
31
|
+
u8a
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
return base58Encode(
|
|
35
|
+
u8aConcat(
|
|
36
|
+
input,
|
|
37
|
+
sshash(input).subarray(0, [32, 33].includes(u8a.length) ? 2 : 1)
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Exceptions like 29972 (Mythos chain) which uses Ethereum style account (not ss58 Encoded)
|
|
43
|
+
const ss58Exceptions = [29972];
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { encodeDerivedAddress } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('encodeDerivedAddress', (): void => {
|
|
9
|
+
it('creates a valid known derived address', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
encodeDerivedAddress('5GvUh7fGKsdBEh5XpypkfkGuf7j3vXLxH9BdxjxnJNVXRYi1', 0)
|
|
12
|
+
).toEqual('5E5XxqPxm7QbEs6twYfp3tyjXidn4kqRrNPH4o6JK9JSLUeD');
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { BN } from '@pezkuwi/util';
|
|
5
|
+
import type { Prefix } from './types.js';
|
|
6
|
+
|
|
7
|
+
import { decodeAddress } from './decode.js';
|
|
8
|
+
import { encodeAddress } from './encode.js';
|
|
9
|
+
import { createKeyDerived } from './keyDerived.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @name encodeDerivedAddress
|
|
13
|
+
* @summary Creates a derived address as used in Substrate utility.
|
|
14
|
+
* @description
|
|
15
|
+
* Creates a Substrate derived address based on the input address/publicKey and the index supplied.
|
|
16
|
+
*/
|
|
17
|
+
export function encodeDerivedAddress (who: string | Uint8Array, index: bigint | BN | number, ss58Format?: Prefix): string {
|
|
18
|
+
return encodeAddress(createKeyDerived(decodeAddress(who), index), ss58Format);
|
|
19
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 { encodeMultiAddress } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('encodeMultiAddress', (): void => {
|
|
9
|
+
it('creates a valid known multi address', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
encodeMultiAddress([
|
|
12
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
|
|
13
|
+
'5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty',
|
|
14
|
+
'5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y'
|
|
15
|
+
], 2)
|
|
16
|
+
).toEqual('5DjYJStmdZ2rcqXbXGX7TW85JsrW6uG4y9MUcLq2BoPMpRA7');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { BN } from '@pezkuwi/util';
|
|
5
|
+
import type { Prefix } from './types.js';
|
|
6
|
+
|
|
7
|
+
import { encodeAddress } from './encode.js';
|
|
8
|
+
import { createKeyMulti } from './keyMulti.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @name encodeMultiAddress
|
|
12
|
+
* @summary Creates a multisig address.
|
|
13
|
+
* @description
|
|
14
|
+
* Creates a Substrate multisig address based on the input address and the required threshold.
|
|
15
|
+
*/
|
|
16
|
+
export function encodeMultiAddress (who: (string | Uint8Array)[], threshold: bigint | BN | number, ss58Format?: Prefix): string {
|
|
17
|
+
return encodeAddress(createKeyMulti(who, threshold), ss58Format);
|
|
18
|
+
}
|
|
@@ -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 { ALICE_PUBLIC_SR } from './encode.spec.js';
|
|
7
|
+
import { addressEq } from './index.js';
|
|
8
|
+
|
|
9
|
+
describe('addressEq', (): void => {
|
|
10
|
+
it('returns false with non-equal', (): void => {
|
|
11
|
+
expect(
|
|
12
|
+
addressEq(
|
|
13
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
|
|
14
|
+
'5EnxxUmEbw8DkENKiYuZ1DwQuMoB2UWEQJZZXrTsxoz7SpgG'
|
|
15
|
+
)
|
|
16
|
+
).toEqual(false);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('returns true for equal, matching prefix', (): void => {
|
|
20
|
+
expect(
|
|
21
|
+
addressEq(
|
|
22
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
|
|
23
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'
|
|
24
|
+
)
|
|
25
|
+
).toEqual(true);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('returns true for equal, non-matching prefix', (): void => {
|
|
29
|
+
expect(
|
|
30
|
+
addressEq(
|
|
31
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
|
|
32
|
+
'15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5'
|
|
33
|
+
)
|
|
34
|
+
).toEqual(true);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('returns true for equal, address vs publicKey', (): void => {
|
|
38
|
+
expect(
|
|
39
|
+
addressEq(
|
|
40
|
+
'5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
|
|
41
|
+
ALICE_PUBLIC_SR
|
|
42
|
+
)
|
|
43
|
+
).toEqual(true);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { u8aEq } from '@pezkuwi/util';
|
|
5
|
+
|
|
6
|
+
import { decodeAddress } from './decode.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @name addressEq
|
|
10
|
+
* @summary Compares two addresses, either in ss58, Uint8Array or hex format.
|
|
11
|
+
* @description
|
|
12
|
+
* For the input values, return true is the underlying public keys do match.
|
|
13
|
+
* @example
|
|
14
|
+
* <BR>
|
|
15
|
+
*
|
|
16
|
+
* ```javascript
|
|
17
|
+
* import { u8aEq } from '@pezkuwi/util';
|
|
18
|
+
*
|
|
19
|
+
* u8aEq(new Uint8Array([0x68, 0x65]), new Uint8Array([0x68, 0x65])); // true
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function addressEq (a: string | Uint8Array, b: string | Uint8Array): boolean {
|
|
23
|
+
return u8aEq(decodeAddress(a), decodeAddress(b));
|
|
24
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { evmToAddress } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('evmToAddress', (): void => {
|
|
9
|
+
it('creates a valid known SS58 address', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
evmToAddress('0xd43593c715fdd31c61141abd04a99fd6822c8558', 42, 'blake2')
|
|
12
|
+
).toEqual('5FrLxJsyJ5x9n2rmxFwosFraxFCKcXZDngRLNectCn64UjtZ');
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('fails when length is invalid', (): void => {
|
|
16
|
+
expect(
|
|
17
|
+
() => evmToAddress('0x1234567890ABCDEF1234567890ABCDEF')
|
|
18
|
+
).toThrow(/address length/);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { HashType } from '../secp256k1/types.js';
|
|
5
|
+
import type { Prefix } from './types.js';
|
|
6
|
+
|
|
7
|
+
import { u8aConcat } from '@pezkuwi/util';
|
|
8
|
+
|
|
9
|
+
import { hasher } from '../secp256k1/hasher.js';
|
|
10
|
+
import { encodeAddress } from './encode.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @name evmToAddress
|
|
14
|
+
* @summary Converts an EVM address to its corresponding SS58 address.
|
|
15
|
+
*/
|
|
16
|
+
export function evmToAddress (evmAddress: string | Uint8Array, ss58Format?: Prefix, hashType: HashType = 'blake2'): string {
|
|
17
|
+
const message = u8aConcat('evm:', evmAddress);
|
|
18
|
+
|
|
19
|
+
if (message.length !== 24) {
|
|
20
|
+
throw new Error(`Converting ${evmAddress as string}: Invalid evm address length`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return encodeAddress(hasher(hashType, message), ss58Format);
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export { addressToEvm } from './addressToEvm.js';
|
|
5
|
+
export { checkAddress } from './check.js';
|
|
6
|
+
export { checkAddressChecksum } from './checksum.js';
|
|
7
|
+
export { decodeAddress } from './decode.js';
|
|
8
|
+
export { deriveAddress } from './derive.js';
|
|
9
|
+
export { encodeAddress } from './encode.js';
|
|
10
|
+
export { encodeDerivedAddress } from './encodeDerived.js';
|
|
11
|
+
export { encodeMultiAddress } from './encodeMulti.js';
|
|
12
|
+
export { addressEq } from './eq.js';
|
|
13
|
+
export { evmToAddress } from './evmToAddress.js';
|
|
14
|
+
export { isAddress } from './is.js';
|
|
15
|
+
export { createKeyDerived } from './keyDerived.js';
|
|
16
|
+
export { createKeyMulti } from './keyMulti.js';
|
|
17
|
+
export { sortAddresses } from './sort.js';
|
|
18
|
+
export { validateAddress } from './validate.js';
|
|
19
|
+
|
|
20
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
21
|
+
export { setSS58Format } from './setSS58Format.js';
|
|
@@ -0,0 +1,113 @@
|
|
|
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 { isAddress } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('isAddress', (): void => {
|
|
9
|
+
it('decodes an address', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
isAddress('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY')
|
|
12
|
+
).toEqual(true);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('decodes the council address', (): void => {
|
|
16
|
+
expect(
|
|
17
|
+
isAddress('F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29')
|
|
18
|
+
).toEqual(true);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('converts a publicKey (hex) as-is', (): void => {
|
|
22
|
+
expect(
|
|
23
|
+
isAddress('0x01020304')
|
|
24
|
+
).toEqual(true);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('decodes a short address', (): void => {
|
|
28
|
+
expect(
|
|
29
|
+
isAddress('F7NZ')
|
|
30
|
+
).toEqual(true);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('decodes a 1-byte accountId (with prefix)', (): void => {
|
|
34
|
+
expect(
|
|
35
|
+
isAddress('g4b', false, 2)
|
|
36
|
+
).toEqual(true);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it('decodes a 2-byte accountId', (): void => {
|
|
40
|
+
expect(
|
|
41
|
+
isAddress('3xygo', false, 2)
|
|
42
|
+
).toEqual(true);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('encodes a 4-byte address', (): void => {
|
|
46
|
+
expect(
|
|
47
|
+
isAddress('zswfoZa', false, 2)
|
|
48
|
+
).toEqual(true);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('decodes a 8-byte address', (): void => {
|
|
52
|
+
expect(
|
|
53
|
+
isAddress('848Gh2GcGaZia', false, 2)
|
|
54
|
+
).toEqual(true);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('decodes a 33-byte address', (): void => {
|
|
58
|
+
expect(
|
|
59
|
+
isAddress('KWCv1L3QX9LDPwY4VzvLmarEmXjVJidUzZcinvVnmxAJJCBou')
|
|
60
|
+
).toEqual(true);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it('decodes a 2-byte prefix (65)', (): void => {
|
|
64
|
+
expect(
|
|
65
|
+
isAddress('cLtA6nCDyvwKcEHH4QkZDSHMhS9s78BvUJUsKUbUAn1Jc2SCF')
|
|
66
|
+
).toEqual(true);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
it('decodes a 2-byte prefix (69)', (): void => {
|
|
70
|
+
expect(
|
|
71
|
+
isAddress('cnUaoo5wodnTVA4bnr4woSweto8hWZADUvLFXkR9Q6U7BRsbF')
|
|
72
|
+
).toEqual(true);
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
it('decodes a 2-byte prefix (252)', (): void => {
|
|
76
|
+
expect(
|
|
77
|
+
isAddress('xw9Hca4RJTmBRgzJT4ieJBh7XCK9gE3NXBDSEmgGHd4TCrbnG')
|
|
78
|
+
).toEqual(true);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('decodes a 2-byte prefix (255)', (): void => {
|
|
82
|
+
expect(
|
|
83
|
+
isAddress('yGHU8YKprxHbHdEv7oUK4rzMZXtsdhcXVG2CAMyC9WhzhjH2k')
|
|
84
|
+
).toEqual(true);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it('decodes a 2-byte prefix (ecdsa, from Substrate)', (): void => {
|
|
88
|
+
expect(
|
|
89
|
+
isAddress('4pbsSkWcBaYoFHrKJZp5fDVUKbqSYD9dhZZGvpp3vQ5ysVs5ybV')
|
|
90
|
+
).toEqual(true);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it('fails when length is invalid', (): void => {
|
|
94
|
+
expect(
|
|
95
|
+
isAddress('y9EMHt34JJo4rWLSaxoLGdYXvjgSXEd4zHUnQgfNzwES8b')
|
|
96
|
+
).toEqual(false);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it('fails when the checksum does not match', (): void => {
|
|
100
|
+
expect(
|
|
101
|
+
isAddress('5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMa9cj')
|
|
102
|
+
).toEqual(false);
|
|
103
|
+
expect(
|
|
104
|
+
isAddress('5GoKvZWG5ZPYL1WUovuHW3zJBWBP5eT8CbqjdRY4Q6iMaDwU')
|
|
105
|
+
).toEqual(false);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('fails when invalid base58 encoded address is found', (): void => {
|
|
109
|
+
expect(
|
|
110
|
+
isAddress('F3opIRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29')
|
|
111
|
+
).toEqual(false);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { Prefix } from './types.js';
|
|
5
|
+
|
|
6
|
+
import { validateAddress } from './validate.js';
|
|
7
|
+
|
|
8
|
+
export function isAddress (address?: string | null, ignoreChecksum?: boolean, ss58Format?: Prefix): address is string {
|
|
9
|
+
try {
|
|
10
|
+
return validateAddress(address, ignoreChecksum, ss58Format);
|
|
11
|
+
} catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { createKeyDerived } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('createKeyDerived', (): void => {
|
|
9
|
+
it('matches sub accounts with Rust', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
createKeyDerived(new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0]), 0)
|
|
12
|
+
).toEqual(
|
|
13
|
+
new Uint8Array([234, 236, 28, 96, 177, 168, 152, 193, 71, 179, 226, 102, 179, 155, 188, 240, 90, 182, 21, 175, 47, 47, 250, 179, 178, 0, 81, 222, 70, 56, 52, 234])
|
|
14
|
+
);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('creates a valid subkey', (): void => {
|
|
18
|
+
expect(
|
|
19
|
+
createKeyDerived('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', 1)
|
|
20
|
+
).toEqual(
|
|
21
|
+
new Uint8Array([248, 19, 86, 209, 254, 89, 84, 48, 54, 128, 166, 239, 153, 212, 143, 34, 191, 60, 210, 50, 39, 77, 122, 71, 29, 60, 247, 198, 95, 101, 246, 83])
|
|
22
|
+
);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { BN } from '@pezkuwi/util';
|
|
5
|
+
|
|
6
|
+
import { bnToU8a, stringToU8a, u8aConcat } from '@pezkuwi/util';
|
|
7
|
+
|
|
8
|
+
import { blake2AsU8a } from '../blake2/asU8a.js';
|
|
9
|
+
import { BN_LE_16_OPTS } from '../bn.js';
|
|
10
|
+
import { decodeAddress } from './decode.js';
|
|
11
|
+
|
|
12
|
+
const PREFIX = stringToU8a('modlpy/utilisuba');
|
|
13
|
+
|
|
14
|
+
export function createKeyDerived (who: string | Uint8Array, index: bigint | BN | number): Uint8Array {
|
|
15
|
+
return blake2AsU8a(
|
|
16
|
+
u8aConcat(
|
|
17
|
+
PREFIX,
|
|
18
|
+
decodeAddress(who),
|
|
19
|
+
bnToU8a(index, BN_LE_16_OPTS)
|
|
20
|
+
)
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 { createKeyMulti } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('createKeyMulti', (): void => {
|
|
9
|
+
it('creates a valid multikey (aligning with Rust, needs sorting)', (): void => {
|
|
10
|
+
expect(
|
|
11
|
+
createKeyMulti([
|
|
12
|
+
new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0]),
|
|
13
|
+
new Uint8Array([3, 0, 0, 0, 0, 0, 0, 0]),
|
|
14
|
+
new Uint8Array([2, 0, 0, 0, 0, 0, 0, 0])
|
|
15
|
+
], 2)
|
|
16
|
+
).toEqual(
|
|
17
|
+
new Uint8Array([67, 151, 196, 155, 179, 207, 47, 123, 90, 2, 35, 54, 162, 111, 241, 226, 88, 148, 54, 193, 252, 195, 93, 101, 16, 5, 93, 101, 186, 186, 254, 79])
|
|
18
|
+
);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright 2017-2025 @pezkuwi/util-crypto authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { BN } from '@pezkuwi/util';
|
|
5
|
+
|
|
6
|
+
import { bnToU8a, compactToU8a, stringToU8a, u8aConcat, u8aSorted } from '@pezkuwi/util';
|
|
7
|
+
|
|
8
|
+
import { blake2AsU8a } from '../blake2/asU8a.js';
|
|
9
|
+
import { BN_LE_16_OPTS } from '../bn.js';
|
|
10
|
+
import { addressToU8a } from './util.js';
|
|
11
|
+
|
|
12
|
+
const PREFIX = stringToU8a('modlpy/utilisuba');
|
|
13
|
+
|
|
14
|
+
export function createKeyMulti (who: (string | Uint8Array)[], threshold: bigint | BN | number): Uint8Array {
|
|
15
|
+
return blake2AsU8a(
|
|
16
|
+
u8aConcat(
|
|
17
|
+
PREFIX,
|
|
18
|
+
compactToU8a(who.length),
|
|
19
|
+
...u8aSorted(who.map(addressToU8a)),
|
|
20
|
+
bnToU8a(threshold, BN_LE_16_OPTS)
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
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 { encodeAddress, setSS58Format } from './index.js';
|
|
7
|
+
|
|
8
|
+
describe('setSS58Format', (): void => {
|
|
9
|
+
beforeEach((): void => {
|
|
10
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
11
|
+
setSS58Format(2);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it('sets and allows encoding using', (): void => {
|
|
15
|
+
expect(
|
|
16
|
+
encodeAddress(
|
|
17
|
+
new Uint8Array([1])
|
|
18
|
+
)
|
|
19
|
+
).toEqual('g4b');
|
|
20
|
+
});
|
|
21
|
+
});
|