From ed0dea5424b83c1970957c31b58c840b9f894c5a Mon Sep 17 00:00:00 2001 From: Ravindra Kumar Date: Sun, 27 Jan 2019 23:20:14 +0530 Subject: [PATCH] Fixed all the indentation --- contracts/Ownable.sol | 1 + contracts/v1/InstaAddress.sol | 1 + contracts/v1/protocols/InstaKyber.sol | 48 ++++++++++++-- .../v1/protocols/MakerDAO/InstaMaker.sol | 66 +++++++++++++++---- contracts/v1/protocols/MakerDAO/PublicCDP.sol | 58 ++++++++++++---- contracts/v1/protocols/MakerDAO/uniqueCDP.sol | 2 + contracts/v2/DAI2ETH.sol | 24 +++++-- contracts/v2/InstaBank.sol | 54 +++++++++++---- contracts/v2/LeverageCDP.sol | 5 ++ 9 files changed, 213 insertions(+), 46 deletions(-) diff --git a/contracts/Ownable.sol b/contracts/Ownable.sol index b2e9bfa..7b6bff5 100644 --- a/contracts/Ownable.sol +++ b/contracts/Ownable.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control diff --git a/contracts/v1/InstaAddress.sol b/contracts/v1/InstaAddress.sol index 01f424d..6570336 100644 --- a/contracts/v1/InstaAddress.sol +++ b/contracts/v1/InstaAddress.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + contract AddressRegistry { event AddressSet(string name, address addr); mapping(bytes32 => address) registry; diff --git a/contracts/v1/protocols/InstaKyber.sol b/contracts/v1/protocols/InstaKyber.sol index 38fbb33..5d575c7 100644 --- a/contracts/v1/protocols/InstaKyber.sol +++ b/contracts/v1/protocols/InstaKyber.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -43,6 +44,7 @@ interface Kyber { function getExpectedRate(address src, address dest, uint srcQty) external view returns (uint, uint); } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -56,6 +58,7 @@ contract Registry { } + contract Trade is Registry { using SafeMath for uint; using SafeMath for uint256; @@ -81,13 +84,30 @@ contract Trade is Registry { uint srcAmt, // amount of token for sell uint minConversionRate, // minimum slippage rate uint maxDestAmt // max amount of dest token - ) public payable returns (uint destAmt) { + ) + public + payable + returns (uint destAmt) + { address eth = getAddress("eth"); - uint ethQty = getToken(msg.sender, src, srcAmt, eth); + uint ethQty = getToken( + msg.sender, + src, + srcAmt, + eth + ); // Interacting with Kyber Proxy Contract Kyber kyberFunctions = Kyber(getAddress("kyber")); - destAmt = kyberFunctions.trade.value(ethQty)(src, srcAmt, dest, msg.sender, maxDestAmt, minConversionRate, getAddress("admin")); + destAmt = kyberFunctions.trade.value(ethQty)( + src, + srcAmt, + dest, + msg.sender, + maxDestAmt, + minConversionRate, + getAddress("admin") + ); // maxDestAmt usecase implementated if (src == eth && address(this).balance > 0) { @@ -101,11 +121,27 @@ contract Trade is Registry { } } - emit KyberTrade(src, srcAmt, dest, destAmt, msg.sender, minConversionRate, getAddress("admin")); + emit KyberTrade( + src, + srcAmt, + dest, + destAmt, + msg.sender, + minConversionRate, + getAddress("admin") + ); } - function getToken(address trader, address src, uint srcAmt, address eth) internal returns (uint ethQty) { + function getToken( + address trader, + address src, + uint srcAmt, + address eth + ) + internal + returns (uint ethQty) + { if (src == eth) { require(msg.value == srcAmt, "Invalid Operation"); ethQty = srcAmt; @@ -115,9 +151,9 @@ contract Trade is Registry { ethQty = 0; } } - } + contract InstaKyber is Trade { constructor(address rAddr) public { addressRegistry = rAddr; diff --git a/contracts/v1/protocols/MakerDAO/InstaMaker.sol b/contracts/v1/protocols/MakerDAO/InstaMaker.sol index f14e68b..5868f17 100644 --- a/contracts/v1/protocols/MakerDAO/InstaMaker.sol +++ b/contracts/v1/protocols/MakerDAO/InstaMaker.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -52,14 +53,21 @@ interface WETHFace { } interface InstaKyber { - function executeTrade(address src, address dest, uint srcAmt, uint minConversionRate, uint maxDestAmt) - external - payable - returns (uint destAmt); + function executeTrade( + address src, + address dest, + uint srcAmt, + uint minConversionRate, + uint maxDestAmt + ) + external + payable + returns (uint destAmt); function getExpectedPrice(address src, address dest, uint srcAmt) external view returns (uint, uint); } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -74,6 +82,7 @@ contract Registry { } + contract GlobalVar is Registry { using SafeMath for uint; using SafeMath for uint256; @@ -85,6 +94,7 @@ contract GlobalVar is Registry { } + contract IssueLoan is GlobalVar { event LockedETH(address borrower, uint lockETH, uint lockPETH, address lockedBy); event LoanedDAI(address borrower, uint loanDAI, address payTo); @@ -116,7 +126,13 @@ contract IssueLoan is GlobalVar { uint pethToLock = pethPEReth(msg.value); loanMaster.join(pethToLock); // WETH to PETH loanMaster.lock(cdps[borrower], pethToLock); // PETH to CDP - emit LockedETH(borrower, msg.value, pethToLock, msg.sender); + + emit LockedETH( + borrower, + msg.value, + pethToLock, + msg.sender + ); } function drawDAI(uint daiDraw, address beneficiary) public { @@ -131,9 +147,9 @@ contract IssueLoan is GlobalVar { daiTkn.transfer(payTo, daiDraw); emit LoanedDAI(msg.sender, daiDraw, payTo); } - } + contract RepayLoan is IssueLoan { event WipedDAI(address borrower, uint daiWipe, uint mkrCharged, address wipedBy); event UnlockedETH(address borrower, uint ethFree); @@ -164,13 +180,23 @@ contract RepayLoan is IssueLoan { // claiming paid MKR back if (msg.value > 0) { // Interacting with Kyber to swap ETH with MKR - swapETHMKR(eth, mkr, mkrCharged, msg.value); + swapETHMKR( + eth, + mkr, + mkrCharged, + msg.value + ); } else { // take MKR directly from address mkrTkn.transferFrom(msg.sender, address(this), mkrCharged); // user paying MKR fees } - emit WipedDAI(borrower, daiWipe, mkrCharged, msg.sender); + emit WipedDAI( + borrower, + daiWipe, + mkrCharged, + msg.sender + ); } function unlockETH(uint ethFree) public { @@ -185,25 +211,38 @@ contract RepayLoan is IssueLoan { emit UnlockedETH(msg.sender, ethFree); } - function swapETHMKR(address eth, address mkr, uint mkrCharged, uint ethQty) internal { + function swapETHMKR( + address eth, + address mkr, + uint mkrCharged, + uint ethQty + ) + internal + { InstaKyber instak = InstaKyber(getAddress("InstaKyber")); uint minRate; (, minRate) = instak.getExpectedPrice(eth, mkr, ethQty); - uint mkrBought = instak.executeTrade.value(ethQty)(eth, mkr, ethQty, minRate, mkrCharged); + uint mkrBought = instak.executeTrade.value(ethQty)( + eth, + mkr, + ethQty, + minRate, + mkrCharged + ); require(mkrCharged == mkrBought, "ETH not sufficient to cover the MKR fees."); if (address(this).balance > 0) { msg.sender.transfer(address(this).balance); } - } - + } } + contract BorrowTasks is RepayLoan { event TranferCDP(bytes32 cdp, address owner, address nextOwner); event CDPClaimed(bytes32 cdp, address owner); function transferCDP(address nextOwner) public { - require(nextOwner != 0, "Invalid Address."); + require(nextOwner != address(0), "Invalid Address."); MakerCDP loanMaster = MakerCDP(cdpAddr); loanMaster.give(cdps[msg.sender], nextOwner); cdps[msg.sender] = blankCDP; @@ -243,6 +282,7 @@ contract BorrowTasks is RepayLoan { } + contract InstaMaker is BorrowTasks { event MKRCollected(uint amount); diff --git a/contracts/v1/protocols/MakerDAO/PublicCDP.sol b/contracts/v1/protocols/MakerDAO/PublicCDP.sol index 1dfefd7..4fce7e3 100644 --- a/contracts/v1/protocols/MakerDAO/PublicCDP.sol +++ b/contracts/v1/protocols/MakerDAO/PublicCDP.sol @@ -1,6 +1,7 @@ // Resolver to Wipe & Coll any CDP pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -47,14 +48,21 @@ interface WETHFace { } interface InstaKyber { - function executeTrade(address src, address dest, uint srcAmt, uint minConversionRate, uint maxDestAmt) - external - payable - returns (uint destAmt); + function executeTrade( + address src, + address dest, + uint srcAmt, + uint minConversionRate, + uint maxDestAmt + ) + external + payable + returns (uint destAmt); function getExpectedPrice(address src, address dest, uint srcAmt) external view returns (uint, uint); } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -69,6 +77,7 @@ contract Registry { } + contract Helper is Registry { using SafeMath for uint; using SafeMath for uint256; @@ -88,8 +97,15 @@ contract Helper is Registry { } + contract Lock is Helper { - event LockedETH(uint cdpNum, address lockedBy, uint lockETH, uint lockPETH); + + event LockedETH( + uint cdpNum, + address lockedBy, + uint lockETH, + uint lockPETH + ); function lockETH(uint cdpNum) public payable { MakerCDP loanMaster = MakerCDP(cdpAddr); @@ -98,11 +114,17 @@ contract Lock is Helper { uint pethToLock = pethPEReth(msg.value); loanMaster.join(pethToLock); // WETH to PETH loanMaster.lock(bytes32(cdpNum), pethToLock); // PETH to CDP - emit LockedETH(cdpNum, msg.sender, msg.value, pethToLock); - } + emit LockedETH( + cdpNum, + msg.sender, + msg.value, + pethToLock + ); + } } + contract Wipe is Lock { event WipedDAI(uint cdpNum, address wipedBy, uint daiWipe, uint mkrCharged); @@ -125,22 +147,35 @@ contract Wipe is Lock { mkrTkn.transferFrom(msg.sender, address(this), mkrCharged); // user paying MKR fees } - emit WipedDAI(cdpNum, msg.sender, daiWipe, mkrCharged); + emit WipedDAI( + cdpNum, + msg.sender, + daiWipe, + mkrCharged + ); } function swapETHMKR(uint mkrCharged, uint ethQty) internal { InstaKyber instak = InstaKyber(kyber); uint minRate; (, minRate) = instak.getExpectedPrice(eth, mkr, ethQty); - uint mkrBought = instak.executeTrade.value(ethQty)(eth, mkr, ethQty, minRate, mkrCharged); + + uint mkrBought = instak.executeTrade.value(ethQty)( + eth, + mkr, + ethQty, + minRate, + mkrCharged + ); + require(mkrCharged == mkrBought, "ETH not sufficient to cover the MKR fees."); if (address(this).balance > 0) { msg.sender.transfer(address(this).balance); } } - } + contract ApproveTkn is Wipe { function approveERC20() public { IERC20 wethTkn = IERC20(weth); @@ -152,9 +187,9 @@ contract ApproveTkn is Wipe { IERC20 daiTkn = IERC20(dai); daiTkn.approve(cdpAddr, 2 ** 256 - 1); } - } + contract PublicCDP is ApproveTkn { event MKRCollected(uint amount); @@ -178,5 +213,4 @@ contract PublicCDP is ApproveTkn { mkrTkn.transfer(msg.sender, amount); emit MKRCollected(amount); } - } diff --git a/contracts/v1/protocols/MakerDAO/uniqueCDP.sol b/contracts/v1/protocols/MakerDAO/uniqueCDP.sol index d58879f..0f1ee92 100644 --- a/contracts/v1/protocols/MakerDAO/uniqueCDP.sol +++ b/contracts/v1/protocols/MakerDAO/uniqueCDP.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -27,6 +28,7 @@ interface MakerCDP { function give(bytes32 cup, address guy) external; } + contract UniqueCDP { address public deployer; address public cdpAddr; diff --git a/contracts/v2/DAI2ETH.sol b/contracts/v2/DAI2ETH.sol index 48f36f5..29f1eb8 100644 --- a/contracts/v2/DAI2ETH.sol +++ b/contracts/v2/DAI2ETH.sol @@ -23,6 +23,7 @@ interface Kyber { function getExpectedRate(address src, address dest, uint srcQty) external view returns (uint, uint); } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -35,6 +36,7 @@ contract Registry { } } + contract Trade is Registry { event KyberTrade(address src, uint srcAmt, address dest, uint destAmt, address beneficiary, uint minConversionRate); @@ -56,14 +58,29 @@ contract Trade is Registry { // Interacting with Kyber Proxy Contract Kyber kyberFunctions = Kyber(getAddress("kyber")); - destAmt = kyberFunctions.trade.value(0)(src, srcDAI, dest, msg.sender, 2 ** 255, minConversionRate, getAddress("admin")); - emit KyberTrade(src, srcDAI, dest, destAmt, msg.sender, minConversionRate); + destAmt = kyberFunctions.trade.value(0)( + src, + srcDAI, + dest, + msg.sender, + 2 ** 255, + minConversionRate, + getAddress("admin") + ); + emit KyberTrade( + src, + srcDAI, + dest, + destAmt, + msg.sender, + minConversionRate + ); } - } + contract DAI2ETH is Trade { constructor(address rAddr) public { addressRegistry = rAddr; @@ -71,5 +88,4 @@ contract DAI2ETH is Trade { } function() external payable {} - } diff --git a/contracts/v2/InstaBank.sol b/contracts/v2/InstaBank.sol index b743bc0..1e82aa1 100644 --- a/contracts/v2/InstaBank.sol +++ b/contracts/v2/InstaBank.sol @@ -12,6 +12,7 @@ pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -72,14 +73,21 @@ interface WETHFace { } interface InstaKyber { - function executeTrade(address src, address dest, uint srcAmt, uint minConversionRate, uint maxDestAmt) - external - payable - returns (uint destAmt); + function executeTrade( + address src, + address dest, + uint srcAmt, + uint minConversionRate, + uint maxDestAmt + ) + external + payable + returns (uint destAmt); function getExpectedPrice(address src, address dest, uint srcAmt) external view returns (uint, uint); } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -91,9 +99,9 @@ contract Registry { AddressRegistry addrReg = AddressRegistry(addressRegistry); return addrReg.getAddr(name); } - } + contract GlobalVar is Registry { using SafeMath for uint; using SafeMath for uint256; @@ -117,9 +125,9 @@ contract GlobalVar is Registry { MakerCDP loanMaster = MakerCDP(cdpAddr); rPETH = (ethNum.mul(10 ** 27)).div(loanMaster.per()); } - } + contract BorrowLoan is GlobalVar { // uint cdpNum event LockedETH(uint cdpNum, address borrower, uint lockETH, uint lockPETH); @@ -145,7 +153,12 @@ contract BorrowLoan is GlobalVar { uint pethToLock = pethPEReth(msg.value); loanMaster.join(pethToLock); // WETH to PETH loanMaster.lock(cup, pethToLock); // PETH to CDP - emit LockedETH(uint(cup), msg.sender, msg.value, pethToLock); + emit LockedETH( + uint(cup), + msg.sender, + msg.value, + pethToLock + ); } // minting DAI @@ -157,12 +170,18 @@ contract BorrowLoan is GlobalVar { payTo = msg.sender; } daiTkn.transfer(payTo, daiDraw); - emit LoanedDAI(uint(cup), msg.sender, daiDraw, payTo); + + emit LoanedDAI( + uint(cup), + msg.sender, + daiDraw, + payTo + ); } } - } + contract RepayLoan is BorrowLoan { event WipedDAI(uint cdpNum, address borrower, uint daiWipe, uint mkrCharged); event FreedETH(uint cdpNum, address borrower, uint ethFree); @@ -189,7 +208,13 @@ contract RepayLoan is BorrowLoan { // take MKR directly from address mkrTkn.transferFrom(msg.sender, address(this), mkrCharged); // user paying MKR fees } - emit WipedDAI(cdpNum, msg.sender, daiWipe, mkrCharged); + + emit WipedDAI( + cdpNum, + msg.sender, + daiWipe, + mkrCharged + ); } // TODO => send pethFree from frontend instead of ethFree @@ -224,11 +249,17 @@ contract RepayLoan is BorrowLoan { cdps[cdpNum] = address(0x0); - emit ShutCDP(cdpNum, msg.sender, daiDebt, wethBal); + emit ShutCDP( + cdpNum, + msg.sender, + daiDebt, + wethBal + ); } } + contract MiscTask is RepayLoan { event TranferInternal(uint cdpNum, address owner, address nextOwner); event TranferExternal(uint cdpNum, address owner, address nextOwner); @@ -304,6 +335,7 @@ contract MiscTask is RepayLoan { } + contract InstaBank is MiscTask { event MKRCollected(uint amount); diff --git a/contracts/v2/LeverageCDP.sol b/contracts/v2/LeverageCDP.sol index dee0bbd..6a74aa2 100644 --- a/contracts/v2/LeverageCDP.sol +++ b/contracts/v2/LeverageCDP.sol @@ -1,5 +1,6 @@ pragma solidity ^0.5.0; + library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { @@ -53,6 +54,7 @@ interface InstaBank { function transferCDPInternal(uint cdpNum, address nextOwner) external; } + contract Registry { address public addressRegistry; modifier onlyAdmin() { @@ -65,6 +67,7 @@ contract Registry { } } + contract GlobalVar is Registry { using SafeMath for uint; using SafeMath for uint256; @@ -92,6 +95,7 @@ contract GlobalVar is Registry { } + contract LoopNewCDP is GlobalVar { event LevNewCDP(uint cdpNum, uint ethLocked, uint daiMinted); @@ -143,6 +147,7 @@ contract LoopNewCDP is GlobalVar { } + contract LeverageCDP is LoopNewCDP { constructor(address rAddr) public { addressRegistry = rAddr;