MetaMask / MetaMask/metamask-mobile
[Bug]: Crash on Send flow
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
**Describe the bug**
While going from certain flows to Send flow, MetaMask experiences crash when trying to send any token.
Unable to reproduce consistently, but reproduced a few times when going from:
- dapps to send flow
- Buy flow to send flow
- Swaps flow to send flow
Also experienced error `undefined is not a function` in the send flow. (unable to reproduce this error)
State logs: [33291303582538.txt](https://github.com/user-attachments/files/26506994/33291303582538.txt)
**Expected behavior**
No crash
**Screenshots/Recordings**
https://github.com/user-attachments/assets/fe7724a6-6a95-4dc1-8d36-00d1e1e50ee6
https://github.com/user-attachments/assets/60609048-54b2-4b63-8f4a-67f18957c0dd
https://github.com/user-attachments/assets/9933d6fb-02c7-482e-80ae-2d338e5763fa
**Steps to reproduce**
From Swaps flow:
1. Click Swap
2. Select tokens and amount
3. Instead of confirming sap, click Close
4. Go to Send flow
5. Select token and amount
6. Click continue
7. Notice crash
From Buy flow:
1. Click Buy
2. Select token and amount
3. Click Continue
4. Go back to home page
5. Go to Send flow
6. Select token and amount
7. Click continue
8. Notice crash
From dapps
1. Go to Explore
2. Click sites
3. Open a few dapps
4. Connect and disconnect to dapps
5. Go back to home page
6. Go to Send flow
7. Select token and amount
8. Click continue
9. Notice crash
**Error messages or log output**
```shell
```
**Where was this bug found?**
Internal release testing
**Version**
7.73.0
**Build number**
4334
**Build type**
None
**Device**
Pixel 6 Pro
**Operating system**
Android
Contributor guide
Research direction
Start by reproducing the Send flow crash on Android using the listed paths from Swaps, Buy, and dapps, then review the attached state logs and recordings. Compare the Send flow after each preceding flow and use the reported `undefined is not a function` clue to narrow the failure. Done means continuing a token send no longer crashes from any of those entry points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- frontend, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 42/100