Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.07 KB

README.md

File metadata and controls

64 lines (47 loc) · 2.07 KB

@interchainjs/auth

Authentication/Wallet for web3 accounts.

Usage

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

Implementations

  • secp256k1 auth from @interchainjs/auth/secp256k1
  • ethSecp256k1 auth from @interchainjs/auth/ethSecp256k1 (Not fully implemented yet)

License

MIT License (MIT) & Apache License

Copyright (c) 2024 Cosmology (https://cosmology.zone/)