From 2468d58a20d9d0a6350d1ce2a437534b87f5f169 Mon Sep 17 00:00:00 2001 From: Jeroen Offerijns Date: Mon, 23 Sep 2024 11:37:04 +0200 Subject: [PATCH] Add overload --- src/CentrifugeRouter.sol | 5 +++++ src/interfaces/ICentrifugeRouter.sol | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/src/CentrifugeRouter.sol b/src/CentrifugeRouter.sol index b961c886..42d05456 100644 --- a/src/CentrifugeRouter.sol +++ b/src/CentrifugeRouter.sol @@ -220,6 +220,11 @@ contract CentrifugeRouter is Auth, ICentrifugeRouter { IERC7540Vault(vault).claimCancelRedeemRequest(REQUEST_ID, receiver, controller); } + /// @inheritdoc ICentrifugeRouter + function distributeInterest(address vault, address controller) external payable protected { + interestDistributor.distribute(vault, controller); + } + /// @inheritdoc ICentrifugeRouter function distributeInterest(address vault, address controller, uint256 topUpAmount) external payable protected { _pay(topUpAmount); diff --git a/src/interfaces/ICentrifugeRouter.sol b/src/interfaces/ICentrifugeRouter.sol index d32f9eb4..d8ba4196 100644 --- a/src/interfaces/ICentrifugeRouter.sol +++ b/src/interfaces/ICentrifugeRouter.sol @@ -154,6 +154,12 @@ interface ICentrifugeRouter is IRecoverable { /// @param controller Check IERC7540CancelRedeem.claimCancelRedeemRequest.controller function claimCancelRedeemRequest(address vault, address receiver, address controller) external payable; + /// @notice TODO + /// @dev This method is to be used when the pending interest is 0, since no redemption request is required then. + /// If pending is non-zero, then the overloaded distributeInterest() method with the `topUpAmount` parameter + /// should be used, to pay for the requestRedeem call to Centrifuge. + function distributeInterest(address vault, address controller) external payable; + /// @notice TODO function distributeInterest(address vault, address controller, uint256 topUpAmount) external payable;