aere-contracts/contracts/interop/mocks/MockAereMessageHandler.sol
Aere Network a13a649b77
Some checks are pending
contracts-ci / Install (lockfile) → compile → full test suite (push) Waiting to run
contracts-ci / PQC known-answer tests (NIST vectors) (push) Waiting to run
contracts-ci / Coverage (scoped, with artifacts) (push) Waiting to run
Initial public release
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.
2026-07-20 01:02:37 +03:00

32 lines
964 B
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.8.23;
import {IAereMessageHandler} from "../AereOutboundVerifier.sol";
/// @title MockAereMessageHandler
/// @notice Records the last delivered message so tests can assert exactly-once,
/// correct-args delivery. TEST-ONLY.
contract MockAereMessageHandler is IAereMessageHandler {
uint256 public lastSrcChainId;
address public lastSender;
bytes public lastPayload;
uint256 public callCount;
/// @notice When true, revert on delivery to test handler-failure propagation.
bool public shouldRevert;
function setShouldRevert(bool v) external {
shouldRevert = v;
}
function handleAereMessage(uint256 srcChainId, address sender, bytes calldata payload)
external
{
require(!shouldRevert, "handler: forced revert");
lastSrcChainId = srcChainId;
lastSender = sender;
lastPayload = payload;
callCount += 1;
}
}