[pull] main from MetaMask:main#353
Merged
Merged
Conversation
…t method support (#23043) <!-- 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** This PR fixes NFT transaction display in activity view. Two major bugs has been fixed: - Send NFT transaction was not displayed at all (when it was initiated from different device) - Mint transactions were not recognized (they were displayed as "Sent ETH") <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **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: Fixed a bug that was preventing NFT transactions to be displayed in activity view ## **Related issues** Fixes: #18229 https://consensyssoftware.atlassian.net/browse/TMCU-126 ## **Manual testing steps** ```gherkin Feature: Show NFT transactions Scenario: user checks activity tab for NFT transactions Given user sent NFT with different device (ie. from extension) When user opens Activity trab Then "Sent Collectible" should be displayed correctly in the list ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <img width="392" height="806" alt="Screenshot 2025-11-21 at 11 42 01" src="https://github.com/user-attachments/assets/dec318ae-4217-4825-9f6e-85619a66c0e1" /> <!-- [screenshots/recordings] --> ### **After** <img width="376" height="819" alt="Screenshot 2025-11-21 at 11 58 49" src="https://github.com/user-attachments/assets/a8d70d3a-4941-4c0a-9ea5-6b0e6c9e5ccb" /> <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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 collectible/transferFrom decoding and activity filtering, and recognizes common NFT mint methods with updated action keys and tests. > > - **Transactions**: > - **transferFrom decoding**: Decode recipient from calldata; fallback to `tx.transferInformation` when data is truncated; determine direction case‑insensitively from `from`; handle `tokenId` rendering and avoid undefined/NaN values. > - **Action keys/types**: Distinguish NFT (ERC721/1155) vs ERC20 `transferFrom`; map `tokenMethodTransferFrom`/`tokenMethodSafeTransferFrom` to `transferfrom`; handle `deployContract` and `contractInteraction` cases; add labeling for mint. > - **Mint support**: Recognize common NFT mint signatures (`SAFE_MINT_SIGNATURE`, `MINT_SIGNATURE`, `MINT_TO_SIGNATURE`, `SAFE_MINT_WITH_DATA`) and return `TOKEN_METHOD_MINT`. > - **Activity filtering**: > - Show outgoing transfers even if token isn’t in list; keep incoming transfers requiring token presence in list. > - **Localization**: > - Add `transactions.mint` string. > - **Tests**: > - Add/adjust unit tests for transferFrom decoding, action key logic, mint detection, and activity filters. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5603616. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
## **Description**
PR to add search functionality in trending tokens page and pull down to
refresh logic.
## **Changelog**
CHANGELOG entry: Adds search functionality for trending and pull down to
refresh. This is still under FF.
## **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]
> Adds search and pull-to-refresh to Trending Tokens, introduces a
reusable header with search used by Trending and Perps, refines network
filtering, and updates hooks/tests.
>
> - **Trending Tokens UX**:
> - Adds in‑header search to `TrendingTokensFullView` via new
`TrendingListHeader` using reusable `shared/ListHeaderWithSearch`.
> - Implements pull‑to‑refresh (`RefreshControl`) in
`TrendingTokensList` and wires refresh in full view.
> - Hides control bar when searching; filters section data client‑side;
displays skeletons appropriately.
> - **Sections/Data Flow**:
> - Extends `SECTIONS_CONFIG.tokens.useSectionData` to accept `{
searchQuery, sortBy, chainIds }`, merge search + trending results, and
expose `refetch`.
> - Updates `useTrendingRequest`: simplifies (removes cache), debounced
fetch with explicit loading; defaults to popular networks when
`chainIds` empty.
> - **Networks**:
> - Refactors `usePopularNetworks` (path changes) to filter testnets
(EVM/Bitcoin/Solana) and exclude EVM custom RPCs; sorts Ethereum and
Linea first.
> - `TrendingTokenNetworkBottomSheet`: switches to local hook path and
excludes additional networks by CAIP (incl. BTC mainnet) from picker.
> - **Reusable Header**:
> - New `shared/ListHeaderWithSearch` component; refactors
`PerpsMarketListHeader` to use it.
> - **Tests & i18n**:
> - Adds comprehensive tests for new headers, bottom sheets, list,
hooks, and full view; updates expectations to `toBeOnTheScreen`.
> - Adds `trending.cancel` string; minor style import path fixes.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
78bcccd. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
## **Description** Prevent quote specific alerts persisting when keyboard is visible in MetaMask Pay. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: #23134 ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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] > Prevents MetaMask Pay alerts from persisting while editing amounts by gating fee/network alerts during input, adds a `ConfirmationAlerts` wrapper, and updates tests. > > - **Alerts handling** > - Suppress fee/native-balance alerts while a pending amount is being edited via new `pendingAmountUsd` option in `useInsufficientPayTokenBalanceAlert` and `isPendingAlert` guards. > - Improve target amount calculation to clamp within valid bounds and handle negative shortfalls. > - Update tests to cover pending-amount behavior and edge cases (negative shortfall, no-target messages). > - **UI/Provider refactor** > - Replace inline `AlertsContextProvider` usage with new `ConfirmationAlerts` wrapper in `confirm-component.tsx` that sources alerts via `useConfirmationAlerts`. > - **Custom amount flow** > - On Done, call `updateTokenAmount()` and `EngineService.flushState()` to finalize state before hiding keyboard. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 66d2549. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
<!--
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**
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
This PR aims to add a support for predefined recipient into send flow
navigation. It mainly aims to support opening send flow through QR
scanner.
In order to send predefined recipient flows should call
`navigateToSendPage` callback from
`app/components/Views/confirmations/hooks/useSendNavigation.ts` hook.
Let's assume we already validated the QR address is Solana address. In
that scenario a call like
```
navigateToSendPage({
location: "QRScanner",
predefinedRecipient: {
address: '7W54AwGDYRF7Xmoi6phjTnrQhruYtoUdCKJMYAXP7VWC',
chainType: "solana",
},
})
```
will open assets page in the send flow and it will skip recipient page
as user already wants to send into that address.
All the navigations that will come from QR scanner have to fill
validated recipient address and the flag for the type. For more
information please see `handleSendPageNavigation` jsdoc or
`SendNavigationParams.PredefinedRecipient`
## **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: #21758
## **Manual testing steps**
Adds predefined recipient navigation to send flow - so this is currently
a technical feature which doesn't have any usage for now.
## **Screenshots/Recordings**
<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->
### **Before**
<!-- [screenshots/recordings] -->
### **After**
https://github.com/user-attachments/assets/f7327bf1-ec0a-4255-a441-b98e2cf20aa2
## **Pre-merge author checklist**
- [X] 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).
- [X] I've completed the PR template to the best of my ability
- [X] I’ve included tests if applicable
- [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [X] 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]
> Adds predefined recipient handling to the new send flow, refactors
navigation to a param object API, updates amount/asset selection logic,
and expands tests.
>
> - **Send flow & navigation**:
> - Introduce `ChainType`, `PredefinedRecipient`, and
`SendNavigationParams`; refactor `handleSendPageNavigation` to accept a
params object and pass `predefinedRecipient` to routes.
> - Update `useSendNavigation` to accept params and propagate
`isSendRedesignEnabled` internally; migrate callers (`AssetOverview`,
`CollectibleModal`, `NftDetails`, `Wallet`).
> - Amount screen (`AmountKeyboard`) now reads `predefinedRecipient`
from route params and skips the recipient step, calling
`updateTo`/`handleSubmitPress` directly.
> - **Asset selection & tokens**:
> - Add `useSendTokens` to filter tokens by chain type based on
`useSendType`; switch `Asset` component to use it.
> - Simplify `useAccountTokens` (remove scope filtering) and keep
balance-based filtering/formatting.
> - **Utilities**:
> - Add `derivePredefinedRecipientParams` to infer chain type from an
address.
> - **Tests**:
> - Add/adjust tests for navigation, amount flow, send type detection,
token filtering, gas/amount validation, and address utils; update mocks
to new APIs.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
acda598. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
## **Description** Added horizontal padding (16px) to the `ScreenLayout` component's content section to improve UI consistency across Ramp/Deposit screens. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/TRAM-2866 ## **Manual testing steps** ```gherkin Feature: ScreenLayout padding Scenario: user views any Ramp screen Given user opens any Ramp/Deposit flow screen When user views the content area Then content should have consistent 16px horizontal padding ``` ## **Screenshots/Recordings** ### **Before** <img width="299" alt="image" src="https://github.com/user-attachments/assets/d01c740b-07c0-4b98-b021-e21a69d96ac8" /> ### **After** <img width="299" alt="image" src="https://github.com/user-attachments/assets/a3e30aaf-a908-47a1-ac69-5619eee29b88" /> ## **Pre-merge author checklist** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I've included tests if applicable - [x] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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.
… Sentry when user tries to add a chain with unrecognized rpc url (#23075) <!-- 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** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> Sentry Issue: [METAMASK-MOBILE-2DVH](https://metamask.sentry.io/issues/5351012899/?referrer=github_integration) ``` Error: {"code":4100,"message":"Request blocked due to spam filter."} at ?anon_0_ (app/util/Logger/index.ts:83:32) ... (11 additional frame(s) were not displayed) ``` Steps to reproduce: - Go to https://bridge.coredao.org/coreBTC - Click on "Add coreBTC to your wallet" - MM will throw "Unrecognized chain ID "0x45c". Try adding the chain using wallet_addEthereumChain first." Here we throw a Sentry error while we'd like to send and Error event in Segment instead. ## **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: ## **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** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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] > Routes RPC errors from `createLoggerMiddleware` to analytics (with better message selection) instead of Sentry, and adds comprehensive unit tests for middlewares. > > - **Utilities — `app/util/middlewares.js`**: > - **RPC error handling**: Replace Sentry logging with analytics tracking via `trackErrorAsAnalytics`. > - User rejections tracked as `Error in RPC response: User rejected`. > - Non-user errors tracked as `Error in RPC response` using `error.data?.message || error.message || 'Unknown RPC error'`. > - Removes `Logger.error` and related error param construction. > - **Logging**: Preserve `Logger.log` of RPC activity; skip when `req.isMetamaskInternal`. > - **Tests — `app/util/middlewares.test.js`**: > - Add tests for `createOriginMiddleware`, `containsUserRejectedError`, and `createLoggerMiddleware` covering success, user rejection, non-user errors, internal requests, and edge cases. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 434135e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
…tion (#23256) ## **Description** Changed the network filter in the TokenSelection screen from checkbox-style (multi-select) to radio button-style (single-select) behavior. Users can now select only one network at a time, or view all networks. The implementation simplifies the `TokenNetworkFilterBar` component by replacing the toggle logic with a straightforward single-selection mechanism. All existing filtering logic in parent components remains compatible. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/TRAM-2867 ## **Manual testing steps** ```gherkin Feature: Token selection network filter Scenario: user selects a single network filter Given the user is on the Token Selection screen And "All Networks" is selected When user taps on "Ethereum" network button Then only "Ethereum" button should be highlighted And only Ethereum network tokens should be displayed Scenario: user switches between network filters Given the user has "Ethereum" network selected And only Ethereum tokens are displayed When user taps on "Polygon" network button Then "Ethereum" button should no longer be highlighted And only "Polygon" button should be highlighted And only Polygon network tokens should be displayed Scenario: user returns to all networks view Given the user has "Polygon" network selected When user taps on "All Networks" button Then "All Networks" button should be highlighted And "Polygon" button should no longer be highlighted And tokens from all networks should be displayed ``` ## **Screenshots/Recordings** ### **Before** https://github.com/user-attachments/assets/cbf54072-4a0d-416c-9da1-5af76212d68d ### **After** https://github.com/user-attachments/assets/83f662a5-00bf-4133-89fd-accd259208e3 ## **Pre-merge author checklist** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I've included tests if applicable - [x] I've documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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] > Switches the Ramp token network filter to single-select with simplified handlers and updates tests/snapshots accordingly. > > - **UI/Logic**: > - Refactor `TokenNetworkFilterBar` to single-select behavior (radio-style): `All` sets `networkFilter` to `null`; pressing a network always sets `networkFilter` to `[chainId]`. > - Simplify handlers using `useCallback`; remove multi-select/toggle logic and dependency on `excludeFromArray`. > - **Tests**: > - Update tests to reflect single-select behavior: add `handleAllPress` test; adjust `handleNetworkPress` expectations (replace/add/remove scenarios). > - Refresh snapshots; remove snapshot for partial multi-select state. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ee39c8b. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Resource (singular) is awkward and should be resources (plural)
<!--
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**
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
## **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: Updated copy "Daily resource" to "Daily resources"
## **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]
> Updates `asset_overview.tron.daily_resource` copy from “Daily
resource” to “Daily resources”.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
1010630. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
## **Description** Fix Predict withdraw when using gas station with insufficient existing token balance. Bump `transaction-controller` and `transaction-pay-controller`. ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: #23137 #23126 ## **Manual testing steps** ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] 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). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] 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] > Prevents gas-fee token injection/external sign when `txMeta.isGasFeeTokenIgnoredIfBalance` is set; wires Remote Feature Flag messenger action; bumps transaction/transaction-pay controllers. > > - **Confirmations**: > - Update `useTransactionConfirm` to skip adding `batchTransactions` and `isExternalSign` when `txMeta.isGasFeeTokenIgnoredIfBalance` is true. > - Include `isGasFeeTokenIgnoredIfBalance` in metadata handling for smart transactions and 7702 flows. > - **Tests**: > - Add tests ensuring no gas-fee token batching or external signing when `isGasFeeTokenIgnoredIfBalance` is set. > - **Messaging**: > - Allow `RemoteFeatureFlagController:getState` in `transaction-controller` init messenger. > - **Dependencies**: > - Bump `@metamask/transaction-controller` to `62.3.0` and `@metamask/transaction-pay-controller` to `10.1.0` (with corresponding lockfile updates). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ccbc4d8. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )