/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, BaseContract, ContractTransaction, Overrides, CallOverrides, } from "ethers"; import { BytesLike } from "@ethersproject/bytes"; import { Listener, Provider } from "@ethersproject/providers"; import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; import type { TypedEventFilter, TypedEvent, TypedListener } from "./common"; interface PerpetualMarketInterface extends ethers.utils.Interface { functions: { "addMargin(uint256,int256)": FunctionFragment; "deposit(uint256)": FunctionFragment; "execHedge(bool,uint256)": FunctionFragment; "feeRecepient()": FunctionFragment; "getLPTokenPrice(int256)": FunctionFragment; "getMinCollateralToAddPosition(uint256,int128[2])": FunctionFragment; "getPositionValueAndMinCollateral(uint256)": FunctionFragment; "getTokenAmountForHedging()": FunctionFragment; "getTradePrice(uint256,int256[2])": FunctionFragment; "getTraderVault(uint256)": FunctionFragment; "getVaultStatus(uint256)": FunctionFragment; "hedger()": FunctionFragment; "initialize(uint256,int256)": FunctionFragment; "isSystemPaused()": FunctionFragment; "liquidateByPool(uint256)": FunctionFragment; "maxPositionsInVault(uint256)": FunctionFragment; "owner()": FunctionFragment; "pause()": FunctionFragment; "quoteAsset()": FunctionFragment; "renounceOwnership()": FunctionFragment; "setFeeRecepient(address)": FunctionFragment; "setHedger(address)": FunctionFragment; "setMaxAmount(uint256,uint256)": FunctionFragment; "trade((uint256,tuple[],int256,uint256))": FunctionFragment; "transferOwnership(address)": FunctionFragment; "unPause()": FunctionFragment; "underlyingAsset()": FunctionFragment; "withdraw(uint128)": FunctionFragment; }; encodeFunctionData( functionFragment: "addMargin", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "deposit", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "execHedge", values: [boolean, BigNumberish] ): string; encodeFunctionData( functionFragment: "feeRecepient", values?: undefined ): string; encodeFunctionData( functionFragment: "getLPTokenPrice", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getMinCollateralToAddPosition", values: [BigNumberish, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getPositionValueAndMinCollateral", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getTokenAmountForHedging", values?: undefined ): string; encodeFunctionData( functionFragment: "getTradePrice", values: [BigNumberish, [BigNumberish, BigNumberish]] ): string; encodeFunctionData( functionFragment: "getTraderVault", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getVaultStatus", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "hedger", values?: undefined): string; encodeFunctionData( functionFragment: "initialize", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "isSystemPaused", values?: undefined ): string; encodeFunctionData( functionFragment: "liquidateByPool", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "maxPositionsInVault", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData( functionFragment: "quoteAsset", values?: undefined ): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "setFeeRecepient", values: [string] ): string; encodeFunctionData(functionFragment: "setHedger", values: [string]): string; encodeFunctionData( functionFragment: "setMaxAmount", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "trade", values: [ { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; } ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [string] ): string; encodeFunctionData(functionFragment: "unPause", values?: undefined): string; encodeFunctionData( functionFragment: "underlyingAsset", values?: undefined ): string; encodeFunctionData( functionFragment: "withdraw", values: [BigNumberish] ): string; decodeFunctionResult(functionFragment: "addMargin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execHedge", data: BytesLike): Result; decodeFunctionResult( functionFragment: "feeRecepient", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getLPTokenPrice", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getMinCollateralToAddPosition", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPositionValueAndMinCollateral", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTokenAmountForHedging", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTradePrice", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTraderVault", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getVaultStatus", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "hedger", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isSystemPaused", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "liquidateByPool", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "maxPositionsInVault", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteAsset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "renounceOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setFeeRecepient", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "setHedger", data: BytesLike): Result; decodeFunctionResult( functionFragment: "setMaxAmount", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "trade", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "unPause", data: BytesLike): Result; decodeFunctionResult( functionFragment: "underlyingAsset", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "Deposited(address,uint256,uint256)": EventFragment; "DepositedToVault(address,uint256,uint256)": EventFragment; "Hedged(address,bool,uint256,uint256)": EventFragment; "Liquidated(address,uint256,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Paused()": EventFragment; "PositionUpdated(address,uint256,uint256,uint256,int256,uint256,int256,int256,bytes)": EventFragment; "SetFeeRecepient(address)": EventFragment; "UnPaused()": EventFragment; "Withdrawn(address,uint256,uint256)": EventFragment; "WithdrawnFromVault(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "DepositedToVault"): EventFragment; getEvent(nameOrSignatureOrTopic: "Hedged"): EventFragment; getEvent(nameOrSignatureOrTopic: "Liquidated"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "PositionUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "SetFeeRecepient"): EventFragment; getEvent(nameOrSignatureOrTopic: "UnPaused"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; getEvent(nameOrSignatureOrTopic: "WithdrawnFromVault"): EventFragment; } export type DepositedEvent = TypedEvent< [string, BigNumber, BigNumber] & { account: string; issued: BigNumber; amount: BigNumber; } >; export type DepositedToVaultEvent = TypedEvent< [string, BigNumber, BigNumber] & { trader: string; vaultId: BigNumber; amount: BigNumber; } >; export type HedgedEvent = TypedEvent< [string, boolean, BigNumber, BigNumber] & { hedger: string; isBuyingUnderlying: boolean; usdcAmount: BigNumber; underlyingAmount: BigNumber; } >; export type LiquidatedEvent = TypedEvent< [string, BigNumber, BigNumber] & { liquidator: string; vaultId: BigNumber; reward: BigNumber; } >; export type OwnershipTransferredEvent = TypedEvent< [string, string] & { previousOwner: string; newOwner: string } >; export type PausedEvent = TypedEvent<[] & {}>; export type PositionUpdatedEvent = TypedEvent< [ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ] & { trader: string; vaultId: BigNumber; subVaultIndex: BigNumber; productId: BigNumber; tradeAmount: BigNumber; tradePrice: BigNumber; fundingFeePerPosition: BigNumber; deltaUsdcPosition: BigNumber; metadata: string; } >; export type SetFeeRecepientEvent = TypedEvent< [string] & { feeRecepient: string } >; export type UnPausedEvent = TypedEvent<[] & {}>; export type WithdrawnEvent = TypedEvent< [string, BigNumber, BigNumber] & { account: string; burned: BigNumber; amount: BigNumber; } >; export type WithdrawnFromVaultEvent = TypedEvent< [string, BigNumber, BigNumber] & { trader: string; vaultId: BigNumber; amount: BigNumber; } >; export class PerpetualMarket extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; listeners, EventArgsObject>( eventFilter?: TypedEventFilter ): Array>; off, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener ): this; on, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener ): this; once, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener ): this; removeListener, EventArgsObject>( eventFilter: TypedEventFilter, listener: TypedListener ): this; removeAllListeners, EventArgsObject>( eventFilter: TypedEventFilter ): this; listeners(eventName?: string): Array; off(eventName: string, listener: Listener): this; on(eventName: string, listener: Listener): this; once(eventName: string, listener: Listener): this; removeListener(eventName: string, listener: Listener): this; removeAllListeners(eventName?: string): this; queryFilter, EventArgsObject>( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>>; interface: PerpetualMarketInterface; functions: { addMargin( _vaultId: BigNumberish, _marginToAdd: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; deposit( _depositAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; execHedge( _withRebalance: boolean, _amountUsdc: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; feeRecepient(overrides?: CallOverrides): Promise<[string]>; getLPTokenPrice( _deltaLiquidityAmount: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; getMinCollateralToAddPosition( _vaultId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise<[BigNumber] & { minCollateral: BigNumber }>; getPositionValueAndMinCollateral( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; getTokenAmountForHedging( overrides?: CallOverrides ): Promise<[boolean, BigNumber, BigNumber]>; getTradePrice( _productId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise< [ [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { tradePrice: BigNumber; indexPrice: BigNumber; fundingRate: BigNumber; tradeFee: BigNumber; protocolFee: BigNumber; fundingFee: BigNumber; totalValue: BigNumber; totalFee: BigNumber; } ] >; getTraderVault( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } ] >; getVaultStatus( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ [ BigNumber, BigNumber, [BigNumber, BigNumber][], [BigNumber, BigNumber][], [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } ] & { positionValue: BigNumber; minCollateral: BigNumber; positionValues: [BigNumber, BigNumber][]; fundingPaid: [BigNumber, BigNumber][]; rawVaultData: [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; }; } ] >; hedger(overrides?: CallOverrides): Promise<[string]>; initialize( _depositAmount: BigNumberish, _initialFundingRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isSystemPaused(overrides?: CallOverrides): Promise<[boolean]>; liquidateByPool( _vaultId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; maxPositionsInVault( arg0: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; pause( overrides?: Overrides & { from?: string | Promise } ): Promise; quoteAsset(overrides?: CallOverrides): Promise<[string]>; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setFeeRecepient( _feeRecepient: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setHedger( _hedger: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxAmount( _maxFutureAmount: BigNumberish, _maxSquaredAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; trade( _tradeParams: { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; }, overrides?: Overrides & { from?: string | Promise } ): Promise; transferOwnership( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; unPause( overrides?: Overrides & { from?: string | Promise } ): Promise; underlyingAsset(overrides?: CallOverrides): Promise<[string]>; withdraw( _withdrawnAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; addMargin( _vaultId: BigNumberish, _marginToAdd: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; deposit( _depositAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; execHedge( _withRebalance: boolean, _amountUsdc: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; feeRecepient(overrides?: CallOverrides): Promise; getLPTokenPrice( _deltaLiquidityAmount: BigNumberish, overrides?: CallOverrides ): Promise; getMinCollateralToAddPosition( _vaultId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getPositionValueAndMinCollateral( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; getTokenAmountForHedging( overrides?: CallOverrides ): Promise<[boolean, BigNumber, BigNumber]>; getTradePrice( _productId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { tradePrice: BigNumber; indexPrice: BigNumber; fundingRate: BigNumber; tradeFee: BigNumber; protocolFee: BigNumber; fundingFee: BigNumber; totalValue: BigNumber; totalFee: BigNumber; } >; getTraderVault( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } >; getVaultStatus( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, [BigNumber, BigNumber][], [BigNumber, BigNumber][], [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } ] & { positionValue: BigNumber; minCollateral: BigNumber; positionValues: [BigNumber, BigNumber][]; fundingPaid: [BigNumber, BigNumber][]; rawVaultData: [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; }; } >; hedger(overrides?: CallOverrides): Promise; initialize( _depositAmount: BigNumberish, _initialFundingRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isSystemPaused(overrides?: CallOverrides): Promise; liquidateByPool( _vaultId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; maxPositionsInVault( arg0: BigNumberish, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pause( overrides?: Overrides & { from?: string | Promise } ): Promise; quoteAsset(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setFeeRecepient( _feeRecepient: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setHedger( _hedger: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxAmount( _maxFutureAmount: BigNumberish, _maxSquaredAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; trade( _tradeParams: { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; }, overrides?: Overrides & { from?: string | Promise } ): Promise; transferOwnership( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; unPause( overrides?: Overrides & { from?: string | Promise } ): Promise; underlyingAsset(overrides?: CallOverrides): Promise; withdraw( _withdrawnAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; callStatic: { addMargin( _vaultId: BigNumberish, _marginToAdd: BigNumberish, overrides?: CallOverrides ): Promise; deposit( _depositAmount: BigNumberish, overrides?: CallOverrides ): Promise; execHedge( _withRebalance: boolean, _amountUsdc: BigNumberish, overrides?: CallOverrides ): Promise; feeRecepient(overrides?: CallOverrides): Promise; getLPTokenPrice( _deltaLiquidityAmount: BigNumberish, overrides?: CallOverrides ): Promise; getMinCollateralToAddPosition( _vaultId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getPositionValueAndMinCollateral( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; getTokenAmountForHedging( overrides?: CallOverrides ): Promise<[boolean, BigNumber, BigNumber]>; getTradePrice( _productId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { tradePrice: BigNumber; indexPrice: BigNumber; fundingRate: BigNumber; tradeFee: BigNumber; protocolFee: BigNumber; fundingFee: BigNumber; totalValue: BigNumber; totalFee: BigNumber; } >; getTraderVault( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } >; getVaultStatus( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, [BigNumber, BigNumber][], [BigNumber, BigNumber][], [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; } ] & { positionValue: BigNumber; minCollateral: BigNumber; positionValues: [BigNumber, BigNumber][]; fundingPaid: [BigNumber, BigNumber][]; rawVaultData: [ BigNumber, ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[] ] & { positionUsdc: BigNumber; subVaults: ([ [BigNumber, BigNumber], [BigNumber, BigNumber], [BigNumber, BigNumber] ] & { positionPerpetuals: [BigNumber, BigNumber]; entryPrices: [BigNumber, BigNumber]; entryFundingFee: [BigNumber, BigNumber]; })[]; }; } >; hedger(overrides?: CallOverrides): Promise; initialize( _depositAmount: BigNumberish, _initialFundingRate: BigNumberish, overrides?: CallOverrides ): Promise; isSystemPaused(overrides?: CallOverrides): Promise; liquidateByPool( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; maxPositionsInVault( arg0: BigNumberish, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pause(overrides?: CallOverrides): Promise; quoteAsset(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setFeeRecepient( _feeRecepient: string, overrides?: CallOverrides ): Promise; setHedger(_hedger: string, overrides?: CallOverrides): Promise; setMaxAmount( _maxFutureAmount: BigNumberish, _maxSquaredAmount: BigNumberish, overrides?: CallOverrides ): Promise; trade( _tradeParams: { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; }, overrides?: CallOverrides ): Promise; transferOwnership( newOwner: string, overrides?: CallOverrides ): Promise; unPause(overrides?: CallOverrides): Promise; underlyingAsset(overrides?: CallOverrides): Promise; withdraw( _withdrawnAmount: BigNumberish, overrides?: CallOverrides ): Promise; }; filters: { "Deposited(address,uint256,uint256)"( account?: string | null, issued?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { account: string; issued: BigNumber; amount: BigNumber } >; Deposited( account?: string | null, issued?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { account: string; issued: BigNumber; amount: BigNumber } >; "DepositedToVault(address,uint256,uint256)"( trader?: string | null, vaultId?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { trader: string; vaultId: BigNumber; amount: BigNumber } >; DepositedToVault( trader?: string | null, vaultId?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { trader: string; vaultId: BigNumber; amount: BigNumber } >; "Hedged(address,bool,uint256,uint256)"( hedger?: null, isBuyingUnderlying?: null, usdcAmount?: null, underlyingAmount?: null ): TypedEventFilter< [string, boolean, BigNumber, BigNumber], { hedger: string; isBuyingUnderlying: boolean; usdcAmount: BigNumber; underlyingAmount: BigNumber; } >; Hedged( hedger?: null, isBuyingUnderlying?: null, usdcAmount?: null, underlyingAmount?: null ): TypedEventFilter< [string, boolean, BigNumber, BigNumber], { hedger: string; isBuyingUnderlying: boolean; usdcAmount: BigNumber; underlyingAmount: BigNumber; } >; "Liquidated(address,uint256,uint256)"( liquidator?: null, vaultId?: BigNumberish | null, reward?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { liquidator: string; vaultId: BigNumber; reward: BigNumber } >; Liquidated( liquidator?: null, vaultId?: BigNumberish | null, reward?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { liquidator: string; vaultId: BigNumber; reward: BigNumber } >; "OwnershipTransferred(address,address)"( previousOwner?: string | null, newOwner?: string | null ): TypedEventFilter< [string, string], { previousOwner: string; newOwner: string } >; OwnershipTransferred( previousOwner?: string | null, newOwner?: string | null ): TypedEventFilter< [string, string], { previousOwner: string; newOwner: string } >; "Paused()"(): TypedEventFilter<[], {}>; Paused(): TypedEventFilter<[], {}>; "PositionUpdated(address,uint256,uint256,uint256,int256,uint256,int256,int256,bytes)"( trader?: string | null, vaultId?: null, subVaultIndex?: null, productId?: null, tradeAmount?: null, tradePrice?: null, fundingFeePerPosition?: null, deltaUsdcPosition?: null, metadata?: null ): TypedEventFilter< [ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ], { trader: string; vaultId: BigNumber; subVaultIndex: BigNumber; productId: BigNumber; tradeAmount: BigNumber; tradePrice: BigNumber; fundingFeePerPosition: BigNumber; deltaUsdcPosition: BigNumber; metadata: string; } >; PositionUpdated( trader?: string | null, vaultId?: null, subVaultIndex?: null, productId?: null, tradeAmount?: null, tradePrice?: null, fundingFeePerPosition?: null, deltaUsdcPosition?: null, metadata?: null ): TypedEventFilter< [ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string ], { trader: string; vaultId: BigNumber; subVaultIndex: BigNumber; productId: BigNumber; tradeAmount: BigNumber; tradePrice: BigNumber; fundingFeePerPosition: BigNumber; deltaUsdcPosition: BigNumber; metadata: string; } >; "SetFeeRecepient(address)"( feeRecepient?: null ): TypedEventFilter<[string], { feeRecepient: string }>; SetFeeRecepient( feeRecepient?: null ): TypedEventFilter<[string], { feeRecepient: string }>; "UnPaused()"(): TypedEventFilter<[], {}>; UnPaused(): TypedEventFilter<[], {}>; "Withdrawn(address,uint256,uint256)"( account?: string | null, burned?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { account: string; burned: BigNumber; amount: BigNumber } >; Withdrawn( account?: string | null, burned?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { account: string; burned: BigNumber; amount: BigNumber } >; "WithdrawnFromVault(address,uint256,uint256)"( trader?: string | null, vaultId?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { trader: string; vaultId: BigNumber; amount: BigNumber } >; WithdrawnFromVault( trader?: string | null, vaultId?: null, amount?: null ): TypedEventFilter< [string, BigNumber, BigNumber], { trader: string; vaultId: BigNumber; amount: BigNumber } >; }; estimateGas: { addMargin( _vaultId: BigNumberish, _marginToAdd: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; deposit( _depositAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; execHedge( _withRebalance: boolean, _amountUsdc: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; feeRecepient(overrides?: CallOverrides): Promise; getLPTokenPrice( _deltaLiquidityAmount: BigNumberish, overrides?: CallOverrides ): Promise; getMinCollateralToAddPosition( _vaultId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getPositionValueAndMinCollateral( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; getTokenAmountForHedging(overrides?: CallOverrides): Promise; getTradePrice( _productId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getTraderVault( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; getVaultStatus( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; hedger(overrides?: CallOverrides): Promise; initialize( _depositAmount: BigNumberish, _initialFundingRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isSystemPaused(overrides?: CallOverrides): Promise; liquidateByPool( _vaultId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; maxPositionsInVault( arg0: BigNumberish, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pause( overrides?: Overrides & { from?: string | Promise } ): Promise; quoteAsset(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setFeeRecepient( _feeRecepient: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setHedger( _hedger: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxAmount( _maxFutureAmount: BigNumberish, _maxSquaredAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; trade( _tradeParams: { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; }, overrides?: Overrides & { from?: string | Promise } ): Promise; transferOwnership( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; unPause( overrides?: Overrides & { from?: string | Promise } ): Promise; underlyingAsset(overrides?: CallOverrides): Promise; withdraw( _withdrawnAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; populateTransaction: { addMargin( _vaultId: BigNumberish, _marginToAdd: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; deposit( _depositAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; execHedge( _withRebalance: boolean, _amountUsdc: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; feeRecepient(overrides?: CallOverrides): Promise; getLPTokenPrice( _deltaLiquidityAmount: BigNumberish, overrides?: CallOverrides ): Promise; getMinCollateralToAddPosition( _vaultId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getPositionValueAndMinCollateral( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; getTokenAmountForHedging( overrides?: CallOverrides ): Promise; getTradePrice( _productId: BigNumberish, _tradeAmounts: [BigNumberish, BigNumberish], overrides?: CallOverrides ): Promise; getTraderVault( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; getVaultStatus( _vaultId: BigNumberish, overrides?: CallOverrides ): Promise; hedger(overrides?: CallOverrides): Promise; initialize( _depositAmount: BigNumberish, _initialFundingRate: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; isSystemPaused(overrides?: CallOverrides): Promise; liquidateByPool( _vaultId: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; maxPositionsInVault( arg0: BigNumberish, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pause( overrides?: Overrides & { from?: string | Promise } ): Promise; quoteAsset(overrides?: CallOverrides): Promise; renounceOwnership( overrides?: Overrides & { from?: string | Promise } ): Promise; setFeeRecepient( _feeRecepient: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setHedger( _hedger: string, overrides?: Overrides & { from?: string | Promise } ): Promise; setMaxAmount( _maxFutureAmount: BigNumberish, _maxSquaredAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; trade( _tradeParams: { vaultId: BigNumberish; trades: { productId: BigNumberish; subVaultIndex: BigNumberish; tradeAmount: BigNumberish; limitPrice: BigNumberish; metadata: BytesLike; }[]; marginAmount: BigNumberish; deadline: BigNumberish; }, overrides?: Overrides & { from?: string | Promise } ): Promise; transferOwnership( newOwner: string, overrides?: Overrides & { from?: string | Promise } ): Promise; unPause( overrides?: Overrides & { from?: string | Promise } ): Promise; underlyingAsset(overrides?: CallOverrides): Promise; withdraw( _withdrawnAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; }