// 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); } }