← back to build & deploy plan
Plain status · EAS · deploy harness · done vs missing
Stable deploy, in plain terms
What the EAS bit is, what the deploy harness is, and exactly what's done vs. left — no jargon.
①
The EAS question — yes, we pulled the minimal parts
There are two kinds of "attestation" here, and we use the right tool for each. Shyft handles identity attestations natively (its own audited contracts — we kept those). EAS handles citations (one agent vouching for another). Stable has no EAS deployed, so we copied just the two small open-source EAS contracts (`EAS.sol` + `SchemaRegistry.sol`) and the one interface we need — not the whole EAS ecosystem. That's exactly the "keep Shyft + pull minimal EAS parts" plan.
🪪 Identity SHYFT — NATIVE
"Is this agent a real, verified identity?" Handled by Shyft's own audited attestation contracts (TrustAnchorStorage etc.). We restored them; we did NOT replace them with EAS.
🔗 Citations EAS — MINIMAL, PULLED
"Did agent A vouch for agent B?" Uses EAS. We vendored only `EAS.sol` + `SchemaRegistry.sol` + the resolver interface, and self-deploy them on Stable.
ShyftGatedResolver is the bridge: an EAS citation only counts if Shyft says both agents are verified and share a trust channel.
②
What the deploy harness is
The deploy harness (`deploy-stable-testnet.js`) is the one-command script that puts everything on Stable in the right order: Shyft core → the minimal EAS → RMT reputation contracts → the FeeRouter → ERC-8004 registry — then wires them together (incl. the fee path), handles USDT0 gas, and keeps a re-runnable address ledger so a crash resumes instead of restarting. It's the difference between "a pile of contracts" and "a working deployment." It's built and audited; it runs against mocks locally and the real Shyft core on Stable.
③
Done vs. missing
✅ DONE (built · reviewed · audited · local)
FeeRouter — fee split, USDT or ShyftCODE_REVIEW 3/3 · 2 critical bugs caught+fixed
Erc8004Registry — agent identityCODE_REVIEW 2/2 · M5 closed
Minimal EAS vendored + self-deployEAS.sol + SchemaRegistry.sol + interface
Shyft core restored from git 710536b104 files, compiles, PaymentModule present
Deploy harness + real-Shyft fee wiringAUDIT 3/3 · 617 tests / 0 failing
Integrated into one branchstable-deploy-integrated @ 0d8c819e
◻ MISSING / NEXT
Test "Shyft" ERC20 for the fee token on testnet IN FLIGHTso FeeRouter ERC20 mode works; or plug your existing testnet token via STABLE_SHYFT_TOKEN
Verify Shyft deploys correctly (Truffle→Hardhat) IN FLIGHTchecking our harness vs how Shyft historically deployed
Red-team YOUyour dedicated session — prompt provided
Faucet-funded deploy YOUfund deployer + set STABLE_SHYFT_SECOND_ADMIN + trigger
Push branches / PR + FSM ledgerall local right now; nothing pushed
④
The two things only you can do
🔴 Red-team
Spin your dedicated session with the prompt I gave you. It tries to break every contract + the deploy. I triage + fix whatever it finds.
🚰 Deploy
Fund the deployer wallet (faucet) + set a real second admin (`STABLE_SHYFT_SECOND_ADMIN`) for Shyft's governance — the deploy won't fake it. Then trigger. I do the rest.