permissionless
Version:
A utility library for working with ERC-4337
26 lines • 2.4 kB
TypeScript
import type { Chain, Client, Hash, Transport } from "viem";
import type { GetSmartAccountParameter, SmartAccount } from "viem/account-abstraction";
import { accountId } from "./erc7579/accountId.js";
import { type InstallModuleParameters, installModule } from "./erc7579/installModule.js";
import { type InstallModulesParameters, installModules } from "./erc7579/installModules.js";
import { type IsModuleInstalledParameters, isModuleInstalled } from "./erc7579/isModuleInstalled.js";
import { type SupportsExecutionModeParameters, supportsExecutionMode } from "./erc7579/supportsExecutionMode.js";
import type { CallType, ExecutionMode } from "./erc7579/supportsExecutionMode.js";
import { type SupportsModuleParameters, supportsModule } from "./erc7579/supportsModule.js";
import type { ModuleType } from "./erc7579/supportsModule.js";
import { type UninstallModuleParameters, uninstallModule } from "./erc7579/uninstallModule.js";
import { type UninstallModulesParameters, uninstallModules } from "./erc7579/uninstallModules.js";
export type Erc7579Actions<TSmartAccount extends SmartAccount | undefined> = {
accountId: (args?: GetSmartAccountParameter<TSmartAccount>) => Promise<string>;
installModule: (args: InstallModuleParameters<TSmartAccount>) => Promise<Hash>;
installModules: (args: InstallModulesParameters<TSmartAccount>) => Promise<Hash>;
isModuleInstalled: (args: IsModuleInstalledParameters<TSmartAccount>) => Promise<boolean>;
supportsExecutionMode: (args: SupportsExecutionModeParameters<TSmartAccount>) => Promise<boolean>;
supportsModule: (args: SupportsModuleParameters<TSmartAccount>) => Promise<boolean>;
uninstallModule: (args: UninstallModuleParameters<TSmartAccount>) => Promise<Hash>;
uninstallModules: (args: UninstallModulesParameters<TSmartAccount>) => Promise<Hash>;
};
export type { InstallModuleParameters, IsModuleInstalledParameters, CallType, ExecutionMode, SupportsExecutionModeParameters, ModuleType, SupportsModuleParameters, UninstallModuleParameters };
export { accountId, installModule, installModules, isModuleInstalled, supportsExecutionMode, supportsModule, uninstallModule, uninstallModules };
export declare function erc7579Actions(): <TSmartAccount extends SmartAccount | undefined>(client: Client<Transport, Chain | undefined, TSmartAccount>) => Erc7579Actions<TSmartAccount>;
//# sourceMappingURL=erc7579.d.ts.map