UNPKG

@thirdweb-dev/contracts-js

Version:
292 lines • 16 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type UserOperationStruct = { sender: string; nonce: BigNumberish; initCode: BytesLike; callData: BytesLike; callGasLimit: BigNumberish; verificationGasLimit: BigNumberish; preVerificationGas: BigNumberish; maxFeePerGas: BigNumberish; maxPriorityFeePerGas: BigNumberish; paymasterAndData: BytesLike; signature: BytesLike; }; export type UserOperationStructOutput = [ string, BigNumber, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { sender: string; nonce: BigNumber; initCode: string; callData: string; callGasLimit: BigNumber; verificationGasLimit: BigNumber; preVerificationGas: BigNumber; maxFeePerGas: BigNumber; maxPriorityFeePerGas: BigNumber; paymasterAndData: string; signature: string; }; export declare namespace IAccountPermissions { type SignerPermissionsStruct = { signer: string; approvedTargets: string[]; nativeTokenLimitPerTransaction: BigNumberish; startTimestamp: BigNumberish; endTimestamp: BigNumberish; }; type SignerPermissionsStructOutput = [ string, string[], BigNumber, BigNumber, BigNumber ] & { signer: string; approvedTargets: string[]; nativeTokenLimitPerTransaction: BigNumber; startTimestamp: BigNumber; endTimestamp: BigNumber; }; type SignerPermissionRequestStruct = { signer: string; isAdmin: BigNumberish; approvedTargets: string[]; nativeTokenLimitPerTransaction: BigNumberish; permissionStartTimestamp: BigNumberish; permissionEndTimestamp: BigNumberish; reqValidityStartTimestamp: BigNumberish; reqValidityEndTimestamp: BigNumberish; uid: BytesLike; }; type SignerPermissionRequestStructOutput = [ string, number, string[], BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { signer: string; isAdmin: number; approvedTargets: string[]; nativeTokenLimitPerTransaction: BigNumber; permissionStartTimestamp: BigNumber; permissionEndTimestamp: BigNumber; reqValidityStartTimestamp: BigNumber; reqValidityEndTimestamp: BigNumber; uid: string; }; } export interface IAccountCoreInterface extends utils.Interface { functions: { "factory()": FunctionFragment; "getAllActiveSigners()": FunctionFragment; "getAllAdmins()": FunctionFragment; "getAllSigners()": FunctionFragment; "getPermissionsForSigner(address)": FunctionFragment; "isActiveSigner(address)": FunctionFragment; "isAdmin(address)": FunctionFragment; "multicall(bytes[])": FunctionFragment; "setPermissionsForSigner((address,uint8,address[],uint256,uint128,uint128,uint128,uint128,bytes32),bytes)": FunctionFragment; "validateUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": FunctionFragment; "verifySignerPermissionRequest((address,uint8,address[],uint256,uint128,uint128,uint128,uint128,bytes32),bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "factory" | "getAllActiveSigners" | "getAllAdmins" | "getAllSigners" | "getPermissionsForSigner" | "isActiveSigner" | "isAdmin" | "multicall" | "setPermissionsForSigner" | "validateUserOp" | "verifySignerPermissionRequest"): FunctionFragment; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "getAllActiveSigners", values?: undefined): string; encodeFunctionData(functionFragment: "getAllAdmins", values?: undefined): string; encodeFunctionData(functionFragment: "getAllSigners", values?: undefined): string; encodeFunctionData(functionFragment: "getPermissionsForSigner", values: [string]): string; encodeFunctionData(functionFragment: "isActiveSigner", values: [string]): string; encodeFunctionData(functionFragment: "isAdmin", values: [string]): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "setPermissionsForSigner", values: [IAccountPermissions.SignerPermissionRequestStruct, BytesLike]): string; encodeFunctionData(functionFragment: "validateUserOp", values: [UserOperationStruct, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "verifySignerPermissionRequest", values: [IAccountPermissions.SignerPermissionRequestStruct, BytesLike]): string; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAllActiveSigners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAllAdmins", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAllSigners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPermissionsForSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isActiveSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPermissionsForSigner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateUserOp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "verifySignerPermissionRequest", data: BytesLike): Result; events: { "AdminUpdated(address,bool)": EventFragment; "SignerPermissionsUpdated(address,address,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "SignerPermissionsUpdated"): EventFragment; } export interface AdminUpdatedEventObject { signer: string; isAdmin: boolean; } export type AdminUpdatedEvent = TypedEvent<[ string, boolean ], AdminUpdatedEventObject>; export type AdminUpdatedEventFilter = TypedEventFilter<AdminUpdatedEvent>; export interface SignerPermissionsUpdatedEventObject { authorizingSigner: string; targetSigner: string; permissions: IAccountPermissions.SignerPermissionRequestStructOutput; } export type SignerPermissionsUpdatedEvent = TypedEvent<[ string, string, IAccountPermissions.SignerPermissionRequestStructOutput ], SignerPermissionsUpdatedEventObject>; export type SignerPermissionsUpdatedEventFilter = TypedEventFilter<SignerPermissionsUpdatedEvent>; export interface IAccountCore extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IAccountCoreInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { factory(overrides?: CallOverrides): Promise<[string]>; getAllActiveSigners(overrides?: CallOverrides): Promise<[ IAccountPermissions.SignerPermissionsStructOutput[] ] & { signers: IAccountPermissions.SignerPermissionsStructOutput[]; }>; getAllAdmins(overrides?: CallOverrides): Promise<[string[]] & { admins: string[]; }>; getAllSigners(overrides?: CallOverrides): Promise<[ IAccountPermissions.SignerPermissionsStructOutput[] ] & { signers: IAccountPermissions.SignerPermissionsStructOutput[]; }>; getPermissionsForSigner(signer: string, overrides?: CallOverrides): Promise<[ IAccountPermissions.SignerPermissionsStructOutput ] & { permissions: IAccountPermissions.SignerPermissionsStructOutput; }>; isActiveSigner(signer: string, overrides?: CallOverrides): Promise<[boolean]>; isAdmin(signer: string, overrides?: CallOverrides): Promise<[boolean]>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; setPermissionsForSigner(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; verifySignerPermissionRequest(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; }; factory(overrides?: CallOverrides): Promise<string>; getAllActiveSigners(overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput[]>; getAllAdmins(overrides?: CallOverrides): Promise<string[]>; getAllSigners(overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput[]>; getPermissionsForSigner(signer: string, overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput>; isActiveSigner(signer: string, overrides?: CallOverrides): Promise<boolean>; isAdmin(signer: string, overrides?: CallOverrides): Promise<boolean>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; setPermissionsForSigner(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; verifySignerPermissionRequest(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; callStatic: { factory(overrides?: CallOverrides): Promise<string>; getAllActiveSigners(overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput[]>; getAllAdmins(overrides?: CallOverrides): Promise<string[]>; getAllSigners(overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput[]>; getPermissionsForSigner(signer: string, overrides?: CallOverrides): Promise<IAccountPermissions.SignerPermissionsStructOutput>; isActiveSigner(signer: string, overrides?: CallOverrides): Promise<boolean>; isAdmin(signer: string, overrides?: CallOverrides): Promise<boolean>; multicall(data: BytesLike[], overrides?: CallOverrides): Promise<string[]>; setPermissionsForSigner(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<void>; validateUserOp(userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>; verifySignerPermissionRequest(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; }; filters: { "AdminUpdated(address,bool)"(signer?: string | null, isAdmin?: null): AdminUpdatedEventFilter; AdminUpdated(signer?: string | null, isAdmin?: null): AdminUpdatedEventFilter; "SignerPermissionsUpdated(address,address,tuple)"(authorizingSigner?: string | null, targetSigner?: string | null, permissions?: null): SignerPermissionsUpdatedEventFilter; SignerPermissionsUpdated(authorizingSigner?: string | null, targetSigner?: string | null, permissions?: null): SignerPermissionsUpdatedEventFilter; }; estimateGas: { factory(overrides?: CallOverrides): Promise<BigNumber>; getAllActiveSigners(overrides?: CallOverrides): Promise<BigNumber>; getAllAdmins(overrides?: CallOverrides): Promise<BigNumber>; getAllSigners(overrides?: CallOverrides): Promise<BigNumber>; getPermissionsForSigner(signer: string, overrides?: CallOverrides): Promise<BigNumber>; isActiveSigner(signer: string, overrides?: CallOverrides): Promise<BigNumber>; isAdmin(signer: string, overrides?: CallOverrides): Promise<BigNumber>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; setPermissionsForSigner(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; validateUserOp(userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; verifySignerPermissionRequest(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<BigNumber>; }; populateTransaction: { factory(overrides?: CallOverrides): Promise<PopulatedTransaction>; getAllActiveSigners(overrides?: CallOverrides): Promise<PopulatedTransaction>; getAllAdmins(overrides?: CallOverrides): Promise<PopulatedTransaction>; getAllSigners(overrides?: CallOverrides): Promise<PopulatedTransaction>; getPermissionsForSigner(signer: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; isActiveSigner(signer: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; isAdmin(signer: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; setPermissionsForSigner(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; validateUserOp(userOp: UserOperationStruct, userOpHash: BytesLike, missingAccountFunds: BigNumberish, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; verifySignerPermissionRequest(req: IAccountPermissions.SignerPermissionRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>; }; } //# sourceMappingURL=IAccountCore.d.ts.map