/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ 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 type GrowthStruct = { twPremiumX96: BigNumberish; twPremiumDivBySqrtPriceX96: BigNumberish; }; export type GrowthStructOutput = [BigNumber, BigNumber] & { twPremiumX96: BigNumber; twPremiumDivBySqrtPriceX96: BigNumber; }; export type RealizePnlParamsStruct = { trader: string; baseToken: string; base: BigNumberish; quote: BigNumberish; }; export type RealizePnlParamsStructOutput = [ string, string, BigNumber, BigNumber ] & { trader: string; baseToken: string; base: BigNumber; quote: BigNumber }; export type SwapParamsStruct = { trader: string; baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; isClose: boolean; amount: BigNumberish; sqrtPriceLimitX96: BigNumberish; }; export type SwapParamsStructOutput = [ string, string, boolean, boolean, boolean, BigNumber, BigNumber ] & { trader: string; baseToken: string; isBaseToQuote: boolean; isExactInput: boolean; isClose: boolean; amount: BigNumber; sqrtPriceLimitX96: BigNumber; }; export type SwapResponseStruct = { base: BigNumberish; quote: BigNumberish; exchangedPositionSize: BigNumberish; exchangedPositionNotional: BigNumberish; fee: BigNumberish; insuranceFundFee: BigNumberish; pnlToBeRealized: BigNumberish; sqrtPriceAfterX96: BigNumberish; tick: BigNumberish; isPartialClose: boolean; }; export type SwapResponseStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, boolean ] & { base: BigNumber; quote: BigNumber; exchangedPositionSize: BigNumber; exchangedPositionNotional: BigNumber; fee: BigNumber; insuranceFundFee: BigNumber; pnlToBeRealized: BigNumber; sqrtPriceAfterX96: BigNumber; tick: number; isPartialClose: boolean; }; export interface PerpV2ExchangeInterface extends utils.Interface { functions: { "candidate()": FunctionFragment; "getAccountBalance()": FunctionFragment; "getAllPendingFundingPayment(address)": FunctionFragment; "getClearingHouse()": FunctionFragment; "getClearingHouseConfig()": FunctionFragment; "getFundingGrowthGlobalAndTwaps(address)": FunctionFragment; "getMarketRegistry()": FunctionFragment; "getMaxTickCrossedWithinBlock(address)": FunctionFragment; "getOrderBook()": FunctionFragment; "getPendingFundingPayment(address,address)": FunctionFragment; "getPnlToBeRealized((address,address,int256,int256))": FunctionFragment; "getSqrtMarkTwapX96(address,uint32)": FunctionFragment; "initialize(address,address,address)": FunctionFragment; "owner()": FunctionFragment; "renounceOwnership()": FunctionFragment; "setAccountBalance(address)": FunctionFragment; "setClearingHouse(address)": FunctionFragment; "setMaxTickCrossedWithinBlock(address,uint24)": FunctionFragment; "setOwner(address)": FunctionFragment; "settleFunding(address,address)": FunctionFragment; "swap((address,address,bool,bool,bool,uint256,uint160))": FunctionFragment; "uniswapV3SwapCallback(int256,int256,bytes)": FunctionFragment; "updateOwner()": FunctionFragment; }; encodeFunctionData(functionFragment: "candidate", values?: undefined): string; encodeFunctionData( functionFragment: "getAccountBalance", values?: undefined ): string; encodeFunctionData( functionFragment: "getAllPendingFundingPayment", values: [string] ): string; encodeFunctionData( functionFragment: "getClearingHouse", values?: undefined ): string; encodeFunctionData( functionFragment: "getClearingHouseConfig", values?: undefined ): string; encodeFunctionData( functionFragment: "getFundingGrowthGlobalAndTwaps", values: [string] ): string; encodeFunctionData( functionFragment: "getMarketRegistry", values?: undefined ): string; encodeFunctionData( functionFragment: "getMaxTickCrossedWithinBlock", values: [string] ): string; encodeFunctionData( functionFragment: "getOrderBook", values?: undefined ): string; encodeFunctionData( functionFragment: "getPendingFundingPayment", values: [string, string] ): string; encodeFunctionData( functionFragment: "getPnlToBeRealized", values: [RealizePnlParamsStruct] ): string; encodeFunctionData( functionFragment: "getSqrtMarkTwapX96", values: [string, BigNumberish] ): string; encodeFunctionData( functionFragment: "initialize", values: [string, string, string] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "setAccountBalance", values: [string] ): string; encodeFunctionData( functionFragment: "setClearingHouse", values: [string] ): string; encodeFunctionData( functionFragment: "setMaxTickCrossedWithinBlock", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "setOwner", values: [string]): string; encodeFunctionData( functionFragment: "settleFunding", values: [string, string] ): string; encodeFunctionData( functionFragment: "swap", values: [SwapParamsStruct] ): string; encodeFunctionData( functionFragment: "uniswapV3SwapCallback", values: [BigNumberish, BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "updateOwner", values?: undefined ): string; decodeFunctionResult(functionFragment: "candidate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getAccountBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAllPendingFundingPayment", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getClearingHouse", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getClearingHouseConfig", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFundingGrowthGlobalAndTwaps", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMarketRegistry", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMaxTickCrossedWithinBlock", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getOrderBook", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPendingFundingPayment", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPnlToBeRealized", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getSqrtMarkTwapX96", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "renounceOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAccountBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setClearingHouse", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMaxTickCrossedWithinBlock", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "settleFunding", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult( functionFragment: "uniswapV3SwapCallback", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateOwner", data: BytesLike ): Result; events: { "AccountBalanceChanged(address)": EventFragment; "ClearingHouseChanged(address)": EventFragment; "FundingUpdated(address,uint256,uint256)": EventFragment; "MaxTickCrossedWithinBlockChanged(address,uint24)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AccountBalanceChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "ClearingHouseChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundingUpdated"): EventFragment; getEvent( nameOrSignatureOrTopic: "MaxTickCrossedWithinBlockChanged" ): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export type AccountBalanceChangedEvent = TypedEvent< [string], { accountBalance: string } >; export type AccountBalanceChangedEventFilter = TypedEventFilter; export type ClearingHouseChangedEvent = TypedEvent< [string], { clearingHouse: string } >; export type ClearingHouseChangedEventFilter = TypedEventFilter; export type FundingUpdatedEvent = TypedEvent< [string, BigNumber, BigNumber], { baseToken: string; markTwap: BigNumber; indexTwap: BigNumber } >; export type FundingUpdatedEventFilter = TypedEventFilter; export type MaxTickCrossedWithinBlockChangedEvent = TypedEvent< [string, number], { baseToken: string; maxTickCrossedWithinBlock: number } >; export type MaxTickCrossedWithinBlockChangedEventFilter = TypedEventFilter; export type OwnershipTransferredEvent = TypedEvent< [string, string], { previousOwner: string; newOwner: string } >; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface PerpV2Exchange extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PerpV2ExchangeInterface; 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: { candidate(overrides?: CallOverrides): Promise<[string]>; getAccountBalance(overrides?: CallOverrides): Promise<[string]>; getAllPendingFundingPayment( trader: string, overrides?: CallOverrides ): Promise<[BigNumber] & { pendingFundingPayment: BigNumber }>; getClearingHouse(overrides?: CallOverrides): Promise<[string]>; getClearingHouseConfig(overrides?: CallOverrides): Promise<[string]>; getFundingGrowthGlobalAndTwaps( baseToken: string, overrides?: CallOverrides ): Promise< [GrowthStructOutput, BigNumber, BigNumber] & { fundingGrowthGlobal: GrowthStructOutput; markTwap: BigNumber; indexTwap: BigNumber; } >; getMarketRegistry(overrides?: CallOverrides): Promise<[string]>; getMaxTickCrossedWithinBlock( baseToken: string, overrides?: CallOverrides ): Promise<[number]>; getOrderBook(overrides?: CallOverrides): Promise<[string]>; getPendingFundingPayment( trader: string, baseToken: string, overrides?: CallOverrides ): Promise<[BigNumber]>; getPnlToBeRealized( params: RealizePnlParamsStruct, overrides?: CallOverrides ): Promise<[BigNumber]>; getSqrtMarkTwapX96( baseToken: string, twapInterval: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; initialize( marketRegistryArg: string, orderBookArg: string, clearingHouseConfigArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; owner(overrides?: CallOverrides): Promise<[string]>; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setAccountBalance( accountBalanceArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setClearingHouse( clearingHouseArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxTickCrossedWithinBlock( baseToken: string, maxTickCrossedWithinBlock: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; setOwner( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; settleFunding( trader: string, baseToken: string, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( params: SwapParamsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; uniswapV3SwapCallback( amount0Delta: BigNumberish, amount1Delta: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; updateOwner( overrides?: Overrides & { from?: string | Promise } ): Promise; }; candidate(overrides?: CallOverrides): Promise; getAccountBalance(overrides?: CallOverrides): Promise; getAllPendingFundingPayment( trader: string, overrides?: CallOverrides ): Promise; getClearingHouse(overrides?: CallOverrides): Promise; getClearingHouseConfig(overrides?: CallOverrides): Promise; getFundingGrowthGlobalAndTwaps( baseToken: string, overrides?: CallOverrides ): Promise< [GrowthStructOutput, BigNumber, BigNumber] & { fundingGrowthGlobal: GrowthStructOutput; markTwap: BigNumber; indexTwap: BigNumber; } >; getMarketRegistry(overrides?: CallOverrides): Promise; getMaxTickCrossedWithinBlock( baseToken: string, overrides?: CallOverrides ): Promise; getOrderBook(overrides?: CallOverrides): Promise; getPendingFundingPayment( trader: string, baseToken: string, overrides?: CallOverrides ): Promise; getPnlToBeRealized( params: RealizePnlParamsStruct, overrides?: CallOverrides ): Promise; getSqrtMarkTwapX96( baseToken: string, twapInterval: BigNumberish, overrides?: CallOverrides ): Promise; initialize( marketRegistryArg: string, orderBookArg: string, clearingHouseConfigArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setAccountBalance( accountBalanceArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setClearingHouse( clearingHouseArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxTickCrossedWithinBlock( baseToken: string, maxTickCrossedWithinBlock: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; setOwner( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; settleFunding( trader: string, baseToken: string, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( params: SwapParamsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; uniswapV3SwapCallback( amount0Delta: BigNumberish, amount1Delta: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; updateOwner( overrides?: Overrides & { from?: string | Promise } ): Promise; callStatic: { candidate(overrides?: CallOverrides): Promise; getAccountBalance(overrides?: CallOverrides): Promise; getAllPendingFundingPayment( trader: string, overrides?: CallOverrides ): Promise; getClearingHouse(overrides?: CallOverrides): Promise; getClearingHouseConfig(overrides?: CallOverrides): Promise; getFundingGrowthGlobalAndTwaps( baseToken: string, overrides?: CallOverrides ): Promise< [GrowthStructOutput, BigNumber, BigNumber] & { fundingGrowthGlobal: GrowthStructOutput; markTwap: BigNumber; indexTwap: BigNumber; } >; getMarketRegistry(overrides?: CallOverrides): Promise; getMaxTickCrossedWithinBlock( baseToken: string, overrides?: CallOverrides ): Promise; getOrderBook(overrides?: CallOverrides): Promise; getPendingFundingPayment( trader: string, baseToken: string, overrides?: CallOverrides ): Promise; getPnlToBeRealized( params: RealizePnlParamsStruct, overrides?: CallOverrides ): Promise; getSqrtMarkTwapX96( baseToken: string, twapInterval: BigNumberish, overrides?: CallOverrides ): Promise; initialize( marketRegistryArg: string, orderBookArg: string, clearingHouseConfigArg: string, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setAccountBalance( accountBalanceArg: string, overrides?: CallOverrides ): Promise; setClearingHouse( clearingHouseArg: string, overrides?: CallOverrides ): Promise; setMaxTickCrossedWithinBlock( baseToken: string, maxTickCrossedWithinBlock: BigNumberish, overrides?: CallOverrides ): Promise; setOwner(newOwner: string, overrides?: CallOverrides): Promise; settleFunding( trader: string, baseToken: string, overrides?: CallOverrides ): Promise< [BigNumber, GrowthStructOutput] & { fundingPayment: BigNumber; fundingGrowthGlobal: GrowthStructOutput; } >; swap( params: SwapParamsStruct, overrides?: CallOverrides ): Promise; uniswapV3SwapCallback( amount0Delta: BigNumberish, amount1Delta: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; updateOwner(overrides?: CallOverrides): Promise; }; filters: { "AccountBalanceChanged(address)"( accountBalance?: null ): AccountBalanceChangedEventFilter; AccountBalanceChanged( accountBalance?: null ): AccountBalanceChangedEventFilter; "ClearingHouseChanged(address)"( clearingHouse?: string | null ): ClearingHouseChangedEventFilter; ClearingHouseChanged( clearingHouse?: string | null ): ClearingHouseChangedEventFilter; "FundingUpdated(address,uint256,uint256)"( baseToken?: string | null, markTwap?: null, indexTwap?: null ): FundingUpdatedEventFilter; FundingUpdated( baseToken?: string | null, markTwap?: null, indexTwap?: null ): FundingUpdatedEventFilter; "MaxTickCrossedWithinBlockChanged(address,uint24)"( baseToken?: string | null, maxTickCrossedWithinBlock?: null ): MaxTickCrossedWithinBlockChangedEventFilter; MaxTickCrossedWithinBlockChanged( baseToken?: string | null, maxTickCrossedWithinBlock?: null ): MaxTickCrossedWithinBlockChangedEventFilter; "OwnershipTransferred(address,address)"( previousOwner?: string | null, newOwner?: string | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: string | null, newOwner?: string | null ): OwnershipTransferredEventFilter; }; estimateGas: { candidate(overrides?: CallOverrides): Promise; getAccountBalance(overrides?: CallOverrides): Promise; getAllPendingFundingPayment( trader: string, overrides?: CallOverrides ): Promise; getClearingHouse(overrides?: CallOverrides): Promise; getClearingHouseConfig(overrides?: CallOverrides): Promise; getFundingGrowthGlobalAndTwaps( baseToken: string, overrides?: CallOverrides ): Promise; getMarketRegistry(overrides?: CallOverrides): Promise; getMaxTickCrossedWithinBlock( baseToken: string, overrides?: CallOverrides ): Promise; getOrderBook(overrides?: CallOverrides): Promise; getPendingFundingPayment( trader: string, baseToken: string, overrides?: CallOverrides ): Promise; getPnlToBeRealized( params: RealizePnlParamsStruct, overrides?: CallOverrides ): Promise; getSqrtMarkTwapX96( baseToken: string, twapInterval: BigNumberish, overrides?: CallOverrides ): Promise; initialize( marketRegistryArg: string, orderBookArg: string, clearingHouseConfigArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setAccountBalance( accountBalanceArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setClearingHouse( clearingHouseArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxTickCrossedWithinBlock( baseToken: string, maxTickCrossedWithinBlock: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; setOwner( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; settleFunding( trader: string, baseToken: string, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( params: SwapParamsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; uniswapV3SwapCallback( amount0Delta: BigNumberish, amount1Delta: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; updateOwner( overrides?: Overrides & { from?: string | Promise } ): Promise; }; populateTransaction: { candidate(overrides?: CallOverrides): Promise; getAccountBalance(overrides?: CallOverrides): Promise; getAllPendingFundingPayment( trader: string, overrides?: CallOverrides ): Promise; getClearingHouse(overrides?: CallOverrides): Promise; getClearingHouseConfig( overrides?: CallOverrides ): Promise; getFundingGrowthGlobalAndTwaps( baseToken: string, overrides?: CallOverrides ): Promise; getMarketRegistry(overrides?: CallOverrides): Promise; getMaxTickCrossedWithinBlock( baseToken: string, overrides?: CallOverrides ): Promise; getOrderBook(overrides?: CallOverrides): Promise; getPendingFundingPayment( trader: string, baseToken: string, overrides?: CallOverrides ): Promise; getPnlToBeRealized( params: RealizePnlParamsStruct, overrides?: CallOverrides ): Promise; getSqrtMarkTwapX96( baseToken: string, twapInterval: BigNumberish, overrides?: CallOverrides ): Promise; initialize( marketRegistryArg: string, orderBookArg: string, clearingHouseConfigArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setAccountBalance( accountBalanceArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setClearingHouse( clearingHouseArg: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxTickCrossedWithinBlock( baseToken: string, maxTickCrossedWithinBlock: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; setOwner( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; settleFunding( trader: string, baseToken: string, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( params: SwapParamsStruct, overrides?: Overrides & { from?: string | Promise } ): Promise; uniswapV3SwapCallback( amount0Delta: BigNumberish, amount1Delta: BigNumberish, data: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; updateOwner( overrides?: Overrides & { from?: string | Promise } ): Promise; }; }