updated changes- Mainnet

This commit is contained in:
Shriya Tyagi 2022-04-27 18:15:32 +04:00
parent 8bbae5a1e1
commit 484ff2ef33
3 changed files with 40 additions and 12 deletions

View File

@ -31,10 +31,26 @@ contract Events {
event LogEnableCollateral(address[] tokens);
event LogSwapRateMode(address indexed token, uint256 rateMode);
event LogSetUserEMode(uint8 categoryId);
event LogApproveDelegation(
event LogDelegateBorrow(
address token,
uint16 debtType,
uint256 amount,
uint16 rateMode,
address delegateTo,
uint256 amount
uint256 getId,
uint256 setId
);
event LogDepositWithoutCollateral(
address token,
uint256 amt,
uint256 getId,
uint256 setId
);
event LogBorrowOnBehalfOf(
address token,
uint256 amt,
uint256 rateMode,
address onBehalfOf,
uint256 getId,
uint256 setId
);
}

View File

@ -70,7 +70,7 @@ abstract contract Helpers is DSMath, Basic {
* @param token token address of the asset
* @param rateMode Debt type: stable-1, variable-2
*/
function getDTokenAddr(address token, uint16 rateMode)
function getDTokenAddr(address token, uint256 rateMode)
internal
view
returns(address dToken)

View File

@ -109,7 +109,7 @@ abstract contract AaveResolver is Events, Helpers {
setUint(setId, _amt);
_eventName = "LogDeposit(address,uint256,uint256,uint256)";
_eventName = "LogDepositWithoutCollateral(address,uint256,uint256,uint256)";
_eventParam = abi.encode(token, _amt, getId, setId);
}
@ -223,8 +223,8 @@ abstract contract AaveResolver is Events, Helpers {
setUint(setId, _amt);
_eventName = "LogBorrow(address,uint256,uint256,uint256,uint256)";
_eventParam = abi.encode(token, _amt, rateMode, getId, setId);
_eventName = "LogBorrowOnBehalfOf(address,uint256,uint256,address,uint256,uint256)";
_eventParam = abi.encode(token, _amt, rateMode, onBehalfOf, getId, setId);
}
/**
@ -384,25 +384,37 @@ abstract contract AaveResolver is Events, Helpers {
* @dev Approve Delegation
* @notice Gives approval to delegate debt tokens
* @param token The address of token
* @param amount The amount
* @param rateMode The type of borrow debt
* @param delegateTo The address to whom the user is delegating
* @param amount The amount
* @param getId ID to retrieve amt.
* @param setId ID stores the amount of tokens deposited.
*/
function approveDelegation(address token, uint16 rateMode, address delegateTo, uint256 amount)
function delegateBorrow(
address token,
uint256 amount,
uint256 rateMode,
address delegateTo,
uint256 getId,
uint256 setId
)
external
payable
returns (string memory _eventName, bytes memory _eventParam)
{
require(rateMode == 1 || rateMode == 2, "Invalid debt type");
uint256 _amt = getUint(getId, amount);
bool isEth = token == ethAddr;
address _token = isEth ? wethAddr : token;
address _dToken = getDTokenAddr(_token, rateMode);
DTokenInterface(_dToken).approveDelegation(delegateTo, amount);
DTokenInterface(_dToken).approveDelegation(delegateTo, _amt);
_eventName = "LogApproveDelegation(address,uint16,address,uint256)";
_eventParam = abi.encode(token, rateMode, delegateTo, amount);
setUint(setId, _amt);
_eventName = "LogDelegateBorrow(address,uint256,uint256,address,uint256,uint256)";
_eventParam = abi.encode(token, _amt, rateMode, delegateTo, getId, setId);
}
}