///
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, NonPayableTransactionObject, BlockType, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export interface IGmxVault extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IGmxVault;
clone(): IGmxVault;
methods: {
allWhitelistedTokens(arg0: number | string | BN): NonPayableTransactionObject;
allWhitelistedTokensLength(): NonPayableTransactionObject;
approvedRouters(_account: string, _router: string): NonPayableTransactionObject;
bufferAmounts(_token: string): NonPayableTransactionObject;
buyUSDG(_token: string, _receiver: string): NonPayableTransactionObject;
cumulativeFundingRates(_token: string): NonPayableTransactionObject;
decreasePosition(_account: string, _collateralToken: string, _indexToken: string, _collateralDelta: number | string | BN, _sizeDelta: number | string | BN, _isLong: boolean, _receiver: string): NonPayableTransactionObject;
directPoolDeposit(_token: string): NonPayableTransactionObject;
feeReserves(_token: string): NonPayableTransactionObject;
fundingInterval(): NonPayableTransactionObject;
fundingRateFactor(): NonPayableTransactionObject;
getDelta(_indexToken: string, _size: number | string | BN, _averagePrice: number | string | BN, _isLong: boolean, _lastIncreasedTime: number | string | BN): NonPayableTransactionObject<{
0: boolean;
1: string;
}>;
getFeeBasisPoints(_token: string, _usdgDelta: number | string | BN, _feeBasisPoints: number | string | BN, _taxBasisPoints: number | string | BN, _increment: boolean): NonPayableTransactionObject;
getMaxPrice(_token: string): NonPayableTransactionObject;
getMinPrice(_token: string): NonPayableTransactionObject;
getNextFundingRate(_token: string): NonPayableTransactionObject;
getPosition(_account: string, _collateralToken: string, _indexToken: string, _isLong: boolean): NonPayableTransactionObject<{
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: boolean;
7: string;
}>;
getPositionFee(_sizeDelta: number | string | BN): NonPayableTransactionObject;
getRedemptionAmount(_token: string, _usdgAmount: number | string | BN): NonPayableTransactionObject;
getTargetUsdgAmount(_token: string): NonPayableTransactionObject;
globalShortAveragePrices(_token: string): NonPayableTransactionObject;
globalShortSizes(_token: string): NonPayableTransactionObject;
gov(): NonPayableTransactionObject;
guaranteedUsd(_token: string): NonPayableTransactionObject;
hasDynamicFees(): NonPayableTransactionObject;
inManagerMode(): NonPayableTransactionObject;
inPrivateLiquidationMode(): NonPayableTransactionObject;
increasePosition(_account: string, _collateralToken: string, _indexToken: string, _sizeDelta: number | string | BN, _isLong: boolean): NonPayableTransactionObject;
isInitialized(): NonPayableTransactionObject;
isLeverageEnabled(): NonPayableTransactionObject;
isLiquidator(_account: string): NonPayableTransactionObject;
isManager(_account: string): NonPayableTransactionObject;
isSwapEnabled(): NonPayableTransactionObject;
lastFundingTimes(_token: string): NonPayableTransactionObject;
liquidatePosition(_account: string, _collateralToken: string, _indexToken: string, _isLong: boolean, _feeReceiver: string): NonPayableTransactionObject;
liquidationFeeUsd(): NonPayableTransactionObject;
marginFeeBasisPoints(): NonPayableTransactionObject;
maxGasPrice(): NonPayableTransactionObject;
maxGlobalShortSizes(_token: string): NonPayableTransactionObject;
maxLeverage(): NonPayableTransactionObject;
maxUsdgAmounts(_token: string): NonPayableTransactionObject;
minProfitBasisPoints(_token: string): NonPayableTransactionObject;
minProfitTime(): NonPayableTransactionObject;
mintBurnFeeBasisPoints(): NonPayableTransactionObject;
poolAmounts(_token: string): NonPayableTransactionObject;
priceFeed(): NonPayableTransactionObject;
reservedAmounts(_token: string): NonPayableTransactionObject;
router(): NonPayableTransactionObject;
sellUSDG(_token: string, _receiver: string): NonPayableTransactionObject;
setBufferAmount(_token: string, _amount: number | string | BN): NonPayableTransactionObject;
setError(_errorCode: number | string | BN, _error: string): NonPayableTransactionObject;
setFees(_taxBasisPoints: number | string | BN, _stableTaxBasisPoints: number | string | BN, _mintBurnFeeBasisPoints: number | string | BN, _swapFeeBasisPoints: number | string | BN, _stableSwapFeeBasisPoints: number | string | BN, _marginFeeBasisPoints: number | string | BN, _liquidationFeeUsd: number | string | BN, _minProfitTime: number | string | BN, _hasDynamicFees: boolean): NonPayableTransactionObject;
setFundingRate(_fundingInterval: number | string | BN, _fundingRateFactor: number | string | BN, _stableFundingRateFactor: number | string | BN): NonPayableTransactionObject;
setInManagerMode(_inManagerMode: boolean): NonPayableTransactionObject;
setInPrivateLiquidationMode(_inPrivateLiquidationMode: boolean): NonPayableTransactionObject;
setIsLeverageEnabled(_isLeverageEnabled: boolean): NonPayableTransactionObject;
setIsSwapEnabled(_isSwapEnabled: boolean): NonPayableTransactionObject;
setLiquidator(_liquidator: string, _isActive: boolean): NonPayableTransactionObject;
setManager(_manager: string, _isManager: boolean): NonPayableTransactionObject;
setMaxGasPrice(_maxGasPrice: number | string | BN): NonPayableTransactionObject;
setMaxGlobalShortSize(_token: string, _amount: number | string | BN): NonPayableTransactionObject;
setMaxLeverage(_maxLeverage: number | string | BN): NonPayableTransactionObject;
setPriceFeed(_priceFeed: string): NonPayableTransactionObject;
setTokenConfig(_token: string, _tokenDecimals: number | string | BN, _redemptionBps: number | string | BN, _minProfitBps: number | string | BN, _maxUsdgAmount: number | string | BN, _isStable: boolean, _isShortable: boolean): NonPayableTransactionObject;
setUsdgAmount(_token: string, _amount: number | string | BN): NonPayableTransactionObject;
setVaultUtils(_vaultUtils: string): NonPayableTransactionObject;
shortableTokens(_token: string): NonPayableTransactionObject;
stableFundingRateFactor(): NonPayableTransactionObject;
stableSwapFeeBasisPoints(): NonPayableTransactionObject;
stableTaxBasisPoints(): NonPayableTransactionObject;
stableTokens(_token: string): NonPayableTransactionObject;
swap(_tokenIn: string, _tokenOut: string, _receiver: string): NonPayableTransactionObject;
swapFeeBasisPoints(): NonPayableTransactionObject;
taxBasisPoints(): NonPayableTransactionObject;
tokenBalances(_token: string): NonPayableTransactionObject;
tokenDecimals(_token: string): NonPayableTransactionObject;
tokenToUsdMin(_token: string, _tokenAmount: number | string | BN): NonPayableTransactionObject;
tokenWeights(_token: string): NonPayableTransactionObject;
totalTokenWeights(): NonPayableTransactionObject;
usdg(): NonPayableTransactionObject;
usdgAmounts(_token: string): NonPayableTransactionObject;
validateLiquidation(_account: string, _collateralToken: string, _indexToken: string, _isLong: boolean, _raise: boolean): NonPayableTransactionObject<{
0: string;
1: string;
}>;
vaultUtils(): NonPayableTransactionObject;
whitelistedTokenCount(): NonPayableTransactionObject;
whitelistedTokens(_token: string): NonPayableTransactionObject;
withdrawFees(_token: string, _receiver: string): NonPayableTransactionObject;
};
events: {
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
}