Repository navigation
docs: replace the remaining live Alfajores references with Celo Sepolia - #2346
Conversation
GigaHierz
left a comment
There was a problem hiding this comment.
head d306f47 · Check for broken links pass (CI) · ODIS URLs and keys rechecked against social-connect source · @celo/identity 5.1.2 and 6.0.0-beta.0 inspected from npm · Uniswap v3 addresses checked with eth_getCode on both networks · no e2e (docs only)
REQUEST-CHANGES. Three findings, all small; one is a live example the sweep missed.
Findings
-
Medium ·
home/protocol/transactions/transaction-types.mdx:309,331,335. The viem example still importsceloAlfajoresfromviem/chainsand uses it for both clients (chain: celoAlfajores, // Celo testnet). This is a live instruction, not history, and it is the same class as the six pages this PR fixes (#2290). A reader who copies it points at the retired network.
Fix: import and useceloSepolia(it exists inviem/chains; I checked the current package) and change the comment to "Celo Sepolia testnet". -
Low ·
tooling/libraries-sdks/portal/index.mdx(fiveeip155:examples). The swap toeip155:11142220is unverified, as the PR body says. Portal's own chain list names Celo mainnet (eip155:42220) and Alfajores (eip155:44787) and does not mention Celo Sepolia. The old value was already dead, so this is not worse than before, but the page now states a chain ID Portal does not document.
Fix: either confirm with Portal that Celo Sepolia is supported and note it here, or add one line under the first example: "Portal's chain list does not yet name Celo Sepolia; confirm support with Portal before relying on it." -
Low ·
tooling/contracts/uniswap-contracts.mdx:3. The frontmatterdescriptionstill reads "Uniswap v4 and v3 contract addresses on Celo Mainnet and the Celo Sepolia Testnet". After this PR v3 is mainnet only, and the description is whatllms.txtand search show.
Fix: "Uniswap v4 contract addresses on Celo Mainnet and Celo Sepolia, and v3 addresses on Celo Mainnet".
Verified good
- ODIS endpoints: both new URLs return 200 on
/status; the oldcloudfunctions.netmainnet URL returns 404. - ODIS keys and URLs: they match
ODIS_MAINNET_CONTEXT_PNPandODIS_CELO_SEPOLIA_CONTEXT_PNPinsocial-connectpackages/identity/src/odis/query.ts, character for character. The PR uses the PNP keys, which is right for this phone-number page. - Version claims:
@celo/identity6.0.0-beta.0 shipsgetServiceContext,OdisContextName.CELO_SEPOLIAand the Celo Sepolia contexts. 5.1.2 hasgetServiceContextbut no Celo Sepolia context, so "5.1.2 has no Celo Sepolia context" is correct. - Uniswap v3: the mainnet factory,
SwapRouter02andUniversalRouterhave code on Celo mainnet and0xon Celo Sepolia, so "no published Celo Sepolia deployment" holds for those addresses. - Deleted page:
attestation-servicehas a redirect; the two older redirects that landed on it now go straight to/contribute-to-celo/release-process; no other inbound references remain, and the nav entry and overview link are gone. No redirect chains. setup.mdx: the code already used the Sepolia RPC, so the prose now matches it.- Remaining Alfajores mentions: I read all of them on this head. Apart from finding 1, they are history, notices or migration pages.
What the PR got right
Honest scoping: the caveats section names exactly the two things it could not verify. Replacing the dead ODIS table with values from the published source is the right fix, not just a rename. Deleting a runbook for a retired service, with redirects, is better than renaming networks inside it. This is one round of three targeted edits.
Merge-order hazards
docs.json redirects and nav are touched, so any PR editing those lines near release-process may need a rebase. #2353 adds redirects near the top of the list, so expect a trivial conflict if both are open. No other open PR touches these pages.
42793e5 to
c927d24
Compare
|
All three are fixed in c927d24.
|
GigaHierz
left a comment
There was a problem hiding this comment.
head c927d24 · API head == refs/pull/2346 (asserted); 5 commits, 8 files; branch is 8 commits behind main and git merge-tree reports a docs.json conflict; mint broken-links --check-redirects: no broken links; scripts/check-orphans.sh: no orphan pages; CI (gh pr checks): broken-links pass, GitGuardian pass, StepSecurity pass, Mintlify Deployment skipping; mint dev: 6 changed pages rendered, console clean on settled load (first load of two code-heavy pages gave transient 500s while the dev server compiled; zero on reload), 3 attestation-service redirect paths return 307 to /contribute-to-celo/release-process
Verdict: REQUEST-CHANGES
Findings (severity-ordered)
-
MEDIUM · docs.json (redirects block, around lines 600-610 and the three retargeted redirects) · The branch is 8 commits behind main and does not merge cleanly:
git merge-tree --write-tree origin/main HEADreportsCONFLICT (content): Merge conflict in docs.json(four commits on main touched docs.json since the merge base: #2350, #2353, #2351, #2361). Failure scenario: the PR is not mergeable as it stands, and a hurried resolution of the redirects array could drop either this PR's new/contribute-to-celo/release-process/attestation-serviceredirect or main's #2353 redirects, which would reintroduce a 404 on the removed page. Fix shape: rebase onto current main, resolve docs.json keeping both sets of redirects, then re-runmint broken-links --check-redirectsandbash scripts/check-orphans.shon the rebased head. -
LOW · PR description "Caveats" (affects tooling/libraries-sdks/contractkit/odis.mdx lines ~41-46) · The description defers the ODIS auth example (
WalletKeySignertakingcontractKit, the 5.x API) as "left for later" with no filed issue. Failure scenario: per the review rules, deferred work that lives only in prose leaves the finding open, and the 6.0.0 release will silently break the example this PR just refreshed. Fix shape: file a follow-up issue for the 6.0.0 auth examples and link it from the PR description (or fix the example in this PR).
Status of my three earlier findings
- (1) transaction-types.mdx: FIXED.
celoAlfajoresreplaced withceloSepoliain the import and both clients (diff d306f47..c927d24); the rendered page containsceloSepolia3 times andceloAlfajores0 times.celoSepoliais exported by viem 2.57.0 (chains/definitions/celoSepolia.ts,chains/index.ts);celoAlfajoresthere is marked@deprecated. The two remaining "Alfajores" strings on that page are forum links to the 2023 Gingerbread release (history, correct to keep). - (2) Portal: RESOLVED with a caveat. I fetched docs.portalhq.io/resources/blockchain-support: it lists Celo mainnet (
eip155:42220) and "Celo Alfajores Testnet" (eip155:44787), and no Celo Sepolia (the only Sepolia entries are other chains: Arbitrum, Base, Blast, Ethereum, Fraxtal, Linea, Optimism, Polynomial, Scroll). The new<Warning>after the gateway tabs says exactly that and tells readers to confirm with Portal. The warning is accurate and renders. Residual risk is that the five examples may not work until Portal adds support; the warning discloses it. - (3) uniswap-contracts.mdx description: FIXED. Frontmatter now reads "Uniswap v4 contract addresses on Celo Mainnet and Celo Sepolia, and v3 addresses on Celo Mainnet", consistent with the
<Info>box and the v3 table (mainnet column only, plus a line saying v3 has no published Celo Sepolia deployment).
Verified good
- Repo-wide grep for
alfajores|44787|celoAlfajoresoutside docs.json redirect sources: remaining hits are all history or migration context (home/history.mdx, build-on-celo/index.mdx timeline, network-overview and celo-sepolia pages describing the replacement, ice-cream/isthmus upgrade activation records, the archived Sepolia launch notice, native-ETH-bridging note, migrate-node.mdx, self-agent-id retired-network note, AGENTS.md rule). No live instruction to use Alfajores remains.celoAlfajoresappears nowhere. The 21 docs.json hits are redirect sources only. - ODIS page: both combiner URLs answer HTTP 200 on
/status.@celo/identity@6.0.0-beta.0(npm pack) containsOdisContextName.CELO_SEPOLIA,getServiceContext, and the same URLs and public keys the page documents (mainnet key and Sepolia PNP key match character for character). 5.1.2 exists on npm, consistent with the "no Celo Sepolia context in 5.1.2" sentence. - Attestation-service removal: nav entry, overview link and file removed together; no remaining inbound links to the deleted path except redirect sources; the two older redirects were retargeted directly (no chains); orphan check clean.
- setup.mdx prose change matches the Sepolia RPC already used in its code.
What the PR got right
- All three earlier findings were addressed in one small follow-up commit, and the Portal fix chose disclosure over an unverifiable claim.
- The description is candid about what could not be verified (Portal gateway, ODIS lookup), and those caveats match what I found.
- History pages were left alone, and the ODIS endpoints that were actually dead (cloudfunctions.net) were replaced rather than only renamed.
Merge-order hazards
c927d24 to
bbb6daa
Compare
|
Both addressed.
|
GigaHierz
left a comment
There was a problem hiding this comment.
head bbb6daa · API head == refs/pull/2346 (asserted after force re-fetch); 5 commits, 8 files; 4 commits behind main (a12466b, includes the home/ to learn/ move); git merge-tree --write-tree origin/main conflicts in tooling/libraries-sdks/contractkit/setup.mdx only (docs.json auto-merges now); on a temp merge into main: mint broken-links --check-redirects no broken links, bash scripts/check-orphans.sh no orphan pages; gh pr checks: broken-links pass, GitGuardian pass, StepSecurity pass, Mintlify Deployment skipping; ODIS combiners both 200 on /status; keys checked against @celo/identity@6.0.0-beta.0 from npm
Verdict: REQUEST-CHANGES
Status of earlier findings
- docs.json conflict with main: RESOLVED. The four commits that conflicted last time are no longer a problem;
docs.jsonmerges cleanly into current main (the/home/...to/learn/...renames and the attestation-service redirects coexist). The branch now has one new, different conflict (finding 1 below). - ODIS 6.0 auth example deferred with no issue: RESOLVED. The description now links #2365, which is open, names the file and lines (
odis.mdxprose line 41, code lines 43-48), quotes the 6.0WalletKeySignertype, and says what to change when 6.0.0 becomeslatest. I confirmed its premise: npmlatestis 5.1.2,betais 6.0.0-beta.0, and 6.0.0-beta.0lib/odis/query.d.tshassign191and nocontractKitfield. - (Earlier round)
celoAlfajoresin transaction-types, Portal caveat, Uniswap description: still fixed, see Verified good.
Findings
- MEDIUM ·
tooling/libraries-sdks/contractkit/setup.mdx:52· The branch no longer merges cleanly: main changed the same sentence in #2367 (the link now reads/learn/network/overview), this PR rewrites it to say Celo Sepolia while keeping the old/build-on-celo/network-overviewlink. Failure scenario: the PR cannot merge as it stands, and a "take mine" resolution reverts #2367's link fix while a "take main's" resolution brings backalfajoresas the example network. Fix shape: rebase onto current main and keep both changes, i.e.In this example will use Celo Sepolia (you can read more about it [here](/learn/network/overview)). I resolved it that way in a temp merge and both link and orphan checks passed.
Verified good
- No live Alfajores instruction remains on a merge into current main.
git grep -il 'alfajores\|44787'(excluding submodules) hits only:AGENTS.md:98(the rule),self-agent-id.mdx:30(retired-network note),build-on-celo/index.mdxandlearn/history.mdx(dated history),learn/network/overview.mdxandtooling/testnets/celo-sepolia/index.mdx(the replacement and migration pages),native-ETH-bridging.mdx:9,learn/protocol/transactions/transaction-types.mdx:259,287(forum links to the 2023 release), the archived notices and the Ice Cream / Isthmus activation tables.celoAlfajoresappears nowhere.docs.jsonmentions Alfajores only in redirect sources. learn/protocol/transactions/transaction-types.mdx(moved by #2367) carries theceloSepoliafix through the rename; git applies it without conflict.- ODIS page: both URLs return 200
{"version":"3.3.3"}on/status; the oldcloudfunctions.netmainnet URL returns 404. The mainnet key and the Celo Sepolia PNP key in the table matchODIS_MAINNET_CONTEXT_PNPandODIS_CELO_SEPOLIA_CONTEXT_PNPin@celo/identity@6.0.0-beta.0character for character (grep count 1 per key in the page and in the package). 5.1.2 hasgetServiceContextbut no Sepolia context, matching the page's sentence. - Portal: the
<Warning>after the gateway tabs says Portal's chain list does not name Celo Sepolia and tells the reader to confirm support; the fiveeip155:11142220examples carry the right chain ID. - Uniswap: frontmatter
descriptionand the<Info>box now agree that v3 is mainnet only; the v3 table has one network column; no Alfajores explorer links remain. - Attestation-service removal: file, nav entry and overview link gone together; redirect source has no inbound page link; orphan check clean on the merge.
- Rendering with
mint dev(merged tree): the six changed pages returned 200 with zero console errors and no horizontal scroll at 1280 and 412x915. Treat that as a smoke test only; the link, orphan and grep results above are from the files.
What the PR got right
All earlier findings were closed with a commit or a filed issue, and the issue is specific enough to act on without the PR. Replacing the dead ODIS endpoints with the values the published package ships, instead of only renaming the network, is the right fix. Deleting the runbook for a retired service with redirects, rather than renaming networks inside it, avoids shipping a procedure nobody can run. The caveats name exactly the two things the author could not verify.
Merge-order hazards
- Rebase onto main first; the only conflict is the one sentence in
setup.mdx. - #2368 (tooling to build/tools):
git merge-treeof this branch against #2368's head conflicts on the same sentence inbuild/tools/libraries-sdks/contractkit/setup.mdx, so whichever of the two lands second repeats the resolution above (using whatever link main has then). Everything else merges cleanly, includingdocs.json. - #2366 and #2369: both merge cleanly with this branch (
git merge-treeof each pair is clean).
bbb6daa to
e4348a9
Compare
|
Rebased onto main. The setup.mdx line now says "Celo Sepolia" and keeps the |
GigaHierz
left a comment
There was a problem hiding this comment.
head e4348a9 · API headRefOid == refs/remotes/pr/2346 after force re-fetch; 5 commits on a12466b, 8 files; git merge-tree --write-tree origin/main (7b8f97c, #2368) is clean, git follows the renames; on a trial merge into current main: mint broken-links --check-redirects no broken links, mint validate pass, scripts/check-orphans.sh no orphan pages; gh pr checks: broken-links, GitGuardian, StepSecurity pass, Mintlify Deployment skipping; ODIS /status on both combiners 200; keys compared to @celo/identity@6.0.0-beta.0 from npm pack
Verdict: REQUEST-CHANGES
Status of earlier findings
Earlier review was at bbb6daa (newest of three).
setup.mdxmerge conflict with main (the sentence #2367 had changed): FIXED. At the new head the line reads "In this example will use Celo Sepolia (you can read more about it here)" (tooling/libraries-sdks/contractkit/setup.mdx:51), keeping #2367's link and the Sepolia wording. It still carries the oldtooling/path; see the layout section.- ODIS 6.0 auth example deferred with no issue: still RESOLVED. #2365 is open, names
odis.mdxprose line 41 and code lines 43-48, quotes the 6.0.0-beta.0WalletKeySignertype and says what to change when 6.0.0 becomeslatest. npm dist-tags today:latest5.1.2,beta6.0.0-beta.0, so the premise holds. - Earlier-round items (
celoAlfajoresin transaction-types, Portal caveat, Uniswap description): still FIXED, see Verified good.
Findings
- LOW · tooling/libraries-sdks/contractkit/odis.mdx:77-82 (build/tools/libraries-sdks/contractkit/odis.mdx after the move) · The PR adds a new code example, the
getServiceContext(OdisContextName.CELO_SEPOLIA)snippet, but the body records no command or output for it, and the snippet does not show whereOdisUtilscomes from. AGENTS.md section 5: "Every example that stays must run. The PR that adds or changes one notes the command and its output", and "imports shown".- Scenario: a reader or agent copies the block into a file, gets
OdisUtils is not defined, and nothing in the PR shows the snippet was ever executed against 6.0.0-beta.0. (Checked statically, not executed: the package'slib/index.jsexportsOdisUtils,OdisUtils.QueryincludesgetServiceContextandOdisContextNamewithMAINNET = "mainnet"andCELO_SEPOLIA = "celo-sepolia", so the call shape is right.) - Fix shape: add
import { OdisUtils } from "@celo/identity"; // 6.0.0-beta.0as the first line of the block, run it against@celo/identity@6.0.0-beta.0, and paste the command and the printedodisUrl(https://odis-combiner.celo-sepolia.celo-testnet.org) into the PR body under Verification.
- Scenario: a reader or agent copies the block into a file, gets
Layout move (#2368): rebase needed, no manual conflict
git merge-tree --write-tree --name-only origin/main refs/remotes/pr/2346returns a clean tree. No conflicting files, includingdocs.json(the new redirect and the two retargeted redirects merge by hunk).- The author should still rebase so the branch shows the new paths. Edited files and where they now live:
tooling/libraries-sdks/contractkit/odis.mdx->build/tools/libraries-sdks/contractkit/odis.mdxtooling/libraries-sdks/contractkit/setup.mdx->build/tools/libraries-sdks/contractkit/setup.mdxtooling/contracts/uniswap-contracts.mdx->build/tools/contracts/uniswap-contracts.mdxtooling/libraries-sdks/portal/index.mdx->build/tools/libraries-sdks/portal/index.mdxlearn/protocol/transactions/transaction-types.mdx,contribute-to-celo/release-process/index.mdx,contribute-to-celo/release-process/attestation-service.mdx(deleted),docs.json: paths unchanged.
- Nothing to hand-resolve; the PR adds no links to moved paths. The body table and the "Left for later" paragraph name
tooling/...paths, so update those tobuild/tools/...after the rebase.
Verified good
- No live Alfajores instruction on the trial merge. Case-insensitive search for
alfajoresand44787across the repo (excluding submodules) hits only:AGENTS.md(the rule),build/agents/self-agent-id.mdx:30(retired-network note),build/index.mdx:55-57andlearn/history.mdx(dated history),learn/network/overview.mdxandbuild/tools/testnets/celo-sepolia/index.mdx(replacement and migration pages),learn/bridged-tokens/native-ETH-bridging.mdx:9,learn/protocol/transactions/transaction-types.mdx:259,287(2023 forum links), four archived notices, the Ice Cream and Isthmus activation tables, and redirect sources indocs.json.celoAlfajoresappears nowhere. That is 13.mdxpages, matching the body. - ODIS:
https://odis-combiner-mainnet.rc1-europe-west1.celo-testnet.org/statusandhttps://odis-combiner.celo-sepolia.celo-testnet.org/statusboth return 200{"version":"3.3.3"}; the oldus-central1-celo-pgpnp-mainnet.cloudfunctions.netreturns 404. The mainnet key and the Celo Sepolia key in the page each appear once in the page and inODIS_MAINNET_CONTEXT_PNP/ODIS_CELO_SEPOLIA_CONTEXT_PNPof@celo/identity@6.0.0-beta.0(string-exact match). The 5.1.2 tarball hasgetServiceContextand no Celo Sepolia context, matching the page's sentence, and its mainnet URL equals the page's. The identifier lookup itself was not run (needs an account with ODIS quota), as the body says. - Portal:
docs.portalhq.io/resources/blockchain-supportstill lists onlyeip155:42220for Celo plus "Celo Alfajores Testnet (eip155:44787)"; the<Warning>and the body caveat are accurate. The fiveeip155:11142220examples carry the right chain ID (0xaa044c = 11142220 on forno Celo Sepolia). - Uniswap:
eth_getCodeon the Celo Sepolia RPC for the v3 factory mainnet address returns0x; Uniswap's v3 Celo deployment page has a CELO and an Alfajores column only and no Sepolia. Frontmatterdescriptionand the<Info>box agree (v4 on mainnet and Celo Sepolia, v3 mainnet only); the v3 table has one network column. - Attestation-service removal: file, nav entry and the overview link are gone together. Redirect sources
/contribute-to-celo/release-process/attestation-service,/community/release-process/attestation-serviceand/what-is-celo/joining-celo/contributors/release-process/attestation-serviceall point at/contribute-to-celo/release-process(final page, no chain);/validator-guide/attestation-servicealready pointed elsewhere. No.mdxlinks to the deleted path remain. Closes #2290: the issue's definition of done is met. The search leaves only the listed out-of-scope pages, Sepolia values for ODIS and Uniswap were checked against the live service and chain, and broken-links is green.- Frontmatter on edited pages is unchanged and has
titleanddescription. - Smoke render on the trial merge: the six changed pages return 200, the old attestation-service paths 307 to
/contribute-to-celo/release-process, no horizontal scroll, no console errors on the ODIS page. Smoke test only.
What the PR got right
Replacing the dead ODIS endpoints with the values the published package ships (not just renaming the network), deleting the runbook for a retired service with redirects instead of renaming networks inside it, and writing caveats that name exactly what could not be verified (Portal chain list, ODIS identifier lookup). The deferral of the 6.0 auth example is tracked in a specific issue. The only remaining gap is the run record for one new snippet.
Merge-order hazards
- Against #2368 (already on main): clean merge, nothing to resolve; rebase for tidy paths and update the body paths.
- Pairwise
git merge-treeof this branch with #2355 and with #2357: both clean. Order among the three does not matter for this PR. - Observation, not counted against this PR:
uniswap-contracts.mdxstill lists partner (Uniswap) contract addresses, which AGENTS.md "Partner contract addresses" says to replace with a link to the provider's page. That predates this PR and is a separate cleanup.
…o Sepolia combiners Point the ContractKit setup prose at Celo Sepolia too. Refs #2290
No v3 deployment is published for Celo Sepolia; point testers at v4. Refs #2290
The service is gone from celo-monorepo. Redirect the page and its old paths to the release process overview. Refs #2290
Switch the transaction-types viem example to celoSepolia, flag that Portal's chain list does not yet name Celo Sepolia, and scope the Uniswap page description to v3 on mainnet only.
…example Readers who copy the block otherwise get 5.1.2 (no Celo Sepolia context), a missing viem, or "OdisUtils is not defined".
e4348a9 to
9354117
Compare
|
Rebased onto main, so the edited pages now sit under The ODIS snippet now starts with
|
GigaHierz
left a comment
There was a problem hiding this comment.
head 9354117 · API headRefOid == refs/remotes/pr/2346 after force re-fetch; 6 commits on origin/main 7f5d9bb, 8 files; git merge-tree --write-tree origin/main clean (no conflicts); mint broken-links --check-redirects no broken links, mint validate pass, scripts/check-orphans.sh no orphan pages; gh pr checks: broken-links, GitGuardian, StepSecurity pass, Mintlify Deployment skipping; ODIS snippet run in a clean directory: Celo Sepolia URL https://odis-combiner.celo-sepolia.celo-testnet.org, mainnet URL https://odis-combiner-mainnet.rc1-europe-west1.celo-testnet.org
Verdict: APPROVE
Status of earlier findings
- New
getServiceContext(OdisContextName.CELO_SEPOLIA)snippet had no import and no recorded command or output: FIXED. The block now starts withimport { OdisUtils } from "@celo/identity";and an install linenpm install @celo/identity@6.0.0-beta.0 viemsits directly above it (build/tools/libraries-sdks/contractkit/odis.mdx, after the key tables). The PR body has a Verification entry with the command and the two printed URLs. I reran it independently (details under Verified good) and the output matches the body. - Old
tooling/...paths in the body: FIXED. The body table and the verification list usebuild/tools/...; the branch is rebased and the edited pages sit underbuild/tools/. - Earlier rounds (
setup.mdxconflict, ODIS 6.0 auth example tracked,celoAlfajoresin transaction-types, Portal caveat, Uniswap description): still FIXED, see Verified good.
No new findings.
Verified good
- ODIS snippet, run outside the repo (
/tmp, Node 20.19.4, so the page's TypeScript block was saved as.mjs; the code is valid JS as written):npm install @celo/identity@6.0.0-beta.0 viemthengetServiceContext(OdisContextName.CELO_SEPOLIA).odisUrlprintshttps://odis-combiner.celo-sepolia.celo-testnet.organdMAINNETprintshttps://odis-combiner-mainnet.rc1-europe-west1.celo-testnet.org. Both match the page's URL table. TheodisPubKeyvalues the package prints for Celo Sepolia (kPoRxWdE...) and mainnet (FvreHfLm...) match the page's key table character for character. - The install line is needed in both halves: a plain
npm install @celo/identityresolves to 5.1.2, whereOdisContextName.CELO_SEPOLIAdoes not exist andgetServiceContext(...)silently returns the mainnet URL and key (observed: both lines print the mainnet combiner).@celo/identity@6.0.0-beta.0withoutviemfails at import withCannot find module 'viem'from@celo/phone-number-privacy-common. The page's 5.1.2 sentence is accurate. - No live Alfajores instruction. Case-insensitive search for
alfajoresand44787in the.mdxfiles gives the same 13 pages the body lists (history, migration notes, the Celo Sepolia replacement pages, archived notices and upgrade tables).celoAlfajoresandcloudfunctions.netappear in no.mdxfile.celoSepoliais exported byviem/chainsin the installed viem. - ODIS URLs: mainnet
/statusreturns 200{"version":"3.3.3"}; Celo Sepolia/statusreturned 503 (envoy "remote connection failure") on my first four attempts and then 200{"version":"3.3.3"}a few minutes later. The oldus-central1-celo-pgpnp-mainnet.cloudfunctions.netreturns 404. - Portal:
docs.portalhq.io/resources/blockchain-supportstill lists Celo aseip155:42220plus "Celo Alfajores Testnet" only, so the<Warning>and the body caveat are accurate.eip155:11142220is the right Celo Sepolia ID (eth_chainIdon forno Celo Sepolia returns0xaa044c). - Uniswap:
eth_getCodefor the v3 factory address on Celo Sepolia returns0x; the frontmatterdescription, the<Info>box and the single-network v3 table agree. - Attestation-service removal: file, nav entry and the overview link are gone together. Redirect sources
/contribute-to-celo/release-process/attestation-service,/community/release-process/attestation-serviceand/what-is-celo/joining-celo/contributors/release-process/attestation-serviceall point at/contribute-to-celo/release-process(final page, no chain). On a freshly startedmint dev(port 3711) all three return 307 to/contribute-to-celo/release-process. - Issue #2365 is still open and still tracks the 6.0
WalletKeySigner/sign191example; the page still has the 5.xcontractKitexample (odis.mdx lines 41 and 46), so the premise holds. - AGENTS.md: frontmatter unchanged and has
titleanddescriptionon every edited page; barebashandtsfences; no emoji or promotional wording added; links root-relative. - Rendering (smoke test only): the ODIS, setup, Uniswap, Portal, transaction-types and release-process pages return 200 on port 3711; the ODIS page shows the Celo Sepolia URL, the install line and no Alfajores text, no horizontal scroll, no console errors. My first
mint devserved a staledocs.jsonfrom the shared cache (the new redirect returned 404 and/community/...pointed at the old destination); after restarting my own server the content and redirects are the PR's.
What the PR got right
Replaced the dead ODIS endpoints with the values the published package ships rather than only renaming the network, removed the runbook for a retired service with redirects that point straight at the final page, wrote caveats naming exactly what could not be verified (Portal chain list, ODIS identifier lookup), tracked the 6.0 auth change in a specific issue, and answered the snippet finding with an install line that is demonstrably necessary plus a recorded run.
Merge-order hazards
- Clean against current main. Pairwise with #2355 (touches only
build/tools/wallets/metamask/use.mdx): no shared files, order does not matter. - Housekeeping, not counted: #2365 still names the old path
tooling/libraries-sdks/contractkit/odis.mdx; its content is otherwise right. The fix goes in whenever 6.0.0 ships aslatest. - Observation, not counted:
uniswap-contracts.mdxstill lists partner contract addresses, which AGENTS.md "Partner contract addresses" says to replace with a link; it predates this PR.
Five pages still told readers to use Alfajores, which is retired, and the ODIS page's endpoint table was dead for mainnet too: every
cloudfunctions.netURL on it returns 404. This moves the live instructions to Celo Sepolia and removes the release runbook for the attestation service, which no longer exists; the deletion and its redirects follow the pattern #2293 used for orphaned pages. Pages that mention Alfajores as history stay as they are. Closes #2290.What changed
build/tools/libraries-sdks/contractkit/odis.mdxsocial-connectpackages/identity/src/odis/query.tsand match the published@celo/identity@6.0.0-beta.0. Adds thegetServiceContext(OdisContextName.CELO_SEPOLIA)snippet for 6.0.0-beta.0+, and says 5.1.2 needs the values passed in by hand.build/tools/libraries-sdks/contractkit/setup.mdxbuild/tools/contracts/uniswap-contracts.mdx<Info>box, which claimed v3 was on Celo Sepolia.build/tools/libraries-sdks/portal/index.mdxeip155:44787→eip155:11142220in the gateway config and the fourreceiveTestnetAssetexamples.learn/protocol/transactions/transaction-types.mdxceloSepoliainstead ofceloAlfajores.contribute-to-celo/release-process/attestation-service.mdx/contribute-to-celo/release-process, and the two older redirects that landed on it now go there directly. The nav entry and the link on the overview page are gone.migrating-to-viem.mdx, listed in the issue, was already clean onmain.Caveats
eip155:11142220works for the gateway or forreceiveTestnetAsset. If it does not, the faucet link already on the page still works. A<Warning>under the initialization examples says this and tells readers to confirm support with Portal.eth_getCodereturns0x), and Uniswap's v3 Celo deployment page has only CELO and Alfajores columns. The page now says v3 has no published Celo Sepolia deployment and points testers at v4. If a deployment exists somewhere, the column can come back with checked addresses.GET /statuswith{"version":"3.3.3"}. I did not run an identifier lookup, which needs an account with ODIS quota.contractKittoWalletKeySigner, which is the 5.x API.@celo/identity6.0.0 switches that tosign191, and only6.0.0-beta.0is published, so the example changes when 6.0.0 ships aslatest.Verification
rg -il 'alfajores|44787' --glob '*.mdx' .returns 13 pages. All are history, migration notes or the Celo Sepolia pages that replace Alfajores, which the issue lists as out of scope.mint validate,mint broken-links --check-redirectsandscripts/check-orphans.shpass after the rebase onto main.mint dev: all three attestation-service paths return 307 to/contribute-to-celo/release-process, and the five edited pages return 200.I ran the ODIS
getServiceContextsnippet, as written on the page plus twoconsole.loglines, in an empty directory with Node 24.21.0, using the install line the page now shows:The first line is
getServiceContext(OdisContextName.CELO_SEPOLIA).odisUrl, the second the same forMAINNET. The beta fails to import withoutviem, so the page installs both.