Skip to content

Commit 36bf0fc

Browse files
authored
refactor: use Centrifuge library in FC (#105)
1 parent 548c96f commit 36bf0fc

File tree

2 files changed

+40
-54
lines changed

2 files changed

+40
-54
lines changed

src/ForeignController.sol

Lines changed: 36 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -550,62 +550,48 @@ contract ForeignController is AccessControl {
550550

551551
// NOTE: These cancelation methods are compatible with ERC-7887
552552

553-
function cancelCentrifugeDepositRequest(address token)
554-
external
555-
onlyRole(RELAYER)
556-
rateLimitExists(RateLimitHelpers.makeAssetKey(LIMIT_7540_DEPOSIT, token))
557-
{
558-
// NOTE: While the cancelation is pending, no new deposit request can be submitted
559-
proxy.doCall(
560-
token,
561-
abi.encodeCall(
562-
ICentrifugeV3VaultLike(token).cancelDepositRequest,
563-
(CENTRIFUGE_REQUEST_ID, address(proxy))
564-
)
565-
);
553+
function cancelCentrifugeDepositRequest(address token) external {
554+
_checkRole(RELAYER);
555+
CentrifugeLib.cancelCentrifugeDepositRequest(CentrifugeLib.CentrifugeRequestParams({
556+
proxy : proxy,
557+
rateLimits : rateLimits,
558+
token : token,
559+
rateLimitId : LIMIT_7540_DEPOSIT,
560+
requestId : CENTRIFUGE_REQUEST_ID
561+
}));
566562
}
567563

568-
function claimCentrifugeCancelDepositRequest(address token)
569-
external
570-
onlyRole(RELAYER)
571-
rateLimitExists(RateLimitHelpers.makeAssetKey(LIMIT_7540_DEPOSIT, token))
572-
{
573-
proxy.doCall(
574-
token,
575-
abi.encodeCall(
576-
ICentrifugeV3VaultLike(token).claimCancelDepositRequest,
577-
(CENTRIFUGE_REQUEST_ID, address(proxy), address(proxy))
578-
)
579-
);
564+
function claimCentrifugeCancelDepositRequest(address token) external {
565+
_checkRole(RELAYER);
566+
CentrifugeLib.claimCentrifugeCancelDepositRequest(CentrifugeLib.CentrifugeRequestParams({
567+
proxy : proxy,
568+
rateLimits : rateLimits,
569+
token : token,
570+
rateLimitId : LIMIT_7540_DEPOSIT,
571+
requestId : CENTRIFUGE_REQUEST_ID
572+
}));
580573
}
581574

582-
function cancelCentrifugeRedeemRequest(address token)
583-
external
584-
onlyRole(RELAYER)
585-
rateLimitExists(RateLimitHelpers.makeAssetKey(LIMIT_7540_REDEEM, token))
586-
{
587-
// NOTE: While the cancelation is pending, no new redeem request can be submitted
588-
proxy.doCall(
589-
token,
590-
abi.encodeCall(
591-
ICentrifugeV3VaultLike(token).cancelRedeemRequest,
592-
(CENTRIFUGE_REQUEST_ID, address(proxy))
593-
)
594-
);
575+
function cancelCentrifugeRedeemRequest(address token) external {
576+
_checkRole(RELAYER);
577+
CentrifugeLib.cancelCentrifugeRedeemRequest(CentrifugeLib.CentrifugeRequestParams({
578+
proxy : proxy,
579+
rateLimits : rateLimits,
580+
token : token,
581+
rateLimitId : LIMIT_7540_REDEEM,
582+
requestId : CENTRIFUGE_REQUEST_ID
583+
}));
595584
}
596585

597-
function claimCentrifugeCancelRedeemRequest(address token)
598-
external
599-
onlyRole(RELAYER)
600-
rateLimitExists(RateLimitHelpers.makeAssetKey(LIMIT_7540_REDEEM, token))
601-
{
602-
proxy.doCall(
603-
token,
604-
abi.encodeCall(
605-
ICentrifugeV3VaultLike(token).claimCancelRedeemRequest,
606-
(CENTRIFUGE_REQUEST_ID, address(proxy), address(proxy))
607-
)
608-
);
586+
function claimCentrifugeCancelRedeemRequest(address token) external {
587+
_checkRole(RELAYER);
588+
CentrifugeLib.claimCentrifugeCancelRedeemRequest(CentrifugeLib.CentrifugeRequestParams({
589+
proxy : proxy,
590+
rateLimits : rateLimits,
591+
token : token,
592+
rateLimitId : LIMIT_7540_REDEEM,
593+
requestId : CENTRIFUGE_REQUEST_ID
594+
}));
609595
}
610596

611597
function transferSharesCentrifuge(

test/grove-avalanche-fork/Centrifuge.t.sol

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ contract ForeignControllerCancelCentrifugeDepositFailureTests is CentrifugeTestB
343343

344344
function test_cancelCentrifugeDepositRequest_invalidVault() external {
345345
vm.prank(ALM_RELAYER);
346-
vm.expectRevert("FC/invalid-action");
346+
vm.expectRevert("CentrifugeLib/invalid-action");
347347
foreignController.cancelCentrifugeDepositRequest(makeAddr("fake-vault"));
348348
}
349349

@@ -399,7 +399,7 @@ contract ForeignControllerClaimCentrifugeCancelDepositFailureTests is Centrifuge
399399

400400
function test_claimCentrifugeCancelDepositRequest_invalidVault() external {
401401
vm.prank(ALM_RELAYER);
402-
vm.expectRevert("FC/invalid-action");
402+
vm.expectRevert("CentrifugeLib/invalid-action");
403403
foreignController.claimCentrifugeCancelDepositRequest(makeAddr("fake-vault"));
404404
}
405405

@@ -795,7 +795,7 @@ contract ForeignControllerCancelCentrifugeRedeemRequestFailureTests is Centrifug
795795

796796
function test_cancelCentrifugeRedeemRequest_invalidVault() external {
797797
vm.prank(ALM_RELAYER);
798-
vm.expectRevert("FC/invalid-action");
798+
vm.expectRevert("CentrifugeLib/invalid-action");
799799
foreignController.cancelCentrifugeRedeemRequest(makeAddr("fake-vault"));
800800
}
801801

@@ -855,7 +855,7 @@ contract ForeignControllerClaimCentrifugeCancelRedeemRequestFailureTests is Cent
855855

856856
function test_claimCentrifugeCancelRedeemRequest_invalidVault() external {
857857
vm.prank(ALM_RELAYER);
858-
vm.expectRevert("FC/invalid-action");
858+
vm.expectRevert("CentrifugeLib/invalid-action");
859859
foreignController.claimCentrifugeCancelRedeemRequest(makeAddr("fake-vault"));
860860
}
861861

0 commit comments

Comments
 (0)