@@ -550,6 +550,40 @@ contract MainnetControllerSwapCurveFailureTests is CurveTestBase {
550550 mainnetController.swapCurve (CURVE_POOL, 1 , 0 , 1_000_000e18 , 980_000e6 );
551551 }
552552
553+ function test_swapCurve_sameIndex () public {
554+ vm.prank (relayer);
555+ vm.expectRevert ("MainnetController/invalid-indices " );
556+ mainnetController.swapCurve (CURVE_POOL, 1 , 1 , 1_000_000e18 , 980_000e6 );
557+ }
558+
559+ function test_swapCurve_firstIndexTooHighBoundary () public {
560+ _addLiquidity ();
561+ skip (1 days); // Recharge swap rate limit from deposit
562+
563+ deal (RLUSD, address (almProxy), 1_000_000e18 );
564+
565+ vm.prank (relayer);
566+ vm.expectRevert ("MainnetController/index-too-high " );
567+ mainnetController.swapCurve (CURVE_POOL, 2 , 0 , 1_000_000e18 , 980_000e6 );
568+
569+ vm.prank (relayer);
570+ mainnetController.swapCurve (CURVE_POOL, 1 , 0 , 1_000_000e18 , 980_000e6 );
571+ }
572+
573+ function test_swapCurve_secondIndexTooHighBoundary () public {
574+ _addLiquidity ();
575+ skip (1 days); // Recharge swap rate limit from deposit
576+
577+ deal (address (usdc), address (almProxy), 1_000_000e6 );
578+
579+ vm.prank (relayer);
580+ vm.expectRevert ("MainnetController/index-too-high " );
581+ mainnetController.swapCurve (CURVE_POOL, 0 , 2 , 1_000_000e6 , 980_000e18 );
582+
583+ vm.prank (relayer);
584+ mainnetController.swapCurve (CURVE_POOL, 0 , 1 , 1_000_000e6 , 980_000e18 );
585+ }
586+
553587 function test_swapCurve_slippageNotSet () public {
554588 vm.prank (SPARK_PROXY);
555589 mainnetController.setMaxSlippage (CURVE_POOL, 0 );
0 commit comments