Skip to content

chore(runway): cherry-pick fix(tron): max energy and bandwidth incorrectly set to 1 instead of 0 cp-7.61.6#24376

Merged
joaoloureirop merged 1 commit into
release/7.61.6from
runway-cherry-pick-7.61.6-1767985249
Jan 9, 2026
Merged

chore(runway): cherry-pick fix(tron): max energy and bandwidth incorrectly set to 1 instead of 0 cp-7.61.6#24376
joaoloureirop merged 1 commit into
release/7.61.6from
runway-cherry-pick-7.61.6-1767985249

Conversation

@runway-github
Copy link
Copy Markdown
Contributor

@runway-github runway-github Bot commented Jan 9, 2026

Description

Fix Tron resources calculation and default value.

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the
    app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described
    in the ticket it closes and includes the necessary testing evidence such
    as recordings and or screenshots.

Note

Fix Tron resources calculation and defaults

  • In useTronResources, keep actual max values from data (can be 0) and compute percentage using Math.max(1, max) to avoid division by zero
  • Remove prior clamping of max to at least 1 for energy/bandwidth
  • Update tests in useTronResources.test.ts to expect max: 0 when resources are absent and validate parsing/percentage behavior

Written by Cursor Bugbot for commit df247ca. This will update automatically on new commits. Configure here.


Co-authored-by: Antonio Regadas antonio.regadas@consensys.net ae67bf2

…ectly set to 1 instead of 0 cp-7.61.6 (#24368)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Fix Tron resources calculation and default value.

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: null

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]
```

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.



<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Fixes Tron resource max handling and safe percentage calculation.
> 
> - `useTronResources`: passes actual `max` values (can be `0`) to
`createResource`; percentage uses `Math.max(1, max)` to avoid
divide-by-zero while preserving displayed `max`
> - Tests updated to expect `max: 0` when no resources exist; existing
parsing and capping behaviors verified
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
d0c7e87. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Antonio Regadas <antonio.regadas@consensys.net>
@runway-github runway-github Bot requested a review from a team as a code owner January 9, 2026 19:01
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 9, 2026

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Jan 9, 2026
@github-actions github-actions Bot added the size-S label Jan 9, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 9, 2026

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAssets, SmokeNetworkExpansion
  • Risk Level: low
  • AI Confidence: 85%
click to see 🤖 AI reasoning details

This PR introduces a new custom hook useTronResources along with its comprehensive test file for handling Tron blockchain energy and bandwidth resources.

Analysis:

  1. New files added (not modifications): Both files are completely new additions to the codebase:

    • useTronResources.ts: A React hook that processes Tron resources (energy, bandwidth) for display
    • useTronResources.test.ts: Comprehensive unit tests for the hook
  2. Functionality: The hook:

    • Retrieves Tron resource data using existing selector selectTronResourcesBySelectedAccountGroup
    • Processes and normalizes resource data (energy, bandwidth, max values)
    • Calculates percentages for UI display
    • Handles edge cases (division by zero, comma separators, invalid values)
  3. Where it's used:

    • Only used in TronEnergyBandwidthDetail.tsx component
    • This component is rendered in AssetOverview.tsx when viewing Tron native assets
    • Shows daily resource information for Tron accounts
  4. Test coverage: The new hook comes with thorough unit tests covering:

    • Normal resource calculations
    • Empty/zero states
    • Comma-separated value parsing
    • Edge cases (overflow, invalid data)
  5. Impact assessment:

    • Scope: Limited to displaying Tron resource information in asset overview
    • Dependencies: Uses existing selectors and constants, no core changes
    • Risk: Low - new feature addition with comprehensive unit tests
    • User flow: Only affects users viewing Tron native assets

Test tag selection rationale:

  • SmokeAssets: This directly affects asset display and overview functionality for Tron assets, showing resource information
  • SmokeNetworkExpansion: This is specific to Tron network functionality and multichain features

Why not other tags:

  • Not selecting SmokeWalletUX despite UI changes because this is specifically about asset details, better covered by SmokeAssets
  • Not core functionality (SmokeCore) - it's a display-only feature
  • Not account management (SmokeAccounts) - it's about displaying resource information, not managing accounts

Confidence: 85% - Clear understanding of the changes and their scope. The hook is well-tested with unit tests, has limited scope, and uses existing infrastructure. Slightly lower than 100% only because this is a new feature that should be verified in the context of the full asset overview flow for Tron.

View GitHub Actions results

@joaoloureirop joaoloureirop enabled auto-merge (squash) January 9, 2026 19:11
@joaoloureirop joaoloureirop disabled auto-merge January 9, 2026 19:19
@joaoloureirop joaoloureirop merged commit 48c63c9 into release/7.61.6 Jan 9, 2026
64 checks passed
@joaoloureirop joaoloureirop deleted the runway-cherry-pick-7.61.6-1767985249 branch January 9, 2026 19:20
@github-actions github-actions Bot locked and limited conversation to collaborators Jan 9, 2026
@metamaskbot metamaskbot added the release-7.61.6 Issue or pull request that will be included in release 7.61.6 label Jan 12, 2026
@metamaskbot
Copy link
Copy Markdown
Collaborator

No release label on PR. Adding release label release-7.61.6 on PR, as PR was cherry-picked in branch 7.61.6.

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

Labels

release-7.61.6 Issue or pull request that will be included in release 7.61.6 size-S team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants