Add Flare and Songbird native currency metadata - #15
Merged
Merged
Conversation
native_token_meta fell through to the ETH default for Flare (14), Songbird (19) and their Coston testnets, so every `amount` field on those chains rendered as ETH instead of FLR/SGB. Symbols and names match chainid.network, which the Sourcify runner already resolves against — this brings the Rust runner in line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 14, 2026
The rebase brought in the new selector-coverage check, which requires a test for every function of a changed descriptor. Adds the missing cases: both propose() overloads on PollingFoundation, setAllowedExecutor and transfer on MintingTagManager, and redeemWithTag, redemptionPaymentDefault, executeDirectMinting and executeDirectMintingWithData on AssetManager — the last three carrying hand-encoded FDC Merkle proofs. DistributionToDelegators and ValidatorRewardManager keep "Flare Labs" in their expectations, because the attestation on those descriptors blocks the owner rename until an auditor re-signs them. The Executor Fee expectations read FLR/SGB rather than the ETH the Rust runner prints today; llbartekll/clear-signing#15 adds the missing chain entries that make it so. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 14, 2026
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 14, 2026
…TagManager Introduces calldata descriptors for AssetManager, FAsset, and MintingTagManager for both Flare and Songbird, with test cases for each. PollingFoundation (unrelated governance contract) moved to its own PR. Also adds the coverage tests the registry's new selector-coverage check requires for two already-attested descriptors this PR does not otherwise touch, DistributionToDelegators-Flare and ValidatorRewardManager-Flare, keeping their expectations at "Flare Labs" since that's what their attestation covers. Executor Fee / Reservation Fee fields expect FLR/SGB rather than the ETH the Rust test runner prints today for chains 14/19; llbartekll/clear-signing#15 adds the missing native-currency entries that make it so. Not included: RewardManager-{Flare,Songbird}. Both are attested and render blank in the Sourcify runner (nested field groups are unsupported), and the index disallows a second descriptor at the same address, so there's no way to land a fix here — needs a maintainer decision on how to replace an attested-but-unrenderable descriptor. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
| assert_eq!(native_token_meta(137).symbol, "MATIC"); | ||
| assert_eq!(native_token_meta(56).symbol, "BNB"); | ||
| assert_eq!(native_token_meta(14).symbol, "FLR"); | ||
| assert_eq!(native_token_meta(19).symbol, "SGB"); |
There was a problem hiding this comment.
Suggested change
| assert_eq!(native_token_meta(19).symbol, "SGB"); | |
| assert_eq!(native_token_meta(19).symbol, "SGB"); | |
| assert_eq!(native_token_meta(964).symbol, "TAO"); |
| assert_eq!(chain_name(1), "Ethereum"); | ||
| assert_eq!(chain_name(137), "Polygon"); | ||
| assert_eq!(chain_name(14), "Flare"); | ||
| assert_eq!(chain_name(19), "Songbird"); |
There was a problem hiding this comment.
Suggested change
| assert_eq!(chain_name(19), "Songbird"); | |
| assert_eq!(chain_name(19), "Songbird"); | |
| assert_eq!(chain_name(964), "Subtensor EVM"); |
| 14 => ("FLR", "Flare"), | ||
| 19 => ("SGB", "Songbird"), | ||
| 114 => ("C2FLR", "Coston2 Flare"), | ||
| 16 => ("CFLR", "Coston Flare"), |
There was a problem hiding this comment.
Suggested change
| 16 => ("CFLR", "Coston Flare"), | |
| 16 => ("CFLR", "Coston Flare"), | |
| 964 => ("TAO", "TAO"), |
| 42170 => "Arbitrum Nova".to_string(), | ||
| 43114 => "Avalanche".to_string(), | ||
| 14 => "Flare".to_string(), | ||
| 19 => "Songbird".to_string(), |
There was a problem hiding this comment.
Suggested change
| 19 => "Songbird".to_string(), | |
| 19 => "Songbird".to_string(), | |
| 964 => "Subtensor EVM".to_string(), |
Contributor
Author
|
@llbartekll can you please take a look so I can move forward with the Clearn Signing PR? Thanks |
Contributor
Author
|
Thank you @llbartekll Can you please release a new version? Thanks |
Merged
1 of 2 tasks
kuzdogan
pushed a commit
to ethereum/clear-signing-erc7730-registry
that referenced
this pull request
Sep 28, 2026
Picks up llbartekll/clear-signing#15 (Flare/Songbird native currency metadata, so amount fields on chains 14/19/114/16 render FLR/SGB instead of ETH) and #13 (numeric mustMatch/ifNotIn comparison, hidden bundle slots kept). Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 28, 2026
Introduces calldata descriptors for WNat-Flare and WNat-Songbird, including contract metadata and transaction formats for wrapping, unwrapping, and transferring tokens. Test cases validate transaction intents and expected outputs across both networks. Amount fields expect FLR/SGB rather than the ETH the Rust test runner prints today for chains 14/19; llbartekll/clear-signing#15 adds the missing native-currency entries that make it so. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 28, 2026
…TagManager Introduces calldata descriptors for AssetManager, FAsset, and MintingTagManager for both Flare and Songbird, with test cases for each. PollingFoundation (unrelated governance contract) moved to its own PR. Also adds the coverage tests the registry's new selector-coverage check requires for two already-attested descriptors this PR does not otherwise touch, DistributionToDelegators-Flare and ValidatorRewardManager-Flare, keeping their expectations at "Flare Labs" since that's what their attestation covers. Executor Fee / Reservation Fee fields expect FLR/SGB rather than the ETH the Rust test runner prints today for chains 14/19; llbartekll/clear-signing#15 adds the missing native-currency entries that make it so. Not included: RewardManager-{Flare,Songbird}. Both are attested and render blank in the Sourcify runner (nested field groups are unsupported), and the index disallows a second descriptor at the same address, so there's no way to land a fix here — needs a maintainer decision on how to replace an attested-but-unrenderable descriptor. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 28, 2026
…TagManager Introduces calldata descriptors for AssetManager, FAsset, and MintingTagManager for both Flare and Songbird, with test cases for each. PollingFoundation (unrelated governance contract) moved to its own PR. Also adds the coverage tests the registry's new selector-coverage check requires for two already-attested descriptors this PR does not otherwise touch, DistributionToDelegators-Flare and ValidatorRewardManager-Flare, keeping their expectations at "Flare Labs" since that's what their attestation covers. Executor Fee / Reservation Fee fields expect FLR/SGB rather than the ETH the Rust test runner prints today for chains 14/19; llbartekll/clear-signing#15 adds the missing native-currency entries that make it so. Not included: RewardManager-{Flare,Songbird}. Both are attested and render blank in the Sourcify runner (nested field groups are unsupported), and the index disallows a second descriptor at the same address, so there's no way to land a fix here — needs a maintainer decision on how to replace an attested-but-unrenderable descriptor. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fassko
added a commit
to fassko/clear-signing-erc7730-registry
that referenced
this pull request
Sep 28, 2026
…TagManager Introduces calldata descriptors for AssetManager, FAsset, and MintingTagManager for both Flare and Songbird, with test cases for each. PollingFoundation (unrelated governance contract) moved to its own PR. Also adds the coverage tests the registry's new selector-coverage check requires for two already-attested descriptors this PR does not otherwise touch, DistributionToDelegators-Flare and ValidatorRewardManager-Flare, keeping their expectations at "Flare Labs" since that's what their attestation covers. Executor Fee / Reservation Fee fields expect FLR/SGB rather than the ETH the Rust test runner prints today for chains 14/19; llbartekll/clear-signing#15 adds the missing native-currency entries that make it so. Not included: RewardManager-{Flare,Songbird}. Both are attested and render blank in the Sourcify runner (nested field groups are unsupported), and the index disallows a second descriptor at the same address, so there's no way to land a fix here — needs a maintainer decision on how to replace an attested-but-unrenderable descriptor. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Summary
native_token_metahas no entry for the Flare networks, so it falls through to the("ETH", "Ether")default. Everyformat: amountfield on those chains — including@.value— renders as ETH:This adds Flare (14), Songbird (19) and the two Coston testnets (114, 16), plus the two mainnets to
chain_name. Symbols and names are taken fromchainid.network, which the Sourcify TS runner already resolves against — so the two runners currently disagree on these chains, and this brings them in line.Found while adding descriptors for Flare in Clear Signing https://github.com/ethereum/clear-signing-erc7730-registry, where the Sourcify tests pass and the Rust tests fail on exactly these fields.
Test plan
cargo test -p clear-signing --lib— 138 passedtest_native_token_meta/test_chain_namewith the new chains; the unknown-chain ETH fallback assertion still holdscs-testand ran it againstregistry/flare/testsv2/calldata-WNat-Flare.tests.jsonfrom the registry PR: 11/11 pass (2 of them failed on the ETH symbol before this change)