docs: remove the orphaned custom tokens page and fix the surviving one - #1243
Merged
Merged
Conversation
docs/zkapps/o1js/custom-tokens.mdx duplicated
writing-a-zkapp/feature-overview/custom-tokens.mdx — both ended with the
same Token id / Token Accounts / Token Owner section. Checking the two
against o1js showed the duplicate was also teaching an API that no
longer exists. Verified against the library:
this.token.mint/burn/send/id SmartContract and TokenContract have no
`token` property; TokenContract exposes
`internal` and `deriveTokenId`
Experimental.Callback not exported
Experimental.createChild... not exported
All four of its code blocks were broken, and its three GitHub example
links 404. Nothing on the page was salvageable as written.
It was also already orphaned: sidebars.js lists only the feature-overview
page, and vercel.json has redirected /zkapps/o1js/custom-tokens to it
since some earlier change. The file was unreachable — its only remaining
effect was to feed a broken API into static/llms-full.txt, where an LLM
reading our docs would pick it up as current. So the deletion needs no
new redirect and no sidebar change.
The surviving page documents the current TokenContract / internal API.
Fixed while consolidating into it:
- The opening :::info admonition was opened twice and never closed.
- o1js moved its token sources under src/lib/mina/v1/; the linked path
404s. Repointed.
- Added the TokenContract API reference link; the page had none.
- Added the o1js source and example files as further reading, in place of
the deleted page's examples. These are compiled and tested with the
library, unlike hand-written snippets.
- "Ethereum Request for customElements" was a find/replace artefact.
Refs #1226, #1208
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012A5LmAdLpUcPELjgHg3C5e
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Sep 6, 2026
Open
SanabriaRusso
approved these changes
Sep 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1226.
We had two custom-token pages that both ended with the same
Token id/Token Accounts/Token Ownersection. Checking them against o1js turned up something worse than duplication: the duplicate teaches an API that no longer exists.What I verified against the library
o1js/custom-tokens.mdxthis.token.mint()/.burn()/.send()/.idSmartContractnorTokenContracthas atokenproperty.TokenContractexposesinternalandderiveTokenId.Experimental.CallbackExperimental.createChildAccountUpdateExperimentalcurrently exports:ActionBatch, BatchReducer, OffchainState, OffchainStateCommitments, ProvableBigInt, Recursive, V2, ZkFunction, createProvableBigInt, memoizeWitness.All four code blocks on that page were broken, and its three linked GitHub examples all 404. Nothing on it was salvageable as written, so this is a deletion rather than a content merge.
It was already orphaned
sidebars.jslists only the feature-overview page.vercel.jsonhas redirected/zkapps/o1js/custom-tokens→/zkapps/writing-a-zkapp/feature-overview/custom-tokenssince some earlier change.So the file was unreachable, and the deletion needs no new redirect and no sidebar change. Its only remaining effect was feeding a broken API into
static/llms-full.txt— where an LLM reading our docs would pick it up as current. That is the part worth fixing quickly.Fixes to the surviving page
It documents the current
TokenContract/internalAPI, and was mostly fine. While consolidating into it::::infowas opened twice and never closed.src/lib/mina/v1/; the linked path 404s. Repointed.TokenContractAPI reference — the page had no o1Labs link at all.Ethereum Request for customElementswas a find/replace artefact.All new links verified live (HTTP 200) on 2026-09-06.
static/llms-full.txtregenerated.Context
From the docs2 ↔ o1Labs overlap comparison indexed in #1237. o1Labs has no custom-token concept page — only the
TokenContractAPI reference — so this page stays canonical on Mina docs and is out of scope for the #1208 delegation. The duplication here was internal to this repo, not against o1Labs.🤖 Generated with Claude Code
https://claude.ai/code/session_012A5LmAdLpUcPELjgHg3C5e