diff --git a/contracts/tokenization/AToken.sol b/contracts/tokenization/AToken.sol index a6c1f00b..0a664548 100644 --- a/contracts/tokenization/AToken.sol +++ b/contracts/tokenization/AToken.sol @@ -108,7 +108,7 @@ contract AToken is VersionedInitializable, IncentivizedERC20, IAToken { //transfer event to track balances emit Transfer(user, address(0), amount); - emit Burn(_msgSender(), receiverOfUnderlying, amount, index); + emit Burn(user, receiverOfUnderlying, amount, index); } /** diff --git a/contracts/tokenization/StableDebtToken.sol b/contracts/tokenization/StableDebtToken.sol index d7c76857..e6105dbb 100644 --- a/contracts/tokenization/StableDebtToken.sol +++ b/contracts/tokenization/StableDebtToken.sol @@ -142,11 +142,11 @@ contract StableDebtToken is IStableDebtToken, DebtTokenBase { emit Mint( user, amount, - previousBalance, currentBalance, balanceIncrease, vars.newStableRate, - vars.currentAvgStableRate + vars.currentAvgStableRate, + vars.nextSupply ); return currentBalance == 0; @@ -166,16 +166,17 @@ contract StableDebtToken is IStableDebtToken, DebtTokenBase { uint256 previousSupply = totalSupply(); uint256 newStableRate = 0; + uint256 nextSupply = 0; //since the total supply and each single user debt accrue separately, //there might be accumulation errors so that the last borrower repaying //might actually try to repay more than the available debt supply. //in this case we simply set the total supply and the avg stable rate to 0 if (previousSupply <= amount) { - newStableRate = _avgStableRate = 0; + _avgStableRate = 0; _totalSupply = 0; } else { - uint256 nextSupply = _totalSupply = previousSupply.sub(amount); + nextSupply = _totalSupply = previousSupply.sub(amount); newStableRate = _avgStableRate = _avgStableRate .rayMul(previousSupply.wadToRay()) .sub(_usersData[user].rayMul(amount.wadToRay())) @@ -201,7 +202,7 @@ contract StableDebtToken is IStableDebtToken, DebtTokenBase { // transfer event to track balances emit Transfer(user, address(0), amount); - emit Burn(user, amount, previousBalance, currentBalance, balanceIncrease, newStableRate); + emit Burn(user, amount, currentBalance, balanceIncrease, newStableRate, nextSupply); } /** diff --git a/contracts/tokenization/interfaces/IStableDebtToken.sol b/contracts/tokenization/interfaces/IStableDebtToken.sol index 7a6e5f5b..81c1b586 100644 --- a/contracts/tokenization/interfaces/IStableDebtToken.sol +++ b/contracts/tokenization/interfaces/IStableDebtToken.sol @@ -17,38 +17,38 @@ interface IStableDebtToken { * @dev emitted when new stable debt is minted * @param user the address of the user * @param amount the amount minted - * @param previousBalance the previous balance of the user * @param currentBalance the current balance of the user - * @param balanceIncrease the debt increase since the last update + * @param balanceIncrease the the increase in balance since the last action of the user * @param newRate the rate of the debt after the minting * @param avgStableRate the new average stable rate after the minting + * @param newTotalSupply the new total supply of the stable debt token after the action **/ event Mint( address indexed user, uint256 amount, - uint256 previousBalance, uint256 currentBalance, uint256 balanceIncrease, uint256 newRate, - uint256 avgStableRate + uint256 avgStableRate, + uint256 newTotalSupply ); /** * @dev emitted when new stable debt is burned * @param user the address of the user * @param amount the amount minted - * @param previousBalance the previous balance of the user * @param currentBalance the current balance of the user - * @param balanceIncrease the debt increase since the last update + * @param balanceIncrease the the increase in balance since the last action of the user * @param avgStableRate the new average stable rate after the minting + * @param newTotalSupply the new total supply of the stable debt token after the action **/ event Burn( address indexed user, uint256 amount, - uint256 previousBalance, uint256 currentBalance, uint256 balanceIncrease, - uint256 avgStableRate + uint256 avgStableRate, + uint256 newTotalSupply ); /**