Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 0d0d87e

Browse files
authored
fix: enforce pool redirection when closing removal modal after success (#1136)
* fix: enforce pool redirection when closing removal modal after success * fix: avoid updating transaction if it's already successful
1 parent fd8d87c commit 0d0d87e

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

lib/modules/pool/actions/remove-liquidity/RemoveLiquidityProvider.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import { useRemoveLiquidityPriceImpactQuery } from './queries/useRemoveLiquidity
1515
import { RemoveLiquidityType } from './remove-liquidity.types'
1616
import { Address, Hash } from 'viem'
1717
import { emptyTokenAmounts, toHumanAmount } from '../LiquidityActionHelpers'
18-
import { useDisclosure } from '@chakra-ui/hooks'
1918
import { getPoolTokens, isCowAmmPool } from '../../pool.helpers'
2019
import { isWrappedNativeAsset } from '@/lib/modules/tokens/token.helpers'
2120
import { useRemoveLiquiditySimulationQuery } from './queries/useRemoveLiquiditySimulationQuery'
2221
import { useRemoveLiquiditySteps } from './useRemoveLiquiditySteps'
2322
import { useTransactionSteps } from '@/lib/modules/transactions/transaction-steps/useTransactionSteps'
2423
import { HumanTokenAmountWithAddress } from '@/lib/modules/tokens/token.types'
2524
import { getUserWalletBalance } from '../../user-balance.helpers'
25+
import { useModalWithPoolRedirect } from '../../useModalWithPoolRedirect'
2626

2727
export type UseRemoveLiquidityResponse = ReturnType<typeof _useRemoveLiquidity>
2828
export const RemoveLiquidityContext = createContext<UseRemoveLiquidityResponse | null>(null)
@@ -46,7 +46,6 @@ export function _useRemoveLiquidity(urlTxHash?: Hash) {
4646
const { getToken, usdValueForToken, getNativeAssetToken, getWrappedNativeAssetToken } =
4747
useTokens()
4848
const { isConnected } = useUserAccount()
49-
const previewModalDisclosure = useDisclosure()
5049

5150
const maxHumanBptIn: HumanAmount = getUserWalletBalance(pool)
5251
const humanBptIn: HumanAmount = bn(maxHumanBptIn)
@@ -234,6 +233,8 @@ export function _useRemoveLiquidity(urlTxHash?: Hash) {
234233
transactionSteps.lastTransactionState,
235234
])
236235

236+
const previewModalDisclosure = useModalWithPoolRedirect(pool, removeLiquidityTxHash)
237+
237238
return {
238239
transactionSteps,
239240
tokens: tokensToShow(),

lib/modules/transactions/transaction-steps/TransactionStateProvider.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ export function _useTransactionState() {
1919
v = resetTransaction(v)
2020
}
2121

22+
// Avoid updating transaction if it's already successful (avoids unnecessary re-renders and side-effects)
23+
if (getTransaction(k)?.result.status === 'success') return
24+
2225
setTransactionMap(new Map(transactionMap.set(k, v)))
2326
}
2427

0 commit comments

Comments
 (0)