ArcSettle is milestone 1 of a grant proposal. This file states plainly what exists today so that no reader has to infer it. Nothing elsewhere in the repo contradicts it.
src/ArcSettlement.solreverts any settlement that would push settled supply past the effective attested USDC reserves, reverts a stale attestation, and reverts a future-dated attestation. 36 Solidity tests pin these paths.- The redeem-then-resettle defence: redemption books
pendingRedemptionsand nets it off attested reserves until a new attestation (higherattestationId) observes the outflow. Deleting the defence turnstest_RedeemThenResettleAgainstOldAttestationRevertsred. src/ReserveAttestationOracle.solaccepts a reserve figure only against a valid EIP-712 signature from a registered attestor, on-chain recovered, with replay, malleability, wrong-length, bad-v, backdated and future-dated all refused. 23 Solidity tests pin these.- The operator agent (
arcsettle/) mirrors the same gate off-chain: 75 Python tests, each with a named Solidity counterpart where one exists.
- The offline chain adapter (
arcsettle/chain.py) is an in-process model of the deployed contract. It produces no transaction hashes and no block numbers, and itssourcefield always readsoffline-modelso model numbers can never be mistaken for chain numbers. ui/index.htmlis a browser simulation. It shows the contract's real event signatures,topic0hashes and error selectors, and invents no transaction hashes.
- No mainnet deployment, and none planned under this grant. All work is Arc testnet only. As of today the contract is not deployed anywhere; the Arc deployment is milestone 2, not done here.
- No live broadcast. Live mode in this repo is read-only:
snapshot()and the settle dry-run are realeth_calls against a deployed contract, but broadcasting a signed settlement needs a funded Arc testnet key and a secp256k1 signer, which this repo does not ship.apply_settlein live mode raisesLiveBroadcastUnavailableand says so. Building the broadcast path is milestone 3. - No Circle-primitive integration yet. CCTP, Wallets and Gateway are named in the roadmap (milestone 3 uses one for the signer/custody seam). None is wired in here.
- No users. Zero. No pilot, no design partner, no waitlist.
- No revenue and no business model beyond the grant.
- No audit. No third-party security review has been performed on any of this code.
- No partnership with Circle and no endorsement. This is grant-application work.
- No live-chain test. The live-mode tests use a fake node; they pin request encoding and revert decoding, not a real Arc endpoint.