import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare type OpenPositionParamsStruct = { baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; amount: BigNumberish; oppositeAmountBound: BigNumberish; deadline: BigNumberish; sqrtPriceLimitX96: BigNumberish; referralCode: BytesLike; }; export declare type OpenPositionParamsStructOutput = [ string, boolean, boolean, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; amount: BigNumber; oppositeAmountBound: BigNumber; deadline: BigNumber; sqrtPriceLimitX96: BigNumber; referralCode: string; }; export declare type SwapParamsStruct = { baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; amount: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; export declare type SwapParamsStructOutput = [ string, boolean, boolean, BigNumber, BigNumber ] & { baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; amount: BigNumber; sqrtPriceLimitX96: BigNumber; }; export interface PerpV2Interface extends utils.Interface { functions: { "getDepositCalldata(IVault,IERC20,uint256)": FunctionFragment; "getOpenPositionCalldata(IClearingHouse,(address,bool,bool,uint256,uint256,uint256,uint160,bytes32))": FunctionFragment; "getSwapCalldata(IQuoter,(address,bool,bool,uint256,uint160))": FunctionFragment; "getWithdrawCalldata(IVault,IERC20,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "getDepositCalldata", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "getOpenPositionCalldata", values: [string, OpenPositionParamsStruct]): string; encodeFunctionData(functionFragment: "getSwapCalldata", values: [string, SwapParamsStruct]): string; encodeFunctionData(functionFragment: "getWithdrawCalldata", values: [string, string, BigNumberish]): string; decodeFunctionResult(functionFragment: "getDepositCalldata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOpenPositionCalldata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSwapCalldata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getWithdrawCalldata", data: BytesLike): Result; events: {}; } export interface PerpV2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PerpV2Interface; 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: { getDepositCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getOpenPositionCalldata(_clearingHouse: string, _params: OpenPositionParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getSwapCalldata(_quoter: string, _params: SwapParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getWithdrawCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; }; getDepositCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getOpenPositionCalldata(_clearingHouse: string, _params: OpenPositionParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getSwapCalldata(_quoter: string, _params: SwapParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getWithdrawCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; callStatic: { getDepositCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getOpenPositionCalldata(_clearingHouse: string, _params: OpenPositionParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getSwapCalldata(_quoter: string, _params: SwapParamsStruct, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; getWithdrawCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber, string]>; }; filters: {}; estimateGas: { getDepositCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise; getOpenPositionCalldata(_clearingHouse: string, _params: OpenPositionParamsStruct, overrides?: CallOverrides): Promise; getSwapCalldata(_quoter: string, _params: SwapParamsStruct, overrides?: CallOverrides): Promise; getWithdrawCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise; }; populateTransaction: { getDepositCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise; getOpenPositionCalldata(_clearingHouse: string, _params: OpenPositionParamsStruct, overrides?: CallOverrides): Promise; getSwapCalldata(_quoter: string, _params: SwapParamsStruct, overrides?: CallOverrides): Promise; getWithdrawCalldata(_vault: string, _asset: string, _amountNotional: BigNumberish, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=PerpV2.d.ts.map