Aere Network public source. Everything here can be checked against the live chain (chain id 2800, https://rpc.aere.network). Scope note, stated up front rather than buried: consensus on chain 2800 is classical secp256k1 ECDSA QBFT. The post-quantum work in this repository is at the signature, precompile, account and transport layers. Nothing here makes the consensus post-quantum, and no document in it should be read as claiming so.
18 lines
591 B
Solidity
18 lines
591 B
Solidity
// 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);
|
|
}
|
|
}
|