Skip to content

fix(lint/v2): accept descriptor names for unnamed ABI parameters - #308

Merged
fsamier merged 2 commits into
LedgerHQ:mainfrom
manuelwedler:fix/lint-v2-unnamed-abi-parameters
Jul 29, 2026
Merged

fix(lint/v2): accept descriptor names for unnamed ABI parameters#308
fsamier merged 2 commits into
LedgerHQ:mainfrom
manuelwedler:fix/lint-v2-unnamed-abi-parameters

Conversation

@manuelwedler

Copy link
Copy Markdown
Contributor

Solidity parameters can be left unnamed, so the reference ABI fetched from the explorer carries an empty name and no schema path is computed for them. Descriptors must still name them to reference them by path, which made ValidateDisplayFieldsLinter report a spurious Invalid display field error.

  • Fixes 5 errors in the registry: aave/calldata-WrappedTokenGatewayV3.json (#.pool, 4 functions) and 1inch/calldata-AggregationRouterV3.json (#.pools).
  • The name is read from the descriptor format key, so the v2 linter interface now also receives the input descriptor (resolution reduces those keys to selectors).
  • A name is only accepted at the position it is declared at: the path stays invalid if the reference ABI names that parameter.

Verified on the registry at 3ddfbc0: Invalid display field 5 → 0, all other error and warning counts unchanged.

Solidity parameters can be left unnamed, in which case the reference ABI
fetched from the explorer carries an empty name and no schema path is
computed for them. Descriptors must still name them to reference them by
path, so `ValidateDisplayFieldsLinter` reported a spurious "Invalid display
field" error for such paths (5 occurrences in the registry, e.g. `#.pool`
for `depositETH(address,address,uint16)`).

The name is recovered from the descriptor format key, which resolution
reduces to a selector, so the v2 linter interface now also receives the
input descriptor. A name is only accepted at the position it is declared
at: a path stays invalid if the reference ABI names that parameter.
@manuelwedler
manuelwedler requested a review from a team as a code owner July 27, 2026 16:23
@fsamier

fsamier commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Hi @manuelwedler!
Thanks a lot for your multiple contributions!
For full transparency, despite the library being open-source, the workflows have not been designed with external contributor in mind, so we will need to spend some time to adapt them. We have unfortunately higher priority tasks for the moment, but we'll update the workflows and review your PRs as soon as time permits!

@manuelwedler

manuelwedler commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

Hi @fsamier
Thanks for the quick reply. Just for context, we need these changes for the clear signing registry. Master CI is failing currently because it depends on this library and #308 would fix it. The other two PRs are for fixing and improving the CI jobs which run on new descriptor PRs to the registy.

These changes would be very helpful to move forward with the clear signing registry. The registry has been in a stuck state since the handover which I'm trying to get resolved at the moment.

@fsamier fsamier left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tests run locally with API key injection, workflow to be improved in a later PR

@fsamier
fsamier merged commit 9075636 into LedgerHQ:main Jul 29, 2026
9 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants