Skip to content

fix(actuator): correct protobuf unpack types in getOwnerAddress()#125

Closed
halibobo1205 wants to merge 1 commit intodevelopfrom
fix/actuator-getOwnerAddress-unpack-type
Closed

fix(actuator): correct protobuf unpack types in getOwnerAddress()#125
halibobo1205 wants to merge 1 commit intodevelopfrom
fix/actuator-getOwnerAddress-unpack-type

Conversation

@halibobo1205
Copy link
Copy Markdown
Owner

@halibobo1205 halibobo1205 commented Apr 9, 2026

User description

Fix incorrect protobuf types used in any.unpack() within getOwnerAddress() for three actuators:

  • UpdateAssetActuator: AccountUpdateContract -> UpdateAssetContract
  • MarketCancelOrderActuator: AssetIssueContract -> MarketCancelOrderContract
  • MarketSellAssetActuator: AssetIssueContract -> MarketSellAssetContract

CodeAnt-AI Description

Fix owner address lookup for three actuator types

What Changed

  • Owner address lookup now uses the correct transaction type for asset updates, market order cancellations, and market sell orders
  • This prevents these actions from reading the wrong owner account during validation and execution
  • Added tests to verify owner address extraction for all three cases

Impact

✅ Fewer failed market order actions
✅ Correct account checks for asset updates
✅ Safer order cancellation and sell flows

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai
Copy link
Copy Markdown

codeant-ai bot commented Apr 9, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@codeant-ai codeant-ai bot added the size:M This PR changes 30-99 lines, ignoring generated files label Apr 9, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai bot commented Apr 9, 2026

CodeAnt AI finished reviewing your PR.

@halibobo1205
Copy link
Copy Markdown
Owner Author

@codex: review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@halibobo1205 halibobo1205 added the AI:reviewed AI review passed label Apr 12, 2026
Copy link
Copy Markdown

@lxcmyf lxcmyf left a comment

Choose a reason for hiding this comment

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

I reviewed the 6-file change set and I don't have any functional findings on this patch.

The three getOwnerAddress() overrides now match the concrete protobuf type already used by each actuator's validate() / execute() path, so the fix is internally consistent:

  • UpdateAssetActuator -> UpdateAssetContract
  • MarketCancelOrderActuator -> MarketCancelOrderContract
  • MarketSellAssetActuator -> MarketSellAssetContract

I also verified the targeted framework tests on the PR branch:
./gradlew :framework:test --tests org.tron.core.actuator.UpdateAssetActuatorTest --tests org.tron.core.actuator.MarketCancelOrderActuatorTest --tests org.tron.core.actuator.MarketSellAssetActuatorTest

Those passed successfully, including the newly added testGetOwnerAddress() coverage in all three test classes.

One minor note from verification only: running the broader root-level ./gradlew test --tests ... command still trips :plugins:test because that subproject has no matching tests for the filter, so I used the scoped :framework:test command above instead.

Fix incorrect protobuf types used in any.unpack() within getOwnerAddress()
for three actuators:
- UpdateAssetActuator: AccountUpdateContract -> UpdateAssetContract
- MarketCancelOrderActuator: AssetIssueContract -> MarketCancelOrderContract
- MarketSellAssetActuator: AssetIssueContract -> MarketSellAssetContract

Also remove unused imports and add unit tests for getOwnerAddress().

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@halibobo1205 halibobo1205 force-pushed the fix/actuator-getOwnerAddress-unpack-type branch from e9d880a to 59b1339 Compare April 13, 2026 10:29
@codeant-ai
Copy link
Copy Markdown

codeant-ai bot commented Apr 13, 2026

CodeAnt AI is running Incremental review


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@codeant-ai codeant-ai bot added size:M This PR changes 30-99 lines, ignoring generated files and removed size:M This PR changes 30-99 lines, ignoring generated files labels Apr 13, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai bot commented Apr 13, 2026

CodeAnt AI Incremental review completed.

Copy link
Copy Markdown

@waynercheung waynercheung left a comment

Choose a reason for hiding this comment

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

LGTM

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

Labels

AI:reviewed AI review passed size:M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants