mirror of
https://github.com/Instadapp/dsa-connectors-old.git
synced 2024-07-29 22:47:46 +00:00
Added claim COMP function
This commit is contained in:
parent
23df17066d
commit
1031c34937
|
@ -35,6 +35,7 @@ interface ComptrollerInterface {
|
||||||
function exitMarket(address cTokenAddress) external returns (uint);
|
function exitMarket(address cTokenAddress) external returns (uint);
|
||||||
function getAssetsIn(address account) external view returns (address[] memory);
|
function getAssetsIn(address account) external view returns (address[] memory);
|
||||||
function getAccountLiquidity(address account) external view returns (uint, uint, uint);
|
function getAccountLiquidity(address account) external view returns (uint, uint, uint);
|
||||||
|
function claimComp(address) external;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface InstaMapping {
|
interface InstaMapping {
|
||||||
|
@ -70,6 +71,10 @@ contract DSMath {
|
||||||
z = add(mul(x, WAD), y / 2) / y;
|
z = add(mul(x, WAD), y / 2) / y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sub(uint x, uint y) internal pure returns (uint z) {
|
||||||
|
require((z = x - y) <= x, "ds-math-sub-underflow");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,6 +131,13 @@ contract CompoundHelpers is Helpers {
|
||||||
return 0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B;
|
return 0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dev Return COMP Token.
|
||||||
|
*/
|
||||||
|
function getCompToken() internal pure returns (TokenInterface) {
|
||||||
|
return TokenInterface(0xc00e94Cb662C3520282E6f5717214004A7f26888);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Return InstaDApp Mapping Addresses
|
* @dev Return InstaDApp Mapping Addresses
|
||||||
*/
|
*/
|
||||||
|
@ -272,6 +284,7 @@ contract BasicResolver is CompoundHelpers {
|
||||||
}
|
}
|
||||||
|
|
||||||
contract ExtraResolver is BasicResolver {
|
contract ExtraResolver is BasicResolver {
|
||||||
|
event LogClaimedComp(uint256 CompAmt, uint256 setId);
|
||||||
event LogDepositCToken(address indexed token, address cToken, uint256 tokenAmt, uint256 cTokenAmt,uint256 getId, uint256 setId);
|
event LogDepositCToken(address indexed token, address cToken, uint256 tokenAmt, uint256 cTokenAmt,uint256 getId, uint256 setId);
|
||||||
event LogWithdrawCToken(address indexed token, address cToken, uint256 cTokenAmt, uint256 getId, uint256 setId);
|
event LogWithdrawCToken(address indexed token, address cToken, uint256 cTokenAmt, uint256 getId, uint256 setId);
|
||||||
event LogLiquidate(
|
event LogLiquidate(
|
||||||
|
@ -283,6 +296,25 @@ contract ExtraResolver is BasicResolver {
|
||||||
uint256 setId
|
uint256 setId
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dev Claim Accrued COMP Token.
|
||||||
|
* @param setId Set ctoken amount at this ID in `InstaMemory` Contract.
|
||||||
|
*/
|
||||||
|
function ClaimComp(uint setId) external payable {
|
||||||
|
uint intialBal = getCompToken().balanceOf(address(this));
|
||||||
|
ComptrollerInterface(getComptrollerAddress()).claimComp(address(this));
|
||||||
|
uint finalBal = getCompToken().balanceOf(address(this));
|
||||||
|
uint amt = sub(finalBal, intialBal);
|
||||||
|
|
||||||
|
setUint(setId, amt);
|
||||||
|
|
||||||
|
emit LogClaimedComp(amt, setId);
|
||||||
|
bytes32 _eventCode = keccak256("LogClaimedComp(uint256,uint256)");
|
||||||
|
bytes memory _eventParam = abi.encode(amt, setId);
|
||||||
|
(uint _type, uint _id) = connectorID();
|
||||||
|
EventInterface(getEventAddr()).emitEvent(_type, _id, _eventCode, _eventParam);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Deposit ETH/ERC20_Token.
|
* @dev Deposit ETH/ERC20_Token.
|
||||||
* @param token token address to depositCToken.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)
|
* @param token token address to depositCToken.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user