aere-contracts/README.md
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

53 lines
2.4 KiB
Markdown

# aere-contracts
Solidity smart contracts for Aere Network (chain ID 2800) and their Hardhat test suites.
This repository is part of the Aere Network "verify yourself" core. The deployed contract
bytecode is already public on-chain (readable via `eth_getCode` and the block explorer), so
publishing the source here lets anyone read, compile, and re-test the exact logic that runs on
mainnet. Nothing in this repository can move funds or impersonate the network: there are no
private keys, no mnemonics, and no deployment credentials. Every network account is supplied at
runtime through environment variables (see `hardhat.config.js`).
## Layout
- `contracts/` the Solidity sources, grouped by domain (pqc, pqfinality, settlement, lending,
governance, paymaster, oracle, mpc, zkverify, and more).
- `test/` the Hardhat test suites, including unit tests, fuzz/invariant/property tests, and the
cryptographic known-answer test (KAT) vectors under `test/fixtures/` and `test/*.json`.
- `hardhat.config.js` the compiler and network configuration. Keys and RPC URLs are read from
environment variables only; the sole literal mnemonic present is the well-known public Hardhat
default (`test test ... junk`) used for local test signers.
- `package.json` the dependency manifest.
## Verify
```bash
npm ci # installs the exact locked dependency tree
npx hardhat compile
npx hardhat test
```
Use `npm ci`, not `npm install`. `ci` installs the exact tree recorded in
`package-lock.json` and fails if the lockfile and `package.json` disagree, so
you are running against the same dependency versions we measured. `install` is
free to resolve newer versions and will quietly give you a different tree.
Step-by-step instructions with the expected output at each step, the measured
pass and coverage numbers, and the required tool versions are in
`REPRODUCE.md`. The same three commands run on every push through
`.github/workflows/ci.yml`.
To reproduce against the live chain, point `AERE_RPC_URL` at the public RPC
(`https://rpc.aere.network`, chain ID 2800) and compare compiled bytecode to the on-chain code.
The full reproducibility manifest lives in the `aere-docs` repository (`REPRODUCE.md`).
## What is deliberately not here
Deployment scripts, deploy keys, `.env` files, infrastructure configuration, and business or
operations material are intentionally excluded. This repository is source plus tests only.
## License
MIT. See `LICENSE`.