From 33d8f350da5d425bd1bf4070b0e84923e36a3873 Mon Sep 17 00:00:00 2001 From: esser Date: Tue, 16 Jun 2026 09:05:21 +0800 Subject: [PATCH] fix: add sav eth --- src/tokens/apy/avantprotocol/apy.ts | 36 ++++++++++++++++++----- src/tokens/apy/avantprotocol/constants.ts | 6 +++- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/tokens/apy/avantprotocol/apy.ts b/src/tokens/apy/avantprotocol/apy.ts index d2e1343..e51894d 100644 --- a/src/tokens/apy/avantprotocol/apy.ts +++ b/src/tokens/apy/avantprotocol/apy.ts @@ -2,12 +2,18 @@ import { cachedAxios } from "../../../core/axios"; import type { APYHandler, APYResult } from "../constants"; import { PROTOCOL, TOKENS } from "./constants"; -interface Response { +interface SavUSDResponse { savusdApy: string; lastUpdated: string; } -const getUrl = () => "https://app.avantprotocol.com/api/savusdApy"; +interface SavETHResponse { + apy: string; + lastUpdated: string; +} + +const getSavUSDUrl = () => "https://app.avantprotocol.com/api/savusdApy"; +const getSavETHUrl = () => "https://app.avantprotocol.com/api/apy/saveth"; const getAPYAvantprotocol: APYHandler = async network => { const tokens = TOKENS[network] || {}; @@ -16,17 +22,15 @@ const getAPYAvantprotocol: APYHandler = async network => { ); if (tokenEntries.length === 0) return {}; - const { data } = await cachedAxios.get(getUrl()); - - const rate = data?.savusdApy || 0; - const result: APYResult = {}; if (tokens?.savUSD) { + const { data } = await cachedAxios.get(getSavUSDUrl()); + const rate = data?.savusdApy || 0; + result[tokens.savUSD] = { address: tokens.savUSD, symbol: "savUSD", - apys: [ { address: tokens.savUSD, @@ -38,6 +42,24 @@ const getAPYAvantprotocol: APYHandler = async network => { }; } + if (tokens?.savETH) { + const { data } = await cachedAxios.get(getSavETHUrl()); + const rate = data?.apy || 0; + + result[tokens.savETH] = { + address: tokens.savETH, + symbol: "savETH", + apys: [ + { + address: tokens.savETH, + symbol: "savETH", + protocol: PROTOCOL, + value: Number(rate), + }, + ], + }; + } + return result; }; diff --git a/src/tokens/apy/avantprotocol/constants.ts b/src/tokens/apy/avantprotocol/constants.ts index 1bcdb83..8fe3992 100644 --- a/src/tokens/apy/avantprotocol/constants.ts +++ b/src/tokens/apy/avantprotocol/constants.ts @@ -2,12 +2,16 @@ import type { NetworkType } from "@gearbox-protocol/sdk"; import type { Address } from "viem"; import type { PartialRecord } from "../../../core/utils"; -export const TOKENS: PartialRecord = { +export const TOKENS: PartialRecord< + NetworkType, + { savUSD?: Address; savETH?: Address } +> = { Plasma: { savUSD: "0xa29420057f3e3b9512d4786df135da1674bd74d4", }, Mainnet: { savUSD: "0xb8d89678e75a973e74698c976716308abb8a46a4", + savETH: "0xda06ee2dacf9245aa80072a4407debdea0d7e341", }, };