Skip to content

chainId format renders chain 137 as "Polygon" rather than the EIP-155 reference name "Polygon Mainnet" #14

Description

@fbwoolf

The chainId field format renders chain 137 as Polygon, where the ERC-7730 specification's reference values give Polygon Mainnet.

specs/erc-7730.md defines the format as "value is converted to a Blockchain name using EIP-155 reference values", and its worked example is Ethereum Mainnet for value 1. That string is the name field from the EIP-155 chain list published at chainid.network, which gives:

chain name
1 Ethereum Mainnet
137 Polygon Mainnet
42161 Arbitrum One

cs-test renders 137 as Polygon. @ethereum-sourcify/clear-signing 0.2.2 renders Polygon Mainnet. Chain 42161 agrees in both, because Arbitrum One carries no "Mainnet" suffix to drop, so the divergence only shows on chains whose canonical name ends in it.

Reproducer: ethereum/clear-signing-erc7730-registry#2590 adds the first descriptor in that registry to use format: "chainId". The registry runs both implementations as CI gates, and the Rust job fails on one case:

Swap and Bridge: swap 100 USDC then generic-bridge to Polygon (RangoGenericBridgeFacet.genericSwapAndBridge) — field value at [4] "Destination Chain": expected "Polygon Mainnet", got "Polygon"

The registry pins this repository at 10605ba78f3d6f3f13102e0f3a3ecbc44ac500dc.

Worth fixing rather than absorbing on the descriptor side for two reasons. A spec-conformant descriptor currently cannot go green in the registry, since the two pinned runners disagree and a fixture can encode only one expected string. And both of these are wallet-facing implementations rather than test harnesses, so the same bridge to Polygon presents a different destination depending on which SDK the wallet embedded.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions