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 type PoolManagerInitParamsStruct = { asset: string; initialSupply: BigNumberish; name: string; symbol: string; }; export type PoolManagerInitParamsStructOutput = [ string, BigNumber, string, string ] & { asset: string; initialSupply: BigNumber; name: string; symbol: string; }; export type PoolConfigParamsStruct = { poolPermissionManager: string; delegateManagementFeeRate: BigNumberish; liquidityCap: BigNumberish; }; export type PoolConfigParamsStructOutput = [string, BigNumber, BigNumber] & { poolPermissionManager: string; delegateManagementFeeRate: BigNumber; liquidityCap: BigNumber; }; export type StrategyDeployParamsStruct = { factory: string; cap: BigNumberish; salt: BytesLike; deploymentData: BytesLike; }; export type StrategyDeployParamsStructOutput = [ string, BigNumber, string, string ] & { factory: string; cap: BigNumber; salt: string; deploymentData: string; }; export type StrategyManagerParamsStruct = { instance: string; cap: BigNumberish; }; export type StrategyManagerParamsStructOutput = [string, BigNumber] & { instance: string; cap: BigNumber; }; export interface PoolDeployerV500AbiInterface extends utils.Interface { functions: { "deployPool(address,address,(address,uint256,string,string),(address,uint256,uint256),(address,uint256,bytes32,bytes)[],(address,uint256)[])": FunctionFragment; "getPoolDeploymentAddresses(address,address,address,uint256,string,string)": FunctionFragment; "getQueueWithdrawalManagerAddress(address,address,address)": FunctionFragment; "getStrategiesAddresses(address,address[],bytes[],bytes32[])": FunctionFragment; "globals()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "deployPool" | "getPoolDeploymentAddresses" | "getQueueWithdrawalManagerAddress" | "getStrategiesAddresses" | "globals"): FunctionFragment; encodeFunctionData(functionFragment: "deployPool", values: [ string, string, PoolManagerInitParamsStruct, PoolConfigParamsStruct, StrategyDeployParamsStruct[], StrategyManagerParamsStruct[] ]): string; encodeFunctionData(functionFragment: "getPoolDeploymentAddresses", values: [string, string, string, BigNumberish, string, string]): string; encodeFunctionData(functionFragment: "getQueueWithdrawalManagerAddress", values: [string, string, string]): string; encodeFunctionData(functionFragment: "getStrategiesAddresses", values: [string, string[], BytesLike[], BytesLike[]]): string; encodeFunctionData(functionFragment: "globals", values?: undefined): string; decodeFunctionResult(functionFragment: "deployPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolDeploymentAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getQueueWithdrawalManagerAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getStrategiesAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "globals", data: BytesLike): Result; events: { "PoolDeployed(address,address,address,address[],address[])": EventFragment; }; getEvent(nameOrSignatureOrTopic: "PoolDeployed"): EventFragment; } export interface PoolDeployedEventObject { pool: string; poolManager: string; withdrawalManager: string; strategies: string[]; strategyManagers: string[]; } export type PoolDeployedEvent = TypedEvent<[ string, string, string, string[], string[] ], PoolDeployedEventObject>; export type PoolDeployedEventFilter = TypedEventFilter; export interface PoolDeployerV500Abi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PoolDeployerV500AbiInterface; 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: { deployPool(poolManagerFactory_: string, withdrawalManagerFactory_: string, poolManagerInitParams_: PoolManagerInitParamsStruct, poolConfigParams_: PoolConfigParamsStruct, strategiesParams_: StrategyDeployParamsStruct[], strategyManagersParams_: StrategyManagerParamsStruct[], overrides?: Overrides & { from?: string; }): Promise; getPoolDeploymentAddresses(poolManagerFactory_: string, poolDelegate_: string, asset_: string, initialSupply_: BigNumberish, name_: string, symbol_: string, overrides?: CallOverrides): Promise<[string, string] & { poolManager_: string; pool_: string; }>; getQueueWithdrawalManagerAddress(withdrawalManagerFactory_: string, pool_: string, poolManager_: string, overrides?: CallOverrides): Promise<[string] & { withdrawalManager_: string; }>; getStrategiesAddresses(poolManager_: string, strategyFactories_: string[], strategyDeploymentData_: BytesLike[], strategySalts_: BytesLike[], overrides?: CallOverrides): Promise<[string[]] & { strategies_: string[]; }>; globals(overrides?: CallOverrides): Promise<[string]>; }; deployPool(poolManagerFactory_: string, withdrawalManagerFactory_: string, poolManagerInitParams_: PoolManagerInitParamsStruct, poolConfigParams_: PoolConfigParamsStruct, strategiesParams_: StrategyDeployParamsStruct[], strategyManagersParams_: StrategyManagerParamsStruct[], overrides?: Overrides & { from?: string; }): Promise; getPoolDeploymentAddresses(poolManagerFactory_: string, poolDelegate_: string, asset_: string, initialSupply_: BigNumberish, name_: string, symbol_: string, overrides?: CallOverrides): Promise<[string, string] & { poolManager_: string; pool_: string; }>; getQueueWithdrawalManagerAddress(withdrawalManagerFactory_: string, pool_: string, poolManager_: string, overrides?: CallOverrides): Promise; getStrategiesAddresses(poolManager_: string, strategyFactories_: string[], strategyDeploymentData_: BytesLike[], strategySalts_: BytesLike[], overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; callStatic: { deployPool(poolManagerFactory_: string, withdrawalManagerFactory_: string, poolManagerInitParams_: PoolManagerInitParamsStruct, poolConfigParams_: PoolConfigParamsStruct, strategiesParams_: StrategyDeployParamsStruct[], strategyManagersParams_: StrategyManagerParamsStruct[], overrides?: CallOverrides): Promise; getPoolDeploymentAddresses(poolManagerFactory_: string, poolDelegate_: string, asset_: string, initialSupply_: BigNumberish, name_: string, symbol_: string, overrides?: CallOverrides): Promise<[string, string] & { poolManager_: string; pool_: string; }>; getQueueWithdrawalManagerAddress(withdrawalManagerFactory_: string, pool_: string, poolManager_: string, overrides?: CallOverrides): Promise; getStrategiesAddresses(poolManager_: string, strategyFactories_: string[], strategyDeploymentData_: BytesLike[], strategySalts_: BytesLike[], overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; }; filters: { "PoolDeployed(address,address,address,address[],address[])"(pool?: string | null, poolManager?: string | null, withdrawalManager?: string | null, strategies?: null, strategyManagers?: null): PoolDeployedEventFilter; PoolDeployed(pool?: string | null, poolManager?: string | null, withdrawalManager?: string | null, strategies?: null, strategyManagers?: null): PoolDeployedEventFilter; }; estimateGas: { deployPool(poolManagerFactory_: string, withdrawalManagerFactory_: string, poolManagerInitParams_: PoolManagerInitParamsStruct, poolConfigParams_: PoolConfigParamsStruct, strategiesParams_: StrategyDeployParamsStruct[], strategyManagersParams_: StrategyManagerParamsStruct[], overrides?: Overrides & { from?: string; }): Promise; getPoolDeploymentAddresses(poolManagerFactory_: string, poolDelegate_: string, asset_: string, initialSupply_: BigNumberish, name_: string, symbol_: string, overrides?: CallOverrides): Promise; getQueueWithdrawalManagerAddress(withdrawalManagerFactory_: string, pool_: string, poolManager_: string, overrides?: CallOverrides): Promise; getStrategiesAddresses(poolManager_: string, strategyFactories_: string[], strategyDeploymentData_: BytesLike[], strategySalts_: BytesLike[], overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; }; populateTransaction: { deployPool(poolManagerFactory_: string, withdrawalManagerFactory_: string, poolManagerInitParams_: PoolManagerInitParamsStruct, poolConfigParams_: PoolConfigParamsStruct, strategiesParams_: StrategyDeployParamsStruct[], strategyManagersParams_: StrategyManagerParamsStruct[], overrides?: Overrides & { from?: string; }): Promise; getPoolDeploymentAddresses(poolManagerFactory_: string, poolDelegate_: string, asset_: string, initialSupply_: BigNumberish, name_: string, symbol_: string, overrides?: CallOverrides): Promise; getQueueWithdrawalManagerAddress(withdrawalManagerFactory_: string, pool_: string, poolManager_: string, overrides?: CallOverrides): Promise; getStrategiesAddresses(poolManager_: string, strategyFactories_: string[], strategyDeploymentData_: BytesLike[], strategySalts_: BytesLike[], overrides?: CallOverrides): Promise; globals(overrides?: CallOverrides): Promise; }; }