From 56207cbc0179a4186c1627bd295a71c6f414784b Mon Sep 17 00:00:00 2001 From: Korrrba Date: Fri, 2 Feb 2024 14:56:35 +0100 Subject: [PATCH] feat: update weekly block count to 49930 Set weekly block count to 49930 as measured in February 2024 npx tsx scripts/task/task.ts BlocksInWeek --network=mainnet ... Calculating number of blocks in the last week... Recent average block time: 12 seconds Estimated blocks in a week best case 50400 Produced 49930 blocks, 470 worst than the best case Resolves: https://github.com/sherlock-audit/2023-12-ubiquity-judging/issues/230 --- packages/contracts/src/dollar/libraries/LibStaking.sol | 4 ++-- .../contracts/src/dollar/upgradeInitializers/DiamondInit.sol | 2 +- packages/contracts/test/diamond/facets/ChefFacet.t.sol | 2 +- packages/contracts/test/diamond/facets/StakingFacet.t.sol | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/contracts/src/dollar/libraries/LibStaking.sol b/packages/contracts/src/dollar/libraries/LibStaking.sol index d8e5b93b3..ac3dc03d0 100644 --- a/packages/contracts/src/dollar/libraries/LibStaking.sol +++ b/packages/contracts/src/dollar/libraries/LibStaking.sol @@ -267,8 +267,8 @@ library LibStaking { // deposit new shares LibChef.deposit(msg.sender, _sharesAmount, _id); // calculate end locking period block number - // 1 week = 45361 blocks = 2371753*7/366 - // n = (block + duration * 45361) + // 1 week = 49930 blocks + // n = (block number + duration * 49930) stake.endBlock = block.number + _weeks * ss.blockCountInAWeek; // should be done after masterchef withdraw diff --git a/packages/contracts/src/dollar/upgradeInitializers/DiamondInit.sol b/packages/contracts/src/dollar/upgradeInitializers/DiamondInit.sol index 2614821ab..5499fb48f 100644 --- a/packages/contracts/src/dollar/upgradeInitializers/DiamondInit.sol +++ b/packages/contracts/src/dollar/upgradeInitializers/DiamondInit.sol @@ -71,7 +71,7 @@ contract DiamondInit is Modifiers { // staking LibStaking.StakingData storage ls = LibStaking.stakingStorage(); ls.stakingDiscountMultiplier = uint256(0.001 ether); // 0.001 - ls.blockCountInAWeek = 45361; + ls.blockCountInAWeek = 49930; // reentrancy guard _initReentrancyGuard(); diff --git a/packages/contracts/test/diamond/facets/ChefFacet.t.sol b/packages/contracts/test/diamond/facets/ChefFacet.t.sol index f8a6ac5c7..d8222a857 100644 --- a/packages/contracts/test/diamond/facets/ChefFacet.t.sol +++ b/packages/contracts/test/diamond/facets/ChefFacet.t.sol @@ -311,7 +311,7 @@ contract DepositStateChefTest is DepositStateChef { // advance the block number to staking time so the withdraw is possible uint256 currentBlock = block.number; - blocks = bound(blocks, 45361, 2 ** 128 - 1); + blocks = bound(blocks, 49930, 2 ** 128 - 1); assertEq(chefFacet.totalShares(), shares); uint256 preBal = governanceToken.balanceOf(fourthAccount); diff --git a/packages/contracts/test/diamond/facets/StakingFacet.t.sol b/packages/contracts/test/diamond/facets/StakingFacet.t.sol index f9c3968f5..e23eeed35 100644 --- a/packages/contracts/test/diamond/facets/StakingFacet.t.sol +++ b/packages/contracts/test/diamond/facets/StakingFacet.t.sol @@ -312,7 +312,7 @@ contract DepositStateTest is DepositStateStaking { // advance the block number to staking time so the withdraw is possible uint256 currentBlock = block.number; - blocks = bound(blocks, 45361, 2 ** 128 - 1); + blocks = bound(blocks, 49930, 2 ** 128 - 1); assertEq(chefFacet.totalShares(), shares); uint256 preBal = governanceToken.balanceOf(fourthAccount);