diff --git a/defi/src/updateSearch.ts b/defi/src/updateSearch.ts index e2fac73665..36e24f2912 100644 --- a/defi/src/updateSearch.ts +++ b/defi/src/updateSearch.ts @@ -18,6 +18,7 @@ interface SearchResult { logo?: string; tvl?: number; mcap?: number; + volume?: number; deprecated?: boolean; type: string; hideType?: boolean; @@ -292,6 +293,7 @@ async function generateSearchList() { const [ tvlData, stablecoinsData, + bridgesData, frontendPages, tastyMetrics, protocolsMetadata, @@ -305,6 +307,7 @@ async function generateSearchList() { protocols: any[]; }, { peggedAssets: Array<{ name: string; symbol: string; circulating: { peggedUSD: number } }> }, + { bridges: Array<{name: string, displayName: string, icon: string, monthlyVolume: number, slug?: string}> }, Record>, Record, Record, @@ -313,6 +316,7 @@ async function generateSearchList() { ] = await Promise.all([ fetchJson("https://api.llama.fi/lite/protocols2"), fetchJson("https://stablecoins.llama.fi/stablecoins"), + fetchJson("https://bridges.llama.fi/bridges"), fetchJson("https://defillama.com/pages.json") .catch((e) => { @@ -695,6 +699,16 @@ async function generateSearchList() { type: "Stablecoin", })); + const bridges: Array = bridgesData.bridges.map((brg) => ({ + id: `bridge_${normalize(brg.name)}`, + name: brg.displayName, + volume: brg.monthlyVolume, + logo: `https://icons.llamao.fi/icons/protocols/${brg.icon.split(":")[1]}?w=48&h=48`, + route: `/bridge/${brg.slug ?? sluggifyString(brg.displayName ?? brg.name)}`, + v: tastyMetrics[`/bridge/${brg.slug}`] ?? 0, + type: "Bridge", + })); + const metrics: Array = (frontendPages["Metrics"] ?? []).map((i) => ({ id: `metric_${normalize(i.name)}`, name: i.name, @@ -741,6 +755,7 @@ async function generateSearchList() { chains: chains.sort((a, b) => b.v - a.v), protocols: protocols.sort((a, b) => b.v - a.v), stablecoins: stablecoins.sort((a, b) => b.v - a.v), + bridges: bridges.sort((a, b) => b.v - a.v), metrics: metrics.sort((a, b) => b.v - a.v), tools: tools.sort((a, b) => b.v - a.v), categories: categories.sort((a, b) => b.v - a.v), @@ -753,6 +768,7 @@ async function generateSearchList() { results: results.chains .concat(results.protocols) .concat(results.stablecoins) + .concat(results.bridges) .concat(results.metrics) .concat(results.tools) .concat(results.categories) @@ -768,6 +784,7 @@ async function generateSearchList() { .slice(0, 3) .concat(results.protocols.slice(0, 3)) .concat(results.stablecoins.slice(0, 3)) + .concat(results.bridges.slice(0, 3)) .concat(results.metrics.slice(0, 3)) .concat(results.categories.slice(0, 3)) .concat(results.tools.slice(0, 3))