TEE registrar page describes the pre-cutover registration flow
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- rust, solidity
- Domain
- documentation
Research direction
Start with docs/base-chain/specs/protocol/proofs/registrar.mdx, then read crates/proof/tee/registrar/src/cert_manager.rs and crates/proof/tee/nitro-verifier/src/types.rs alongside the two merged PRs. Confirm the intended post-cutover flow and contract references with maintainers before editing. Done means the page matches the current implementation, explains the replacement payload and revocation behavior, and contains no dead links.
Written by the indexing model from the issue text.
Description
The TEE registrar spec page describes the registration flow as it worked before two recent cutovers, so a couple of things on it no longer match the code.
Page: docs/base-chain/specs/protocol/proofs/registrar.mdx
1. The ZK-proof-of-attestation workflow is gone.
The page lists this under Responsibilities:
- Generate a ZK proof of attestation correctness for every enclave that is not yet registered.
and this under dependencies:
- a proving backend (Boundless marketplace or a self-hosted RISC Zero prover)
base/base#4425 (merged Aug 14) replaced that with direct hinted Nitro registration and, in its own words, "removes all active Registrar construction and invocation of Boundless proof clients". The same PR says the registrar now discovers NitroValidator / CertManager through the Registry and "uses issuer/serial CertManager identities for revocation".
That also affects the payload section further down, which describes output as the VerifierJournal consumed by NitroEnclaveVerifier.verify() during registerSigner(), and the Layer 1 revocation section, which describes revokedCerts(certPathDigest) keyed by path digest rather than issuer/serial.
2. The NitroEnclaveVerifier.sol link 404s.
The page links to it twice (in the intro and in the contract-calls table):
https://github.com/base/contracts/blob/main/src/L1/proofs/tee/NitroEnclaveVerifier.sol
base/contracts#400 (merged Aug 12) deleted that file along with INitroEnclaveVerifier.sol.
What I'm not doing
I'm not sending a PR for this because I can't tell from outside what the page should say now. crates/proof/tee/registrar/src/cert_manager.rs still holds a NitroEnclaveVerifierClient, and crates/proof/tee/nitro-verifier/src/types.rs still says its types are "inlined from the contracts repo's INitroEnclaveVerifier.sol" — the interface that was just removed. So the migration looks like it's still in flight and only you know where it lands.
Happy to write the PR once you tell me the intended end state, or to just fix the dead link on its own if the rest is staying as is for now.
- Dominant language
- JavaScript
- Stars
- 337
- Forks
- 798
- Avg merge
- 7h 24m
- Merged PRs (30d)
- 51
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from base/docs
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sugarlabs/musicblocks#8847 ·