// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

/// Minimal sink that accepts flush(token, amount) by pulling tokens.
/// Used by AereAgentBond + AERE402Facilitator tests.
contract MockSinkSimple {
    event Flushed(address token, uint256 amount);
    uint256 public lastFlushAmount;

    function flush(address token, uint256 amount) external {
        require(IERC20(token).transferFrom(msg.sender, address(this), amount), "transfer-failed");
        lastFlushAmount = amount;
        emit Flushed(token, amount);
    }
}
