Skip to content

Commit 70d992d

Browse files
authored
fix: onramp receive addresses (#11080)
1 parent 4870964 commit 70d992d

File tree

2 files changed

+16
-24
lines changed

2 files changed

+16
-24
lines changed

src/components/MultiHopTrade/components/FiatRamps/FiatRampTrade.tsx

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { useColorMode, usePrevious } from '@chakra-ui/react'
22
import type { AssetId } from '@shapeshiftoss/caip'
3-
import { fromAccountId } from '@shapeshiftoss/caip'
43
import type { Asset } from '@shapeshiftoss/types'
54
import { useQueryClient } from '@tanstack/react-query'
65
import { AnimatePresence } from 'framer-motion'
@@ -28,7 +27,7 @@ import { SharedTradeInput } from '@/components/MultiHopTrade/components/SharedTr
2827
import { SlideTransitionRoute } from '@/components/MultiHopTrade/components/SlideTransitionRoute'
2928
import type { CollapsibleQuoteListProps } from '@/components/MultiHopTrade/components/TradeInput/components/CollapsibleQuoteList'
3029
import { CollapsibleQuoteList } from '@/components/MultiHopTrade/components/TradeInput/components/CollapsibleQuoteList'
31-
import { getReceiveAddress } from '@/components/MultiHopTrade/hooks/useReceiveAddress'
30+
import { useReceiveAddress } from '@/components/MultiHopTrade/hooks/useReceiveAddress'
3231
import { TradeInputTab } from '@/components/MultiHopTrade/types'
3332
import { useDebounce } from '@/hooks/useDebounce/useDebounce'
3433
import { useModal } from '@/hooks/useModal/useModal'
@@ -91,7 +90,7 @@ const RampRoutes = memo(({ onChangeTab, direction }: RampRoutesProps) => {
9190
const dispatch = useAppDispatch()
9291
const navigate = useNavigate()
9392
const {
94-
state: { isConnected, wallet },
93+
state: { isConnected },
9594
} = useWallet()
9695

9796
const sellAsset = useAppSelector(selectInputSellAsset)
@@ -131,9 +130,11 @@ const RampRoutes = memo(({ onChangeTab, direction }: RampRoutesProps) => {
131130
selectPortfolioAccountMetadataByAccountId(state, buyAccountFilter),
132131
)
133132

134-
const walletReceiveAddress = useMemo(() => {
135-
return buyAccountId ? fromAccountId(buyAccountId).account : undefined
136-
}, [buyAccountId])
133+
const { walletReceiveAddress } = useReceiveAddress({
134+
sellAccountId: undefined,
135+
buyAccountId,
136+
buyAsset,
137+
})
137138

138139
const RampQuotesComponent = useCallback(
139140
(props: QuotesComponentProps) => {
@@ -337,22 +338,12 @@ const RampRoutes = memo(({ onChangeTab, direction }: RampRoutesProps) => {
337338
ramp: ramp.id,
338339
}
339340

340-
const receiveAddress =
341-
direction === FiatRampAction.Buy && buyAccountMetadata
342-
? await getReceiveAddress({
343-
asset: direction === FiatRampAction.Buy ? buyAsset : sellAsset,
344-
wallet,
345-
accountMetadata: buyAccountMetadata,
346-
pubKey: walletReceiveAddress,
347-
})
348-
: undefined
349-
350341
getMixPanel()?.track(MixPanelEvent.FiatRamp, mpData)
351342
const url = await ramp.onSubmit({
352343
action: direction,
353344
assetId:
354345
direction === FiatRampAction.Buy ? buyAsset?.assetId ?? '' : sellAsset?.assetId ?? '',
355-
address: manualReceiveAddress ?? receiveAddress ?? '',
346+
address: manualReceiveAddress ?? walletReceiveAddress ?? '',
356347
fiatCurrency:
357348
direction === FiatRampAction.Buy ? sellFiatCurrency.code : buyFiatCurrency.code,
358349
fiatAmount: direction === FiatRampAction.Buy ? buyFiatAmount : selectedQuote?.amount ?? '0',
@@ -384,7 +375,6 @@ const RampRoutes = memo(({ onChangeTab, direction }: RampRoutesProps) => {
384375
buyAccountMetadata,
385376
buyAsset,
386377
sellAsset,
387-
wallet,
388378
],
389379
)
390380

src/components/MultiHopTrade/components/FiatRamps/FiatRampTradeFooter.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { CardFooterProps, FlexProps } from '@chakra-ui/react'
22
import { CardFooter, Flex, useMediaQuery } from '@chakra-ui/react'
3-
import { fromAccountId } from '@shapeshiftoss/caip'
43
import type { Asset } from '@shapeshiftoss/types'
54
import noop from 'lodash/noop'
65
import type { JSX } from 'react'
@@ -11,6 +10,7 @@ import { FiatRampAction } from '@/components/Modals/FiatRamps/FiatRampsCommon'
1110
import { RateGasRow } from '@/components/MultiHopTrade/components/RateGasRow'
1211
import { SharedRecipientAddress } from '@/components/MultiHopTrade/components/SharedTradeInput/SharedRecipientAddress'
1312
import { Protocol } from '@/components/MultiHopTrade/components/TradeInput/components/Protocol'
13+
import { useReceiveAddress } from '@/components/MultiHopTrade/hooks/useReceiveAddress'
1414
import { Text } from '@/components/Text'
1515
import { useDiscoverAccounts } from '@/context/AppProvider/hooks/useDiscoverAccounts'
1616
import { bnOrZero } from '@/lib/bignumber/bignumber'
@@ -97,17 +97,19 @@ export const FiatRampTradeFooter = ({
9797
const sellFiatCurrency = useAppSelector(selectSellFiatCurrency)
9898
const buyFiatCurrency = useAppSelector(selectBuyFiatCurrency)
9999

100+
const { walletReceiveAddress, isLoading: isWalletReceiveAddressLoading } = useReceiveAddress({
101+
sellAccountId: undefined,
102+
buyAccountId,
103+
buyAsset,
104+
})
105+
100106
const [isSmallerThanXl] = useMediaQuery(`(max-width: ${breakpoints.xl})`, { ssr: false })
101107

102108
const selectedQuote = useMemo(
103109
() => (direction === FiatRampAction.Buy ? selectedBuyQuote : selectedSellQuote),
104110
[direction, selectedBuyQuote, selectedSellQuote],
105111
)
106112

107-
const walletReceiveAddress = useMemo(() => {
108-
return buyAccountId ? fromAccountId(buyAccountId).account : undefined
109-
}, [buyAccountId])
110-
111113
const { isFetching: isDiscoveringAccounts } = useDiscoverAccounts()
112114

113115
const isLoading = useMemo(() => {
@@ -227,7 +229,7 @@ export const FiatRampTradeFooter = ({
227229
{direction === FiatRampAction.Buy && buyAsset && (
228230
<SharedRecipientAddress
229231
buyAsset={buyAsset}
230-
isWalletReceiveAddressLoading={false}
232+
isWalletReceiveAddressLoading={isWalletReceiveAddressLoading}
231233
walletReceiveAddress={walletReceiveAddress}
232234
manualReceiveAddress={manualReceiveAddress}
233235
onCancel={handleCancel}

0 commit comments

Comments
 (0)