@@ -197,8 +197,6 @@ contract DoubleSidePool is Initializable, AccessControl, IOnBlockListener {
197
197
emit StakeLimitsMultiplierChanged (value);
198
198
}
199
199
200
- //TODO: Add more setters
201
-
202
200
// PUBLIC METHODS
203
201
204
202
function stake (bool dependant , uint amount ) public {
@@ -412,7 +410,8 @@ contract DoubleSidePool is Initializable, AccessControl, IOnBlockListener {
412
410
413
411
dependantSideStakers[msg .sender ].stake += amount;
414
412
dependantSideInfo.totalStake += amount;
415
- dependantSideStakers[msg .sender ].stakedAt = block .timestamp ;
413
+ if (dependantSideStakers[msg .sender ].stakedAt == 0 )
414
+ dependantSideStakers[msg .sender ].stakedAt = block .timestamp ;
416
415
417
416
require (dependantSideStakers[msg .sender ].stake <= _maxUserStakeValue (msg .sender ), "Pool: user max stake value exceeded " );
418
417
require (dependantSideInfo.totalStake <= dependantSideConfig.maxTotalStakeValue, "Pool: max stake value exceeded " );
@@ -433,6 +432,8 @@ contract DoubleSidePool is Initializable, AccessControl, IOnBlockListener {
433
432
dependantSideStakers[msg .sender ].stake -= amount;
434
433
dependantSideInfo.totalStake -= amount;
435
434
435
+ if (dependantSideStakers[msg .sender ].stake == 0 ) dependantSideStakers[msg .sender ].stakedAt = 0 ;
436
+
436
437
dependantSideInfo.totalRewards -= rewardsAmount;
437
438
_updateRewardsDebt (true , user, _calcRewards (true , dependantSideStakers[user].stake));
438
439
@@ -473,6 +474,8 @@ contract DoubleSidePool is Initializable, AccessControl, IOnBlockListener {
473
474
dependantSideStakers[msg .sender ].stake -= amount;
474
475
dependantSideInfo.totalStake -= amount;
475
476
477
+ if (dependantSideStakers[msg .sender ].stake == 0 ) dependantSideStakers[msg .sender ].stakedAt = 0 ;
478
+
476
479
dependantSideInfo.totalRewards -= rewardsAmount;
477
480
_updateRewardsDebt (true , user, _calcRewards (true , dependantSideStakers[user].stake));
478
481
0 commit comments