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.
53 lines
2.4 KiB
Markdown
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`.
|