UNPKG

@biconomy-devx/modules

Version:

This package provides different validation modules/plugins for ERC4337 compatible modular account

32 lines (31 loc) 1.28 kB
import { Hex } from "viem"; import { SmartAccountSigner } from "@alchemy/aa-core"; import { SignerData } from "../utils/Types"; export type SessionStatus = "PENDING" | "ACTIVE" | "INACTIVE" | "EXPIRED"; export type SessionLeafNode = { validUntil: number; validAfter: number; sessionValidationModule: Hex; sessionKeyData: Hex; sessionPublicKey: Hex; sessionID?: string; status: SessionStatus; }; export type SessionSearchParam = { sessionID?: string; sessionPublicKey?: Hex; sessionValidationModule?: Hex; status?: SessionStatus; }; export interface ISessionStorage { addSessionData(_leaf: SessionLeafNode): Promise<void>; getSessionData(_param: SessionSearchParam): Promise<SessionLeafNode>; updateSessionStatus(_param: SessionSearchParam, _status: SessionStatus): Promise<void>; clearPendingSessions(): Promise<void>; addSigner(_signer?: SignerData): Promise<SmartAccountSigner>; getSignerByKey(_signerPublicKey: string): Promise<SmartAccountSigner>; getSignerBySession(_param: SessionSearchParam): Promise<SmartAccountSigner>; getAllSessionData(_param?: SessionSearchParam): Promise<SessionLeafNode[]>; getMerkleRoot(): Promise<string>; setMerkleRoot(_merkleRoot: string): Promise<void>; }