MetaMask / MetaMask/metamask-extension
Add sendMutableTransaction method
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
This is a pre-EIP type idea, but I'm calling it `sendMutableTransaction`.
Sometimes a site submits a transaction, and all it really wants is for you to respect its `to`, `from`, and `data` fields. It doesn't care about the `nonce`, or `gasPrice`, or `gasLimit`, and really doesn't care if the user retries with many different values for these fields to get a success, the Dapp just wants to know when it was successful.
Today, the only method a dapp gets is `sendTransaction`, and this returns a transaction hash once the user approves, which means if the user uses our `speed up with higher gas price` feature, the dapp's reference to the transaction will break.
Instead, it would be helpful to provide a new method, maybe called `sendMutableTransaction`, that gets back a locally unique transaction identifier instead of a tx hash, so that the dapp can monitor retry attempts, and easily see when the transaction is eventually successful, even if it took several different tries.
This also paves the way for advanced bidding type transactions, where gas price is incrementally raised until it is mined.
Steps forward:
- [ ] Concretely specify this method, and post publicly on [ethereum-magicians](https://ethereum-magicians.org/t/strange-loop-an-ethereum-governance-framework-proposal/268) for comment.
- [ ] Once specification is good enough, add to MetaMask.
Contributor guide
Research direction
No implementation files or tests are named. Start by concretely specifying the proposed sendMutableTransaction method, then post the specification to the linked ethereum-magicians discussion for comment; the work is ready when the specification is accepted and the MetaMask addition can be defined from it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100