Skip to content

fix: clarify TRON builtin parameter names - #147

Merged
CodeNinjaEvan merged 1 commit into
tronprotocol:release_0.8.30from
yanghang8612:fix/release-0.8.30-abi-api-compatibility
Jul 28, 2026
Merged

fix: clarify TRON builtin parameter names#147
CodeNinjaEvan merged 1 commit into
tronprotocol:release_0.8.30from
yanghang8612:fix/release-0.8.30-abi-api-compatibility

Conversation

@yanghang8612

@yanghang8612 yanghang8612 commented Jul 28, 2026

Copy link
Copy Markdown

Summary

  • replace unusable, duplicate, or misspelled TRON builtin parameter names with semantic names
  • make named-argument calls possible for validatemultisign, voteCount, and related vote-query builtins
  • leave positional calls, ABI encoding, function selectors, event topics, and runtime behavior unchanged

Root cause

Several global builtins registered address parameters as address. validatemultisign therefore could not be called with named arguments because address is a Solidity keyword, while voteCount registered both inputs under the same name. Its permission parameter was also exposed as the misspelled permissonid.

The corrected names are:

  • validatemultisign: account, permissionId, content, signatures
  • isSrCandidate: srCandidate
  • voteCount: voter, srCandidate
  • totalVoteCount: voter
  • receivedVoteCount: srCandidate
  • usedVoteCount: voter

Compatibility

The removed trcToken ABI canonicalization is not part of this PR. Existing trcToken ABI names and selectors remain unchanged.

Position-based builtin calls are unchanged. The old named forms affected here were not usable: address cannot be parsed as a named-argument identifier, and the duplicate address keys for voteCount cannot be expressed.

Validation

  • cmake --build build --target soltest -j2
  • syntaxTests/tron/builtin_named_arguments — passed
  • git diff --check origin/release_0.8.30...HEAD — passed

@github-actions

Copy link
Copy Markdown

Thank you for your contribution to the Solidity compiler! A team member will follow up shortly.

If you haven't read our contributing guidelines and our review checklist before, please do it now, this makes the reviewing process and accepting your contribution smoother.

If you have any questions or need our help, feel free to post them in the PR or talk to us directly on the #solidity-dev channel on Matrix.

@yanghang8612
yanghang8612 force-pushed the fix/release-0.8.30-abi-api-compatibility branch from c5bd564 to 65b4dfd Compare July 28, 2026 08:12
@yanghang8612 yanghang8612 changed the title fix: canonicalize TRON ABI and builtin parameter names fix: clarify TRON builtin parameter names Jul 28, 2026
@yanghang8612
yanghang8612 marked this pull request as ready for review July 28, 2026 08:15
@CodeNinjaEvan
CodeNinjaEvan merged commit aad81d3 into tronprotocol:release_0.8.30 Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants