-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
bugSomething isn't workingSomething isn't working
Description
When making a mainnet USDT swap between AVAX and Base, my transaction got stuck and I saw the following in the solver logs:
{"timestamp":"2025-10-20T04:12:55.355638Z","level":"ERROR","fields":{"message":"error trading","amount":"9860649","src_chain_id":"43114","dest_chain_id":"8453","request_id":"0x813812856abd6307cf7575ed8b9e31333e1d6d508feb19bae9efaa6ce528d922","error":"server returned an error response: error code 3: execution reverted: ERC20: transfer amount exceeds allowance, data: \"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002845524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365000000000000000000000000000000000000000000000000\""},"target":"onlyswaps_solver::executor"}
Restarting the solver caused a nonce too low error which then resolved itself after a few blocks.
I think this is because the solver watches without waiting for confirmations:
| let receipt = tx.watch().await?; |
Quoting the comment for watch:
/// Waits for the transaction to confirm with the given number of confirmations.
///
/// See:
/// - [`register`](Self::register): for registering the transaction without waiting for it to be
/// confirmed.
/// - [`get_receipt`](Self::get_receipt) for fetching the receipt after the transaction has been
/// confirmed.
pub async fn watch(self) -> Result<TxHash, PendingTransactionError> {
self.register().await?.await
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working