Skip to content

Commit

Permalink
fix: enforce pool redirection when closing removal modal after success (
Browse files Browse the repository at this point in the history
#1136)

* fix: enforce pool redirection when closing removal modal after success

* fix: avoid updating transaction if it's already successful
  • Loading branch information
agualis authored Sep 30, 2024
1 parent fd8d87c commit 0d0d87e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ import { useRemoveLiquidityPriceImpactQuery } from './queries/useRemoveLiquidity
import { RemoveLiquidityType } from './remove-liquidity.types'
import { Address, Hash } from 'viem'
import { emptyTokenAmounts, toHumanAmount } from '../LiquidityActionHelpers'
import { useDisclosure } from '@chakra-ui/hooks'
import { getPoolTokens, isCowAmmPool } from '../../pool.helpers'
import { isWrappedNativeAsset } from '@/lib/modules/tokens/token.helpers'
import { useRemoveLiquiditySimulationQuery } from './queries/useRemoveLiquiditySimulationQuery'
import { useRemoveLiquiditySteps } from './useRemoveLiquiditySteps'
import { useTransactionSteps } from '@/lib/modules/transactions/transaction-steps/useTransactionSteps'
import { HumanTokenAmountWithAddress } from '@/lib/modules/tokens/token.types'
import { getUserWalletBalance } from '../../user-balance.helpers'
import { useModalWithPoolRedirect } from '../../useModalWithPoolRedirect'

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

const maxHumanBptIn: HumanAmount = getUserWalletBalance(pool)
const humanBptIn: HumanAmount = bn(maxHumanBptIn)
Expand Down Expand Up @@ -234,6 +233,8 @@ export function _useRemoveLiquidity(urlTxHash?: Hash) {
transactionSteps.lastTransactionState,
])

const previewModalDisclosure = useModalWithPoolRedirect(pool, removeLiquidityTxHash)

return {
transactionSteps,
tokens: tokensToShow(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ export function _useTransactionState() {
v = resetTransaction(v)
}

// Avoid updating transaction if it's already successful (avoids unnecessary re-renders and side-effects)
if (getTransaction(k)?.result.status === 'success') return

setTransactionMap(new Map(transactionMap.set(k, v)))
}

Expand Down

0 comments on commit 0d0d87e

Please sign in to comment.