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.
23 lines
839 B
Solidity
23 lines
839 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.23;
|
|
|
|
import "@openzeppelin/contracts/access/Ownable.sol";
|
|
|
|
/// Tiny Ownable contract used to exercise AereFeeMonetizationV2's owner() control
|
|
/// path: its Ownable owner (the deployer) may register it; nobody else may.
|
|
contract OwnableProbe is Ownable {
|
|
// owner = deployer (set by OZ Ownable constructor).
|
|
}
|
|
|
|
interface IFeeMonRegister {
|
|
function register(address contractAddr, address payoutAddr) external returns (uint256);
|
|
}
|
|
|
|
/// Self-registering probe: calls register(address(this), payout) so it registers
|
|
/// ITSELF, exercising the msg.sender == contractAddr control path.
|
|
contract SelfRegisteringProbe {
|
|
function selfRegister(address feeMon, address payout) external returns (uint256) {
|
|
return IFeeMonRegister(feeMon).register(address(this), payout);
|
|
}
|
|
}
|