@thirdweb-dev/contracts-js
Version:
292 lines • 16 kB
TypeScript
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