diff --git a/packages/extension/src/ui/action/views/swap-initiated/index.vue b/packages/extension/src/ui/action/views/swap-initiated/index.vue index 0c4ca52cc..68d73e2bf 100644 --- a/packages/extension/src/ui/action/views/swap-initiated/index.vue +++ b/packages/extension/src/ui/action/views/swap-initiated/index.vue @@ -37,7 +37,9 @@

{{ errorMessage }}

-

Try again

+

+ Try again +

Cancel @@ -61,6 +63,8 @@ import LottieError from '@action/assets/animation/error-big.json'; import LottieStatus from '@action/assets/animation/status.json'; import { Vue3Lottie } from 'vue3-lottie'; import { TokenType } from '@enkryptcom/swap'; +import { NetworkNames } from '@enkryptcom/types'; +import { BaseNetwork } from '@/types/base-network'; interface IProps { fromToken: TokenType; @@ -71,6 +75,7 @@ interface IProps { isHardware: boolean; isError: boolean; errorMessage: string; + network: BaseNetwork; } defineEmits<{ diff --git a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue index 8f1e8e271..1c4de618f 100644 --- a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue +++ b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue @@ -92,6 +92,7 @@ :is-hardware="account ? account.isHardware : false" :is-error="isTXSendError" :error-message="TXSendErrorMessage" + :network="network" @update:close="close" @update:try-again="sendAction" /> @@ -134,7 +135,7 @@ import BigNumber from 'bignumber.js'; import { defaultGasCostVals } from '@/providers/common/libs/default-vals'; import { SwapBestOfferWarnings } from '../../types'; import { NATIVE_TOKEN_ADDRESS } from '@/providers/ethereum/libs/common'; -import { EnkryptAccount } from '@enkryptcom/types'; +import { EnkryptAccount, NetworkNames } from '@enkryptcom/types'; import { getNetworkByName } from '@/libs/utils/networks'; import { getNetworkInfoByName, @@ -435,7 +436,18 @@ const sendAction = async () => { .catch(err => { console.error(err); isTXSendError.value = true; - TXSendErrorMessage.value = err.error ? err.error.message : err.message; + const error = err.error ? err.error.message : err.message; + if (network.value!.name !== NetworkNames.Solana) { + TXSendErrorMessage.value = err.error + ? err.error.message + : err.message; + } else { + TXSendErrorMessage.value = error + .toLowerCase() + .includes('simulation failed') + ? 'Network may be busy. Please try again at a later time.' + : error; + } trackSwapEvents(SwapEventType.swapFailed, { network: network.value!.name, fromToken: swapData.fromToken.name,