Get integrated into Idle

Currently we are integrated with Compound, Fulcrum, Aave, DyDx and the DSR, if you want new protocols to be integrated faster you can create an IdleWrapper that adhere to the following interface:

interface ILendingProtocol {
function mint() external returns (uint256);
function redeem(address account) external returns (uint256);
function nextSupplyRate(uint256 amount) external view returns (uint256);
function nextSupplyRateWithParams(uint256[] calldata params) external view returns (uint256);
function getAPR() external view returns (uint256);
function getPriceInToken() external view returns (uint256);
function token() external view returns (address);
function underlying() external view returns (address);

You can find the current wrappers for Compound and Fulcrum for reference here (IdleCompoundV2 and IdleFulcrumV2 are used for DAI only).

The nextSupplyRate(uint256 amount) is the rate that the protocol would have after a new deposit of underlying amount (eg. if the current APR for DAI in Compound is 10% and then we deposit 100.000 DAI what would the next rate be?)