Skip to content

Commit 8f479aa

Browse files
committed
fixup! Add new ramp plugin scenes
- Simplify fetchExchangeRatesForFiat to use getHistoricalRate with current date - Remove unused useExchangeRateLoader hook
1 parent 02ec9bb commit 8f479aa

File tree

2 files changed

+0
-166
lines changed

2 files changed

+0
-166
lines changed

src/actions/ExchangeRateActions.ts

Lines changed: 0 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -359,117 +359,3 @@ export const closestRateForTimestamp = (
359359
}
360360
return bestRate
361361
}
362-
363-
/**
364-
* Fetches exchange rates for a specific fiat currency on demand.
365-
* This is used when the user wants to view rates in a currency other than their default.
366-
*/
367-
export function fetchExchangeRatesForFiat(
368-
fiatCurrencyCode: string
369-
): ThunkAction<Promise<void>> {
370-
return async (dispatch, getState) => {
371-
const state = getState()
372-
const { account } = state.core
373-
const { currencyWallets } = account
374-
const now = Date.now()
375-
const yesterday = getYesterdayDateRoundDownHour(now).toISOString()
376-
377-
// Build asset pairs for the requested fiat currency
378-
const assetPairs: AssetPair[] = []
379-
const pairExpiration = now + ONE_MONTH
380-
const rateExpiration = now + ONE_DAY
381-
382-
// If the fiat isn't dollars, get its price relative to USD
383-
if (fiatCurrencyCode !== 'iso:USD') {
384-
assetPairs.push({
385-
currency_pair: `iso:USD_${fiatCurrencyCode}`,
386-
date: undefined,
387-
expiration: pairExpiration
388-
})
389-
}
390-
391-
// Get rates for all wallet assets
392-
for (const walletId of Object.keys(currencyWallets)) {
393-
const wallet = currencyWallets[walletId]
394-
const { currencyCode } = wallet.currencyInfo
395-
396-
// Get the primary asset's prices for today
397-
assetPairs.push({
398-
currency_pair: `${currencyCode}_${fiatCurrencyCode}`,
399-
date: undefined,
400-
expiration: pairExpiration
401-
})
402-
403-
// Do the same for any tokens
404-
for (const tokenId of wallet.enabledTokenIds) {
405-
const token = wallet.currencyConfig.allTokens[tokenId]
406-
if (token == null) continue
407-
if (token.currencyCode === currencyCode) continue
408-
assetPairs.push({
409-
currency_pair: `${token.currencyCode}_${fiatCurrencyCode}`,
410-
date: undefined,
411-
expiration: pairExpiration
412-
})
413-
}
414-
}
415-
416-
// Fetch rates from server in batches
417-
const newRates: ExchangeRateCache = {}
418-
for (let i = 0; i < assetPairs.length; i += RATES_SERVER_MAX_QUERY_SIZE) {
419-
const query = assetPairs.slice(i, i + RATES_SERVER_MAX_QUERY_SIZE)
420-
421-
const options = {
422-
method: 'POST',
423-
headers: { 'Content-Type': 'application/json' },
424-
body: JSON.stringify({ data: query })
425-
}
426-
427-
try {
428-
const response = await fetchRates('v2/exchangeRates', options)
429-
if (response.ok) {
430-
const json = await response.json()
431-
const cleanedRates = asRatesResponse(json)
432-
for (const rate of cleanedRates.data) {
433-
const { currency_pair: currencyPair, exchangeRate, date } = rate
434-
const isHistorical = now - new Date(date).valueOf() > HOUR_MS
435-
const key = isHistorical ? `${currencyPair}_${date}` : currencyPair
436-
437-
if (exchangeRate != null) {
438-
newRates[key] = {
439-
expiration: rateExpiration,
440-
rate: parseFloat(exchangeRate)
441-
}
442-
}
443-
}
444-
}
445-
} catch (error: unknown) {
446-
console.log(
447-
`fetchExchangeRatesForFiat error querying rates server ${String(
448-
error
449-
)}`
450-
)
451-
}
452-
}
453-
454-
// Merge with existing rates
455-
const mergedRates = { ...exchangeRateCache?.rates, ...newRates }
456-
const { exchangeRates, exchangeRatesMap } = buildGuiRates(
457-
mergedRates,
458-
yesterday
459-
)
460-
461-
// Update Redux state
462-
dispatch({
463-
type: 'EXCHANGE_RATES/UPDATE_EXCHANGE_RATES',
464-
data: {
465-
exchangeRates,
466-
exchangeRatesMap
467-
}
468-
})
469-
470-
// Update the in-memory cache if it exists
471-
if (exchangeRateCache != null) {
472-
exchangeRateCache.rates = mergedRates
473-
}
474-
}
475-
}

src/hooks/useExchangeRateLoader.ts

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)