docs(evm): clarify Initia ERC20 compatibility for wallet/bridge and r…#97
docs(evm): clarify Initia ERC20 compatibility for wallet/bridge and r…#97restorenode wants to merge 3 commits intomainfrom
Conversation
…egistry requirements
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
developers/developer-guides/integrating-initia-apps/registry/introduction.mdx
Outdated
Show resolved
Hide resolved
...pers/developer-guides/vm-specific-tutorials/evm/creating-erc20s/creating-standard-erc20s.mdx
Show resolved
Hide resolved
developers/developer-guides/vm-specific-tutorials/evm/update-fee-token.mdx
Outdated
Show resolved
Hide resolved
developers/developer-guides/vm-specific-tutorials/evm/update-fee-token.mdx
Outdated
Show resolved
Hide resolved
developers/developer-guides/vm-specific-tutorials/evm/update-fee-token.mdx
Outdated
Show resolved
Hide resolved
...pers/developer-guides/vm-specific-tutorials/evm/creating-erc20s/creating-standard-erc20s.mdx
Outdated
Show resolved
Hide resolved
...pers/developer-guides/vm-specific-tutorials/evm/creating-erc20s/creating-standard-erc20s.mdx
Outdated
Show resolved
Hide resolved
0177243 to
9bc6e32
Compare
9bc6e32 to
eaea053
Compare
There was a problem hiding this comment.
We should make sure
- that each page only contain content relevant to it (e.g. we don't need to mention adding sudoTransfer hook to ERC20 on the page about deploying via ERC20Factory
- information is complete (having
sudoTransferis not enough to ensure compatibility. register is also required to register the ERC20 with the MiniEVM's ERC20Registry. We should be telling them to only choose between using ERC20Factory or inheriting InitiaERC20.sol in all places) - Be specific, concise, and give sufficient context. (e.g. avoid general terms like "Registry listing" which could mean Initia Registry, ERC20Registry, other registry for someone with minimal context on the topic).
| contract. | ||
| contract. For most teams, this is the lowest-risk path because it deploys a | ||
| token implementation that already includes the required Initia chain integration | ||
| hooks (including `sudoTransfer`). |
There was a problem hiding this comment.
For most teams, this is the lowest-risk path because it deploys a
token implementation that already includes the required Initia chain integration
hooks (includingsudoTransfer).
I don't think we need this sentence
|
|
||
| ## Production Readiness Checklist | ||
|
|
||
| Before treating a factory-deployed token as ready for support across Initia |
There was a problem hiding this comment.
"Factory-deployed tokens" is unclear/not specific. It should be "Tokens deployed via ERC20Factory satisfy this requirement by default" etc.
| Registry listing is required for tokens to appear correctly in Initia product | ||
| UIs with metadata (name, symbol, decimals, logo), and to be selectable in | ||
| flows such as balances, transfers, and bridging. | ||
| </Note> |
There was a problem hiding this comment.
Unclear what registry this refers to
| <Warning> | ||
| The deployed ERC20 token must inherit the `InitiaERC20` contract. | ||
| The fee token ERC20 must implement Initia-compatible chain hooks, especially | ||
| `sudoTransfer`, which is used by chain-level transfer handling. Tokens |
| <Warning> | ||
| The deployed ERC20 token must inherit the `InitiaERC20` contract. | ||
| The fee token ERC20 must implement Initia-compatible chain hooks, especially | ||
| `sudoTransfer`, which is used by chain-level transfer handling. Tokens |
| checks. This function can only be called by the chain signer. | ||
|
|
||
| <Info> | ||
| For MiniEVM ERC20 tokens, `sudoTransfer` is a required hook in the token |
There was a problem hiding this comment.
not just sudoTransfer for proper compatibility
| ## Production Readiness Checklist | ||
|
|
||
| Before treating a factory-deployed token as ready for support across Initia | ||
| products (for example, Initia Scan, InterwovenKit, Wallet, and Bridge): | ||
|
|
||
| 1. Deploy via | ||
| [`ERC20Factory`](/resources/developer/contract-references/evm/erc20-factory). | ||
| 2. Add token metadata to the relevant `assetlist.json` in | ||
| [Initia Registry](/developers/developer-guides/integrating-initia-apps/registry/introduction). | ||
| 3. Confirm your token is compatible with the required `sudoTransfer` hook used | ||
| in sending and bridging flows (included by default for `ERC20Factory` | ||
| deployments) by following the compatibility guidance in | ||
| [Creating ERC20s Introduction](/developers/developer-guides/vm-specific-tutorials/evm/creating-erc20s/introduction) | ||
| and | ||
| [`InitiaCustomERC20` reference](/resources/developer/contract-references/evm/initia-custom-erc20). |
There was a problem hiding this comment.
This is irrelevant if they're deploying the token via ERC20Factory, which is the context of this page?
| product UIs (name, symbol, decimals, logo, and display info in Initia Scan). | ||
| 2. Token contract behavior: Controls whether token actions actually work (for | ||
| example, sending and bridging). For MiniEVM ERC20 tokens, this includes the | ||
| `sudoTransfer` hook. |
There was a problem hiding this comment.
It's not just sudoTransfer that's required? The register functions and others are also needed https://initia-labs.slack.com/archives/C08HUBCRV6Y/p1772709025874659?thread_ts=1772616413.010649&cid=C08HUBCRV6Y
|
Will close this PR in favor of #98 (WIP) |
No description provided.