@biconomy-devx/modules
Version:
This package provides different validation modules/plugins for ERC4337 compatible modular account
76 lines • 3.4 kB
TypeScript
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