Interface for the PositionRouter contract
IPositionRouter
function createIncreasePosition( address[] memory _path, address _indexToken, uint256 _amountIn, uint256 _minOut, uint256 _sizeDelta, bool _isLong, uint256 _acceptablePrice, uint256 _executionFee, bytes32 _referralCode, address _callbackTarget ) external payable returns (bytes32);
function createIncreasePositionETH( address[] memory _path, address _indexToken, uint256 _minOut, uint256 _sizeDelta, bool _isLong, uint256 _acceptablePrice, uint256 _executionFee, bytes32 _referralCode, address _callbackTarget ) external payable returns (bytes32);
function createDecreasePosition( address[] memory _path, address _indexToken, uint256 _collateralDelta, uint256 _sizeDelta, bool _isLong, address _receiver, uint256 _acceptablePrice, uint256 _minOut, uint256 _executionFee, bool _withdrawETH, address _callbackTarget ) external payable returns (bytes32);
function executeIncreasePosition(bytes32 _key, address _executionFeeReceiver) external;
function executeDecreasePosition(bytes32 _key, address _executionFeeReceiver) external;
function executeIncreasePositions(uint256 _endIndex, address payable _executionFeeReceiver) external;
function executeDecreasePositions(uint256 _endIndex, address payable _executionFeeReceiver) external;
function cancelIncreasePosition(bytes32 _key, address payable _executionFeeReceiver) external;
function cancelDecreasePosition(bytes32 _key, address payable _executionFeeReceiver) external;
function getRequestQueueLengths() external view returns (uint256, uint256, uint256, uint256);
function getIncreasePositionRequestPath(bytes32 _key) external view returns (address[] memory);
function getDecreasePositionRequestPath(bytes32 _key) external view returns (address[] memory);
function setPositionKeeper(address _account, bool _isActive) external;
function setMinExecutionFee(uint256 _minExecutionFee) external;
function setIsLeverageEnabled(bool _isLeverageEnabled) external;
function setDelayValues(uint256 _minBlockDelayKeeper, uint256 _minTimeDelayPublic, uint256 _maxTimeDelay) external;
function setRequestKeysStartValues(uint256 _increasePositionRequestKeysStart, uint256 _decreasePositionRequestKeysStart) external;
function callbackFunction(bytes32 positionKey, bool isExecuted, bool isIncrease) external;
function increasePositionRequests(bytes32 _key) external view returns ( address account, address[] memory path, address indexToken, uint256 amountIn, uint256 minOut, uint256 sizeDelta, bool isLong, uint256 acceptablePrice, uint256 executionFee, uint256 blockNumber, uint256 blockTime, bool isETH, bytes32 callbackContract );
function decreasePositionRequests(bytes32 _key) external view returns ( address account, address[] memory path, address indexToken, uint256 collateralDelta, uint256 sizeDelta, bool isLong, address receiver, uint256 acceptablePrice, uint256 minOut, uint256 executionFee, uint256 blockNumber, uint256 blockTime, bool isETH, bytes32 callbackContract );