Skip to content

docs(evm): clarify Initia ERC20 compatibility for wallet/bridge and r…#97

Closed
restorenode wants to merge 3 commits intomainfrom
docs/clarify-evm-erc20-widget-bridge-compat
Closed

docs(evm): clarify Initia ERC20 compatibility for wallet/bridge and r…#97
restorenode wants to merge 3 commits intomainfrom
docs/clarify-evm-erc20-widget-bridge-compat

Conversation

@restorenode
Copy link
Collaborator

No description provided.

@restorenode restorenode requested a review from tansawit March 8, 2026 02:43
@coderabbitai
Copy link

coderabbitai bot commented Mar 8, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 454140d7-c208-4e7b-bb8d-a2f7d3850c03

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/clarify-evm-erc20-widget-bridge-compat

Comment @coderabbitai help to get the list of available commands and usage tips.

@restorenode restorenode force-pushed the docs/clarify-evm-erc20-widget-bridge-compat branch from 9bc6e32 to eaea053 Compare March 9, 2026 04:17
@restorenode restorenode requested a review from tansawit March 9, 2026 04:24
Copy link
Collaborator

@tansawit tansawit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 sudoTransfer is 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`).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

I don't think we need this sentence


## Production Readiness Checklist

Before treating a factory-deployed token as ready for support across Initia
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Factory-deployed tokens" is unclear/not specific. It should be "Tokens deployed via ERC20Factory satisfy this requirement by default" etc.

Comment on lines +36 to +39
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>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

grammar

<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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not only sudoTransfer

checks. This function can only be called by the chain signer.

<Info>
For MiniEVM ERC20 tokens, `sudoTransfer` is a required hook in the token
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not just sudoTransfer for proper compatibility

Comment on lines +14 to +28
## 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).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@tansawit
Copy link
Collaborator

tansawit commented Mar 9, 2026

Will close this PR in favor of #98 (WIP)

@tansawit tansawit closed this Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants