UNPKG

@abstract-foundation/agw-client

Version:
48 lines 2.04 kB
import type { Address, Hash, PublicClient, Transport } from 'viem'; import { type SessionConfig, SessionStatus } from '../sessions.js'; /** * Function to check the current status of a session key from the validator contract. * * Allows you to determine if a session is active, expired, closed, or not initialized. * * @example * ```tsx * import { useAbstractClient } from "@abstract-foundation/agw-react"; * import { SessionStatus } from "@abstract-foundation/agw-client/sessions"; * import { useAccount } from "wagmi"; * * export default function CheckSessionStatus() { * const { address } = useAccount(); * const { data: agwClient } = useAbstractClient(); * * async function checkStatus() { * if (!address || !agwClient) return; * * // Provide either a session hash or session config object * const sessionHashOrConfig = "..."; // or { ... } * const status = await agwClient.getSessionStatus(sessionHashOrConfig); * * // Handle the different status cases * switch (status) { * case 0: // Not initialized * console.log("Session does not exist"); * case 1: // Active * console.log("Session is active and can be used"); * case 2: // Closed * console.log("Session has been revoked"); * case 3: // Expired * console.log("Session has expired"); * } * } * } * ``` * * @param sessionHashOrConfig - Either the hash of the session configuration or the session configuration object itself * @returns The current status of the session: * - `SessionStatus.NotInitialized` (0): The session has not been created * - `SessionStatus.Active` (1): The session is active and can be used * - `SessionStatus.Closed` (2): The session has been revoked * - `SessionStatus.Expired` (3): The session has expired */ export declare function getSessionStatus(publicClient: PublicClient<Transport>, address: Address, sessionHashOrConfig: Hash | SessionConfig): Promise<SessionStatus>; //# sourceMappingURL=getSessionStatus.d.ts.map