MetaMask / MetaMask/metamask-mobile
Transaction data flow enhanced
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
### **Description**
The transaction data doesn't have a single source of truth and the logic behind that should be all shared between mobile and extension.
### **Technical Details**
We save on our redux state temporary transaction data when we do a transaction that it's accessible by `state.transaction`, which we ended up always resetting or cleaning.
The proposal here it's to do a refactor and have a unique source of truth to the transaction data on the TransactionController.
### **Acceptance Criteria**
* Actual transaction be managed on the transaction controller
* All the transaction data should and only be accessible from the TransactionController.
* Transaction logic should live on the TransactionController
Contributor guide
Research direction
Start by tracing the temporary transaction data stored in Redux at state.transaction and the existing TransactionController used by the mobile and extension flows. Identify where transaction data is reset, cleaned, or managed outside the controller. Done means the active transaction and its logic are managed by TransactionController, with no other access to transaction data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100