@canvas-js/chain-cosmos
The Cosmos session signer takes an injected Cosmos signer, which may be an EthereumSigner
, AminoSigner
, or BytesSigner
, and uses it to authenticate a new session.
It also handles verification of messages matching any of these authentication methods.
Table of Contents
Installation
npm i @canvas-js/chain-cosmos
API
import type { Signature, SessionSigner, Action, Message, Session } from "@canvas-js/interfaces";
import { CosmosSessionData, ExternalCosmosSigner } from "./types.js";
export interface CosmosSignerInit {
signer?: ExternalCosmosSigner;
sessionDuration?: number;
bech32Prefix?: string;
}
export declare class CosmosSigner implements SessionSigner {
constructor({ signer, sessionDuration, bech32Prefix }?: CosmosSignerInit);
readonly match: (address: string) => boolean;
verifySession(topic: string, session: Session): Promise<void>;
getSession(topic: string, options?: {
timestamp?: number;
fromCache?: boolean;
}): Promise<Session<CosmosSessionData>>;
sign(message: Message<Action | Session>): Signature;
clear(topic: string): Promise<void>;
}