/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import BN from "bn.js"; import { EventData, PastEventOptions } from "../Web3Types"; export interface TestRelayHubContract extends Truffle.Contract { "new"( _stakeManager: string, _penalizer: string, _batchGateway: string, _relayRegistrar: string, _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, meta?: Truffle.TransactionDetails ): Promise; } export interface AbandonedRelayManagerBalanceEscheated { name: "AbandonedRelayManagerBalanceEscheated"; args: { relayManager: string; balance: BN; 0: string; 1: BN; }; } export interface Deposited { name: "Deposited"; args: { paymaster: string; from: string; amount: BN; 0: string; 1: string; 2: BN; }; } export interface HubDeprecated { name: "HubDeprecated"; args: { deprecationTime: BN; 0: BN; }; } export interface OwnershipTransferred { name: "OwnershipTransferred"; args: { previousOwner: string; newOwner: string; 0: string; 1: string; }; } export interface RelayHubConfigured { name: "RelayHubConfigured"; args: { config: { maxWorkerCount: BN; gasReserve: BN; postOverhead: BN; gasOverhead: BN; minimumUnstakeDelay: BN; devAddress: string; devFee: BN; baseRelayFee: BN; pctRelayFee: BN; }; 0: { maxWorkerCount: BN; gasReserve: BN; postOverhead: BN; gasOverhead: BN; minimumUnstakeDelay: BN; devAddress: string; devFee: BN; baseRelayFee: BN; pctRelayFee: BN; }; }; } export interface RelayWorkersAdded { name: "RelayWorkersAdded"; args: { relayManager: string; newRelayWorkers: string[]; workersCount: BN; 0: string; 1: string[]; 2: BN; }; } export interface StakingTokenDataChanged { name: "StakingTokenDataChanged"; args: { token: string; minimumStake: BN; 0: string; 1: BN; }; } export interface TransactionRejectedByPaymaster { name: "TransactionRejectedByPaymaster"; args: { relayManager: string; paymaster: string; relayRequestID: string; from: string; to: string; relayWorker: string; selector: string; innerGasUsed: BN; reason: string; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: BN; 8: string; }; } export interface TransactionRelayed { name: "TransactionRelayed"; args: { relayManager: string; relayWorker: string; relayRequestID: string; from: string; to: string; paymaster: string; selector: string; status: BN; charge: BN; 0: string; 1: string; 2: string; 3: string; 4: string; 5: string; 6: string; 7: BN; 8: BN; }; } export interface TransactionResult { name: "TransactionResult"; args: { status: BN; returnValue: string; 0: BN; 1: string; }; } export interface Withdrawn { name: "Withdrawn"; args: { account: string; dest: string; amount: BN; 0: string; 1: string; 2: BN; }; } type AllEvents = | AbandonedRelayManagerBalanceEscheated | Deposited | HubDeprecated | OwnershipTransferred | RelayHubConfigured | RelayWorkersAdded | StakingTokenDataChanged | TransactionRejectedByPaymaster | TransactionRelayed | TransactionResult | Withdrawn; export interface TestRelayHubInstance extends Truffle.ContractInstance { /** * Add new worker addresses controlled by the sender who must be a staked Relay Manager address. Emits a `RelayWorkersAdded` event. This function can be called multiple times, emitting new events. */ addRelayWorkers: { ( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise>; call( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ aggregateGasleft(txDetails?: Truffle.TransactionDetails): Promise; /** */ balanceOf( target: string, txDetails?: Truffle.TransactionDetails ): Promise; calculateCharge( gasUsed: number | BN | string, relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; /** * The fee is expressed as a percentage of the actual charge. For example, a value '40' stands for a 40% fee, so the Relay Manager will only get 60% of the `charge`. * @param charge The amount of Ether in wei the Paymaster will be charged for this transaction. */ calculateDevCharge( charge: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; /** * Deprecate hub by reverting all incoming `relayCall()` calls starting from a given timestamp * @param _deprecationTime The timestamp in seconds after which the `RelayHub` stops serving transactions. */ deprecateHub: { ( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * @param relayManager */ escheatAbandonedRelayBalance: { (relayManager: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ getBatchGateway(txDetails?: Truffle.TransactionDetails): Promise; /** */ getConfiguration( txDetails?: Truffle.TransactionDetails ): Promise<{ maxWorkerCount: BN; gasReserve: BN; postOverhead: BN; gasOverhead: BN; minimumUnstakeDelay: BN; devAddress: string; devFee: BN; baseRelayFee: BN; pctRelayFee: BN; }>; /** */ getCreationBlock(txDetails?: Truffle.TransactionDetails): Promise; /** */ getDeprecationTime(txDetails?: Truffle.TransactionDetails): Promise; /** * @param token An address of an ERC-20 compatible tokens. */ getMinimumStakePerToken( token: string, txDetails?: Truffle.TransactionDetails ): Promise; /** */ getPenalizer(txDetails?: Truffle.TransactionDetails): Promise; /** */ getRelayRegistrar(txDetails?: Truffle.TransactionDetails): Promise; /** */ getStakeManager(txDetails?: Truffle.TransactionDetails): Promise; /** * @param manager An address of the Relay Manager. */ getWorkerCount( manager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * @param worker An address of the Relay Worker. */ getWorkerManager( worker: string, txDetails?: Truffle.TransactionDetails ): Promise; innerRelayCall: { ( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise<{ 0: BN; 1: string }>; sendTransaction( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ isDeprecated(txDetails?: Truffle.TransactionDetails): Promise; /** * Uses `StakeManager` to check if the Relay Manager can be considered abandoned or not. Returns true if the stake's abandonment time is in the past including the escheatment delay, false otherwise. */ isRelayEscheatable( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * The `RelayRegistrar` callback to notify the `RelayHub` that this `relayManager` has updated registration. */ onRelayServerRegistered: { (relayManager: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Returns the address of the current owner. */ owner(txDetails?: Truffle.TransactionDetails): Promise; /** * In case the Relay Worker has been found to be in violation of some rules by the `Penalizer` contract, the `Penalizer` will call this method to execute a penalization. The `RelayHub` will look up the Relay Manager of the given Relay Worker and will forward the call to the `StakeManager` contract. The `RelayHub` does not perform the actual penalization either. * @param beneficiary The address that called the `Penalizer` and will receive a reward for it. * @param relayWorker The address of the Relay Worker that committed a penalizable offense. */ penalize: { ( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise>; call( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; }; relayCall: { ( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise>; call( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise<{ 0: boolean; 1: BN; 2: BN; 3: string }>; sendTransaction( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership: { (txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call(txDetails?: Truffle.TransactionDetails): Promise; sendTransaction(txDetails?: Truffle.TransactionDetails): Promise; estimateGas(txDetails?: Truffle.TransactionDetails): Promise; }; setConfiguration: { ( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise>; call( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Sets or changes the minimum amount of a given `token` that needs to be staked so that the Relay Manager is considered to be 'staked' by this `RelayHub`. Zero value means this token is not allowed for staking. * @param minimumStake An array of minimal amounts necessary for a corresponding token, in wei. * @param token An array of addresses of ERC-20 compatible tokens. */ setMinimumStakes: { ( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise>; call( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership: { (newOwner: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Uses `StakeManager` to decide if the Relay Manager can be considered staked or not. Returns if the stake's token, amount and delay satisfy all requirements, reverts otherwise. */ verifyRelayManagerStaked( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** */ versionHub(txDetails?: Truffle.TransactionDetails): Promise; /** * Withdraws from an account's balance, sending it back to the caller. Relay Managers call this to retrieve their revenue, and `Paymasters` can also use it to reduce their funding. Emits a `Withdrawn` event. */ withdraw: { ( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Withdraws from an account's balance, sending funds to multiple provided addresses. Relay Managers call this to retrieve their revenue, and `Paymasters` can also use it to reduce their funding. Emits a `Withdrawn` event for each destination. */ withdrawMultiple: { ( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise>; call( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Allow depositing for non-paymaster addresses for Gas Calculations tests */ depositFor: { (target: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call(target: string, txDetails?: Truffle.TransactionDetails): Promise; sendTransaction( target: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( target: string, txDetails?: Truffle.TransactionDetails ): Promise; }; methods: { /** * Add new worker addresses controlled by the sender who must be a staked Relay Manager address. Emits a `RelayWorkersAdded` event. This function can be called multiple times, emitting new events. */ addRelayWorkers: { ( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise>; call( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( newRelayWorkers: string[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ aggregateGasleft(txDetails?: Truffle.TransactionDetails): Promise; /** */ balanceOf( target: string, txDetails?: Truffle.TransactionDetails ): Promise; calculateCharge( gasUsed: number | BN | string, relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; /** * The fee is expressed as a percentage of the actual charge. For example, a value '40' stands for a 40% fee, so the Relay Manager will only get 60% of the `charge`. * @param charge The amount of Ether in wei the Paymaster will be charged for this transaction. */ calculateDevCharge( charge: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; /** * Deprecate hub by reverting all incoming `relayCall()` calls starting from a given timestamp * @param _deprecationTime The timestamp in seconds after which the `RelayHub` stops serving transactions. */ deprecateHub: { ( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( _deprecationTime: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * @param relayManager */ escheatAbandonedRelayBalance: { (relayManager: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ getBatchGateway(txDetails?: Truffle.TransactionDetails): Promise; /** */ getConfiguration( txDetails?: Truffle.TransactionDetails ): Promise<{ maxWorkerCount: BN; gasReserve: BN; postOverhead: BN; gasOverhead: BN; minimumUnstakeDelay: BN; devAddress: string; devFee: BN; baseRelayFee: BN; pctRelayFee: BN; }>; /** */ getCreationBlock(txDetails?: Truffle.TransactionDetails): Promise; /** */ getDeprecationTime(txDetails?: Truffle.TransactionDetails): Promise; /** * @param token An address of an ERC-20 compatible tokens. */ getMinimumStakePerToken( token: string, txDetails?: Truffle.TransactionDetails ): Promise; /** */ getPenalizer(txDetails?: Truffle.TransactionDetails): Promise; /** */ getRelayRegistrar(txDetails?: Truffle.TransactionDetails): Promise; /** */ getStakeManager(txDetails?: Truffle.TransactionDetails): Promise; /** * @param manager An address of the Relay Manager. */ getWorkerCount( manager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * @param worker An address of the Relay Worker. */ getWorkerManager( worker: string, txDetails?: Truffle.TransactionDetails ): Promise; innerRelayCall: { ( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise<{ 0: BN; 1: string }>; sendTransaction( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( domainSeparatorName: string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, gasAndDataLimits: { acceptanceBudget: number | BN | string; preRelayedCallGasLimit: number | BN | string; postRelayedCallGasLimit: number | BN | string; calldataSizeLimit: number | BN | string; }, totalInitialGas: number | BN | string, maxPossibleGas: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** */ isDeprecated(txDetails?: Truffle.TransactionDetails): Promise; /** * Uses `StakeManager` to check if the Relay Manager can be considered abandoned or not. Returns true if the stake's abandonment time is in the past including the escheatment delay, false otherwise. */ isRelayEscheatable( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * The `RelayRegistrar` callback to notify the `RelayHub` that this `relayManager` has updated registration. */ onRelayServerRegistered: { (relayManager: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Returns the address of the current owner. */ owner(txDetails?: Truffle.TransactionDetails): Promise; /** * In case the Relay Worker has been found to be in violation of some rules by the `Penalizer` contract, the `Penalizer` will call this method to execute a penalization. The `RelayHub` will look up the Relay Manager of the given Relay Worker and will forward the call to the `StakeManager` contract. The `RelayHub` does not perform the actual penalization either. * @param beneficiary The address that called the `Penalizer` and will receive a reward for it. * @param relayWorker The address of the Relay Worker that committed a penalizable offense. */ penalize: { ( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise>; call( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( relayWorker: string, beneficiary: string, txDetails?: Truffle.TransactionDetails ): Promise; }; relayCall: { ( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise>; call( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise<{ 0: boolean; 1: BN; 2: BN; 3: string }>; sendTransaction( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( domainSeparatorName: string, maxAcceptanceBudget: number | BN | string, relayRequest: { request: { from: string; to: string; value: number | BN | string; gas: number | BN | string; nonce: number | BN | string; data: string; validUntilTime: number | BN | string; }; relayData: { maxFeePerGas: number | BN | string; maxPriorityFeePerGas: number | BN | string; transactionCalldataGasUsed: number | BN | string; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: number | BN | string; }; }, signature: string, approvalData: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner. */ renounceOwnership: { (txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call(txDetails?: Truffle.TransactionDetails): Promise; sendTransaction(txDetails?: Truffle.TransactionDetails): Promise; estimateGas(txDetails?: Truffle.TransactionDetails): Promise; }; setConfiguration: { ( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise>; call( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( _config: { maxWorkerCount: number | BN | string; gasReserve: number | BN | string; postOverhead: number | BN | string; gasOverhead: number | BN | string; minimumUnstakeDelay: number | BN | string; devAddress: string; devFee: number | BN | string; baseRelayFee: number | BN | string; pctRelayFee: number | BN | string; }, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Sets or changes the minimum amount of a given `token` that needs to be staked so that the Relay Manager is considered to be 'staked' by this `RelayHub`. Zero value means this token is not allowed for staking. * @param minimumStake An array of minimal amounts necessary for a corresponding token, in wei. * @param token An array of addresses of ERC-20 compatible tokens. */ setMinimumStakes: { ( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise>; call( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( token: string[], minimumStake: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas. */ supportsInterface( interfaceId: string, txDetails?: Truffle.TransactionDetails ): Promise; /** * Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner. */ transferOwnership: { (newOwner: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( newOwner: string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Uses `StakeManager` to decide if the Relay Manager can be considered staked or not. Returns if the stake's token, amount and delay satisfy all requirements, reverts otherwise. */ verifyRelayManagerStaked( relayManager: string, txDetails?: Truffle.TransactionDetails ): Promise; /** */ versionHub(txDetails?: Truffle.TransactionDetails): Promise; /** * Withdraws from an account's balance, sending it back to the caller. Relay Managers call this to retrieve their revenue, and `Paymasters` can also use it to reduce their funding. Emits a `Withdrawn` event. */ withdraw: { ( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise>; call( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( dest: string, amount: number | BN | string, txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Withdraws from an account's balance, sending funds to multiple provided addresses. Relay Managers call this to retrieve their revenue, and `Paymasters` can also use it to reduce their funding. Emits a `Withdrawn` event for each destination. */ withdrawMultiple: { ( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise>; call( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( dest: string[], amount: (number | BN | string)[], txDetails?: Truffle.TransactionDetails ): Promise; }; /** * Allow depositing for non-paymaster addresses for Gas Calculations tests */ depositFor: { (target: string, txDetails?: Truffle.TransactionDetails): Promise< Truffle.TransactionResponse >; call( target: string, txDetails?: Truffle.TransactionDetails ): Promise; sendTransaction( target: string, txDetails?: Truffle.TransactionDetails ): Promise; estimateGas( target: string, txDetails?: Truffle.TransactionDetails ): Promise; }; }; getPastEvents(event: string): Promise; getPastEvents( event: string, options: PastEventOptions, callback: (error: Error, event: EventData) => void ): Promise; getPastEvents(event: string, options: PastEventOptions): Promise; getPastEvents( event: string, callback: (error: Error, event: EventData) => void ): Promise; }