while building a Dapp using metamask to make transactions, i figured that metamask is not responding correctly when a transaction is spedup, making my code wait forever for a canceled transaction that will never finish.
example:
const contract = new Contract(abi, address);
await contract.methods.increaseAllowance(address, amount);
// metamask popup shows and i approve,then, while waiting for the Tx to get mined, i hit the speed up button and approve the speedup (sending a new transactions but with more gas)
console.log("allowance increased") // if the transaction is spedup, this code will never run,
i can reproduce the issue multiple times, and it doesn't seem like metamask is aware of this. is there a way to fix this ? i don't see a way to listen on transaction speedup in their docs or at least a way to get teh new Tx hash to manually listen on it.