Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
### What was wrong?
There are a few legitimate use cases for wanting to re-submit a transaction that has already been sent with modified parameters.
* Resending the same transaction with a higher gas price during times of network congestion.
* Quickly overriding a transaction sent in error (also by using a higher gas price)
* In a case where you *know* there is a signed transaction that was sent but never included in a block, ensuring that it will not be applied at some point in the future.
### How can it be fixed?
Implement a new API `web3.eth.overrideTransaction(txn_hash, txn_overrides)`
- `txn_hash` is the hash of the transaction you wish to override.
- `txn_overrides` is a dictionary of transaction parameters which should be used in place of the existing transaction parameters.
Behavior is as follows.
- *if* no transaction can be found with the given hash an exception is thrown.
- *if* the transaction has already been mined an exception is thrown.
- The `txn_overrides` may contain any/all fields that are normally accepted as transaction params except `nonce`.
- If `gasPrice` is included in the `txn_overrides`, it **must** be greater than the existing transaction gas price (TODO: should we allow a way to bypass this validation)
- if `gasPrice` is **not** included in the `txn_overrides` we should ???? (TODO: how do we choose an appropriate gas price?).