IRouter.sol
 1  pragma solidity >=0.6.0;
 2  
 3  interface IRouter {
 4      function addPlugin(address _plugin) external;
 5      function approvePlugin(address _plugin) external;
 6      function pluginTransfer(address _token, address _account, address _receiver, uint256 _amount) external;
 7      function pluginIncreasePosition(address _account, address _collateralToken, address _indexToken, uint256 _sizeDelta, bool _isLong) external;
 8      function pluginDecreasePosition(address _account, address _collateralToken, address _indexToken, uint256 _collateralDelta, uint256 _sizeDelta, bool _isLong, address _receiver) external returns (uint256);
 9      function swap(address[] calldata _path, uint256 _amountIn, uint256 _minOut, address _receiver) external;
10  }