docs: add 'Register via DAO governance' article for generic-custom gateway#3260
docs: add 'Register via DAO governance' article for generic-custom gateway#3260anegg0 wants to merge 6 commits into
Conversation
…teway Documents the standardized token registration template for cases where the parent chain token can't self-register (non-upgradeable, missing ICustomToken). Covers the RegisterAndSetArbCustomGatewayAction contract, the calldata generator script, Tally proposal submission, and the post-execution sequence. Cross-links from setup-generic-custom-gateway.mdx (Step 1 prerequisite mention and FAQ entry). New sidebar entry under Configure token bridging. Sources: - https://github.com/OffchainLabs/governance/blob/main/src/gov-action-contracts/token-bridge/RegisterAndSetArbCustomGatewayAction.sol - https://forum.arbitrum.foundation/t/announcement-of-standardized-token-registrations-template/29764 - https://gist.github.com/gzeoneth/439dedc7bdd971345657a04c266daf00
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Opened this PR on ArbitrumFoundation/docs#1183 |
Adds a substantive how-to article documenting the standardized token registration template (RegisterAndSetArbCustomGatewayAction) for proposers and delegates. Covers when the template applies, the action contract's on-chain effect, the calldata generator script, the AIP submission flow, the on-chain execution sequence after the proposal passes, and a delegate-focused 'what to verify' checklist. The lifecycle-anatomy-aip-proposal page now links to this local how-to instead of the external arbitrum-docs URL. The Arbitrum technical docs host a complementary issuer-side how-to with deeper deployment detail (OffchainLabs/arbitrum-docs#3260).
hummusonrails
left a comment
There was a problem hiding this comment.
Added a few comments for review.
| } | ||
| ``` | ||
|
|
||
| Source: [`RegisterAndSetArbCustomGatewayAction.sol`](https://github.com/OffchainLabs/governance/blob/main/src/gov-action-contracts/token-bridge/RegisterAndSetArbCustomGatewayAction.sol). |
There was a problem hiding this comment.
Is the canonical source ArbitrumFoundation/governance or is itOffchainLabs/governance?
There was a problem hiding this comment.
This article was a mistake. Harry recommended adding that content to the AF docs. Sorry for the noise.
| Save the following script as `reg-arb-custom.sh`. Set `L1_TOKEN_ADDRESS` and `L2_TOKEN_ADDRESS` to your token's parent and child chain addresses. Leave the other constants alone — they reference live governance contracts on Ethereum and the canonical action address. | ||
|
|
||
| ```shell | ||
| #!/usr/bin/env bash |
There was a problem hiding this comment.
Script is reproduced verbatim from the reference gist. The AF docs companion (ArbitrumFoundation/docs#1183) duplicates the same script. Two copies will drift silently. Consider a partial, an include, or at minimum a sync comment in both files.
There was a problem hiding this comment.
Same reply as above: this duplicated content was a mistake, I'm shelving this article :)
| - `destination`: the L1 Timelock address printed by the script | ||
| - `data`: the calldata printed by the script | ||
|
|
||
| Before publishing, post a draft on the [Arbitrum Foundation forum](https://forum.arbitrum.foundation/) for community review. Token registrations have historically passed without controversy, but the off-chain feedback step catches encoding mistakes. |
There was a problem hiding this comment.
I think the "Forum-then-Snapshot-then-Tally" is its own flow, not a sidenote inside the Tally step. The AF doc walks through it as ordered steps with a pointer to How to submit a DAO proposal. This article either does the same or scopes itself to calldata generation and hands off the rest. Currently it's halfway between, which leaves a reader thinking they can click "Create proposal" on Tally and be done.
| - `destination`: the L1 Timelock address printed by the script | ||
| - `data`: the calldata printed by the script | ||
|
|
||
| Before publishing, post a draft on the [Arbitrum Foundation forum](https://forum.arbitrum.foundation/) for community review. Token registrations have historically passed without controversy, but the off-chain feedback step catches encoding mistakes. |
There was a problem hiding this comment.
Token registrations have historically passed without controversy...
Editorializing, in my opinion.. Either cite specific examples (BORING) or cut the sentence. As written it reads as reassurance that the vote is a formality, which could get the docs page in trouble if a future registration AIP fails.
|
|
||
| - As a chain owner, register via an [Arbitrum DAO](https://forum.arbitrum.foundation/) proposal. | ||
| - By wrapping your parent chain token and registering the wrapped version of your token. | ||
| - Submit an [Arbitrum DAO proposal using the standardized token registrations template](/build-decentralized-apps/token-bridging/configure-token-bridging/register-via-dao-governance.mdx). |
Summary
Adds a dedicated how-to article documenting the standardized token registrations template that Offchain Labs published for token issuers who can't use the self-service registration path.
Context
The existing Configure generic-custom gateway bridging article covers the self-service path: the parent chain token implements
ICustomTokenand callsregisterCustomL2Token+setGatewaydirectly.For non-upgradeable / immutable parent tokens, that path isn't available — registration must go through Arbitrum DAO governance using the privileged
forceRegisterTokenToL2andsetGatewayscalls. Until now, that workflow was only documented in a forum announcement and a bash payload generator gist.What this PR adds
docs/build-decentralized-apps/token-bridging/configure-token-bridging/register-via-dao-governance.mdxRegisterAndSetArbCustomGatewayActiondoes on-chain.ArbSysprecompile, and template optionality.setup-generic-custom-gateway.mdx: the Step 1 "if your parent chain contract is not upgradeable" callout and the matching FAQ entry now point readers at the new article instead of the bare forum link.Sources
Test plan
vercel buildexits 0 with the new article rendered.vercel/output/static/build-decentralized-apps/token-bridging/configure-token-bridging/register-via-dao-governance/setup-generic-custom-gateway.mdxresolve (build's strict link enforcement passes)0x997668Ee3C575dC060F80B06db0a8B04C9558969and other governance constants are still current🤖 Generated with Claude Code