Skip to content

Commit 3610972

Browse files
authored
Merge pull request #15457 from ethereum/hotfix-nocachegrowthepie
no cache for fetchGrowThePie due to response size
2 parents da7ddae + a83a983 commit 3610972

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

src/lib/api/fetchGrowThePie.ts

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,47 @@ type DataItem = {
1111

1212
const TXCOSTS_MEDIAN_USD = "txcosts_median_usd"
1313
const TXCOUNT = "txcount"
14+
const ACTIVE_ADDRESSES = "aa_last7d"
1415

1516
export const fetchGrowThePie = async (): Promise<GrowThePieData> => {
1617
const url = "https://api.growthepie.xyz/v1/fundamentals.json"
1718

18-
const response = await fetch(url)
19+
const response = await fetch(url, { cache: "no-store" })
1920
if (!response.ok) {
2021
console.log(response.status, response.statusText)
2122
throw new Error("Failed to fetch growthepie data")
2223
}
2324
const data: DataItem[] = await response.json()
2425

25-
const mostRecentDate = data.reduce((latest, item) => {
26+
// Get the date 7 days ago
27+
const sevenDaysAgo = new Date()
28+
sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7)
29+
30+
// Filter data to only include the last 7 days and the metrics we need
31+
const filteredData = data.filter((item) => {
32+
const itemDate = new Date(item.date)
33+
return (
34+
itemDate >= sevenDaysAgo &&
35+
[TXCOSTS_MEDIAN_USD, TXCOUNT, ACTIVE_ADDRESSES].includes(item.metric_key)
36+
)
37+
})
38+
39+
const mostRecentDate = filteredData.reduce((latest, item) => {
2640
const itemDate = new Date(item.date)
2741
return itemDate > new Date(latest) ? item.date : latest
28-
}, data[0].date)
42+
}, filteredData[0].date)
2943

30-
const activeAddresses = data
44+
const activeAddresses = filteredData
3145
.filter((item) => item.date === mostRecentDate)
32-
.filter((item) => item.metric_key === "aa_last7d")
46+
.filter((item) => item.metric_key === ACTIVE_ADDRESSES)
3347
.reduce((acc, item) => {
3448
return {
3549
...acc,
3650
[item.origin_key]: item.value,
3751
}
3852
}, {})
3953

40-
const mostRecentData = data.filter(
54+
const mostRecentData = filteredData.filter(
4155
(item) =>
4256
item.date === mostRecentDate &&
4357
[TXCOSTS_MEDIAN_USD, TXCOUNT].includes(item.metric_key)

0 commit comments

Comments
 (0)