import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IXERC20Interface extends utils.Interface { contractName: "IXERC20"; functions: { "setLockbox(address)": FunctionFragment; "setLimits(address,uint256,uint256)": FunctionFragment; "mintingMaxLimitOf(address)": FunctionFragment; "burningMaxLimitOf(address)": FunctionFragment; "mintingCurrentLimitOf(address)": FunctionFragment; "burningCurrentLimitOf(address)": FunctionFragment; "mint(address,uint256)": FunctionFragment; "burn(address,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "setLockbox", values: [string]): string; encodeFunctionData(functionFragment: "setLimits", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "mintingMaxLimitOf", values: [string]): string; encodeFunctionData(functionFragment: "burningMaxLimitOf", values: [string]): string; encodeFunctionData(functionFragment: "mintingCurrentLimitOf", values: [string]): string; encodeFunctionData(functionFragment: "burningCurrentLimitOf", values: [string]): string; encodeFunctionData(functionFragment: "mint", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "burn", values: [string, BigNumberish]): string; decodeFunctionResult(functionFragment: "setLockbox", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setLimits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintingMaxLimitOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burningMaxLimitOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintingCurrentLimitOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burningCurrentLimitOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; events: { "BridgeLimitsSet(uint256,uint256,address)": EventFragment; "LockboxSet(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BridgeLimitsSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "LockboxSet"): EventFragment; } export declare type BridgeLimitsSetEvent = TypedEvent<[ BigNumber, BigNumber, string ], { _mintingLimit: BigNumber; _burningLimit: BigNumber; _bridge: string; }>; export declare type BridgeLimitsSetEventFilter = TypedEventFilter; export declare type LockboxSetEvent = TypedEvent<[string], { _lockbox: string; }>; export declare type LockboxSetEventFilter = TypedEventFilter; export interface IXERC20 extends BaseContract { contractName: "IXERC20"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IXERC20Interface; 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: { /** * Sets the lockbox address * @param _lockbox The address of the lockbox */ setLockbox(_lockbox: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by the owner * Updates the limits of any bridge * @param _bridge The address of the bridge we are setting the limits too * @param _burningLimit The updated burning limit we are setting to the bridge * @param _mintingLimit The updated minting limit we are setting to the bridge */ setLimits(_bridge: string, _mintingLimit: BigNumberish, _burningLimit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Returns the max limit of a minter * @param _minter The minter we are viewing the limits of */ mintingMaxLimitOf(_minter: string, overrides?: CallOverrides): Promise<[BigNumber] & { _limit: BigNumber; }>; /** * Returns the max limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningMaxLimitOf(_bridge: string, overrides?: CallOverrides): Promise<[BigNumber] & { _limit: BigNumber; }>; /** * Returns the current limit of a minter * @param _minter The minter we are viewing the limits of */ mintingCurrentLimitOf(_minter: string, overrides?: CallOverrides): Promise<[BigNumber] & { _limit: BigNumber; }>; /** * Returns the current limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningCurrentLimitOf(_bridge: string, overrides?: CallOverrides): Promise<[BigNumber] & { _limit: BigNumber; }>; /** * Can only be called by a minter * Mints tokens for a user * @param _amount The amount of tokens being minted * @param _user The address of the user who needs tokens minted */ mint(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by a minter * Burns tokens for a user * @param _amount The amount of tokens being burned * @param _user The address of the user who needs tokens burned */ burn(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; /** * Sets the lockbox address * @param _lockbox The address of the lockbox */ setLockbox(_lockbox: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by the owner * Updates the limits of any bridge * @param _bridge The address of the bridge we are setting the limits too * @param _burningLimit The updated burning limit we are setting to the bridge * @param _mintingLimit The updated minting limit we are setting to the bridge */ setLimits(_bridge: string, _mintingLimit: BigNumberish, _burningLimit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Returns the max limit of a minter * @param _minter The minter we are viewing the limits of */ mintingMaxLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the max limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningMaxLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a minter * @param _minter The minter we are viewing the limits of */ mintingCurrentLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningCurrentLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Can only be called by a minter * Mints tokens for a user * @param _amount The amount of tokens being minted * @param _user The address of the user who needs tokens minted */ mint(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by a minter * Burns tokens for a user * @param _amount The amount of tokens being burned * @param _user The address of the user who needs tokens burned */ burn(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { /** * Sets the lockbox address * @param _lockbox The address of the lockbox */ setLockbox(_lockbox: string, overrides?: CallOverrides): Promise; /** * Can only be called by the owner * Updates the limits of any bridge * @param _bridge The address of the bridge we are setting the limits too * @param _burningLimit The updated burning limit we are setting to the bridge * @param _mintingLimit The updated minting limit we are setting to the bridge */ setLimits(_bridge: string, _mintingLimit: BigNumberish, _burningLimit: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns the max limit of a minter * @param _minter The minter we are viewing the limits of */ mintingMaxLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the max limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningMaxLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a minter * @param _minter The minter we are viewing the limits of */ mintingCurrentLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningCurrentLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Can only be called by a minter * Mints tokens for a user * @param _amount The amount of tokens being minted * @param _user The address of the user who needs tokens minted */ mint(_user: string, _amount: BigNumberish, overrides?: CallOverrides): Promise; /** * Can only be called by a minter * Burns tokens for a user * @param _amount The amount of tokens being burned * @param _user The address of the user who needs tokens burned */ burn(_user: string, _amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "BridgeLimitsSet(uint256,uint256,address)"(_mintingLimit?: null, _burningLimit?: null, _bridge?: string | null): BridgeLimitsSetEventFilter; BridgeLimitsSet(_mintingLimit?: null, _burningLimit?: null, _bridge?: string | null): BridgeLimitsSetEventFilter; "LockboxSet(address)"(_lockbox?: null): LockboxSetEventFilter; LockboxSet(_lockbox?: null): LockboxSetEventFilter; }; estimateGas: { /** * Sets the lockbox address * @param _lockbox The address of the lockbox */ setLockbox(_lockbox: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by the owner * Updates the limits of any bridge * @param _bridge The address of the bridge we are setting the limits too * @param _burningLimit The updated burning limit we are setting to the bridge * @param _mintingLimit The updated minting limit we are setting to the bridge */ setLimits(_bridge: string, _mintingLimit: BigNumberish, _burningLimit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Returns the max limit of a minter * @param _minter The minter we are viewing the limits of */ mintingMaxLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the max limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningMaxLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a minter * @param _minter The minter we are viewing the limits of */ mintingCurrentLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningCurrentLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Can only be called by a minter * Mints tokens for a user * @param _amount The amount of tokens being minted * @param _user The address of the user who needs tokens minted */ mint(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by a minter * Burns tokens for a user * @param _amount The amount of tokens being burned * @param _user The address of the user who needs tokens burned */ burn(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { /** * Sets the lockbox address * @param _lockbox The address of the lockbox */ setLockbox(_lockbox: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by the owner * Updates the limits of any bridge * @param _bridge The address of the bridge we are setting the limits too * @param _burningLimit The updated burning limit we are setting to the bridge * @param _mintingLimit The updated minting limit we are setting to the bridge */ setLimits(_bridge: string, _mintingLimit: BigNumberish, _burningLimit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Returns the max limit of a minter * @param _minter The minter we are viewing the limits of */ mintingMaxLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the max limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningMaxLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a minter * @param _minter The minter we are viewing the limits of */ mintingCurrentLimitOf(_minter: string, overrides?: CallOverrides): Promise; /** * Returns the current limit of a bridge * @param _bridge the bridge we are viewing the limits of */ burningCurrentLimitOf(_bridge: string, overrides?: CallOverrides): Promise; /** * Can only be called by a minter * Mints tokens for a user * @param _amount The amount of tokens being minted * @param _user The address of the user who needs tokens minted */ mint(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Can only be called by a minter * Burns tokens for a user * @param _amount The amount of tokens being burned * @param _user The address of the user who needs tokens burned */ burn(_user: string, _amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; }