diff --git a/src/interfaces/ISablierV2Lockup.sol b/src/interfaces/ISablierV2Lockup.sol index ee797a524..4a4bc09b1 100644 --- a/src/interfaces/ISablierV2Lockup.sol +++ b/src/interfaces/ISablierV2Lockup.sol @@ -244,11 +244,14 @@ interface ISablierV2Lockup is /// Notes: /// - This function attempts to invoke a hook on the stream's recipient, provided that the recipient is a contract /// and `msg.sender` is not the recipient. + /// - This function attempts to invoke a hook on the stream's sender, provided that the sender is a contract + /// and `msg.sender` is not the sender. /// /// Requirements: /// - Must not be delegate called. /// - `streamId` must not reference a null or depleted stream. - /// - `to` must be the recipient if `msg.sender` is not the stream's recipient or an approved third party. + /// - if `msg.sender` is not the stream's recipient, nor an approved third party, the `to` + /// must be the recipient. /// - `to` must not be the zero address. /// - `amount` must be greater than zero and must not exceed the withdrawable amount. /// @@ -294,7 +297,7 @@ interface ISablierV2Lockup is /// @dev Emits multiple {Transfer}, {WithdrawFromLockupStream}, and {MetadataUpdate} events. /// /// Notes: - /// - This function attempts to call a hook on the recipient of each stream, unless `msg.sender` is the recipient. + /// - Refer to the notes in {withdraw}. /// /// Requirements: /// - Must not be delegate called. diff --git a/src/interfaces/hooks/ISablierV2Recipient.sol b/src/interfaces/hooks/ISablierV2Recipient.sol index d6e029af6..063f00edd 100644 --- a/src/interfaces/hooks/ISablierV2Recipient.sol +++ b/src/interfaces/hooks/ISablierV2Recipient.sol @@ -33,7 +33,7 @@ interface ISablierV2Recipient { /// @param streamId The id of the renounced stream. function onLockupStreamRenounced(uint256 streamId) external; - /// @notice Responds to withdrawals triggered by either the stream's sender or an approved third party. + /// @notice Responds to withdrawals triggered by anyone but not the recipient address. /// /// @dev Notes: /// - This function may revert, but the Sablier contract will ignore the revert. diff --git a/src/interfaces/hooks/ISablierV2Sender.sol b/src/interfaces/hooks/ISablierV2Sender.sol index 632e13065..40dbbac45 100644 --- a/src/interfaces/hooks/ISablierV2Sender.sol +++ b/src/interfaces/hooks/ISablierV2Sender.sol @@ -6,7 +6,7 @@ pragma solidity >=0.8.22; /// @dev Implementation of this interface is optional. If a sender contract doesn't implement this /// interface or implements it partially, function execution will not revert. interface ISablierV2Sender { - /// @notice Responds to withdrawals triggered by either the stream's recipient or an approved third party. + /// @notice Responds to withdrawals triggered by anyone but not the sender address. /// /// @dev Notes: /// - This function may revert, but the Sablier contract will ignore the revert. diff --git a/test/integration/fuzz/lockup/withdraw.t.sol b/test/integration/fuzz/lockup/withdraw.t.sol index 4cae7165e..9339ed7c3 100644 --- a/test/integration/fuzz/lockup/withdraw.t.sol +++ b/test/integration/fuzz/lockup/withdraw.t.sol @@ -155,7 +155,6 @@ abstract contract Withdraw_Integration_Fuzz_Test is Integration_Test, Withdraw_I /// - Multiple withdraw amounts function testFuzz_Withdraw( uint256 timeJump, - address caller, address to, uint128 withdrawAmount )