MetaMask / MetaMask/metamask-mobile
[Bug]: After swapping ERC20 token in TRON the token funds won't update unless you reinstall the app
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
### Describe the bug
After swapping ERC20 token in TRON the token funds won't update. This is likely in production as well but still think it should be fixed because in the wallet is incorrectly shown and only way to recover the situation is to re-install the the app. Here's what happens:
Before starting the swap I had $230.33 in ETH on Ethereum and $24.26 of USDT on Tron

I then swapped USDT on Tron to ETH on Ethereum
https://github.com/user-attachments/assets/deecc61c-89ba-4344-9085-009acc1a22d9
After a few minutes the ETH balance on Ethereum is increased and goes from $230.33 to $254.28 but the USDT on Tron remains $24.26 which is incorrect. Also the aggregated wallet balance is wrong and shows a $20 increase which is incorrect.

I waited a few hours, reset the account, tried to switch to a different account but nothing worked. The only way to restore the situation is to uninstall and re-install the app. After that the funds shows correctly
https://github.com/user-attachments/assets/c14cf947-2031-45a0-af34-403e92c282e3
### Expected behavior
_No response_
### Screenshots/Recordings
_No response_
### Steps to reproduce
1. Bridge USDT(Tron) to ETH (Ethereum)
2. After the transaction completes noticed that the ETH balance is increased so funds are recevied but USDT is not deducted from the USDT balance on TRON
### Error messages or log output
```shell
```
### Where was this bug found?
Internal release testing
### Version
7.73.0
### Build number
4314
### Build type
None
### Device
iPhone Pro 13
### Operating system
iOS
### Additional context
_No response_
### Severity
_No response_
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reproducing the bridge from USDT on Tron to ETH on Ethereum on iOS, then trace how the completed transaction refreshes both chain balances and the aggregated wallet balance. Done means the Tron USDT balance is deducted and the aggregate reflects the completed swap without reinstalling the app.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, react-native, typescript
- Domain
- blockchain, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100