UNPKG

@biconomy-devx/modules

Version:

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

76 lines 3.4 kB
import { ModuleVersion, CreateSessionDataParams, BatchedSessionRouterModuleConfig, ModuleInfo, CreateSessionDataResponse } from "./utils/Types.js"; import { BaseValidationModule } from "./BaseValidationModule.js"; import { SessionKeyManagerModule } from "./SessionKeyManagerModule.js"; import { SessionSearchParam, SessionStatus } from "./interfaces/ISessionStorage.js"; import { Hex } from "viem"; import { SmartAccountSigner } from "@alchemy/aa-core"; export declare class BatchedSessionRouterModule extends BaseValidationModule { version: ModuleVersion; moduleAddress: Hex; sessionManagerModuleAddress: Hex; sessionKeyManagerModule: SessionKeyManagerModule; readonly mockEcdsaSessionKeySig: Hex; /** * This constructor is private. Use the static create method to instantiate SessionKeyManagerModule * @param moduleConfig The configuration for the module * @returns An instance of SessionKeyManagerModule */ private constructor(); /** * Asynchronously creates and initializes an instance of SessionKeyManagerModule * @param moduleConfig The configuration for the module * @returns A Promise that resolves to an instance of SessionKeyManagerModule */ static create(moduleConfig: BatchedSessionRouterModuleConfig): Promise<BatchedSessionRouterModule>; /** * Method to create session data for any module. The session data is used to create a leaf in the merkle tree * @param leavesData The data of one or more leaves to be used to create session data * @returns The session data */ createSessionData: (leavesData: CreateSessionDataParams[]) => Promise<CreateSessionDataResponse>; /** * This method is used to sign the user operation using the session signer * @param userOp The user operation to be signed * @param sessionParams Information about all the sessions to be used to sign the user operation which has a batch execution * @returns The signature of the user operation */ signUserOpHash(userOpHash: string, params?: ModuleInfo): Promise<Hex>; /** * Update the session data pending state to active * @param param The search param to find the session data * @param status The status to be updated * @returns */ updateSessionStatus(param: SessionSearchParam, status: SessionStatus): Promise<void>; /** * @remarks This method is used to clear all the pending sessions * @returns */ clearPendingSessions(): Promise<void>; /** * @returns SessionKeyManagerModule address */ getAddress(): Hex; /** * @returns SessionKeyManagerModule address */ getSessionKeyManagerAddress(): Hex; /** * @remarks This is the version of the module contract */ getSigner(): Promise<SmartAccountSigner>; /** * @remarks This is the dummy signature for the module, used in buildUserOp for bundler estimation * @returns Dummy signature */ getDummySignature(params?: ModuleInfo): Promise<Hex>; /** * @remarks Other modules may need additional attributes to build init data */ getInitData(): Promise<Hex>; /** * @remarks This Module dont have knowledge of signer. So, this method is not implemented */ signMessage(_message: Uint8Array | string): Promise<string>; } //# sourceMappingURL=BatchedSessionRouterModule.d.ts.map