@@ -130,7 +130,12 @@ contract MainnetController is ReentrancyGuard, AccessControlEnumerable {
130130 bool isWhitelisted
131131 );
132132 event RelayerRemoved (address indexed relayer );
133- event UniswapV4TickLimitsSet (bytes32 indexed poolId , int24 tickLowerMin , int24 tickUpperMax , uint24 maxTickWidth );
133+ event UniswapV4TickLimitsSet (
134+ bytes32 indexed poolId ,
135+ int24 tickLowerMin ,
136+ int24 tickUpperMax ,
137+ uint24 maxTickSpacing
138+ );
134139
135140 /**********************************************************************************************/
136141 /*** State variables ***/
@@ -319,21 +324,25 @@ contract MainnetController is ReentrancyGuard, AccessControlEnumerable {
319324 bytes32 poolId ,
320325 int24 tickLowerMin ,
321326 int24 tickUpperMax ,
322- uint24 maxTickWidth
327+ uint24 maxTickSpacing
323328 )
324329 external nonReentrant
325330 {
326331 _checkRole (DEFAULT_ADMIN_ROLE);
327332
328- require (tickLowerMin <= tickUpperMax, "MC/invalid-ticks " );
333+ require (
334+ ((tickLowerMin == 0 ) && (tickUpperMax == 0 ) && (maxTickSpacing == 0 )) ||
335+ ((maxTickSpacing > 0 ) && (tickLowerMin < tickUpperMax)),
336+ "MC/invalid-ticks "
337+ );
329338
330339 uniswapV4TickLimits[poolId] = UniswapV4Lib.TickLimits ({
331340 tickLowerMin : tickLowerMin,
332341 tickUpperMax : tickUpperMax,
333- maxTickWidth : maxTickWidth
342+ maxTickSpacing : maxTickSpacing
334343 });
335344
336- emit UniswapV4TickLimitsSet (poolId, tickLowerMin, tickUpperMax, maxTickWidth );
345+ emit UniswapV4TickLimitsSet (poolId, tickLowerMin, tickUpperMax, maxTickSpacing );
337346 }
338347
339348 /**********************************************************************************************/
@@ -633,8 +642,8 @@ contract MainnetController is ReentrancyGuard, AccessControlEnumerable {
633642
634643 function mintPositionUniswapV4 (
635644 bytes32 poolId ,
636- int24 tickUpper ,
637645 int24 tickLower ,
646+ int24 tickUpper ,
638647 uint128 liquidity ,
639648 uint256 amount0Max ,
640649 uint256 amount1Max
0 commit comments