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 interface AssetControllerAbiInterface extends utils.Interface { functions: { "canDeploy(address)": FunctionFragment; "canReconcile(address)": FunctionFragment; "canUnwrap(address)": FunctionFragment; "canWrap(address)": FunctionFragment; "deploy(address,uint256)": FunctionFragment; "depositAssets(address)": FunctionFragment; "globals()": FunctionFragment; "implementation()": FunctionFragment; "isStrategy(address)": FunctionFragment; "locked()": FunctionFragment; "oracle()": FunctionFragment; "poolAsset()": FunctionFragment; "poolAssets(address)": FunctionFragment; "previewDeploy(address,uint256)": FunctionFragment; "previewReconcile(address,uint256)": FunctionFragment; "reconcile(address,uint256)": FunctionFragment; "router()": FunctionFragment; "setAssets(address[],bool[],bool[],bool[],bool[])": FunctionFragment; "setOracle(address)": FunctionFragment; "setRouter(address)": FunctionFragment; "setStrategies(address[],bool[])": FunctionFragment; "unwrap(address,uint256)": FunctionFragment; "wrap(address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "canDeploy" | "canReconcile" | "canUnwrap" | "canWrap" | "deploy" | "depositAssets" | "globals" | "implementation" | "isStrategy" | "locked" | "oracle" | "poolAsset" | "poolAssets" | "previewDeploy" | "previewReconcile" | "reconcile" | "router" | "setAssets" | "setOracle" | "setRouter" | "setStrategies" | "unwrap" | "wrap"): FunctionFragment; encodeFunctionData(functionFragment: "canDeploy", values: [string]): string; encodeFunctionData(functionFragment: "canReconcile", values: [string]): string; encodeFunctionData(functionFragment: "canUnwrap", values: [string]): string; encodeFunctionData(functionFragment: "canWrap", values: [string]): string; encodeFunctionData(functionFragment: "deploy", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "depositAssets", values: [string]): string; encodeFunctionData(functionFragment: "globals", values?: undefined): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "isStrategy", values: [string]): string; encodeFunctionData(functionFragment: "locked", values?: undefined): string; encodeFunctionData(functionFragment: "oracle", values?: undefined): string; encodeFunctionData(functionFragment: "poolAsset", values?: undefined): string; encodeFunctionData(functionFragment: "poolAssets", values: [string]): string; encodeFunctionData(functionFragment: "previewDeploy", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "previewReconcile", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "reconcile", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "router", values?: undefined): string; encodeFunctionData(functionFragment: "setAssets", values: [string[], boolean[], boolean[], boolean[], boolean[]]): string; encodeFunctionData(functionFragment: "setOracle", values: [string]): string; encodeFunctionData(functionFragment: "setRouter", values: [string]): string; encodeFunctionData(functionFragment: "setStrategies", values: [string[], boolean[]]): string; encodeFunctionData(functionFragment: "unwrap", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "wrap", values: [string, BigNumberish]): string; decodeFunctionResult(functionFragment: "canDeploy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canReconcile", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canUnwrap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canWrap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "globals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "locked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poolAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewDeploy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewReconcile", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reconcile", data: BytesLike): Result; decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRouter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setStrategies", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unwrap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "wrap", data: BytesLike): Result; events: { "Initialized(address,address,address,address,address)": EventFragment; "AssetsDeployed(address,address,uint256,uint256)": EventFragment; "AssetsReconciled(address,address,uint256,uint256)": EventFragment; "AssetsSet(address[],bool[],bool[],bool[],bool[])": EventFragment; "AssetsUnwrapped(address,address,uint256,uint256)": EventFragment; "AssetsWrapped(address,address,uint256,uint256)": EventFragment; "OracleSet(address)": EventFragment; "RouterSet(address)": EventFragment; "StrategiesSet(address[],bool[])": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsDeployed"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsReconciled"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsUnwrapped"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetsWrapped"): EventFragment; getEvent(nameOrSignatureOrTopic: "OracleSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "RouterSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "StrategiesSet"): EventFragment; } export interface InitializedEventObject { implementation: string; globals: string; oracle: string; poolAsset: string; router: string; } export type InitializedEvent = TypedEvent<[ string, string, string, string, string ], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface AssetsDeployedEventObject { recipient: string; asset: string; deployed: BigNumber; burned: BigNumber; } export type AssetsDeployedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], AssetsDeployedEventObject>; export type AssetsDeployedEventFilter = TypedEventFilter; export interface AssetsReconciledEventObject { recipient: string; asset: string; reconciled: BigNumber; minted: BigNumber; } export type AssetsReconciledEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], AssetsReconciledEventObject>; export type AssetsReconciledEventFilter = TypedEventFilter; export interface AssetsSetEventObject { assets: string[]; canWrap: boolean[]; canUnwrap: boolean[]; canDeploy: boolean[]; canReconcile: boolean[]; } export type AssetsSetEvent = TypedEvent<[ string[], boolean[], boolean[], boolean[], boolean[] ], AssetsSetEventObject>; export type AssetsSetEventFilter = TypedEventFilter; export interface AssetsUnwrappedEventObject { recipient: string; asset: string; unwrapped: BigNumber; burned: BigNumber; } export type AssetsUnwrappedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], AssetsUnwrappedEventObject>; export type AssetsUnwrappedEventFilter = TypedEventFilter; export interface AssetsWrappedEventObject { recipient: string; asset: string; wrapped: BigNumber; minted: BigNumber; } export type AssetsWrappedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], AssetsWrappedEventObject>; export type AssetsWrappedEventFilter = TypedEventFilter; export interface OracleSetEventObject { oracle: string; } export type OracleSetEvent = TypedEvent<[string], OracleSetEventObject>; export type OracleSetEventFilter = TypedEventFilter; export interface RouterSetEventObject { router: string; } export type RouterSetEvent = TypedEvent<[string], RouterSetEventObject>; export type RouterSetEventFilter = TypedEventFilter; export interface StrategiesSetEventObject { addresses: string[]; flags: boolean[]; } export type StrategiesSetEvent = TypedEvent<[ string[], boolean[] ], StrategiesSetEventObject>; export type StrategiesSetEventFilter = TypedEventFilter; export interface AssetControllerAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: AssetControllerAbiInterface; 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: { canDeploy(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; canReconcile(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; canUnwrap(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; canWrap(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAssets(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; globals(overrides?: CallOverrides): Promise<[string] & { globals_: string; }>; implementation(overrides?: CallOverrides): Promise<[string] & { implementation_: string; }>; isStrategy(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; locked(overrides?: CallOverrides): Promise<[BigNumber]>; oracle(overrides?: CallOverrides): Promise<[string]>; poolAsset(overrides?: CallOverrides): Promise<[string]>; poolAssets(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; previewDeploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { amountIn_: BigNumber; }>; previewReconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { amountOut_: BigNumber; }>; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; router(overrides?: CallOverrides): Promise<[string]>; setAssets(assets_: string[], canWrap_: boolean[], canUnwrap_: boolean[], canDeploy_: boolean[], canReconcile_: boolean[], overrides?: Overrides & { from?: string; }): Promise; setOracle(oracle_: string, overrides?: Overrides & { from?: string; }): Promise; setRouter(router_: string, overrides?: Overrides & { from?: string; }): Promise; setStrategies(addresses_: string[], flags_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unwrap(assetOut_: string, burnAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; wrap(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; canDeploy(arg0: string, overrides?: CallOverrides): Promise; canReconcile(arg0: string, overrides?: CallOverrides): Promise; canUnwrap(arg0: string, overrides?: CallOverrides): Promise; canWrap(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAssets(arg0: string, overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isStrategy(arg0: string, overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; oracle(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolAssets(arg0: string, overrides?: CallOverrides): Promise; previewDeploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; previewReconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; router(overrides?: CallOverrides): Promise; setAssets(assets_: string[], canWrap_: boolean[], canUnwrap_: boolean[], canDeploy_: boolean[], canReconcile_: boolean[], overrides?: Overrides & { from?: string; }): Promise; setOracle(oracle_: string, overrides?: Overrides & { from?: string; }): Promise; setRouter(router_: string, overrides?: Overrides & { from?: string; }): Promise; setStrategies(addresses_: string[], flags_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unwrap(assetOut_: string, burnAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; wrap(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { canDeploy(arg0: string, overrides?: CallOverrides): Promise; canReconcile(arg0: string, overrides?: CallOverrides): Promise; canUnwrap(arg0: string, overrides?: CallOverrides): Promise; canWrap(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; depositAssets(arg0: string, overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isStrategy(arg0: string, overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; oracle(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolAssets(arg0: string, overrides?: CallOverrides): Promise; previewDeploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; previewReconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; router(overrides?: CallOverrides): Promise; setAssets(assets_: string[], canWrap_: boolean[], canUnwrap_: boolean[], canDeploy_: boolean[], canReconcile_: boolean[], overrides?: CallOverrides): Promise; setOracle(oracle_: string, overrides?: CallOverrides): Promise; setRouter(router_: string, overrides?: CallOverrides): Promise; setStrategies(addresses_: string[], flags_: boolean[], overrides?: CallOverrides): Promise; unwrap(assetOut_: string, burnAmount_: BigNumberish, overrides?: CallOverrides): Promise; wrap(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "Initialized(address,address,address,address,address)"(implementation?: null, globals?: null, oracle?: null, poolAsset?: null, router?: null): InitializedEventFilter; Initialized(implementation?: null, globals?: null, oracle?: null, poolAsset?: null, router?: null): InitializedEventFilter; "AssetsDeployed(address,address,uint256,uint256)"(recipient?: string | null, asset?: string | null, deployed?: null, burned?: null): AssetsDeployedEventFilter; AssetsDeployed(recipient?: string | null, asset?: string | null, deployed?: null, burned?: null): AssetsDeployedEventFilter; "AssetsReconciled(address,address,uint256,uint256)"(recipient?: string | null, asset?: string | null, reconciled?: null, minted?: null): AssetsReconciledEventFilter; AssetsReconciled(recipient?: string | null, asset?: string | null, reconciled?: null, minted?: null): AssetsReconciledEventFilter; "AssetsSet(address[],bool[],bool[],bool[],bool[])"(assets?: null, canWrap?: null, canUnwrap?: null, canDeploy?: null, canReconcile?: null): AssetsSetEventFilter; AssetsSet(assets?: null, canWrap?: null, canUnwrap?: null, canDeploy?: null, canReconcile?: null): AssetsSetEventFilter; "AssetsUnwrapped(address,address,uint256,uint256)"(recipient?: string | null, asset?: string | null, unwrapped?: null, burned?: null): AssetsUnwrappedEventFilter; AssetsUnwrapped(recipient?: string | null, asset?: string | null, unwrapped?: null, burned?: null): AssetsUnwrappedEventFilter; "AssetsWrapped(address,address,uint256,uint256)"(recipient?: string | null, asset?: string | null, wrapped?: null, minted?: null): AssetsWrappedEventFilter; AssetsWrapped(recipient?: string | null, asset?: string | null, wrapped?: null, minted?: null): AssetsWrappedEventFilter; "OracleSet(address)"(oracle?: string | null): OracleSetEventFilter; OracleSet(oracle?: string | null): OracleSetEventFilter; "RouterSet(address)"(router?: string | null): RouterSetEventFilter; RouterSet(router?: string | null): RouterSetEventFilter; "StrategiesSet(address[],bool[])"(addresses?: null, flags?: null): StrategiesSetEventFilter; StrategiesSet(addresses?: null, flags?: null): StrategiesSetEventFilter; }; estimateGas: { canDeploy(arg0: string, overrides?: CallOverrides): Promise; canReconcile(arg0: string, overrides?: CallOverrides): Promise; canUnwrap(arg0: string, overrides?: CallOverrides): Promise; canWrap(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAssets(arg0: string, overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isStrategy(arg0: string, overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; oracle(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolAssets(arg0: string, overrides?: CallOverrides): Promise; previewDeploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; previewReconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; router(overrides?: CallOverrides): Promise; setAssets(assets_: string[], canWrap_: boolean[], canUnwrap_: boolean[], canDeploy_: boolean[], canReconcile_: boolean[], overrides?: Overrides & { from?: string; }): Promise; setOracle(oracle_: string, overrides?: Overrides & { from?: string; }): Promise; setRouter(router_: string, overrides?: Overrides & { from?: string; }): Promise; setStrategies(addresses_: string[], flags_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unwrap(assetOut_: string, burnAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; wrap(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { canDeploy(arg0: string, overrides?: CallOverrides): Promise; canReconcile(arg0: string, overrides?: CallOverrides): Promise; canUnwrap(arg0: string, overrides?: CallOverrides): Promise; canWrap(arg0: string, overrides?: CallOverrides): Promise; deploy(assetOut_: string, amountOut_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; depositAssets(arg0: string, overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isStrategy(arg0: string, overrides?: CallOverrides): Promise; locked(overrides?: CallOverrides): Promise; oracle(overrides?: CallOverrides): Promise; poolAsset(overrides?: CallOverrides): Promise; poolAssets(arg0: string, overrides?: CallOverrides): Promise; previewDeploy(assetOut_: string, amountOut_: BigNumberish, overrides?: CallOverrides): Promise; previewReconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: CallOverrides): Promise; reconcile(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; router(overrides?: CallOverrides): Promise; setAssets(assets_: string[], canWrap_: boolean[], canUnwrap_: boolean[], canDeploy_: boolean[], canReconcile_: boolean[], overrides?: Overrides & { from?: string; }): Promise; setOracle(oracle_: string, overrides?: Overrides & { from?: string; }): Promise; setRouter(router_: string, overrides?: Overrides & { from?: string; }): Promise; setStrategies(addresses_: string[], flags_: boolean[], overrides?: Overrides & { from?: string; }): Promise; unwrap(assetOut_: string, burnAmount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; wrap(assetIn_: string, amountIn_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }