From 7c80b3060c3c114cb3c9b720ac4e7f47b97bc15f Mon Sep 17 00:00:00 2001 From: RohitAudit Date: Thu, 19 May 2022 15:22:20 +0530 Subject: [PATCH] event added for reward distribution --- contracts/Oracle.sol | 4 ++-- contracts/StakingPool.sol | 2 ++ contracts/interfaces/IIssuer.sol | 2 +- contracts/interfaces/IOracle.sol | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/contracts/Oracle.sol b/contracts/Oracle.sol index 3d6e519..7cdaedb 100644 --- a/contracts/Oracle.sol +++ b/contracts/Oracle.sol @@ -322,7 +322,7 @@ contract Oracle is IOracle, CoreRef { // pricePerShare = (pricePerShare * (1e18 - percentChange)) / 1e18; // } pricePerShare = price; - emit Slash(deltaEth); + emit Slash(deltaEth,pricePerShare,block.timestamp); } /// @notice function to distribute rewards by setting price per share @@ -344,7 +344,7 @@ contract Oracle is IOracle, CoreRef { IStakingPool(core().validatorPool()).updateRewardPerValidator(stkEthMinted); mintStkEthForEth(protocolEthShare, core().pstakeTreasury(), price); pricePerShare = price; - emit Distribute(deltaEth); + emit Distribute(deltaEth,pricePerShare,block.timestamp); } diff --git a/contracts/StakingPool.sol b/contracts/StakingPool.sol index c8881f1..5950a02 100644 --- a/contracts/StakingPool.sol +++ b/contracts/StakingPool.sol @@ -36,6 +36,7 @@ contract StakingPool is IStakingPool, OwnableUpgradeable{ uint256 public DEVIATION; // 5% deviation is acceptable uint256 public constant BASIS_POINT = 10000; + event RewardRedeemed(uint256 amount, uint256 time, address node_operator); mapping(address => UserInfo) public userInfos; @@ -78,6 +79,7 @@ contract StakingPool is IStakingPool, OwnableUpgradeable{ if(pending > 0){ stkEth.transfer(usr, pending); + emit RewardRedeemed(pending,block.timestamp,usr); } user.rewardDebt = accRewardPerValidator*userValidators/1e12; diff --git a/contracts/interfaces/IIssuer.sol b/contracts/interfaces/IIssuer.sol index 1d2a4fb..b4aacd6 100644 --- a/contracts/interfaces/IIssuer.sol +++ b/contracts/interfaces/IIssuer.sol @@ -8,7 +8,7 @@ interface IIssuer { event SetMinActivationDeposit(uint256 _minActivatingDeposit); event SetPendingValidatorsLimit(uint256 _pendingValidatorsLimit); event UpdatePendingValidators(uint256 _pendingValidators); - event Stake(address indexed user,uint256 amount,uint256 block_time); + event Stake(address indexed_user,uint256 amount,uint256 block_time); function updatePendingValidator(uint256 newActiveValidators) external; function pendingValidators() external view returns (uint256); diff --git a/contracts/interfaces/IOracle.sol b/contracts/interfaces/IOracle.sol index 9f8ea8b..bbe7932 100644 --- a/contracts/interfaces/IOracle.sol +++ b/contracts/interfaces/IOracle.sol @@ -5,8 +5,8 @@ pragma solidity ^0.8.0; /// @author Ankit Parashar interface IOracle { - event Distribute(uint256 amount); - event Slash(uint256 amount); + event Distribute(uint256 amount,uint256 pricePerShare,uint256 timestamp); + event Slash(uint256 amount,uint256 pricePerShare,uint256 timestamp); function pricePerShare() external view returns (uint256);