Authentication/Wallet for web3 accounts.
npm install @interchainjs/auth
Taking secp256k1
as example.
// import * from "@interchainjs/auth"; // Error: use sub-imports, to ensure small app size
import { Secp256k1Auth } from "@interchainjs/auth/secp256k1";
const [directAuth] = Secp256k1Auth.fromMnemonic(generateMnemonic(), [
"m/44'/118'/0'/0/0",
]);
const signature = auth.sign(Uint8Array.from([1, 2, 3]));
console.log(signature.toHex());
It's easy to derive cosmos/injective/ethereum network HD path (taking cosmos
as example)
// derive with Cosmos default HD path "m/44'/118'/0'/0/0"
const [auth] = Secp256k1Auth.fromMnemonic("<MNEMONIC_WORDS>", [
HDPath.cosmos().toString(),
]);
// is identical to
const [auth] = Secp256k1Auth.fromMnemonic("<MNEMONIC_WORDS>", [
"m/44'/118'/0'/0/0",
]);
Auth
objected can be utilized by different signers. See
- secp256k1 auth from
@interchainjs/auth/secp256k1
- ethSecp256k1 auth from
@interchainjs/auth/ethSecp256k1
(Not fully implemented yet
)
MIT License (MIT) & Apache License
Copyright (c) 2024 Cosmology (https://cosmology.zone/)