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, PromiseOrValue } from "./common"; export interface DebugTransactionGuardInterface extends utils.Interface { functions: { "checkAfterExecution(bytes32,bool)": FunctionFragment; "checkTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes,address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "txNonces(bytes32)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "checkAfterExecution" | "checkTransaction" | "supportsInterface" | "txNonces"): FunctionFragment; encodeFunctionData(functionFragment: "checkAfterExecution", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "checkTransaction", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "txNonces", values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: "checkAfterExecution", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkTransaction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "txNonces", data: BytesLike): Result; events: { "GasUsage(address,bytes32,uint256,bool)": EventFragment; "TransactionDetails(address,bytes32,address,uint256,bytes,uint8,uint256,bool,uint256,bytes,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "GasUsage"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransactionDetails"): EventFragment; } export interface GasUsageEventObject { safe: string; txHash: string; nonce: BigNumber; success: boolean; } export type GasUsageEvent = TypedEvent<[ string, string, BigNumber, boolean ], GasUsageEventObject>; export type GasUsageEventFilter = TypedEventFilter; export interface TransactionDetailsEventObject { safe: string; txHash: string; to: string; value: BigNumber; data: string; operation: number; safeTxGas: BigNumber; usesRefund: boolean; nonce: BigNumber; signatures: string; executor: string; } export type TransactionDetailsEvent = TypedEvent<[ string, string, string, BigNumber, string, number, BigNumber, boolean, BigNumber, string, string ], TransactionDetailsEventObject>; export type TransactionDetailsEventFilter = TypedEventFilter; export interface DebugTransactionGuard extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: DebugTransactionGuardInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { checkAfterExecution(txHash: PromiseOrValue, success: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; checkTransaction(to: PromiseOrValue, value: PromiseOrValue, data: PromiseOrValue, operation: PromiseOrValue, safeTxGas: PromiseOrValue, baseGas: PromiseOrValue, gasPrice: PromiseOrValue, gasToken: PromiseOrValue, refundReceiver: PromiseOrValue, signatures: PromiseOrValue, executor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; txNonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; }; checkAfterExecution(txHash: PromiseOrValue, success: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; checkTransaction(to: PromiseOrValue, value: PromiseOrValue, data: PromiseOrValue, operation: PromiseOrValue, safeTxGas: PromiseOrValue, baseGas: PromiseOrValue, gasPrice: PromiseOrValue, gasToken: PromiseOrValue, refundReceiver: PromiseOrValue, signatures: PromiseOrValue, executor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; txNonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { checkAfterExecution(txHash: PromiseOrValue, success: PromiseOrValue, overrides?: CallOverrides): Promise; checkTransaction(to: PromiseOrValue, value: PromiseOrValue, data: PromiseOrValue, operation: PromiseOrValue, safeTxGas: PromiseOrValue, baseGas: PromiseOrValue, gasPrice: PromiseOrValue, gasToken: PromiseOrValue, refundReceiver: PromiseOrValue, signatures: PromiseOrValue, executor: PromiseOrValue, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; txNonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "GasUsage(address,bytes32,uint256,bool)"(safe?: PromiseOrValue | null, txHash?: PromiseOrValue | null, nonce?: PromiseOrValue | null, success?: null): GasUsageEventFilter; GasUsage(safe?: PromiseOrValue | null, txHash?: PromiseOrValue | null, nonce?: PromiseOrValue | null, success?: null): GasUsageEventFilter; "TransactionDetails(address,bytes32,address,uint256,bytes,uint8,uint256,bool,uint256,bytes,address)"(safe?: PromiseOrValue | null, txHash?: PromiseOrValue | null, to?: null, value?: null, data?: null, operation?: null, safeTxGas?: null, usesRefund?: null, nonce?: null, signatures?: null, executor?: null): TransactionDetailsEventFilter; TransactionDetails(safe?: PromiseOrValue | null, txHash?: PromiseOrValue | null, to?: null, value?: null, data?: null, operation?: null, safeTxGas?: null, usesRefund?: null, nonce?: null, signatures?: null, executor?: null): TransactionDetailsEventFilter; }; estimateGas: { checkAfterExecution(txHash: PromiseOrValue, success: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; checkTransaction(to: PromiseOrValue, value: PromiseOrValue, data: PromiseOrValue, operation: PromiseOrValue, safeTxGas: PromiseOrValue, baseGas: PromiseOrValue, gasPrice: PromiseOrValue, gasToken: PromiseOrValue, refundReceiver: PromiseOrValue, signatures: PromiseOrValue, executor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; txNonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { checkAfterExecution(txHash: PromiseOrValue, success: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; checkTransaction(to: PromiseOrValue, value: PromiseOrValue, data: PromiseOrValue, operation: PromiseOrValue, safeTxGas: PromiseOrValue, baseGas: PromiseOrValue, gasPrice: PromiseOrValue, gasToken: PromiseOrValue, refundReceiver: PromiseOrValue, signatures: PromiseOrValue, executor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; supportsInterface(interfaceId: PromiseOrValue, overrides?: CallOverrides): Promise; txNonces(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; }