@@ -17,6 +17,7 @@ import {IRewardDistributor} from "@aztec/governance/interfaces/IRewardDistributo
1717import {IERC20 } from "@oz/token/ERC20/IERC20.sol " ;
1818import {SafeERC20} from "@oz/token/ERC20/utils/SafeERC20.sol " ;
1919import {Math} from "@oz/utils/math/Math.sol " ;
20+ import {SafeCast} from "@oz/utils/math/SafeCast.sol " ;
2021import {BitMaps} from "@oz/utils/structs/BitMaps.sol " ;
2122
2223type Bps is uint32 ;
@@ -33,8 +34,8 @@ struct SubEpochRewards {
3334}
3435
3536struct EpochRewards {
36- uint256 longestProvenLength;
37- uint256 rewards;
37+ uint128 longestProvenLength;
38+ uint128 rewards;
3839 mapping (uint256 length = > SubEpochRewards) subEpoch;
3940}
4041
@@ -71,6 +72,7 @@ library RewardLib {
7172 using TimeLib for Timestamp;
7273 using TimeLib for Epoch;
7374 using FeeHeaderLib for CompressedFeeHeader;
75+ using SafeCast for uint256 ;
7476
7577 bytes32 private constant REWARD_STORAGE_POSITION = keccak256 ("aztec.reward.storage " );
7678
@@ -166,7 +168,7 @@ library RewardLib {
166168 BpsLib.mul (blockRewardsAvailable, rewardStorage.config.sequencerBps);
167169 v.sequencerBlockReward = sequencerShare / added;
168170
169- $er.rewards += (blockRewardsAvailable - sequencerShare);
171+ $er.rewards += (blockRewardsAvailable - sequencerShare). toUint128 () ;
170172 }
171173
172174 FeeStore storage feeStore = FeeLib.getStorage ();
@@ -184,7 +186,7 @@ library RewardLib {
184186
185187 // Compute the proving fee in the fee asset
186188 v.proverFee = Math.min (v.manaUsed * feeHeader.getProverCost (), fee - burn);
187- $er.rewards += v.proverFee;
189+ $er.rewards += v.proverFee. toUint128 () ;
188190
189191 v.sequencerFee = fee - burn - v.proverFee;
190192
@@ -194,7 +196,7 @@ library RewardLib {
194196 }
195197 }
196198
197- $er.longestProvenLength = length;
199+ $er.longestProvenLength = length. toUint128 () ;
198200
199201 if (t.feesToClaim > 0 ) {
200202 rollupStore.config.feeAssetPortal.distributeFees (address (this ), t.feesToClaim);
0 commit comments