diff --git a/packages/arb-token-bridge-ui/src/components/TransactionsTable/TransactionsTableDepositRow.tsx b/packages/arb-token-bridge-ui/src/components/TransactionsTable/TransactionsTableDepositRow.tsx index b8716cdedc..2cc43f63da 100644 --- a/packages/arb-token-bridge-ui/src/components/TransactionsTable/TransactionsTableDepositRow.tsx +++ b/packages/arb-token-bridge-ui/src/components/TransactionsTable/TransactionsTableDepositRow.tsx @@ -53,8 +53,7 @@ function DepositRowStatus({ tx }: { tx: MergedTransaction }) { case DepositStatus.EXPIRED: return (
- Success - Expired + Failed
) @@ -121,7 +120,10 @@ export function TransactionsTableDepositRow({ const { redeem, isRedeeming } = useRedeemRetryable() const isError = useMemo(() => { - if (tx.depositStatus === DepositStatus.L1_FAILURE) { + if ( + tx.depositStatus === DepositStatus.L1_FAILURE || + tx.depositStatus === DepositStatus.EXPIRED + ) { return true } @@ -138,6 +140,11 @@ export function TransactionsTableDepositRow({ [tx] ) + const showRetryableExpiredText = useMemo( + () => tx.depositStatus === DepositStatus.EXPIRED, + [tx] + ) + const bgClassName = isError ? 'bg-brick' : '' return ( @@ -178,6 +185,21 @@ export function TransactionsTableDepositRow({ )} + + {showRetryableExpiredText && ( + + When an L2 tx fails, you have 7 days to re-execute. After that + time period, the tx is no longer recoverable. + + } + > + + Expired + + + )} ) diff --git a/packages/arb-token-bridge-ui/src/components/TransferPanel/DepositCard.tsx b/packages/arb-token-bridge-ui/src/components/TransferPanel/DepositCard.tsx index f1b837adb9..b2a7ff4671 100644 --- a/packages/arb-token-bridge-ui/src/components/TransferPanel/DepositCard.tsx +++ b/packages/arb-token-bridge-ui/src/components/TransferPanel/DepositCard.tsx @@ -123,7 +123,7 @@ export function DepositCardContainer({ } return ( -
+
{dismissable && ( - - -
-
- - L1 transaction: - - - L2 transaction:{' '} - {isRedeeming ? 'Pending...' : 'Failed. Try re-executing.'} - -
- + +
+ + + {`No worries, we can try again. You have ${retryableExpiryDaysText} to re-execute.`} + + +
+ + + Please connect to the L2 network to re-execute your deposit. + + } + > + + + +
+
+ + L1 transaction: + + + L2 transaction:{' '} + {isRedeeming ? 'Pending...' : 'Failed. Try re-executing.'} + +
+ + )} + ) } diff --git a/packages/arb-token-bridge-ui/src/components/TransferPanel/WithdrawalCard.tsx b/packages/arb-token-bridge-ui/src/components/TransferPanel/WithdrawalCard.tsx index eda2b15f46..c16f81e537 100644 --- a/packages/arb-token-bridge-ui/src/components/TransferPanel/WithdrawalCard.tsx +++ b/packages/arb-token-bridge-ui/src/components/TransferPanel/WithdrawalCard.tsx @@ -118,7 +118,7 @@ export function WithdrawalCardContainer({ } return ( -
+
{dismissable && (