mirror of
https://github.com/Instadapp/smart-contract.git
synced 2024-07-29 22:08:07 +00:00
Code refactoring and adding events.
This commit is contained in:
parent
91063d81bd
commit
f4e0ae0d36
|
@ -338,6 +338,26 @@ contract GetDetails is MakerHelpers {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getLeverage(
|
||||||
|
uint cdpID,
|
||||||
|
uint daiToSwap
|
||||||
|
) public view returns (
|
||||||
|
uint finalEthCol,
|
||||||
|
uint finalDaiDebt,
|
||||||
|
uint finalColToUSD,
|
||||||
|
bool canLeverage
|
||||||
|
)
|
||||||
|
{
|
||||||
|
bytes32 cup = bytes32(cdpID);
|
||||||
|
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
||||||
|
(finalEthCol, finalDaiDebt, finalColToUSD, canLeverage) = checkLeverage(
|
||||||
|
ethCol,
|
||||||
|
daiDebt,
|
||||||
|
usdPerEth,
|
||||||
|
daiToSwap
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function checkSave(
|
function checkSave(
|
||||||
uint ethCol,
|
uint ethCol,
|
||||||
uint daiDebt,
|
uint daiDebt,
|
||||||
|
@ -373,26 +393,6 @@ contract GetDetails is MakerHelpers {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLeverage(
|
|
||||||
uint cdpID,
|
|
||||||
uint daiToSwap
|
|
||||||
) public view returns (
|
|
||||||
uint finalEthCol,
|
|
||||||
uint finalDaiDebt,
|
|
||||||
uint finalColToUSD,
|
|
||||||
bool canLeverage
|
|
||||||
)
|
|
||||||
{
|
|
||||||
bytes32 cup = bytes32(cdpID);
|
|
||||||
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
|
||||||
(finalEthCol, finalDaiDebt, finalColToUSD, canLeverage) = checkLeverage(
|
|
||||||
ethCol,
|
|
||||||
daiDebt,
|
|
||||||
usdPerEth,
|
|
||||||
daiToSwap
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkLeverage(
|
function checkLeverage(
|
||||||
uint ethCol,
|
uint ethCol,
|
||||||
uint daiDebt,
|
uint daiDebt,
|
||||||
|
@ -437,7 +437,7 @@ contract Save is GetDetails {
|
||||||
* @param what 2 for SAVE & 3 for LEVERAGE
|
* @param what 2 for SAVE & 3 for LEVERAGE
|
||||||
*/
|
*/
|
||||||
event LogTrade(
|
event LogTrade(
|
||||||
uint what, // 2 for SAVE & 3 for LEVERAGE
|
uint what, // 0 for BUY & 1 for SELL
|
||||||
address src,
|
address src,
|
||||||
uint srcAmt,
|
uint srcAmt,
|
||||||
address dest,
|
address dest,
|
||||||
|
@ -447,17 +447,24 @@ contract Save is GetDetails {
|
||||||
address affiliate
|
address affiliate
|
||||||
);
|
);
|
||||||
|
|
||||||
function getColToFree(uint ethCol, uint daiDebt, uint usdPerEth) internal pure returns (uint colToFree) {
|
event LogSaveCDP(
|
||||||
uint colToUSD = sub(wmul(ethCol, usdPerEth), 10);
|
uint cdpID,
|
||||||
uint minColNeeded = add(wmul(daiDebt, 1500000000000000000), 10);
|
uint srcETH,
|
||||||
colToFree = sub(wdiv(sub(colToUSD, minColNeeded), usdPerEth), 10);
|
uint destDAI
|
||||||
}
|
);
|
||||||
|
|
||||||
|
event LogLeverageCDP(
|
||||||
|
uint cdpID,
|
||||||
|
uint srcDAI,
|
||||||
|
uint destETH
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
function save(uint cdpID, uint colToSwap) public {
|
function save(uint cdpID, uint colToSwap) public {
|
||||||
bytes32 cup = bytes32(cdpID);
|
bytes32 cup = bytes32(cdpID);
|
||||||
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
||||||
uint colToFree = getColToFree(ethCol, daiDebt, usdPerEth);
|
uint colToFree = getColToFree(ethCol, daiDebt, usdPerEth);
|
||||||
require(colToFree != 0, "No-collatral-to-free");
|
require(colToFree != 0, "no-collatral-to-free");
|
||||||
if (colToSwap < colToFree) {
|
if (colToSwap < colToFree) {
|
||||||
colToFree = colToSwap;
|
colToFree = colToSwap;
|
||||||
}
|
}
|
||||||
|
@ -481,8 +488,10 @@ contract Save is GetDetails {
|
||||||
lock(cdpID, balToLock);
|
lock(cdpID, balToLock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit LogSaveCDP(cdpID, ethToSwap, destAmt);
|
||||||
|
|
||||||
emit LogTrade(
|
emit LogTrade(
|
||||||
2,
|
0,
|
||||||
getAddressETH(),
|
getAddressETH(),
|
||||||
colToFree,
|
colToFree,
|
||||||
getAddressDAI(),
|
getAddressDAI(),
|
||||||
|
@ -493,12 +502,6 @@ contract Save is GetDetails {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDebtToBorrow(uint ethCol, uint daiDebt, uint usdPerEth) internal pure returns (uint debtToBorrow) {
|
|
||||||
uint colToUSD = sub(wmul(ethCol, usdPerEth), 10);
|
|
||||||
uint maxDebtLimit = sub(wdiv(colToUSD, 1500000000000000000), 10);
|
|
||||||
debtToBorrow = sub(maxDebtLimit, daiDebt);
|
|
||||||
}
|
|
||||||
|
|
||||||
function leverage(uint cdpID, uint daiToSwap) public {
|
function leverage(uint cdpID, uint daiToSwap) public {
|
||||||
bytes32 cup = bytes32(cdpID);
|
bytes32 cup = bytes32(cdpID);
|
||||||
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
(uint ethCol, uint daiDebt, uint usdPerEth) = getCDPStats(cup);
|
||||||
|
@ -521,8 +524,11 @@ contract Save is GetDetails {
|
||||||
uint ethToDeposit = wdiv(wmul(destAmt, 99750000000000000000), 100000000000000000000);
|
uint ethToDeposit = wdiv(wmul(destAmt, 99750000000000000000), 100000000000000000000);
|
||||||
getAddressAdmin().transfer(sub(destAmt, ethToDeposit));
|
getAddressAdmin().transfer(sub(destAmt, ethToDeposit));
|
||||||
lock(cdpID, ethToDeposit);
|
lock(cdpID, ethToDeposit);
|
||||||
|
|
||||||
|
emit LogLeverageCDP(cdpID, debtToBorrow, destAmt);
|
||||||
|
|
||||||
emit LogTrade(
|
emit LogTrade(
|
||||||
3,
|
1,
|
||||||
getAddressDAI(),
|
getAddressDAI(),
|
||||||
debtToBorrow,
|
debtToBorrow,
|
||||||
getAddressETH(),
|
getAddressETH(),
|
||||||
|
@ -533,6 +539,18 @@ contract Save is GetDetails {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getColToFree(uint ethCol, uint daiDebt, uint usdPerEth) internal pure returns (uint colToFree) {
|
||||||
|
uint colToUSD = sub(wmul(ethCol, usdPerEth), 10);
|
||||||
|
uint minColNeeded = add(wmul(daiDebt, 1500000000000000000), 10);
|
||||||
|
colToFree = sub(wdiv(sub(colToUSD, minColNeeded), usdPerEth), 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getDebtToBorrow(uint ethCol, uint daiDebt, uint usdPerEth) internal pure returns (uint debtToBorrow) {
|
||||||
|
uint colToUSD = sub(wmul(ethCol, usdPerEth), 10);
|
||||||
|
uint maxDebtLimit = sub(wdiv(colToUSD, 1500000000000000000), 10);
|
||||||
|
debtToBorrow = sub(maxDebtLimit, daiDebt);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user