UNPKG

@abstraxn/account

Version:

@abstraxn/account: Empower ERC-4337 smart accounts with seamless APIs for enhanced decentralized finance experiences.

65 lines (64 loc) 3.81 kB
import { BigNumber, Contract, ethers, BytesLike, BigNumberish } from "ethers"; import { Transaction, UserOperation } from "@abstraxn/core-types"; import { AbstraxnSmartAccountConfig } from "../utils/Interfaces"; import { AbstraxnTokenPaymasterRequest, BuildUserOpOptions, EstimateUserOpGasParams } from "../utils/Types"; import { ModuleInfo, SendUserOpParams } from "@abstraxn/modules"; import { UserOpResponse } from "@abstraxn/bundler"; import { IPaymaster } from "@abstraxn/paymaster"; type UserOperationKey = keyof UserOperation; export declare class AbstraxnSmartAccount { private bundler?; private chainId; private provider; private activeValidationModule; private defaultValidationModule; protected signer: ethers.Signer | undefined; private entryPointAddress; private implementationAddress; private smartFactoryAddress; private proxyCreationCode; private fallbackHandlerAddress; paymaster?: IPaymaster; private index?; constructor(_config: AbstraxnSmartAccountConfig); static create(abstraxnSmartAccountConfig: AbstraxnSmartAccountConfig): Promise<AbstraxnSmartAccount>; getAccountAddress(): Promise<string>; isProviderDefined(): boolean; private isContractDeployedCache; isAccountDeployed(address: string): Promise<boolean>; getInitCode(): Promise<string>; getAccountInitCode(): Promise<string>; private getCounterFactualAddress; _getAccountContract(): Promise<Contract>; getNonce(nonceKey?: number): Promise<BigNumber>; private getBuildUserOpNonce; isActiveValidationModuleDefined(): boolean; getDummySignature(params?: ModuleInfo): Promise<string>; private getGasFeeValues; encodeExecute(to: string, value: BigNumberish, data: BytesLike): Promise<string>; encodeExecuteBatch(to: Array<string>, value: Array<BigNumberish>, data: Array<BytesLike>): Promise<string>; validateUserOp(userOp: Partial<UserOperation>, requiredFields: UserOperationKey[]): boolean; getVerificationGasLimit(initCode: BytesLike): Promise<BigNumber>; getCallGasLimit(userOp: Partial<UserOperation>): Promise<BigNumber>; estimateCreationGas(initCode?: string): Promise<BigNumberish>; getPreVerificationGas(userOp: Partial<UserOperation>): Promise<BigNumber>; calculateUserOpGasValues(userOp: Partial<UserOperation>): Promise<Partial<UserOperation>>; estimateUserOpGas(params: EstimateUserOpGasParams): Promise<Partial<UserOperation>>; buildUserOp(transactions: Transaction[], buildUseropDto?: BuildUserOpOptions): Promise<Partial<UserOperation>>; sendUserOp(userOp: Partial<UserOperation>, params?: SendUserOpParams): Promise<UserOpResponse>; signUserOp(userOp: Partial<UserOperation>, params?: SendUserOpParams): Promise<UserOperation>; sendSignedUserOp(userOp: UserOperation, params?: SendUserOpParams): Promise<UserOpResponse>; getUserOpHash(userOp: Partial<UserOperation>): Promise<string>; private validateUserOpAndPaymasterRequest; buildTokenPaymasterUserOp(userOp: Partial<UserOperation>, tokenPaymasterRequest: AbstraxnTokenPaymasterRequest): Promise<Partial<UserOperation>>; enableModule(moduleAddress: string): Promise<UserOpResponse>; getEnableModuleData(moduleAddress: string): Promise<Transaction>; getSetupAndEnableModuleData(moduleAddress: string, moduleSetupData: string): Promise<Transaction>; disableModule(prevModule: string, moduleAddress: string): Promise<UserOpResponse>; getDisableModuleData(prevModule: string, moduleAddress: string): Promise<Transaction>; isModuleEnabled(moduleName: string): Promise<boolean>; private validThru; getSignForMultiSigWallet(signer: ethers.Wallet, userOp: Partial<UserOperation>): Promise<string>; buildSignatureBytes(signs: string[]): Promise<string>; } export {};