@@ -23,7 +23,7 @@ contract Hub is IHub, AccessManaged {
2323 using SafeCast for uint256 ;
2424 using WadRayMath for uint256 ;
2525 using SharesMath for uint256 ;
26- using PercentageMath for uint128 ;
26+ using PercentageMath for * ;
2727 using AssetLogic for Asset;
2828 using MathUtils for * ;
2929
@@ -88,10 +88,10 @@ contract Hub is IHub, AccessManaged {
8888 drawnShares: 0 ,
8989 premiumShares: 0 ,
9090 premiumOffset: 0 ,
91- drawnIndex: drawnIndex.toUint128 (),
91+ drawnIndex: drawnIndex.toUint120 (),
9292 realizedPremium: 0 ,
9393 underlying: underlying,
94- lastUpdateTimestamp: lastUpdateTimestamp.toUint32 (),
94+ lastUpdateTimestamp: lastUpdateTimestamp.toUint40 (),
9595 decimals: decimals,
9696 drawnRate: drawnRate.toUint96 (),
9797 irStrategy: irStrategy,
@@ -209,11 +209,11 @@ contract Hub is IHub, AccessManaged {
209209 asset.accrue ();
210210 _validateAdd (asset, spoke, amount, from);
211211
212- uint128 shares = asset.toAddedSharesDown (amount).toUint128 ();
212+ uint120 shares = asset.toAddedSharesDown (amount).toUint120 ();
213213 require (shares > 0 , InvalidShares ());
214214 asset.addedShares += shares;
215215 spoke.addedShares += shares;
216- asset.liquidity += amount.toUint128 ();
216+ asset.liquidity += amount.toUint120 ();
217217
218218 asset.updateDrawnRate (assetId);
219219
@@ -235,10 +235,10 @@ contract Hub is IHub, AccessManaged {
235235 uint256 liquidity = asset.liquidity;
236236 require (amount <= liquidity, InsufficientLiquidity (liquidity));
237237
238- uint128 shares = asset.toAddedSharesUp (amount).toUint128 ();
238+ uint120 shares = asset.toAddedSharesUp (amount).toUint120 ();
239239 asset.addedShares -= shares;
240240 spoke.addedShares -= shares;
241- asset.liquidity = liquidity.uncheckedSub (amount).toUint128 ();
241+ asset.liquidity = liquidity.uncheckedSub (amount).toUint120 ();
242242
243243 asset.updateDrawnRate (assetId);
244244
@@ -260,10 +260,10 @@ contract Hub is IHub, AccessManaged {
260260 uint256 liquidity = asset.liquidity;
261261 require (amount <= liquidity, InsufficientLiquidity (liquidity));
262262
263- uint128 drawnShares = asset.toDrawnSharesUp (amount).toUint128 ();
263+ uint120 drawnShares = asset.toDrawnSharesUp (amount).toUint120 ();
264264 asset.drawnShares += drawnShares;
265265 spoke.drawnShares += drawnShares;
266- asset.liquidity = liquidity.uncheckedSub (amount).toUint128 ();
266+ asset.liquidity = liquidity.uncheckedSub (amount).toUint120 ();
267267
268268 asset.updateDrawnRate (assetId);
269269
@@ -288,12 +288,12 @@ contract Hub is IHub, AccessManaged {
288288 asset.accrue ();
289289 _validateRestore (asset, spoke, drawnAmount, premiumAmount, from);
290290
291- uint128 drawnShares = asset.toDrawnSharesDown (drawnAmount).toUint128 ();
291+ uint120 drawnShares = asset.toDrawnSharesDown (drawnAmount).toUint120 ();
292292 asset.drawnShares -= drawnShares;
293293 spoke.drawnShares -= drawnShares;
294294 _applyPremiumDelta (asset, spoke, premiumDelta, premiumAmount);
295295 uint256 totalAmount = drawnAmount + premiumAmount;
296- asset.liquidity += totalAmount.toUint128 ();
296+ asset.liquidity += totalAmount.toUint120 ();
297297
298298 asset.updateDrawnRate (assetId);
299299
@@ -317,11 +317,11 @@ contract Hub is IHub, AccessManaged {
317317 asset.accrue ();
318318 _validateReportDeficit (asset, spoke, drawnAmount, premiumAmount);
319319
320- uint128 drawnShares = asset.toDrawnSharesDown (drawnAmount).toUint128 ();
320+ uint120 drawnShares = asset.toDrawnSharesDown (drawnAmount).toUint120 ();
321321 asset.drawnShares -= drawnShares;
322322 spoke.drawnShares -= drawnShares;
323323 _applyPremiumDelta (asset, spoke, premiumDelta, premiumAmount);
324- uint128 deficitAmount = (drawnAmount + premiumAmount).toUint128 ();
324+ uint120 deficitAmount = (drawnAmount + premiumAmount).toUint120 ();
325325 asset.deficit += deficitAmount;
326326 spoke.deficit += deficitAmount;
327327
@@ -348,11 +348,11 @@ contract Hub is IHub, AccessManaged {
348348 uint256 deficit = coveredSpoke.deficit;
349349 require (amount <= deficit, InvalidAmount ());
350350
351- uint128 shares = asset.toAddedSharesUp (amount).toUint128 ();
351+ uint120 shares = asset.toAddedSharesUp (amount).toUint120 ();
352352 asset.addedShares -= shares;
353353 callerSpoke.addedShares -= shares;
354- asset.deficit -= amount.toUint128 ();
355- coveredSpoke.deficit = deficit.uncheckedSub (amount).toUint128 ();
354+ asset.deficit -= amount.toUint120 ();
355+ coveredSpoke.deficit = deficit.uncheckedSub (amount).toUint120 ();
356356
357357 asset.updateDrawnRate (assetId);
358358
@@ -415,8 +415,8 @@ contract Hub is IHub, AccessManaged {
415415 uint256 liquidity = asset.liquidity;
416416 require (amount <= liquidity, InsufficientLiquidity (liquidity));
417417
418- asset.liquidity = liquidity.uncheckedSub (amount).toUint128 ();
419- asset.swept += amount.toUint128 ();
418+ asset.liquidity = liquidity.uncheckedSub (amount).toUint120 ();
419+ asset.swept += amount.toUint120 ();
420420 asset.updateDrawnRate (assetId);
421421
422422 asset.underlying.safeTransfer (msg .sender , amount);
@@ -432,8 +432,8 @@ contract Hub is IHub, AccessManaged {
432432 asset.accrue ();
433433 _validateReclaim (asset, msg .sender , amount);
434434
435- asset.liquidity += amount.toUint128 ();
436- asset.swept -= amount.toUint128 ();
435+ asset.liquidity += amount.toUint120 ();
436+ asset.swept -= amount.toUint120 ();
437437 asset.updateDrawnRate (assetId);
438438
439439 asset.underlying.safeTransferFrom (msg .sender , address (this ), amount);
@@ -692,8 +692,8 @@ contract Hub is IHub, AccessManaged {
692692 SpokeData storage receiver ,
693693 uint256 shares
694694 ) internal {
695- sender.addedShares -= shares.toUint128 ();
696- receiver.addedShares += shares.toUint128 ();
695+ sender.addedShares -= shares.toUint120 ();
696+ receiver.addedShares += shares.toUint120 ();
697697 }
698698
699699 /// @dev Applies premium deltas on asset & spoke premium owed.
@@ -737,7 +737,7 @@ contract Hub is IHub, AccessManaged {
737737
738738 function _mintFeeShares (Asset storage asset , uint256 assetId ) internal returns (uint256 ) {
739739 uint256 fees = asset.realizedFees;
740- uint128 shares = asset.toAddedSharesDown (fees).toUint128 ();
740+ uint120 shares = asset.toAddedSharesDown (fees).toUint120 ();
741741 if (shares == 0 ) {
742742 return 0 ;
743743 }
@@ -899,7 +899,7 @@ contract Hub is IHub, AccessManaged {
899899 uint256 realizedPremium ,
900900 PremiumDelta calldata premium ,
901901 uint256 premiumAmount
902- ) internal pure returns (uint128 , uint128 , uint128 ) {
902+ ) internal pure returns (uint120 , uint120 , uint120 ) {
903903 uint256 premiumBefore = premiumShares.rayMulUp (drawnIndex) - premiumOffset;
904904 premiumBefore += realizedPremium;
905905
@@ -911,6 +911,6 @@ contract Hub is IHub, AccessManaged {
911911 premiumAfter += realizedPremium;
912912 // can increase due to precision loss on premium (drawn unchanged)
913913 require (premiumAfter + premiumAmount - premiumBefore <= 2 , InvalidPremiumChange ());
914- return (premiumShares.toUint128 (), premiumOffset.toUint128 (), realizedPremium.toUint128 ());
914+ return (premiumShares.toUint120 (), premiumOffset.toUint120 (), realizedPremium.toUint120 ());
915915 }
916916}
0 commit comments