Interface for the BasePositionManager contract
IBasePositionManager
function increasePosition( address[] memory _path, address _indexToken, uint256 _amountIn, uint256 _minOut, uint256 _sizeDelta, bool _isLong, uint256 _price ) external;
function decreasePosition( address _collateralToken, address _indexToken, uint256 _collateralDelta, uint256 _sizeDelta, bool _isLong, address _receiver, uint256 _price ) external;
function setMaxGlobalSizes( address[] memory _tokens, uint256[] memory _longSizes, uint256[] memory _shortSizes ) external;
function maxGlobalLongSizes(address _token) external view returns (uint256);
function maxGlobalShortSizes(address _token) external view returns (uint256);
function setDepositFee(uint256 _depositFee) external;
function depositFee() external view returns (uint256);
function transferIn(address _token) external returns (uint256);
function transferOut( address _token, uint256 _amount, address _receiver ) external;
function swap( address[] memory _path, uint256 _amountIn, uint256 _minOut, address _receiver ) external returns (uint256);
function feeReserves(address _token) external view returns (uint256);
function collectFees( address _token, address _receiver ) external returns (uint256);
function vault() external view returns (address);
function router() external view returns (address);
function shortsTracker() external view returns (address);
function weth() external view returns (address);
function receiveETH() external payable;