Occasionally, transactions can get "stuck" in the pipeline from a source to destination chain (e.g. due to one-off issues that arise with relayers that operate on top of the network).
Transactions have typically gotten "stuck" in the pipeline due to: (A) The transaction failing to relay from the source chain into the Axelar network for processing. (B) The transaction failing to get executed on the destination chain.
Users can recover a transaction that gets stuck in the pipeline by either:
- Searching for the transaction in the Axelarscan UI and having it invoke recovery.
- Incorporating the [AxelarJS SDK] and invoking those methods directly.
(A) If the transaction failed to relay from the source chain into the Axelar network for processing - (A) above - Axelarscan UI will show that the transaction has not been
APPROVED. It will show an option to "APPROVE" that will manually resubmit a request to the network.
The CALL APPROVED status will be updated once the network approves the transaction.
(B) If the transaction failed to get executed on the destination chain, then Axelarscan will provide the option for you to either:
- Manually execute a transfer on the destination chain, OR
- Increase gas payment to the gas receiver on the source chain.
Click the ‘Connect’ button under the label ‘Execute at destination chain’. Then click
The prepaid gas to the Gas Service contract [in step 2] could be insufficient when the destination chain is too busy (with many transfers or other conditions). Therefore, Axelarscan provides options to resubmit a new amount of gas as well as an option to refund the paid gas.
To do this:
- Click the
Connectbutton to connect your MetaMask wallet. Then switch the wallet network to the transfer’s source chain by clicking the
Switch Networkbutton under the label ‘Pay new gas at source chain.'
- Click the ‘Pay new gas’ button.
All of the recovery methods above can be done programmatically through our SDK. The benefit of this would be if you would like to incorporate these recovery features above in your application directly. In fact, Axelarscan makes use of all of these methods written into the SDK.
See SDK docs for [the full transaction recovery API].