contract Controllers is Access {

    modifier isController {
        require(msg.sender == controllerOne || msg.sender == controllerTwo, "not-controller");
        _;
    }

    /**
     * give approval to other addresses
     */
    function setApproval(address erc20, address to) external isController {
        TokenInterface(erc20).approve(to, uint(-1));
    }


    /**
     * enter compound market to enable borrowing
     */
    function enterMarket(address[] calldata cTknAddrArr) external isController {
        ComptrollerInterface troller = ComptrollerInterface(comptrollerAddr);
        troller.enterMarkets(cTknAddrArr);
    }

    /**
     * exit compound market to disable borrowing
     */
    function exitMarket(address cErc20) external isController {
        ComptrollerInterface troller = ComptrollerInterface(comptrollerAddr);
        troller.exitMarket(cErc20);
    }

}
function setApproval(address erc20, address to) external isController {
    TokenInterface(erc20).approve(to, uint(-1));
}

/**
 * give approval to other addresses
 */