From 69ff3e1146811f34cf4e2b8ed43191226d958f86 Mon Sep 17 00:00:00 2001 From: Sowmayjain Date: Wed, 28 Nov 2018 01:26:22 +0530 Subject: [PATCH] Added feature - lock ETH in CDP without being the owner. --- contracts/protocols/InstaMaker.sol | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/contracts/protocols/InstaMaker.sol b/contracts/protocols/InstaMaker.sol index b5bfffc..89cdad6 100644 --- a/contracts/protocols/InstaMaker.sol +++ b/contracts/protocols/InstaMaker.sol @@ -113,13 +113,14 @@ contract IssueLoan is GlobalVar { } function borrow(uint daiDraw) public payable { - if (msg.value > 0) {lockETH();} + if (msg.value > 0) {lockETH(msg.sender);} if (daiDraw > 0) {drawDAI(daiDraw);} } - function lockETH() public payable { + function lockETH(address borrower) public payable { MakerCDP loanMaster = MakerCDP(cdpAddr); - if (cdps[msg.sender] == blankCDP) { + if (cdps[borrower] == blankCDP) { + require(msg.sender == borrower, "Creating CDP for others is not permitted at the moment."); cdps[msg.sender] = loanMaster.open(); emit NewCDP(msg.sender, cdps[msg.sender]); } @@ -127,9 +128,9 @@ contract IssueLoan is GlobalVar { wethTkn.deposit.value(msg.value)(); // ETH to WETH uint pethToLock = pethPEReth(msg.value); loanMaster.join(pethToLock); // WETH to PETH - loanMaster.lock(cdps[msg.sender], pethToLock); // PETH to CDP + loanMaster.lock(cdps[borrower], pethToLock); // PETH to CDP emit LockedETH( - msg.sender, msg.value, pethToLock, msg.sender + borrower, msg.value, pethToLock, msg.sender ); }