Skip to content

Commit

Permalink
feat: need to keep track of fee amount as well
Browse files Browse the repository at this point in the history
  • Loading branch information
alfetopito committed Jan 20, 2025
1 parent 9ee3155 commit 47d86e6
Showing 1 changed file with 18 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
import { useSetAtom } from 'jotai'
import { useEffect, useMemo } from 'react'
import { useMemo } from 'react'

import { FractionUtils, getWrappedToken } from '@cowprotocol/common-utils'
import { Fraction, Token } from '@uniswap/sdk-core'
import { CurrencyAmount, Fraction, Token } from '@uniswap/sdk-core'

import { Nullish } from 'types'

import { updateLimitRateAtom } from 'modules/limitOrders/state/limitRateAtom'
import { useDerivedTradeState } from 'modules/trade/hooks/useDerivedTradeState'
import { useTradeQuote } from 'modules/tradeQuote'
import { useUsdPrice } from 'modules/usdAmount/hooks/useUsdPrice'

import { useSafeEffect } from 'common/hooks/useSafeMemo'


export function QuoteObserverUpdater() {
const state = useDerivedTradeState()

Expand All @@ -23,10 +27,21 @@ export function QuoteObserverUpdater() {

const { price, isLoading } = useSpotPrice(inputToken, outputToken)

useEffect(() => {
// Update market rate based on spot prices
useSafeEffect(() => {
updateLimitRateState({ marketRate: price, isLoadingMarketRate: isLoading })
}, [price, isLoading, updateLimitRateState])

const { response } = useTradeQuote()
const { quote } = response || {}
const { feeAmount: feeAmountRaw } = quote || {}
const feeAmount = inputCurrency && feeAmountRaw ? CurrencyAmount.fromRawAmount(inputCurrency, feeAmountRaw) : null

// Update fee amount based on quote response
useSafeEffect(() => {
updateLimitRateState({ feeAmount })
}, [feeAmount, updateLimitRateState])

return null
}

Expand Down

0 comments on commit 47d86e6

Please sign in to comment.