import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 declare namespace IForwarder { type DeployRequestStruct = { relayHub: PromiseOrValue; from: PromiseOrValue; to: PromiseOrValue; tokenContract: PromiseOrValue; recoverer: PromiseOrValue; value: PromiseOrValue; nonce: PromiseOrValue; tokenAmount: PromiseOrValue; tokenGas: PromiseOrValue; validUntilTime: PromiseOrValue; index: PromiseOrValue; data: PromiseOrValue; }; type DeployRequestStructOutput = [ string, string, string, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { relayHub: string; from: string; to: string; tokenContract: string; recoverer: string; value: BigNumber; nonce: BigNumber; tokenAmount: BigNumber; tokenGas: BigNumber; validUntilTime: BigNumber; index: BigNumber; data: string; }; type ForwardRequestStruct = { relayHub: PromiseOrValue; from: PromiseOrValue; to: PromiseOrValue; tokenContract: PromiseOrValue; value: PromiseOrValue; gas: PromiseOrValue; nonce: PromiseOrValue; tokenAmount: PromiseOrValue; tokenGas: PromiseOrValue; validUntilTime: PromiseOrValue; data: PromiseOrValue; }; type ForwardRequestStructOutput = [ string, string, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { relayHub: string; from: string; to: string; tokenContract: string; value: BigNumber; gas: BigNumber; nonce: BigNumber; tokenAmount: BigNumber; tokenGas: BigNumber; validUntilTime: BigNumber; data: string; }; } export declare namespace EnvelopingTypes { type RelayDataStruct = { gasPrice: PromiseOrValue; feesReceiver: PromiseOrValue; callForwarder: PromiseOrValue; callVerifier: PromiseOrValue; }; type RelayDataStructOutput = [BigNumber, string, string, string] & { gasPrice: BigNumber; feesReceiver: string; callForwarder: string; callVerifier: string; }; type DeployRequestStruct = { request: IForwarder.DeployRequestStruct; relayData: EnvelopingTypes.RelayDataStruct; }; type DeployRequestStructOutput = [ IForwarder.DeployRequestStructOutput, EnvelopingTypes.RelayDataStructOutput ] & { request: IForwarder.DeployRequestStructOutput; relayData: EnvelopingTypes.RelayDataStructOutput; }; type RelayRequestStruct = { request: IForwarder.ForwardRequestStruct; relayData: EnvelopingTypes.RelayDataStruct; }; type RelayRequestStructOutput = [ IForwarder.ForwardRequestStructOutput, EnvelopingTypes.RelayDataStructOutput ] & { request: IForwarder.ForwardRequestStructOutput; relayData: EnvelopingTypes.RelayDataStructOutput; }; } export declare namespace IRelayHub { type RelayManagerDataStruct = { manager: PromiseOrValue; currentlyStaked: PromiseOrValue; registered: PromiseOrValue; url: PromiseOrValue; }; type RelayManagerDataStructOutput = [ string, boolean, boolean, string ] & { manager: string; currentlyStaked: boolean; registered: boolean; url: string; }; type StakeInfoStruct = { stake: PromiseOrValue; unstakeDelay: PromiseOrValue; withdrawBlock: PromiseOrValue; owner: PromiseOrValue; }; type StakeInfoStructOutput = [ BigNumber, BigNumber, BigNumber, string ] & { stake: BigNumber; unstakeDelay: BigNumber; withdrawBlock: BigNumber; owner: string; }; } export interface RelayHubInterface extends utils.Interface { functions: { "addRelayWorkers(address[])": FunctionFragment; "deployCall(((address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),(uint256,address,address,address)),bytes)": FunctionFragment; "disableRelayWorkers(address[])": FunctionFragment; "getRelayInfo(address)": FunctionFragment; "getStakeInfo(address)": FunctionFragment; "isRelayManagerStaked(address)": FunctionFragment; "maxWorkerCount()": FunctionFragment; "minimumEntryDepositValue()": FunctionFragment; "minimumStake()": FunctionFragment; "minimumUnstakeDelay()": FunctionFragment; "penalize(address,address)": FunctionFragment; "penalizer()": FunctionFragment; "registerRelayServer(string)": FunctionFragment; "relayCall(((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes),(uint256,address,address,address)),bytes)": FunctionFragment; "relayData(address)": FunctionFragment; "stakeForAddress(address,uint256)": FunctionFragment; "stakes(address)": FunctionFragment; "unlockStake(address)": FunctionFragment; "versionHub()": FunctionFragment; "withdrawStake(address)": FunctionFragment; "workerCount(address)": FunctionFragment; "workerToManager(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addRelayWorkers" | "deployCall" | "disableRelayWorkers" | "getRelayInfo" | "getStakeInfo" | "isRelayManagerStaked" | "maxWorkerCount" | "minimumEntryDepositValue" | "minimumStake" | "minimumUnstakeDelay" | "penalize" | "penalizer" | "registerRelayServer" | "relayCall" | "relayData" | "stakeForAddress" | "stakes" | "unlockStake" | "versionHub" | "withdrawStake" | "workerCount" | "workerToManager"): FunctionFragment; encodeFunctionData(functionFragment: "addRelayWorkers", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "deployCall", values: [EnvelopingTypes.DeployRequestStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "disableRelayWorkers", values: [PromiseOrValue[]]): string; encodeFunctionData(functionFragment: "getRelayInfo", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getStakeInfo", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "isRelayManagerStaked", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "maxWorkerCount", values?: undefined): string; encodeFunctionData(functionFragment: "minimumEntryDepositValue", values?: undefined): string; encodeFunctionData(functionFragment: "minimumStake", values?: undefined): string; encodeFunctionData(functionFragment: "minimumUnstakeDelay", values?: undefined): string; encodeFunctionData(functionFragment: "penalize", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "penalizer", values?: undefined): string; encodeFunctionData(functionFragment: "registerRelayServer", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "relayCall", values: [EnvelopingTypes.RelayRequestStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: "relayData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "stakeForAddress", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "stakes", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "unlockStake", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "versionHub", values?: undefined): string; encodeFunctionData(functionFragment: "withdrawStake", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "workerCount", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "workerToManager", values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: "addRelayWorkers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deployCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "disableRelayWorkers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRelayInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStakeInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isRelayManagerStaked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxWorkerCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minimumEntryDepositValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minimumStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minimumUnstakeDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "penalize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "penalizer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerRelayServer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "relayCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "relayData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeForAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unlockStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "versionHub", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawStake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "workerCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "workerToManager", data: BytesLike): Result; events: { "Penalized(address,address,uint256)": EventFragment; "RelayServerRegistered(address,string)": EventFragment; "RelayWorkersAdded(address,address[],uint256)": EventFragment; "RelayWorkersDisabled(address,address[],uint256)": EventFragment; "StakeAdded(address,address,uint256,uint256)": EventFragment; "StakePenalized(address,address,uint256)": EventFragment; "StakeUnlocked(address,address,uint256)": EventFragment; "StakeWithdrawn(address,address,uint256)": EventFragment; "TransactionRelayed(address,address,bytes32,bytes)": EventFragment; "TransactionRelayedButRevertedByRecipient(address,address,bytes32,bytes)": EventFragment; "TransactionResult(bytes)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Penalized"): EventFragment; getEvent(nameOrSignatureOrTopic: "RelayServerRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "RelayWorkersAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "RelayWorkersDisabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "StakeAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "StakePenalized"): EventFragment; getEvent(nameOrSignatureOrTopic: "StakeUnlocked"): EventFragment; getEvent(nameOrSignatureOrTopic: "StakeWithdrawn"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransactionRelayed"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransactionRelayedButRevertedByRecipient"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransactionResult"): EventFragment; } export interface PenalizedEventObject { relayWorker: string; sender: string; reward: BigNumber; } export declare type PenalizedEvent = TypedEvent<[ string, string, BigNumber ], PenalizedEventObject>; export declare type PenalizedEventFilter = TypedEventFilter; export interface RelayServerRegisteredEventObject { relayManager: string; relayUrl: string; } export declare type RelayServerRegisteredEvent = TypedEvent<[ string, string ], RelayServerRegisteredEventObject>; export declare type RelayServerRegisteredEventFilter = TypedEventFilter; export interface RelayWorkersAddedEventObject { relayManager: string; newRelayWorkers: string[]; workersCount: BigNumber; } export declare type RelayWorkersAddedEvent = TypedEvent<[ string, string[], BigNumber ], RelayWorkersAddedEventObject>; export declare type RelayWorkersAddedEventFilter = TypedEventFilter; export interface RelayWorkersDisabledEventObject { relayManager: string; relayWorkers: string[]; workersCount: BigNumber; } export declare type RelayWorkersDisabledEvent = TypedEvent<[ string, string[], BigNumber ], RelayWorkersDisabledEventObject>; export declare type RelayWorkersDisabledEventFilter = TypedEventFilter; export interface StakeAddedEventObject { relayManager: string; owner: string; stake: BigNumber; unstakeDelay: BigNumber; } export declare type StakeAddedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], StakeAddedEventObject>; export declare type StakeAddedEventFilter = TypedEventFilter; export interface StakePenalizedEventObject { relayManager: string; beneficiary: string; reward: BigNumber; } export declare type StakePenalizedEvent = TypedEvent<[ string, string, BigNumber ], StakePenalizedEventObject>; export declare type StakePenalizedEventFilter = TypedEventFilter; export interface StakeUnlockedEventObject { relayManager: string; owner: string; withdrawBlock: BigNumber; } export declare type StakeUnlockedEvent = TypedEvent<[ string, string, BigNumber ], StakeUnlockedEventObject>; export declare type StakeUnlockedEventFilter = TypedEventFilter; export interface StakeWithdrawnEventObject { relayManager: string; owner: string; amount: BigNumber; } export declare type StakeWithdrawnEvent = TypedEvent<[ string, string, BigNumber ], StakeWithdrawnEventObject>; export declare type StakeWithdrawnEventFilter = TypedEventFilter; export interface TransactionRelayedEventObject { relayManager: string; relayWorker: string; relayRequestSigHash: string; relayedCallReturnValue: string; } export declare type TransactionRelayedEvent = TypedEvent<[ string, string, string, string ], TransactionRelayedEventObject>; export declare type TransactionRelayedEventFilter = TypedEventFilter; export interface TransactionRelayedButRevertedByRecipientEventObject { relayManager: string; relayWorker: string; relayRequestSigHash: string; reason: string; } export declare type TransactionRelayedButRevertedByRecipientEvent = TypedEvent<[ string, string, string, string ], TransactionRelayedButRevertedByRecipientEventObject>; export declare type TransactionRelayedButRevertedByRecipientEventFilter = TypedEventFilter; export interface TransactionResultEventObject { returnValue: string; } export declare type TransactionResultEvent = TypedEvent<[ string ], TransactionResultEventObject>; export declare type TransactionResultEventFilter = TypedEventFilter; export interface RelayHub extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RelayHubInterface; 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: { addRelayWorkers(newRelayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deployCall(deployRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; disableRelayWorkers(relayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRelayInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise<[ IRelayHub.RelayManagerDataStructOutput ] & { relayManagerData: IRelayHub.RelayManagerDataStructOutput; }>; getStakeInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise<[ IRelayHub.StakeInfoStructOutput ] & { stakeInfo: IRelayHub.StakeInfoStructOutput; }>; isRelayManagerStaked(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; maxWorkerCount(overrides?: CallOverrides): Promise<[BigNumber]>; minimumEntryDepositValue(overrides?: CallOverrides): Promise<[BigNumber]>; minimumStake(overrides?: CallOverrides): Promise<[BigNumber]>; minimumUnstakeDelay(overrides?: CallOverrides): Promise<[BigNumber]>; penalize(relayWorker: PromiseOrValue, beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; penalizer(overrides?: CallOverrides): Promise<[string]>; registerRelayServer(url: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayCall(relayRequest: EnvelopingTypes.RelayRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayData(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, boolean, boolean, string ] & { manager: string; currentlyStaked: boolean; registered: boolean; url: string; }>; stakeForAddress(relayManager: PromiseOrValue, unstakeDelay: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; stakes(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, string ] & { stake: BigNumber; unstakeDelay: BigNumber; withdrawBlock: BigNumber; owner: string; }>; unlockStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionHub(overrides?: CallOverrides): Promise<[string]>; withdrawStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; workerCount(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; workerToManager(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; }; addRelayWorkers(newRelayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deployCall(deployRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; disableRelayWorkers(relayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRelayInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; getStakeInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; isRelayManagerStaked(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; maxWorkerCount(overrides?: CallOverrides): Promise; minimumEntryDepositValue(overrides?: CallOverrides): Promise; minimumStake(overrides?: CallOverrides): Promise; minimumUnstakeDelay(overrides?: CallOverrides): Promise; penalize(relayWorker: PromiseOrValue, beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; penalizer(overrides?: CallOverrides): Promise; registerRelayServer(url: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayCall(relayRequest: EnvelopingTypes.RelayRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayData(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, boolean, boolean, string ] & { manager: string; currentlyStaked: boolean; registered: boolean; url: string; }>; stakeForAddress(relayManager: PromiseOrValue, unstakeDelay: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; stakes(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, string ] & { stake: BigNumber; unstakeDelay: BigNumber; withdrawBlock: BigNumber; owner: string; }>; unlockStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionHub(overrides?: CallOverrides): Promise; withdrawStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; workerCount(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; workerToManager(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { addRelayWorkers(newRelayWorkers: PromiseOrValue[], overrides?: CallOverrides): Promise; deployCall(deployRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; disableRelayWorkers(relayWorkers: PromiseOrValue[], overrides?: CallOverrides): Promise; getRelayInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; getStakeInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; isRelayManagerStaked(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; maxWorkerCount(overrides?: CallOverrides): Promise; minimumEntryDepositValue(overrides?: CallOverrides): Promise; minimumStake(overrides?: CallOverrides): Promise; minimumUnstakeDelay(overrides?: CallOverrides): Promise; penalize(relayWorker: PromiseOrValue, beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; penalizer(overrides?: CallOverrides): Promise; registerRelayServer(url: PromiseOrValue, overrides?: CallOverrides): Promise; relayCall(relayRequest: EnvelopingTypes.RelayRequestStruct, signature: PromiseOrValue, overrides?: CallOverrides): Promise; relayData(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ string, boolean, boolean, string ] & { manager: string; currentlyStaked: boolean; registered: boolean; url: string; }>; stakeForAddress(relayManager: PromiseOrValue, unstakeDelay: PromiseOrValue, overrides?: CallOverrides): Promise; stakes(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, string ] & { stake: BigNumber; unstakeDelay: BigNumber; withdrawBlock: BigNumber; owner: string; }>; unlockStake(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; versionHub(overrides?: CallOverrides): Promise; withdrawStake(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; workerCount(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; workerToManager(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Penalized(address,address,uint256)"(relayWorker?: PromiseOrValue | null, sender?: null, reward?: null): PenalizedEventFilter; Penalized(relayWorker?: PromiseOrValue | null, sender?: null, reward?: null): PenalizedEventFilter; "RelayServerRegistered(address,string)"(relayManager?: PromiseOrValue | null, relayUrl?: null): RelayServerRegisteredEventFilter; RelayServerRegistered(relayManager?: PromiseOrValue | null, relayUrl?: null): RelayServerRegisteredEventFilter; "RelayWorkersAdded(address,address[],uint256)"(relayManager?: PromiseOrValue | null, newRelayWorkers?: null, workersCount?: null): RelayWorkersAddedEventFilter; RelayWorkersAdded(relayManager?: PromiseOrValue | null, newRelayWorkers?: null, workersCount?: null): RelayWorkersAddedEventFilter; "RelayWorkersDisabled(address,address[],uint256)"(relayManager?: PromiseOrValue | null, relayWorkers?: null, workersCount?: null): RelayWorkersDisabledEventFilter; RelayWorkersDisabled(relayManager?: PromiseOrValue | null, relayWorkers?: null, workersCount?: null): RelayWorkersDisabledEventFilter; "StakeAdded(address,address,uint256,uint256)"(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, stake?: null, unstakeDelay?: null): StakeAddedEventFilter; StakeAdded(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, stake?: null, unstakeDelay?: null): StakeAddedEventFilter; "StakePenalized(address,address,uint256)"(relayManager?: PromiseOrValue | null, beneficiary?: PromiseOrValue | null, reward?: null): StakePenalizedEventFilter; StakePenalized(relayManager?: PromiseOrValue | null, beneficiary?: PromiseOrValue | null, reward?: null): StakePenalizedEventFilter; "StakeUnlocked(address,address,uint256)"(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, withdrawBlock?: null): StakeUnlockedEventFilter; StakeUnlocked(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, withdrawBlock?: null): StakeUnlockedEventFilter; "StakeWithdrawn(address,address,uint256)"(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, amount?: null): StakeWithdrawnEventFilter; StakeWithdrawn(relayManager?: PromiseOrValue | null, owner?: PromiseOrValue | null, amount?: null): StakeWithdrawnEventFilter; "TransactionRelayed(address,address,bytes32,bytes)"(relayManager?: PromiseOrValue | null, relayWorker?: null, relayRequestSigHash?: null, relayedCallReturnValue?: null): TransactionRelayedEventFilter; TransactionRelayed(relayManager?: PromiseOrValue | null, relayWorker?: null, relayRequestSigHash?: null, relayedCallReturnValue?: null): TransactionRelayedEventFilter; "TransactionRelayedButRevertedByRecipient(address,address,bytes32,bytes)"(relayManager?: PromiseOrValue | null, relayWorker?: null, relayRequestSigHash?: null, reason?: null): TransactionRelayedButRevertedByRecipientEventFilter; TransactionRelayedButRevertedByRecipient(relayManager?: PromiseOrValue | null, relayWorker?: null, relayRequestSigHash?: null, reason?: null): TransactionRelayedButRevertedByRecipientEventFilter; "TransactionResult(bytes)"(returnValue?: null): TransactionResultEventFilter; TransactionResult(returnValue?: null): TransactionResultEventFilter; }; estimateGas: { addRelayWorkers(newRelayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deployCall(deployRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; disableRelayWorkers(relayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRelayInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; getStakeInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; isRelayManagerStaked(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; maxWorkerCount(overrides?: CallOverrides): Promise; minimumEntryDepositValue(overrides?: CallOverrides): Promise; minimumStake(overrides?: CallOverrides): Promise; minimumUnstakeDelay(overrides?: CallOverrides): Promise; penalize(relayWorker: PromiseOrValue, beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; penalizer(overrides?: CallOverrides): Promise; registerRelayServer(url: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayCall(relayRequest: EnvelopingTypes.RelayRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayData(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; stakeForAddress(relayManager: PromiseOrValue, unstakeDelay: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; stakes(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; unlockStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionHub(overrides?: CallOverrides): Promise; withdrawStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; workerCount(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; workerToManager(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { addRelayWorkers(newRelayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deployCall(deployRequest: EnvelopingTypes.DeployRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; disableRelayWorkers(relayWorkers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getRelayInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; getStakeInfo(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; isRelayManagerStaked(relayManager: PromiseOrValue, overrides?: CallOverrides): Promise; maxWorkerCount(overrides?: CallOverrides): Promise; minimumEntryDepositValue(overrides?: CallOverrides): Promise; minimumStake(overrides?: CallOverrides): Promise; minimumUnstakeDelay(overrides?: CallOverrides): Promise; penalize(relayWorker: PromiseOrValue, beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; penalizer(overrides?: CallOverrides): Promise; registerRelayServer(url: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayCall(relayRequest: EnvelopingTypes.RelayRequestStruct, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; relayData(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; stakeForAddress(relayManager: PromiseOrValue, unstakeDelay: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; stakes(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; unlockStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; versionHub(overrides?: CallOverrides): Promise; withdrawStake(relayManager: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; workerCount(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; workerToManager(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; }; }