import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common.js'; export interface ICurvePoolInterface extends utils.Interface { functions: { 'coins(uint256)': FunctionFragment; 'exchange(int128,int128,uint256,uint256)': FunctionFragment; 'get_dy(int128,int128,uint256)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'coins' | 'exchange' | 'get_dy'): FunctionFragment; encodeFunctionData(functionFragment: 'coins', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'exchange', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'get_dy', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'coins', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exchange', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'get_dy', data: BytesLike): Result; events: {}; } export interface ICurvePool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ICurvePoolInterface; 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: { coins(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; exchange(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, min_dy: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; get_dy(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; }; coins(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; exchange(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, min_dy: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; get_dy(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { coins(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; exchange(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, min_dy: PromiseOrValue, overrides?: CallOverrides): Promise; get_dy(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { coins(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; exchange(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, min_dy: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; get_dy(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { coins(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; exchange(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, min_dy: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; get_dy(i: PromiseOrValue, j: PromiseOrValue, dx: PromiseOrValue, overrides?: CallOverrides): Promise; }; }