From 18c52e5dcfcef6ae0e0c2c8d0f13e6a0e712a74f Mon Sep 17 00:00:00 2001 From: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:38:42 +0000 Subject: [PATCH 1/9] init From 156039e446e34632b4b9deb5027f021032918de0 Mon Sep 17 00:00:00 2001 From: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Tue, 3 Mar 2026 14:49:08 +0000 Subject: [PATCH 2/9] feat: soft migration prompt (#1068) * chore: partial migration feature * feat: cleanup * feat: adjust location of text * chore: rebase fixes * chore: cleanup on aisle 3 * feat: refine selection for user * chore: rename hooks to clarify use * chore: remove allocator suggestions, filter low yield --- .../portfolio/constants/externalTokens.ts | 172 ++++++++++++++ .../portfolio/hooks/getEligibleVaults.ts | 55 +++++ .../portfolio/hooks/usePortfolioModel.ts | 222 ++++++++++-------- .../portfolio/hooks/useTokenSuggestions.ts | 59 +++++ .../portfolio/hooks/useVaultSuggestions.ts | 60 +++++ src/components/pages/portfolio/index.tsx | 34 ++- .../vaults/components/SuggestedVaultCard.tsx | 19 +- 7 files changed, 506 insertions(+), 115 deletions(-) create mode 100644 src/components/pages/portfolio/constants/externalTokens.ts create mode 100644 src/components/pages/portfolio/hooks/getEligibleVaults.ts create mode 100644 src/components/pages/portfolio/hooks/useTokenSuggestions.ts create mode 100644 src/components/pages/portfolio/hooks/useVaultSuggestions.ts diff --git a/src/components/pages/portfolio/constants/externalTokens.ts b/src/components/pages/portfolio/constants/externalTokens.ts new file mode 100644 index 000000000..efc3f4547 --- /dev/null +++ b/src/components/pages/portfolio/constants/externalTokens.ts @@ -0,0 +1,172 @@ +export type TExternalToken = { + address: string + chainId: number + protocol: string + underlyingSymbol: string + underlyingAddress: string +} + +export const EXTERNAL_TOKENS: TExternalToken[] = [ + // Aave V3 (Ethereum) + { + address: '0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' + }, + { + address: '0x4d5F47FA6A74757f35C14fD3a6Ef8E3C9BC514E8', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'WETH', + underlyingAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' + }, + { + address: '0x018008bfb33d285247A21d44E50697654f754e63', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'DAI', + underlyingAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F' + }, + { + address: '0x23878914EFE38d27C4D67Ab83ed1b93A74D4086a', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'USDT', + underlyingAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7' + }, + { + address: '0x5Ee5bf7ae06D1Be5997A1A72006FE6C607eC6DE8', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'WBTC', + underlyingAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' + }, + // Compound V3 (Ethereum) + { + address: '0xc3d688B66703497DAA19211EEdff47f25384cdc3', + chainId: 1, + protocol: 'Compound V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' + }, + { + address: '0xA17581A9E3356d9A858b789D68B4d866e593aE94', + chainId: 1, + protocol: 'Compound V3', + underlyingSymbol: 'WETH', + underlyingAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' + }, + // Spark (Ethereum) + { + address: '0x83F20F44975D03b1b09e64809B757c47f942BEeA', + chainId: 1, + protocol: 'Spark', + underlyingSymbol: 'DAI', + underlyingAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F' + }, + { + address: '0xC7B5EB38B554dEc4F1fB31bfbe08D81A4Ff09EaE', + chainId: 1, + protocol: 'Spark', + underlyingSymbol: 'DAI', + underlyingAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F' + }, + // Morpho (Ethereum) - key vault receipt tokens + { + address: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'USDC', + underlyingAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' + }, + { + address: '0x78Fc2c2eD71dAb0491d268d1a40B6d6f44b2BeC8', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'WETH', + underlyingAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' + }, + { + address: '0x2371e134e3455e0593363cBF89d3b6cf53740618', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'DAI', + underlyingAddress: '0x6B175474E89094C44Da98b954EedeAC495271d0F' + }, + { + address: '0x8CB3649114051E4C8F3816Ef3f980cD1635Aba27', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'USDT', + underlyingAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7' + }, + { + address: '0xd63070114470f685b75B74D60EEc7c1113d33a3D', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'WETH', + underlyingAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' + }, + { + address: '0x4881Ef0BF6d2365D3dd6499ccd7532bcdBcE0658', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'USDC', + underlyingAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' + }, + // Aave V3 (Arbitrum) + { + address: '0x724dc807b04555b71ed48a6896b6F41593b8C637', + chainId: 42161, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831' + }, + { + address: '0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8', + chainId: 42161, + protocol: 'Aave V3', + underlyingSymbol: 'WETH', + underlyingAddress: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1' + }, + // Aave V3 (Base) + { + address: '0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB', + chainId: 8453, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913' + }, + { + address: '0xD4a0e0b9149BCee3C920d2E00b5dE09138fd8bb7', + chainId: 8453, + protocol: 'Aave V3', + underlyingSymbol: 'WETH', + underlyingAddress: '0x4200000000000000000000000000000000000006' + }, + // Aave V3 (Optimism) + { + address: '0x38d693cE1dF5AaDF7bC62043e37bC30b0B186AF', + chainId: 10, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85' + }, + // Aave V3 (Polygon) + { + address: '0xA4D94019934D8333Ef880ABFFbF2FDd611C0b352', + chainId: 137, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359' + }, + { + address: '0xe50fA9b3c56FfB159cB0FCA61F5c9D750e8128c8', + chainId: 137, + protocol: 'Aave V3', + underlyingSymbol: 'WETH', + underlyingAddress: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619' + } +] diff --git a/src/components/pages/portfolio/hooks/getEligibleVaults.ts b/src/components/pages/portfolio/hooks/getEligibleVaults.ts new file mode 100644 index 000000000..a0e16f49e --- /dev/null +++ b/src/components/pages/portfolio/hooks/getEligibleVaults.ts @@ -0,0 +1,55 @@ +import { + getVaultAPR, + getVaultInfo, + getVaultMigration, + getVaultToken, + getVaultTVL, + getVaultVersion, + type TKongVault +} from '@pages/vaults/domain/kongVaultSelectors' +import { deriveListKind, UNDERLYING_ASSET_OVERRIDES } from '@pages/vaults/utils/vaultListFacets' +import { getVaultKey } from '@shared/hooks/useVaultFilterUtils' + +export function normalizeSymbol(symbol: string): string { + const upper = symbol.trim().toUpperCase() + return UNDERLYING_ASSET_OVERRIDES[upper] ?? upper +} + +const isV3Vault = (vault: TKongVault): boolean => { + const version = getVaultVersion(vault) + return version.startsWith('3') || version.startsWith('~3') +} + +export function selectPreferredVault(candidates: TKongVault[]): TKongVault | undefined { + const v3Candidates = candidates.filter(isV3Vault) + if (v3Candidates.length === 0) return undefined + + const qualifying = v3Candidates.filter((vault) => { + const tvl = getVaultTVL(vault).tvl ?? 0 + const apr = getVaultAPR(vault).forwardAPR.netAPR + return tvl > 500_000 && apr > 0.04 + }) + + if (qualifying.length > 0) { + return qualifying.reduce((best, vault) => + (getVaultTVL(vault).tvl ?? 0) < (getVaultTVL(best).tvl ?? 0) ? vault : best + ) + } + + return v3Candidates.reduce((best, vault) => + (getVaultTVL(vault).tvl ?? 0) > (getVaultTVL(best).tvl ?? 0) ? vault : best + ) +} + +export function getEligibleVaults(vaults: Record, holdingsKeySet: Set): TKongVault[] { + return Object.values(vaults).filter((vault) => { + const info = getVaultInfo(vault) + const migration = getVaultMigration(vault) + if (Boolean(info.isHidden) || Boolean(info.isRetired) || Boolean(migration.available)) return false + if (deriveListKind(vault) !== 'allocator') return false + if (getVaultAPR(vault).forwardAPR.netAPR <= 0.005) return false + if ((getVaultTVL(vault).tvl ?? 0) <= 0) return false + if (holdingsKeySet.has(getVaultKey(vault))) return false + return (getVaultToken(vault).symbol ?? '').trim() !== '' + }) +} diff --git a/src/components/pages/portfolio/hooks/usePortfolioModel.ts b/src/components/pages/portfolio/hooks/usePortfolioModel.ts index d3e185148..6a4f314ba 100644 --- a/src/components/pages/portfolio/hooks/usePortfolioModel.ts +++ b/src/components/pages/portfolio/hooks/usePortfolioModel.ts @@ -1,3 +1,5 @@ +import { useTokenSuggestions } from '@pages/portfolio/hooks/useTokenSuggestions' +import { useVaultSuggestions } from '@pages/portfolio/hooks/useVaultSuggestions' import { KATANA_CHAIN_ID } from '@pages/vaults/constants/addresses' import { getVaultAddress, @@ -24,10 +26,10 @@ type THoldingsRow = { hrefOverride?: string } -type TSuggestedVaultRow = { - key: string - vault: TKongVault -} +export type TSuggestedItem = + | { type: 'external'; key: string; vault: TKongVault; externalProtocol: string; underlyingSymbol: string } + | { type: 'personalized'; key: string; vault: TKongVault; matchedSymbol: string } + | { type: 'generic'; key: string; vault: TKongVault } export type TPortfolioBlendedMetrics = { blendedCurrentAPY: number | null @@ -46,7 +48,7 @@ export type TPortfolioModel = { openLoginModal: () => void sortBy: TPossibleSortBy sortDirection: TSortDirection - suggestedRows: TSuggestedVaultRow[] + suggestedRows: TSuggestedItem[] totalPortfolioValue: number vaultFlags: Record setSortBy: TSortStateSetter @@ -76,74 +78,65 @@ export function usePortfolioModel(): TPortfolioModel { const [sortBy, setSortBy] = useState('deposited') const [sortDirection, setSortDirection] = useState('desc') - const vaultLookup = useMemo(() => { - const map = new Map() - - Object.values(vaults).forEach((vault) => { - const vaultKey = getVaultKey(vault) - map.set(vaultKey, vault) - - const staking = getVaultStaking(vault) - if (staking?.available && staking.address) { - const stakingKey = getChainAddressKey(getVaultChainID(vault), staking.address) - map.set(stakingKey, vault) - } - }) - - return map - }, [vaults]) + const vaultLookup = useMemo( + () => + new Map( + Object.values(vaults).flatMap((vault) => { + const entries: [string, TKongVault][] = [[getVaultKey(vault), vault]] + const staking = getVaultStaking(vault) + if (staking?.available && staking.address) { + entries.push([getChainAddressKey(getVaultChainID(vault), staking.address), vault]) + } + return entries + }) + ), + [vaults] + ) const holdingsVaults = useMemo(() => { - const result: TKongVault[] = [] - const seen = new Set() - - Object.entries(balances || {}).forEach(([chainIDKey, perChain]) => { + const allMatched = Object.entries(balances || {}).flatMap(([chainIDKey, perChain]) => { const parsedChainID = Number(chainIDKey) const chainID = Number.isFinite(parsedChainID) ? parsedChainID : undefined - Object.values(perChain || {}).forEach((token) => { - if (!token?.balance || token.balance.raw <= 0n) { - return - } - const tokenChainID = chainID ?? token.chainID - const tokenKey = getChainAddressKey(tokenChainID, token.address) - const vault = vaultLookup.get(tokenKey) - if (!vault) { - return - } - const vaultKey = getVaultKey(vault) - if (seen.has(vaultKey)) { - return - } - seen.add(vaultKey) - result.push(vault) - }) + return Object.values(perChain || {}) + .filter((token) => token?.balance && token.balance.raw > 0n) + .flatMap((token) => { + const vault = vaultLookup.get(getChainAddressKey(chainID ?? token.chainID, token.address)) + return vault ? [vault] : [] + }) }) - return result - }, [balances, vaultLookup]) - - const vaultFlags = useMemo(() => { - const flags: Record = {} - - holdingsVaults.forEach((vault) => { + const seen = new Set() + return allMatched.filter((vault) => { const key = getVaultKey(vault) - const info = getVaultInfo(vault) - const migration = getVaultMigration(vault) - flags[key] = { - hasHoldings: true, - isMigratable: Boolean(migration?.available), - isRetired: Boolean(info?.isRetired), - isHidden: Boolean(info?.isHidden) - } + if (seen.has(key)) return false + seen.add(key) + return true }) + }, [balances, vaultLookup]) - return flags - }, [holdingsVaults]) + const vaultFlags = useMemo( + () => + Object.fromEntries( + holdingsVaults.map((vault) => { + const info = getVaultInfo(vault) + const migration = getVaultMigration(vault) + return [ + getVaultKey(vault), + { + hasHoldings: true, + isMigratable: Boolean(migration?.available), + isRetired: Boolean(info?.isRetired), + isHidden: Boolean(info?.isHidden) + } + ] + }) + ) as Record, + [holdingsVaults] + ) const isSearchingBalances = (isActive || isUserConnecting) && (isWalletLoading || isUserConnecting || isIdentityLoading) - const isLoading = isLoadingVaultList - const isHoldingsLoading = (isLoading && isActive) || isSearchingBalances + const isHoldingsLoading = (isLoadingVaultList && isActive) || isSearchingBalances const suggestedVaultCandidates = useMemo( () => @@ -169,26 +162,64 @@ export function usePortfolioModel(): TPortfolioModel { const holdingsKeySet = useMemo(() => new Set(sortedHoldings.map((vault) => getVaultKey(vault))), [sortedHoldings]) - const suggestedVaults = useMemo( + const genericVaults = useMemo( () => sortedCandidates.filter((vault) => !holdingsKeySet.has(getVaultKey(vault))).slice(0, 4), [sortedCandidates, holdingsKeySet] ) - const holdingsRows = useMemo(() => { - return sortedHoldings.map((vault) => { - const key = getVaultKey(vault) - const hrefOverride = isPortfolioV3Vault(vault) - ? undefined - : `/vaults/${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}` - return { key, vault, hrefOverride } - }) - }, [sortedHoldings]) + const tokenSuggestions = useTokenSuggestions(holdingsKeySet) + const { suggestions: vaultSuggestions } = useVaultSuggestions(holdingsKeySet) - const suggestedRows = useMemo( - () => suggestedVaults.map((vault) => ({ key: getVaultKey(vault), vault })), - [suggestedVaults] + const holdingsRows = useMemo( + () => + sortedHoldings.map((vault) => ({ + key: getVaultKey(vault), + vault, + hrefOverride: isPortfolioV3Vault(vault) + ? undefined + : `/vaults/${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}` + })), + [sortedHoldings] ) + const suggestedRows = useMemo((): TSuggestedItem[] => { + const candidates: { item: TSuggestedItem; vaultKey: string }[] = [ + ...vaultSuggestions.slice(0, 2).map((ext) => ({ + item: { + type: 'external' as const, + key: `ext-${getVaultKey(ext.vault)}`, + vault: ext.vault, + externalProtocol: ext.externalProtocol, + underlyingSymbol: ext.underlyingSymbol + }, + vaultKey: getVaultKey(ext.vault) + })), + ...tokenSuggestions.map((ps) => ({ + item: { + type: 'personalized' as const, + key: `pers-${getVaultKey(ps.vault)}`, + vault: ps.vault, + matchedSymbol: ps.matchedSymbol + }, + vaultKey: getVaultKey(ps.vault) + })), + ...genericVaults.map((vault) => ({ + item: { type: 'generic' as const, key: `gen-${getVaultKey(vault)}`, vault }, + vaultKey: getVaultKey(vault) + })) + ] + + const seen = new Set() + return candidates + .filter(({ vaultKey }) => { + if (seen.has(vaultKey)) return false + seen.add(vaultKey) + return true + }) + .slice(0, 4) + .map(({ item }) => item) + }, [vaultSuggestions, tokenSuggestions, genericVaults]) + const hasHoldings = sortedHoldings.length > 0 const hasKatanaHoldings = useMemo( () => holdingsVaults.some((vault) => getVaultChainID(vault) === KATANA_CHAIN_ID), @@ -244,50 +275,33 @@ export function usePortfolioModel(): TPortfolioModel { ) const blendedMetrics = useMemo(() => { + const isFiniteNumber = (v: number | null): v is number => v !== null && Number.isFinite(v) + const { totalValue, weightedCurrent, weightedHistorical, hasCurrent, hasHistorical } = holdingsVaults.reduce( (acc, vault) => { const value = getVaultValue(vault) - if (!Number.isFinite(value) || value <= 0) { - return acc - } + if (!Number.isFinite(value) || value <= 0) return acc const estimatedAPY = getVaultEstimatedAPY(vault) - const newWeightedCurrent = - typeof estimatedAPY === 'number' && Number.isFinite(estimatedAPY) - ? acc.weightedCurrent + value * estimatedAPY - : acc.weightedCurrent - const newHasCurrent = acc.hasCurrent || (typeof estimatedAPY === 'number' && Number.isFinite(estimatedAPY)) - const historicalAPY = getVaultHistoricalAPY(vault) - const newWeightedHistorical = - typeof historicalAPY === 'number' && Number.isFinite(historicalAPY) - ? acc.weightedHistorical + value * historicalAPY - : acc.weightedHistorical - const newHasHistorical = - acc.hasHistorical || (typeof historicalAPY === 'number' && Number.isFinite(historicalAPY)) return { totalValue: acc.totalValue + value, - weightedCurrent: newWeightedCurrent, - weightedHistorical: newWeightedHistorical, - hasCurrent: newHasCurrent, - hasHistorical: newHasHistorical + weightedCurrent: acc.weightedCurrent + (isFiniteNumber(estimatedAPY) ? value * estimatedAPY : 0), + weightedHistorical: acc.weightedHistorical + (isFiniteNumber(historicalAPY) ? value * historicalAPY : 0), + hasCurrent: acc.hasCurrent || isFiniteNumber(estimatedAPY), + hasHistorical: acc.hasHistorical || isFiniteNumber(historicalAPY) } }, { totalValue: 0, weightedCurrent: 0, weightedHistorical: 0, hasCurrent: false, hasHistorical: false } ) - const blendedCurrentAPY = totalValue > 0 && hasCurrent ? weightedCurrent / totalValue : null - const blendedHistoricalAPY = totalValue > 0 && hasHistorical ? weightedHistorical / totalValue : null - const blendedCurrentAPYPercent = blendedCurrentAPY !== null ? blendedCurrentAPY * 100 : null - const blendedHistoricalAPYPercent = blendedHistoricalAPY !== null ? blendedHistoricalAPY * 100 : null - const estimatedAnnualReturn = blendedCurrentAPY !== null ? totalPortfolioValue * blendedCurrentAPY : null - - return { - blendedCurrentAPY: blendedCurrentAPYPercent, - blendedHistoricalAPY: blendedHistoricalAPYPercent, - estimatedAnnualReturn - } + const blendedCurrentAPY = totalValue > 0 && hasCurrent ? (weightedCurrent / totalValue) * 100 : null + const blendedHistoricalAPY = totalValue > 0 && hasHistorical ? (weightedHistorical / totalValue) * 100 : null + const estimatedAnnualReturn = + totalValue > 0 && hasCurrent ? totalPortfolioValue * (weightedCurrent / totalValue) : null + + return { blendedCurrentAPY, blendedHistoricalAPY, estimatedAnnualReturn } }, [getVaultEstimatedAPY, getVaultHistoricalAPY, getVaultValue, holdingsVaults, totalPortfolioValue]) return { diff --git a/src/components/pages/portfolio/hooks/useTokenSuggestions.ts b/src/components/pages/portfolio/hooks/useTokenSuggestions.ts new file mode 100644 index 000000000..e9e57855c --- /dev/null +++ b/src/components/pages/portfolio/hooks/useTokenSuggestions.ts @@ -0,0 +1,59 @@ +import { getEligibleVaults, normalizeSymbol, selectPreferredVault } from '@pages/portfolio/hooks/getEligibleVaults' +import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { useWallet } from '@shared/contexts/useWallet' +import { useYearn } from '@shared/contexts/useYearn' +import { getVaultKey } from '@shared/hooks/useVaultFilterUtils' +import { useMemo } from 'react' + +export type TTokenSuggestion = { + vault: TKongVault + matchedSymbol: string +} + +export function useTokenSuggestions(holdingsKeySet: Set): TTokenSuggestion[] { + const { balances } = useWallet() + const { vaults } = useYearn() + + return useMemo(() => { + const userTokens = Object.values(balances ?? {}).flatMap((perChain) => + Object.values(perChain ?? {}).filter( + (token) => token?.balance && token.balance.raw > 0n && token.symbol && token.value > 1 + ) + ) + + const symbolTotals = userTokens.reduce((acc, { symbol, value }) => { + const normalized = normalizeSymbol(symbol) + if (!normalized) return acc + return acc.set(normalized, (acc.get(normalized) ?? 0) + value) + }, new Map()) + + const sortedSymbols = [...symbolTotals.entries()].sort((a, b) => b[1] - a[1]) + + const eligible = getEligibleVaults(vaults, holdingsKeySet) + + const vaultsBySymbol = eligible.reduce((acc, vault) => { + const vaultSymbol = normalizeSymbol(getVaultToken(vault).symbol ?? '') + if (!vaultSymbol) return acc + return acc.set(vaultSymbol, [...(acc.get(vaultSymbol) ?? []), vault]) + }, new Map()) + + return sortedSymbols.reduce<{ results: TTokenSuggestion[]; usedVaults: Set }>( + (acc, [symbol]) => { + if (acc.results.length >= 4) return acc + const candidates = vaultsBySymbol.get(symbol) + if (!candidates?.length) return acc + + const bestVault = selectPreferredVault(candidates.filter((vault) => !acc.usedVaults.has(getVaultKey(vault)))) + + if (!bestVault) return acc + + acc.usedVaults.add(getVaultKey(bestVault)) + return { + results: [...acc.results, { vault: bestVault, matchedSymbol: symbol }], + usedVaults: acc.usedVaults + } + }, + { results: [], usedVaults: new Set() } + ).results + }, [balances, vaults, holdingsKeySet]) +} diff --git a/src/components/pages/portfolio/hooks/useVaultSuggestions.ts b/src/components/pages/portfolio/hooks/useVaultSuggestions.ts new file mode 100644 index 000000000..8ce737338 --- /dev/null +++ b/src/components/pages/portfolio/hooks/useVaultSuggestions.ts @@ -0,0 +1,60 @@ +import { EXTERNAL_TOKENS } from '@pages/portfolio/constants/externalTokens' +import { getEligibleVaults, normalizeSymbol, selectPreferredVault } from '@pages/portfolio/hooks/getEligibleVaults' +import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { useWeb3 } from '@shared/contexts/useWeb3' +import { useYearn } from '@shared/contexts/useYearn' +import { useEnsoBalances } from '@shared/hooks/useEnsoBalances' +import { toAddress } from '@shared/utils' +import { useMemo } from 'react' + +export type TVaultSuggestion = { + vault: TKongVault + externalProtocol: string + underlyingSymbol: string +} + +export function useVaultSuggestions(holdingsKeySet: Set): { + suggestions: TVaultSuggestion[] +} { + const { address } = useWeb3() + const { vaults } = useYearn() + const { data: ensoBalances } = useEnsoBalances(address) + + const detectedTokens = useMemo( + () => + EXTERNAL_TOKENS.filter((token) => { + const balance = ensoBalances?.[token.chainId]?.[toAddress(token.address)]?.balance + return balance && balance.raw > 0n + }), + [ensoBalances] + ) + + const suggestions = useMemo(() => { + if (detectedTokens.length === 0) return [] + + const eligible = getEligibleVaults(vaults, holdingsKeySet) + + const vaultsBySymbol = eligible.reduce((acc, vault) => { + const normalized = normalizeSymbol(getVaultToken(vault).symbol ?? '') + return acc.set(normalized, [...(acc.get(normalized) ?? []), vault]) + }, new Map()) + + const bestVaultByUnderlying = new Map( + [...vaultsBySymbol.entries()] + .map(([symbol, candidates]) => [symbol, selectPreferredVault(candidates)] as const) + .filter((entry): entry is [string, TKongVault] => entry[1] !== undefined) + ) + + return detectedTokens + .flatMap((token) => { + const normalized = normalizeSymbol(token.underlyingSymbol) + const bestVault = bestVaultByUnderlying.get(normalized) + if (!bestVault) return [] + + return [{ vault: bestVault, externalProtocol: token.protocol, underlyingSymbol: token.underlyingSymbol }] + }) + .slice(0, 2) + }, [detectedTokens, vaults, holdingsKeySet]) + + return { suggestions } +} diff --git a/src/components/pages/portfolio/index.tsx b/src/components/pages/portfolio/index.tsx index 958eb92e9..592af2fcc 100644 --- a/src/components/pages/portfolio/index.tsx +++ b/src/components/pages/portfolio/index.tsx @@ -1,5 +1,7 @@ import { usePlausible } from '@hooks/usePlausible' import { EmptySectionCard } from '@pages/portfolio/components/EmptySectionCard' +import { type TPortfolioModel, usePortfolioModel } from '@pages/portfolio/hooks/usePortfolioModel' +import { useVaultWithStakingRewards } from '@pages/portfolio/hooks/useVaultWithStakingRewards' import { VaultsListHead } from '@pages/vaults/components/list/VaultsListHead' import { VaultsListRow } from '@pages/vaults/components/list/VaultsListRow' import { Notification } from '@pages/vaults/components/notifications/Notification' @@ -34,8 +36,6 @@ import type { CSSProperties, ReactElement } from 'react' import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { useSearchParams } from 'react-router' import { useChainId, useSwitchChain } from 'wagmi' -import { type TPortfolioModel, usePortfolioModel } from './hooks/usePortfolioModel' -import { useVaultWithStakingRewards } from './hooks/useVaultWithStakingRewards' const currencyFormatter = new Intl.NumberFormat('en-US', { style: 'currency', @@ -108,7 +108,7 @@ function PortfolioHeaderSection({ ) const metricSpinner = ( - + ) @@ -915,22 +915,38 @@ function PortfolioSuggestedSection({ suggestedRows }: TPortfolioSuggestedProps): return null } + const hasPersonalized = suggestedRows.some((r) => r.type === 'personalized' || r.type === 'external') + const tooltipText = hasPersonalized + ? 'Suggestions based on tokens in your wallet and vault performance.' + : 'Vaults picked for you based on performance and popularity.' + return (
{'Vaults picked for you based on performance and popularity.'} - } + tooltip={
{tooltipText}
} >

{'You might like'}

- {suggestedRows.map((row) => ( - - ))} + {suggestedRows.map((row) => { + if (row.type === 'external') { + return ( + + ) + } + if (row.type === 'personalized') { + return + } + return + })}
) diff --git a/src/components/pages/vaults/components/SuggestedVaultCard.tsx b/src/components/pages/vaults/components/SuggestedVaultCard.tsx index f7a6fc815..49ab3cc70 100644 --- a/src/components/pages/vaults/components/SuggestedVaultCard.tsx +++ b/src/components/pages/vaults/components/SuggestedVaultCard.tsx @@ -22,7 +22,15 @@ import { toAddress } from '@shared/utils' import { getNetwork } from '@shared/utils/wagmi' import type { ReactElement } from 'react' -export function SuggestedVaultCard({ vault }: { vault: TKongVaultInput }): ReactElement { +export function SuggestedVaultCard({ + vault, + matchedSymbol, + externalProtocol +}: { + vault: TKongVaultInput + matchedSymbol?: string + externalProtocol?: string +}): ReactElement { const apyData = useVaultApyData(vault) const apyLabel = apyData.mode === 'historical' || apyData.mode === 'noForward' ? '30D APY' : 'Est. APY' const chainID = getVaultChainID(vault) @@ -37,6 +45,7 @@ export function SuggestedVaultCard({ vault }: { vault: TKongVaultInput }): React const listKind = deriveListKind(vault) const isAllocatorVault = listKind === 'allocator' || listKind === 'strategy' const isLegacyVault = listKind === 'legacy' + const productTypeLabel = isAllocatorVault ? 'Single Asset' : isLegacyVault ? 'Legacy' : 'LP Token' const chainDescription = getChainDescription(chainID) const categoryDescription = getCategoryDescription(vaultCategory) @@ -81,7 +90,13 @@ export function SuggestedVaultCard({ vault }: { vault: TKongVaultInput }): React showCollapsedTooltip /> -
+ {matchedSymbol ? ( + + + {externalProtocol ? `You hold ${matchedSymbol} on ${externalProtocol}` : `You hold ${matchedSymbol}`} + + ) : null} +

{apyLabel}

From db196213c6a603533bea1fc46430e572e0d3714d Mon Sep 17 00:00:00 2001 From: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Tue, 3 Mar 2026 14:58:19 +0000 Subject: [PATCH 3/9] chore: fix bad error catch (#1074) --- .../pages/vaults/hooks/useTokens.ts | 48 +++++++------------ 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/src/components/pages/vaults/hooks/useTokens.ts b/src/components/pages/vaults/hooks/useTokens.ts index 2d9d28ba7..3f42ea420 100644 --- a/src/components/pages/vaults/hooks/useTokens.ts +++ b/src/components/pages/vaults/hooks/useTokens.ts @@ -23,38 +23,26 @@ async function fetchTokenData(config: any, addresses: Address[], chainId: number const results = await Promise.all( addresses.map(async (address) => { - try { - const contract = getContract({ - address, - abi: erc20Abi, - client - }) + const contract = getContract({ + address, + abi: erc20Abi, + client + }) - const [decimals, symbol, name, balance] = await Promise.all([ - contract.read.decimals(), - contract.read.symbol(), - contract.read.name(), - account ? contract.read.balanceOf([account]) : Promise.resolve(0n) - ]) + const [decimals, symbol, name, balance] = await Promise.all([ + contract.read.decimals(), + contract.read.symbol(), + contract.read.name(), + account ? contract.read.balanceOf([account]) : Promise.resolve(0n) + ]) - return { - address, - decimals: Number(decimals), - symbol: String(symbol), - name: String(name), - chainID: chainId, - balance: toNormalizedBN(balance, Number(decimals)) - } - } catch (error) { - console.error(`Failed to fetch token ${address}:`, error) - return { - address, - decimals: 18, - symbol: '???', - name: 'Unknown', - chainID: chainId, - balance: toNormalizedBN(0n, 18) - } + return { + address, + decimals: Number(decimals), + symbol: String(symbol), + name: String(name), + chainID: chainId, + balance: toNormalizedBN(balance, Number(decimals)) } }) ) From 744a0fa6c7910b569a5fba9ed327dc721740d790 Mon Sep 17 00:00:00 2001 From: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:34:54 -0400 Subject: [PATCH 4/9] update strategy card text and number styling (#1101) --- bun.lock | 1 + .../detail/VaultStrategiesSection.tsx | 15 ++--- .../components/detail/VaultsListHead.test.ts | 12 ++++ .../components/detail/VaultsListHead.tsx | 13 +++- .../detail/VaultsListStrategy.test.ts | 15 +++++ .../components/detail/VaultsListStrategy.tsx | 48 ++++++++++----- .../components/detail/strategiesLayout.ts | 15 +++++ .../detail/strategiesPercentFormat.test.ts | 26 ++++++++ .../detail/strategiesPercentFormat.ts | 60 +++++++++++++++++++ 9 files changed, 181 insertions(+), 24 deletions(-) create mode 100644 src/components/pages/vaults/components/detail/VaultsListHead.test.ts create mode 100644 src/components/pages/vaults/components/detail/VaultsListStrategy.test.ts create mode 100644 src/components/pages/vaults/components/detail/strategiesLayout.ts create mode 100644 src/components/pages/vaults/components/detail/strategiesPercentFormat.test.ts create mode 100644 src/components/pages/vaults/components/detail/strategiesPercentFormat.ts diff --git a/bun.lock b/bun.lock index 337967d2e..889b7c9ea 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,6 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "yearnfi", diff --git a/src/components/pages/vaults/components/detail/VaultStrategiesSection.tsx b/src/components/pages/vaults/components/detail/VaultStrategiesSection.tsx index 046f621b1..1df8e4912 100644 --- a/src/components/pages/vaults/components/detail/VaultStrategiesSection.tsx +++ b/src/components/pages/vaults/components/detail/VaultStrategiesSection.tsx @@ -16,9 +16,10 @@ import { DARK_MODE_COLORS, LIGHT_MODE_COLORS, useDarkMode } from '@shared/compon import { useYearn } from '@shared/contexts/useYearn' import { useYearnTokenPrice } from '@shared/hooks/useYearnTokenPrice' import type { TSortDirection } from '@shared/types' -import { cl, formatPercent, formatTvlDisplay, toAddress, toBigInt, toNormalizedBN } from '@shared/utils' +import { cl, formatTvlDisplay, toAddress, toBigInt, toNormalizedBN } from '@shared/utils' import type { ReactElement } from 'react' import { lazy, Suspense, useCallback, useMemo } from 'react' +import { formatStrategiesPercent } from './strategiesPercentFormat' import { VaultsListHead } from './VaultsListHead' import { VaultsListStrategy } from './VaultsListStrategy' @@ -248,7 +249,7 @@ export function VaultStrategiesSection({ currentVault }: { currentVault: TKongVa {unallocatedPercentage > 0 && unallocatedValue > 0n ? (
-
+
@@ -256,12 +257,12 @@ export function VaultStrategiesSection({ currentVault }: { currentVault: TKongVa Unallocated
-
-
+
+

Allocation %

-

{formatPercent(unallocatedPercentage / 100)}

+

{formatStrategiesPercent(unallocatedPercentage / 100)}

-
+

Amount

{formatTvlDisplay( @@ -269,7 +270,7 @@ export function VaultStrategiesSection({ currentVault }: { currentVault: TKongVa )}

-
+

APY

-

diff --git a/src/components/pages/vaults/components/detail/VaultsListHead.test.ts b/src/components/pages/vaults/components/detail/VaultsListHead.test.ts new file mode 100644 index 000000000..9ee31f604 --- /dev/null +++ b/src/components/pages/vaults/components/detail/VaultsListHead.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, it } from 'vitest' + +import { STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT } from './strategiesLayout' + +describe('VaultsListHead desktop layout', () => { + it('uses tightened strategy panel desktop column classes', () => { + expect(STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT.nameColumnSpanClass).toBe('col-span-11') + expect(STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT.valuesColumnSpanClass).toBe('col-span-12') + expect(STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT.valuesGridClass).toBe('md:grid-cols-12 md:gap-2') + expect(STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT.valueColumnSpanClass).toBe('md:col-span-4') + }) +}) diff --git a/src/components/pages/vaults/components/detail/VaultsListHead.tsx b/src/components/pages/vaults/components/detail/VaultsListHead.tsx index 24af0ce13..c7e326df6 100644 --- a/src/components/pages/vaults/components/detail/VaultsListHead.tsx +++ b/src/components/pages/vaults/components/detail/VaultsListHead.tsx @@ -6,6 +6,7 @@ import { cl } from '@shared/utils' import type { ReactElement } from 'react' import { useCallback, useMemo } from 'react' +import { STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT } from './strategiesLayout' type TSortableListHeadItem = { type?: 'sort' @@ -178,7 +179,7 @@ export function VaultsListHead({ >
-
+
{rest.map( (item): ReactElement => ( -
+
{renderItem(item, !isToggleItem(item) && sortBy === item.value, true)}
) diff --git a/src/components/pages/vaults/components/detail/VaultsListStrategy.test.ts b/src/components/pages/vaults/components/detail/VaultsListStrategy.test.ts new file mode 100644 index 000000000..fc9a6c07f --- /dev/null +++ b/src/components/pages/vaults/components/detail/VaultsListStrategy.test.ts @@ -0,0 +1,15 @@ +import { describe, expect, it } from 'vitest' + +import { STRATEGY_PANEL_ROW_DESKTOP_LAYOUT } from './strategiesLayout' + +describe('VaultsListStrategy desktop layout', () => { + it('uses tightened strategy row desktop column classes with balanced desktop title wrapping', () => { + expect(STRATEGY_PANEL_ROW_DESKTOP_LAYOUT.nameColumnSpanClass).toBe('md:col-span-11') + expect(STRATEGY_PANEL_ROW_DESKTOP_LAYOUT.valuesColumnSpanClass).toBe('md:col-span-12') + expect(STRATEGY_PANEL_ROW_DESKTOP_LAYOUT.valuesGridClass).toBe('md:grid-cols-12 md:gap-2') + expect(STRATEGY_PANEL_ROW_DESKTOP_LAYOUT.valueColumnSpanClass).toBe('md:col-span-4') + expect(STRATEGY_PANEL_ROW_DESKTOP_LAYOUT.nameLabelDesktopWrapClass).toBe( + 'md:[display:-webkit-box] md:[-webkit-box-orient:vertical] md:[-webkit-line-clamp:2] md:[text-wrap:balance] md:whitespace-normal' + ) + }) +}) diff --git a/src/components/pages/vaults/components/detail/VaultsListStrategy.tsx b/src/components/pages/vaults/components/detail/VaultsListStrategy.tsx index e321c07d9..033065edb 100644 --- a/src/components/pages/vaults/components/detail/VaultsListStrategy.tsx +++ b/src/components/pages/vaults/components/detail/VaultsListStrategy.tsx @@ -4,13 +4,15 @@ import { IconChevron } from '@shared/icons/IconChevron' import { IconCopy } from '@shared/icons/IconCopy' import { IconLinkOut } from '@shared/icons/IconLinkOut' import type { TAddress } from '@shared/types' -import { cl, formatApyDisplay, formatPercent, toAddress, truncateHex } from '@shared/utils' +import { cl, toAddress, truncateHex } from '@shared/utils' import { formatDuration } from '@shared/utils/format.time' import { copyToClipboard } from '@shared/utils/helpers' import { getNetwork } from '@shared/utils/wagmi/utils' import type { ReactElement } from 'react' import { useState } from 'react' import Link from '/src/components/Link' +import { STRATEGY_PANEL_ROW_DESKTOP_LAYOUT } from './strategiesLayout' +import { formatStrategiesApy, formatStrategiesPercent } from './strategiesPercentFormat' export function VaultsListStrategy({ details, @@ -52,10 +54,10 @@ export function VaultsListStrategy({ if (shouldShowPlaceholders) { apyContent = '-' } else { - apyContent = formatApyDisplay(displayApr) + apyContent = formatStrategiesApy(displayApr) } - const allocationContent = isInactive ? '-' : isUnallocated ? '-' : formatPercent((details?.debtRatio || 0) / 100) + const allocationContent = isInactive || isUnallocated ? '-' : formatStrategiesPercent((details?.debtRatio || 0) / 100) const amountContent = isInactive ? '-' : isUnallocated ? '-' : allocation @@ -64,13 +66,15 @@ export function VaultsListStrategy({ {/* Collapsible header - always visible */}
setIsExpanded(!isExpanded)} > {/* Top row on mobile: Name + Chevron */} -
+
0.01 ? 'bg-green-500' : 'bg-text-secondary')} /> @@ -99,9 +103,17 @@ export function VaultsListStrategy({ className="rounded-full" />
- - {name} - +
+ + {name} + +
{/* Stats row - 3 columns on mobile */} -
-
+
+

{'Allocation %'}

{allocationContent}

-
+

{'Amount'}

{amountContent}

-
+

{'APY'}

{apyContent}

@@ -144,11 +164,11 @@ export function VaultsListStrategy({
Management Fee: - {formatPercent((fees?.management || 0) * 100, 0)} + {formatStrategiesPercent((fees?.management || 0) * 100)}
Performance Fee: - {formatPercent((details?.performanceFee || 0) / 100, 0)} + {formatStrategiesPercent((details?.performanceFee || 0) / 100)}
Last Report: diff --git a/src/components/pages/vaults/components/detail/strategiesLayout.ts b/src/components/pages/vaults/components/detail/strategiesLayout.ts new file mode 100644 index 000000000..89f5208dd --- /dev/null +++ b/src/components/pages/vaults/components/detail/strategiesLayout.ts @@ -0,0 +1,15 @@ +export const STRATEGY_PANEL_HEAD_DESKTOP_LAYOUT = { + nameColumnSpanClass: 'col-span-11', + valuesColumnSpanClass: 'col-span-12', + valuesGridClass: 'md:grid-cols-12 md:gap-2', + valueColumnSpanClass: 'md:col-span-4' +} as const + +export const STRATEGY_PANEL_ROW_DESKTOP_LAYOUT = { + nameColumnSpanClass: 'md:col-span-11', + valuesColumnSpanClass: 'md:col-span-12', + valuesGridClass: 'md:grid-cols-12 md:gap-2', + valueColumnSpanClass: 'md:col-span-4', + nameLabelDesktopWrapClass: + 'md:[display:-webkit-box] md:[-webkit-box-orient:vertical] md:[-webkit-line-clamp:2] md:[text-wrap:balance] md:whitespace-normal' +} as const diff --git a/src/components/pages/vaults/components/detail/strategiesPercentFormat.test.ts b/src/components/pages/vaults/components/detail/strategiesPercentFormat.test.ts new file mode 100644 index 000000000..896b97150 --- /dev/null +++ b/src/components/pages/vaults/components/detail/strategiesPercentFormat.test.ts @@ -0,0 +1,26 @@ +import { describe, expect, it } from 'vitest' + +import { formatStrategiesApy, formatStrategiesPercent } from './strategiesPercentFormat' + +describe('strategiesPercentFormat', () => { + it('pads percentages to the strategy card precision rules', () => { + expect(formatStrategiesPercent(12.34)).toBe('12.3%') + expect(formatStrategiesPercent(13)).toBe('13.0%') + expect(formatStrategiesPercent(5.2)).toBe('5.20%') + expect(formatStrategiesPercent(0)).toBe('0.00%') + }) + + it('limits sub-1 percentages and apy to two decimal places', () => { + expect(formatStrategiesPercent(0.9876)).toBe('0.99%') + expect(formatStrategiesApy(0.00262)).toBe('0.26%') + }) + + it('applies upper-limit formatting for percentages at or above threshold', () => { + expect(formatStrategiesPercent(501)).toBe('≥ 500%') + }) + + it('formats infinity values for percentage and APY', () => { + expect(formatStrategiesPercent(Infinity)).toBe('∞%') + expect(formatStrategiesApy(Infinity)).toBe('∞%') + }) +}) diff --git a/src/components/pages/vaults/components/detail/strategiesPercentFormat.ts b/src/components/pages/vaults/components/detail/strategiesPercentFormat.ts new file mode 100644 index 000000000..2ed3e5866 --- /dev/null +++ b/src/components/pages/vaults/components/detail/strategiesPercentFormat.ts @@ -0,0 +1,60 @@ +type TStrategiesPercentFormatOptions = { + locales?: string[] + upperLimit?: number +} + +function resolveLocales(options?: TStrategiesPercentFormatOptions): string[] { + const locales: string[] = [] + if (options?.locales) { + locales.push(...options.locales) + } + if (typeof navigator !== 'undefined') { + locales.push(navigator.language || 'en-US') + } + locales.push('en-US') + return locales +} + +function resolveFractionDigits(value: number): number { + const absoluteValue = Math.abs(value) + if (absoluteValue >= 100) { + return 0 + } + if (absoluteValue >= 10) { + return 1 + } + return 2 +} + +function formatWithPaddedFractionDigits(value: number, options?: TStrategiesPercentFormatOptions): string { + const fractionDigits = resolveFractionDigits(value) + return new Intl.NumberFormat(resolveLocales(options), { + minimumFractionDigits: fractionDigits, + maximumFractionDigits: fractionDigits + }).format(value) +} + +export function formatStrategiesPercent(value: number, options?: TStrategiesPercentFormatOptions): string { + if (value === Infinity || value === -Infinity) { + return '∞%' + } + + const safeValue = Number.isFinite(value) ? value : 0 + const upperLimit = options?.upperLimit ?? 500 + if (safeValue >= upperLimit) { + return `≥ ${formatWithPaddedFractionDigits(upperLimit, options)}%` + } + return `${formatWithPaddedFractionDigits(safeValue, options)}%` +} + +export function formatStrategiesApy( + value: number | null | undefined, + options?: TStrategiesPercentFormatOptions +): string { + if (value === Infinity || value === -Infinity) { + return '∞%' + } + const numericValue = typeof value === 'number' ? value : 0 + const safeValue = Number.isFinite(numericValue) ? numericValue : 0 + return formatStrategiesPercent(safeValue * 100, options) +} From d511fb769e02a71710dec6a725550357967b73bf Mon Sep 17 00:00:00 2001 From: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Wed, 11 Mar 2026 10:09:04 -0400 Subject: [PATCH 5/9] Feat add individual zap gate flag (#1096) * chore: update scpectra markets (#1094) Co-authored-by: Ross * Feat: Add zap gate to disable zaps by vault address * chore: update readme * fix eye review comments --------- Co-authored-by: Ross --- README.md | 26 ++++++ .../pages/vaults/[chainID]/[address].tsx | 3 + .../vaults/components/widget/WalletPanel.tsx | 88 ++++++++++--------- .../components/widget/deposit/index.tsx | 25 +++++- .../widget/deposit/useDepositFlow.ts | 1 + .../widget/deposit/useDepositRoute.test.ts | 62 +++++++++++++ .../widget/deposit/useDepositRoute.ts | 80 +++++++++++------ .../widget/shared/useResetEnsoSelection.ts | 59 +++++++++++++ .../components/widget/withdraw/index.tsx | 17 +++- .../widget/withdraw/useWithdrawFlow.ts | 1 + .../widget/withdraw/useWithdrawRoute.test.ts | 64 ++++++++++++++ .../widget/withdraw/useWithdrawRoute.ts | 71 ++++++++++----- .../vaults/constants/ensoDisabledVaults.ts | 21 +++++ .../pages/vaults/hooks/useEnsoEnabled.ts | 19 +++- 14 files changed, 438 insertions(+), 99 deletions(-) create mode 100644 src/components/pages/vaults/components/widget/deposit/useDepositRoute.test.ts create mode 100644 src/components/pages/vaults/components/widget/shared/useResetEnsoSelection.ts create mode 100644 src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.test.ts create mode 100644 src/components/pages/vaults/constants/ensoDisabledVaults.ts diff --git a/README.md b/README.md index e2c7d67ef..988561c0b 100755 --- a/README.md +++ b/README.md @@ -41,6 +41,32 @@ 2. Run `bun run dev` 3. Open the browser and navigate to `http://localhost:3000` +### Per-vault Enso denylist (disable zaps) + +To disable Enso routing for specific vaults, edit: + +`src/components/pages/vaults/constants/ensoDisabledVaults.ts` + +Add vault addresses under their chain ID: + +```ts +const ENSO_DISABLED_VAULTS_BY_CHAIN: Partial> = { + 1: [ + '0x1111111111111111111111111111111111111111' + ], + 42161: [ + '0x2222222222222222222222222222222222222222', + '0x3333333333333333333333333333333333333333' + ] +} +``` + +Notes: +- Keys are EVM chain IDs (`1`, `10`, `137`, `42161`, etc.). +- Values are vault addresses for that chain. +- Address casing does not matter (addresses are normalized internally). +- Denylisted vaults disable Enso for both deposit and withdraw flows and hide zap UI on vault pages. + ### Making Changes - Create a new local branch from upstream/main for each PR that you will submit diff --git a/src/components/pages/vaults/[chainID]/[address].tsx b/src/components/pages/vaults/[chainID]/[address].tsx index c154d6b9e..637b9764b 100644 --- a/src/components/pages/vaults/[chainID]/[address].tsx +++ b/src/components/pages/vaults/[chainID]/[address].tsx @@ -21,6 +21,7 @@ import { YBOLD_STAKING_ADDRESS, YBOLD_VAULT_ADDRESS } from '@pages/vaults/domain/normalizeVault' +import { useEnsoEnabled } from '@pages/vaults/hooks/useEnsoEnabled' import { useVaultSnapshot } from '@pages/vaults/hooks/useVaultSnapshot' import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' import { WidgetActionType } from '@pages/vaults/types' @@ -398,6 +399,7 @@ function Index(): ReactElement | null { if (!vaultViewInput) return undefined return getVaultView(vaultViewInput, mergedSnapshot) }, [vaultViewInput, mergedSnapshot]) + const ensoEnabledForVault = useEnsoEnabled({ chainId, vaultAddress: currentVault?.address }) const isLoadingVault = !currentVault && (isLoadingSnapshotVault || (isLoadingVaultList && !isSnapshotNotFound)) @@ -1209,6 +1211,7 @@ function Index(): ReactElement | null { chainId={chainId} vaultUserData={vaultUserData} onSelectZapToken={handleZapTokenSelect} + showZapTokens={ensoEnabledForVault} />
{shouldShowWidgetRewards ? ( diff --git a/src/components/pages/vaults/components/widget/WalletPanel.tsx b/src/components/pages/vaults/components/widget/WalletPanel.tsx index f093767b3..76e4853a2 100644 --- a/src/components/pages/vaults/components/widget/WalletPanel.tsx +++ b/src/components/pages/vaults/components/widget/WalletPanel.tsx @@ -38,6 +38,7 @@ type WalletPanelProps = { chainId: number vaultUserData: VaultUserData onSelectZapToken?: (token: TToken) => void + showZapTokens?: boolean } const WALLET_TABS = [ @@ -65,7 +66,8 @@ export const WalletPanel: FC = ({ stakingAddress, chainId, vaultUserData, - onSelectZapToken + onSelectZapToken, + showZapTokens = true }) => { const { address, isActive: isWalletActive, openLoginModal } = useWeb3() const { cachedEntries } = useNotifications() @@ -174,6 +176,10 @@ export const WalletPanel: FC = ({ }, [address, cachedEntries, relatedAddresses, chainId]) const zapTokens = useMemo(() => { + if (!showZapTokens) { + return [] + } + const chainBalances = balances[chainId] || {} const excluded = [vaultAddress, stakingAddress].filter(Boolean).map((addr) => toAddress(addr).toLowerCase()) const tokens = Object.values(chainBalances).filter((token) => { @@ -196,7 +202,7 @@ export const WalletPanel: FC = ({ usdLabel: formatUSD(tokenUsd) } }) - }, [balances, chainId, vaultAddress, stakingAddress, getPrice, formatTokenAmount]) + }, [showZapTokens, balances, chainId, vaultAddress, stakingAddress, getPrice, formatTokenAmount]) return (
= ({
-
-

Zap-ready tokens

- {zapTokens.length === 0 ? ( -
No wallet tokens available to zap.
- ) : ( -
- {zapTokens.map(({ token, amountLabel, usdLabel }) => ( -
-
-
{amountLabel}
-
({usdLabel})
-
- - deposit into {vaultName} - - - ))} -
- )} - +
+
{amountLabel}
+
({usdLabel})
+
+ + deposit into {vaultName} + + + ))} +
+ )} + + ) : null} ) : null} diff --git a/src/components/pages/vaults/components/widget/deposit/index.tsx b/src/components/pages/vaults/components/widget/deposit/index.tsx index f43d65341..d73a56d16 100644 --- a/src/components/pages/vaults/components/widget/deposit/index.tsx +++ b/src/components/pages/vaults/components/widget/deposit/index.tsx @@ -19,6 +19,7 @@ import { useAccount } from 'wagmi' import { SettingsPanel } from '../SettingsPanel' import { TokenSelectorOverlay } from '../shared/TokenSelectorOverlay' import { TransactionOverlay, type TransactionStep } from '../shared/TransactionOverlay' +import { useResetEnsoSelection } from '../shared/useResetEnsoSelection' import { formatWidgetAllowance, formatWidgetValue } from '../shared/valueDisplay' import { WidgetHeader } from '../shared/WidgetHeader' import { AnnualReturnOverlay } from './AnnualReturnOverlay' @@ -77,7 +78,7 @@ export const WidgetDeposit: FC = ({ const { onRefresh: refreshWalletBalances, getToken } = useWallet() const { zapSlippage, isAutoStakingEnabled, getPrice } = useYearn() const trackEvent = usePlausible() - const ensoEnabled = useEnsoEnabled() + const ensoEnabled = useEnsoEnabled({ chainId, vaultAddress }) const [selectedToken, setSelectedToken] = useState<`0x${string}` | undefined>(assetAddress) const [selectedChainId, setSelectedChainId] = useState() @@ -126,13 +127,29 @@ export const WidgetDeposit: FC = ({ const key = `${prefill.address}-${prefill.chainId}-${prefill.amount}` if (appliedPrefillRef.current === key) return appliedPrefillRef.current = key - setSelectedToken(prefill.address) - setSelectedChainId(prefill.chainId) + + const canApplyPrefilledToken = + ensoEnabled || (toAddress(prefill.address) === toAddress(assetAddress) && prefill.chainId === chainId) + + setSelectedToken(canApplyPrefilledToken ? prefill.address : assetAddress) + setSelectedChainId(canApplyPrefilledToken ? prefill.chainId : undefined) if (prefill.amount !== undefined) { setDepositInput(prefill.amount) } onPrefillApplied?.() - }, [prefill, setDepositInput, onPrefillApplied]) + }, [prefill, ensoEnabled, assetAddress, chainId, setDepositInput, onPrefillApplied]) + + useResetEnsoSelection({ + ensoEnabled, + selectedToken, + selectedChainId, + assetAddress, + chainId, + showTokenSelector, + setSelectedToken, + setSelectedChainId, + setShowTokenSelector + }) useEffect(() => { if (!collapseDetails && isDetailsPanelOpen) { diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts b/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts index f7c6e2bf6..d181b84ee 100644 --- a/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts +++ b/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts @@ -69,6 +69,7 @@ export const useDepositFlow = ({ }: UseDepositFlowProps): DepositFlowResult => { // Determine routing type const routeType = useDepositRoute({ + chainId, depositToken, assetAddress, destinationToken, diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositRoute.test.ts b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.test.ts new file mode 100644 index 000000000..a782a2c7b --- /dev/null +++ b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.test.ts @@ -0,0 +1,62 @@ +import type { Address } from 'viem' +import { describe, expect, it } from 'vitest' +import { resolveDepositRouteType } from './useDepositRoute' + +const ASSET = '0x0000000000000000000000000000000000000001' as Address +const VAULT = '0x0000000000000000000000000000000000000002' as Address +const STAKING = '0x0000000000000000000000000000000000000003' as Address +const OTHER = '0x0000000000000000000000000000000000000004' as Address + +describe('resolveDepositRouteType', () => { + it('returns DIRECT_DEPOSIT for asset-to-vault deposits', () => { + const route = resolveDepositRouteType({ + depositToken: ASSET, + assetAddress: ASSET, + destinationToken: VAULT, + vaultAddress: VAULT, + stakingAddress: STAKING, + ensoEnabled: false + }) + + expect(route).toBe('DIRECT_DEPOSIT') + }) + + it('returns DIRECT_STAKE for vault-to-staking deposits', () => { + const route = resolveDepositRouteType({ + depositToken: VAULT, + assetAddress: ASSET, + destinationToken: STAKING, + vaultAddress: VAULT, + stakingAddress: STAKING, + ensoEnabled: false + }) + + expect(route).toBe('DIRECT_STAKE') + }) + + it('returns ENSO for non-direct routes when Enso is enabled', () => { + const route = resolveDepositRouteType({ + depositToken: OTHER, + assetAddress: ASSET, + destinationToken: VAULT, + vaultAddress: VAULT, + stakingAddress: STAKING, + ensoEnabled: true + }) + + expect(route).toBe('ENSO') + }) + + it('returns NO_ROUTE for non-direct routes when Enso is disabled', () => { + const route = resolveDepositRouteType({ + depositToken: OTHER, + assetAddress: ASSET, + destinationToken: VAULT, + vaultAddress: VAULT, + stakingAddress: STAKING, + ensoEnabled: false + }) + + expect(route).toBe('NO_ROUTE') + }) +}) diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts index 4a4206123..429327aa8 100644 --- a/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts +++ b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts @@ -1,10 +1,10 @@ import { useEnsoEnabled } from '@pages/vaults/hooks/useEnsoEnabled' -import { toAddress } from '@shared/utils' import { useMemo } from 'react' -import type { Address } from 'viem' +import { type Address, isAddressEqual } from 'viem' import type { DepositRouteType } from './types' interface UseDepositRouteProps { + chainId: number depositToken: Address assetAddress: Address destinationToken: Address @@ -12,43 +12,65 @@ interface UseDepositRouteProps { stakingAddress?: Address } +interface ResolveDepositRouteTypeProps extends Omit { + ensoEnabled: boolean +} + +export function resolveDepositRouteType({ + depositToken, + assetAddress, + destinationToken, + vaultAddress, + stakingAddress, + ensoEnabled +}: ResolveDepositRouteTypeProps): DepositRouteType { + // Case 1: Direct vault deposit (asset → vault) + if (isAddressEqual(depositToken, assetAddress) && isAddressEqual(destinationToken, vaultAddress)) { + return 'DIRECT_DEPOSIT' + } + + // Case 2: Direct staking (vault → staking) + if ( + stakingAddress && + isAddressEqual(depositToken, vaultAddress) && + isAddressEqual(destinationToken, stakingAddress) + ) { + return 'DIRECT_STAKE' + } + + // Case 3: All other cases use Enso (if available) + if (ensoEnabled) { + return 'ENSO' + } + return 'NO_ROUTE' +} + /** * Determines the routing type for a deposit transaction. * - DIRECT_DEPOSIT: asset → vault (simple deposit) * - DIRECT_STAKE: vault → staking (stake vault tokens) * - ENSO: all other cases (zaps, cross-chain, etc.) */ -export const useDepositRoute = ({ +export function useDepositRoute({ + chainId, depositToken, assetAddress, destinationToken, vaultAddress, stakingAddress -}: UseDepositRouteProps): DepositRouteType => { - const ensoEnabled = useEnsoEnabled() - - return useMemo(() => { - // Case 1: Direct vault deposit (asset → vault) - if ( - toAddress(depositToken) === toAddress(assetAddress) && - toAddress(destinationToken) === toAddress(vaultAddress) - ) { - return 'DIRECT_DEPOSIT' - } - - // Case 2: Direct staking (vault → staking) - if ( - toAddress(depositToken) === toAddress(vaultAddress) && - stakingAddress && - toAddress(destinationToken) === toAddress(stakingAddress) - ) { - return 'DIRECT_STAKE' - } +}: UseDepositRouteProps): DepositRouteType { + const ensoEnabled = useEnsoEnabled({ chainId, vaultAddress }) - // Case 3: All other cases use Enso - if (ensoEnabled) { - return 'ENSO' - } - return 'NO_ROUTE' - }, [ensoEnabled, depositToken, assetAddress, destinationToken, vaultAddress, stakingAddress]) + return useMemo( + () => + resolveDepositRouteType({ + depositToken, + assetAddress, + destinationToken, + vaultAddress, + stakingAddress, + ensoEnabled + }), + [ensoEnabled, depositToken, assetAddress, destinationToken, vaultAddress, stakingAddress] + ) } diff --git a/src/components/pages/vaults/components/widget/shared/useResetEnsoSelection.ts b/src/components/pages/vaults/components/widget/shared/useResetEnsoSelection.ts new file mode 100644 index 000000000..7f7ca0455 --- /dev/null +++ b/src/components/pages/vaults/components/widget/shared/useResetEnsoSelection.ts @@ -0,0 +1,59 @@ +import { type Dispatch, type SetStateAction, useEffect } from 'react' +import { type Address, isAddressEqual } from 'viem' + +interface UseResetEnsoSelectionParams { + ensoEnabled: boolean + selectedToken?: Address + selectedChainId?: number + assetAddress: Address + chainId: number + showTokenSelector: boolean + setSelectedToken: Dispatch> + setSelectedChainId: Dispatch> + setShowTokenSelector: Dispatch> +} + +export function useResetEnsoSelection({ + ensoEnabled, + selectedToken, + selectedChainId, + assetAddress, + chainId, + showTokenSelector, + setSelectedToken, + setSelectedChainId, + setShowTokenSelector +}: UseResetEnsoSelectionParams): void { + useEffect(() => { + if (ensoEnabled) { + return + } + + const hasNonAssetTokenSelected = selectedToken !== undefined && !isAddressEqual(selectedToken, assetAddress) + const hasCrossChainSelection = selectedChainId !== undefined && selectedChainId !== chainId + + if (!hasNonAssetTokenSelected && !hasCrossChainSelection && !showTokenSelector) { + return + } + + if (hasNonAssetTokenSelected) { + setSelectedToken(assetAddress) + } + if (hasCrossChainSelection) { + setSelectedChainId(undefined) + } + if (showTokenSelector) { + setShowTokenSelector(false) + } + }, [ + ensoEnabled, + selectedToken, + selectedChainId, + assetAddress, + chainId, + showTokenSelector, + setSelectedToken, + setSelectedChainId, + setShowTokenSelector + ]) +} diff --git a/src/components/pages/vaults/components/widget/withdraw/index.tsx b/src/components/pages/vaults/components/widget/withdraw/index.tsx index 458de0861..7b9ea66ec 100644 --- a/src/components/pages/vaults/components/widget/withdraw/index.tsx +++ b/src/components/pages/vaults/components/widget/withdraw/index.tsx @@ -18,6 +18,7 @@ import { InputTokenAmount } from '../InputTokenAmount' import { SettingsPanel } from '../SettingsPanel' import { TokenSelectorOverlay } from '../shared/TokenSelectorOverlay' import { TransactionOverlay, type TransactionStep } from '../shared/TransactionOverlay' +import { useResetEnsoSelection } from '../shared/useResetEnsoSelection' import { formatWidgetValue } from '../shared/valueDisplay' import { WidgetHeader } from '../shared/WidgetHeader' import { getPriorityTokens } from './constants' @@ -50,7 +51,7 @@ export const WidgetWithdraw: FC< const { onRefresh: refreshWalletBalances, getToken } = useWallet() const { zapSlippage, getPrice } = useYearn() const trackEvent = usePlausible() - const ensoEnabled = useEnsoEnabled() + const ensoEnabled = useEnsoEnabled({ chainId, vaultAddress }) const [selectedToken, setSelectedToken] = useState<`0x${string}` | undefined>(assetAddress) const [selectedChainId, setSelectedChainId] = useState() @@ -102,6 +103,18 @@ export const WidgetWithdraw: FC< } }, [collapseDetails, isDetailsPanelOpen]) + useResetEnsoSelection({ + ensoEnabled, + selectedToken, + selectedChainId, + assetAddress, + chainId, + showTokenSelector, + setSelectedToken, + setSelectedChainId, + setShowTokenSelector + }) + const totalVaultBalance: TNormalizedBN = withdrawalSource === 'vault' && vault ? vault.balance @@ -535,7 +548,7 @@ export const WidgetWithdraw: FC< zapNotificationText={ isUnstake ? 'This transaction will unstake' - : withdrawToken !== assetAddress + : ensoEnabled && withdrawToken !== assetAddress ? '⚡ This transaction will use Enso to Zap to:' : undefined } diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts index 3f5d1c517..2c1ba69f9 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts @@ -71,6 +71,7 @@ export const useWithdrawFlow = ({ }: UseWithdrawFlowProps): WithdrawFlowResult => { // Determine routing type const routeType = useWithdrawRoute({ + vaultAddress, withdrawToken, assetAddress, withdrawalSource, diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.test.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.test.ts new file mode 100644 index 000000000..48e27065d --- /dev/null +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.test.ts @@ -0,0 +1,64 @@ +import type { Address } from 'viem' +import { describe, expect, it } from 'vitest' +import { resolveWithdrawRouteType } from './useWithdrawRoute' + +const ASSET = '0x0000000000000000000000000000000000000001' as Address +const OTHER = '0x0000000000000000000000000000000000000002' as Address + +describe('resolveWithdrawRouteType', () => { + it('returns DIRECT_UNSTAKE when withdrawing as unstake flow', () => { + const route = resolveWithdrawRouteType({ + withdrawToken: ASSET, + assetAddress: ASSET, + withdrawalSource: 'staking', + chainId: 1, + outputChainId: 1, + isUnstake: true, + ensoEnabled: false + }) + + expect(route).toBe('DIRECT_UNSTAKE') + }) + + it('returns DIRECT_WITHDRAW for same-asset vault withdrawals on same chain', () => { + const route = resolveWithdrawRouteType({ + withdrawToken: ASSET, + assetAddress: ASSET, + withdrawalSource: 'vault', + chainId: 1, + outputChainId: 1, + isUnstake: false, + ensoEnabled: true + }) + + expect(route).toBe('DIRECT_WITHDRAW') + }) + + it('returns ENSO for non-direct routes when Enso is enabled', () => { + const route = resolveWithdrawRouteType({ + withdrawToken: OTHER, + assetAddress: ASSET, + withdrawalSource: 'vault', + chainId: 1, + outputChainId: 1, + isUnstake: false, + ensoEnabled: true + }) + + expect(route).toBe('ENSO') + }) + + it('returns DIRECT_WITHDRAW for non-direct routes when Enso is disabled', () => { + const route = resolveWithdrawRouteType({ + withdrawToken: OTHER, + assetAddress: ASSET, + withdrawalSource: 'vault', + chainId: 1, + outputChainId: 10, + isUnstake: false, + ensoEnabled: false + }) + + expect(route).toBe('DIRECT_WITHDRAW') + }) +}) diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts index 91acdf002..a46310c74 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts @@ -5,6 +5,7 @@ import type { Address } from 'viem' import type { WithdrawalSource, WithdrawRouteType } from './types' interface UseWithdrawRouteProps { + vaultAddress: Address withdrawToken: Address assetAddress: Address withdrawalSource: WithdrawalSource @@ -13,6 +14,43 @@ interface UseWithdrawRouteProps { isUnstake: boolean } +interface ResolveWithdrawRouteTypeProps extends Omit { + ensoEnabled: boolean + chainId: number +} + +export const resolveWithdrawRouteType = ({ + withdrawToken, + assetAddress, + withdrawalSource, + chainId, + outputChainId, + isUnstake, + ensoEnabled +}: ResolveWithdrawRouteTypeProps): WithdrawRouteType => { + // Case 1: Unstake (staking → vault tokens) - always allowed, doesn't need Enso + if (isUnstake) { + return 'DIRECT_UNSTAKE' + } + + // When Enso disabled, always use direct withdraw + if (!ensoEnabled) { + return 'DIRECT_WITHDRAW' + } + + // Case 2: Direct withdraw (vault → asset, same token, from vault source) + if ( + toAddress(withdrawToken) === toAddress(assetAddress) && + withdrawalSource === 'vault' && + chainId === outputChainId + ) { + return 'DIRECT_WITHDRAW' + } + + // Case 3: Everything else uses Enso + return 'ENSO' +} + /** * Determines the routing type for a withdraw transaction. * - DIRECT_WITHDRAW: vault → asset (simple redeem) @@ -20,6 +58,7 @@ interface UseWithdrawRouteProps { * - ENSO: all other cases (zaps, cross-chain, etc.) */ export const useWithdrawRoute = ({ + vaultAddress, withdrawToken, assetAddress, withdrawalSource, @@ -27,29 +66,17 @@ export const useWithdrawRoute = ({ outputChainId, isUnstake }: UseWithdrawRouteProps): WithdrawRouteType => { - const ensoEnabled = useEnsoEnabled() + const ensoEnabled = useEnsoEnabled({ chainId, vaultAddress }) return useMemo(() => { - // Case 1: Unstake (staking → vault tokens) - always allowed, doesn't need Enso - if (isUnstake) { - return 'DIRECT_UNSTAKE' - } - - // When Enso disabled, always use direct withdraw - if (!ensoEnabled) { - return 'DIRECT_WITHDRAW' - } - - // Case 2: Direct withdraw (vault → asset, same token, from vault source) - if ( - toAddress(withdrawToken) === toAddress(assetAddress) && - withdrawalSource === 'vault' && - chainId === outputChainId - ) { - return 'DIRECT_WITHDRAW' - } - - // Case 3: Everything else uses Enso - return 'ENSO' + return resolveWithdrawRouteType({ + withdrawToken, + assetAddress, + withdrawalSource, + chainId, + outputChainId, + isUnstake, + ensoEnabled + }) }, [ensoEnabled, isUnstake, withdrawToken, chainId, outputChainId, assetAddress, withdrawalSource]) } diff --git a/src/components/pages/vaults/constants/ensoDisabledVaults.ts b/src/components/pages/vaults/constants/ensoDisabledVaults.ts new file mode 100644 index 000000000..20a5539e1 --- /dev/null +++ b/src/components/pages/vaults/constants/ensoDisabledVaults.ts @@ -0,0 +1,21 @@ +import { toAddress } from '@shared/utils' +import type { Address } from 'viem' + +// Add vault addresses here to disable Enso routing on a per-vault basis. +// Example: +// 1: ['0x27B5739e22ad9033bcBf192059122d163b60349D'] //yCRV +const ENSO_DISABLED_VAULTS_BY_CHAIN: Partial> = {} + +export const isVaultEnsoDisabled = (chainId?: number, vaultAddress?: Address): boolean => { + if (!chainId || !vaultAddress) { + return false + } + + const disabledVaults = ENSO_DISABLED_VAULTS_BY_CHAIN[chainId] + if (!disabledVaults || disabledVaults.length === 0) { + return false + } + + const normalizedVaultAddress = toAddress(vaultAddress) + return disabledVaults.some((address) => toAddress(address) === normalizedVaultAddress) +} diff --git a/src/components/pages/vaults/hooks/useEnsoEnabled.ts b/src/components/pages/vaults/hooks/useEnsoEnabled.ts index 5cb3a7c94..bdcc7b8ee 100644 --- a/src/components/pages/vaults/hooks/useEnsoEnabled.ts +++ b/src/components/pages/vaults/hooks/useEnsoEnabled.ts @@ -1,8 +1,23 @@ +import { isVaultEnsoDisabled } from '@pages/vaults/constants/ensoDisabledVaults' import { useEnsoStatus } from '@pages/vaults/contexts/useEnsoStatus' +import type { Address } from 'viem' -export function useEnsoEnabled(): boolean { +interface UseEnsoEnabledOptions { + chainId?: number + vaultAddress?: Address +} + +export function useEnsoEnabled({ chainId, vaultAddress }: UseEnsoEnabledOptions = {}): boolean { const { isEnsoFailed } = useEnsoStatus() const envDisabled = import.meta.env.VITE_ENSO_DISABLED === 'true' - return !envDisabled && !isEnsoFailed + if (envDisabled || isEnsoFailed) { + return false + } + + if (isVaultEnsoDisabled(chainId, vaultAddress)) { + return false + } + + return true } From 80531d3cbd74a7da04f610706322a793a064eec0 Mon Sep 17 00:00:00 2001 From: w84april <32621609+w84april@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:46:24 +0300 Subject: [PATCH 6/9] Feat/check is significant loss (#1097) * feat: add isSignificantLoss * chore: comments * feat: add accept price impact label * fix: flashes * update language * Fix quote impact consent resets (#1102) Reset deposit and withdraw high-price-impact acknowledgements when the active quote changes, including route toggles such as auto-stake and withdrawal source. - key deposit consent to the amount, route, destination, and quoted output - key withdraw consent to the amount, source, route, and quoted output This keeps each acknowledgement tied to the currently displayed quote without changing the staked-share price-impact logic. --------- Co-authored-by: Ross Co-authored-by: rossgalloway <58150151+rossgalloway@users.noreply.github.com> --- .../widget/deposit/DepositDetails.tsx | 20 +- .../components/widget/deposit/index.tsx | 177 ++++++++++++----- .../widget/withdraw/WithdrawDetails.tsx | 24 ++- .../components/widget/withdraw/index.tsx | 188 +++++++++++++----- 4 files changed, 296 insertions(+), 113 deletions(-) diff --git a/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx b/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx index 031177384..21704413d 100644 --- a/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx +++ b/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx @@ -8,10 +8,12 @@ interface DepositDetailsProps { depositAmountBn: bigint inputTokenSymbol?: string inputTokenDecimals: number + inputTokenUsdPrice: number // Route info routeType: DepositRouteType isSwap: boolean isLoadingQuote: boolean + isQuoteStale: boolean expectedOutInAsset: bigint assetTokenSymbol?: string assetTokenDecimals: number @@ -40,9 +42,11 @@ export const DepositDetails: FC = ({ depositAmountBn, inputTokenSymbol, inputTokenDecimals, + inputTokenUsdPrice, routeType, isSwap, isLoadingQuote, + isQuoteStale, expectedOutInAsset, assetTokenSymbol, assetTokenDecimals, @@ -80,9 +84,16 @@ export const DepositDetails: FC = ({ ? (expectedVaultShares * pricePerShare) / 10n ** BigInt(vaultDecimals) : 0n const vaultShareValueDisplay = formatWidgetValue(vaultShareValueInAsset, assetTokenDecimals) - const vaultShareValueUsd = formatWidgetValue( - Number(formatUnits(vaultShareValueInAsset, assetTokenDecimals)) * assetUsdPrice - ) + const vaultShareValueUsdRaw = Number(formatUnits(vaultShareValueInAsset, assetTokenDecimals)) * assetUsdPrice + const vaultShareValueUsd = formatWidgetValue(vaultShareValueUsdRaw) + + // Calculate price impact (USD to deposit vs vault share value USD) + const usdValueToDeposit = Number(formatUnits(depositAmountBn, inputTokenDecimals)) * inputTokenUsdPrice + const priceImpact = + usdValueToDeposit > 0 && vaultShareValueUsdRaw > 0 + ? ((usdValueToDeposit - vaultShareValueUsdRaw) / usdValueToDeposit) * 100 + : 0 + const hasHighPriceImpact = !isQuoteStale && !isLoadingQuote && priceImpact > 5 return (
@@ -153,7 +164,7 @@ export const DepositDetails: FC = ({ > Vault share value -

+

{isLoadingQuote ? ( ) : ( @@ -162,6 +173,7 @@ export const DepositDetails: FC = ({ {`${assetTokenSymbol || ''} (`} {`$${vaultShareValueUsd}`} {')'} + {hasHighPriceImpact && {` (-${priceImpact.toFixed(2)}%)`}} )}

diff --git a/src/components/pages/vaults/components/widget/deposit/index.tsx b/src/components/pages/vaults/components/widget/deposit/index.tsx index d73a56d16..e3cb0cf70 100644 --- a/src/components/pages/vaults/components/widget/deposit/index.tsx +++ b/src/components/pages/vaults/components/widget/deposit/index.tsx @@ -89,6 +89,7 @@ export const WidgetDeposit: FC = ({ const [showTokenSelector, setShowTokenSelector] = useState(false) const [showTransactionOverlay, setShowTransactionOverlay] = useState(false) const [isDetailsPanelOpen, setIsDetailsPanelOpen] = useState(false) + const [hasAcceptedPriceImpact, setHasAcceptedPriceImpact] = useState(false) const appliedPrefillRef = useRef(null) const { @@ -249,12 +250,50 @@ export const WidgetDeposit: FC = ({ : 0n const formatted = formatWidgetValue(valueInAsset, assetDecimals) + const usdRaw = Number(formatUnits(valueInAsset, assetDecimals)) * assetTokenPrice + const usd = formatWidgetValue(usdRaw) - const usd = formatWidgetValue(Number(formatUnits(valueInAsset, assetDecimals)) * assetTokenPrice) - - return { formatted, usd } + return { formatted, usd, usdRaw } }, [activeFlow.periphery.expectedOut, vaultDecimals, assetToken?.decimals, pricePerShare, assetTokenPrice]) + // Calculate price impact for high slippage warning + const priceImpactInfo = useMemo(() => { + const usdValueToDeposit = Number(formatUnits(depositAmount.bn, inputToken?.decimals ?? 18)) * inputTokenPrice + const vaultShareUsdValue = vaultShareValue.usdRaw + const impact = + usdValueToDeposit > 0 && vaultShareUsdValue > 0 + ? ((usdValueToDeposit - vaultShareUsdValue) / usdValueToDeposit) * 100 + : 0 + return { + percentage: impact, + isHigh: impact > 5 + } + }, [depositAmount.bn, inputToken?.decimals, inputTokenPrice, vaultShareValue.usdRaw]) + + const priceImpactAcceptanceKey = useMemo(() => { + return [ + depositAmount.bn.toString(), + routeType, + sourceChainId, + depositToken, + destinationToken, + activeFlow.periphery.routerAddress ?? '', + activeFlow.periphery.expectedOut.toString() + ].join(':') + }, [ + depositAmount.bn, + routeType, + sourceChainId, + depositToken, + destinationToken, + activeFlow.periphery.routerAddress, + activeFlow.periphery.expectedOut + ]) + + useEffect(() => { + setHasAcceptedPriceImpact(false) + }, [priceImpactAcceptanceKey]) + const formattedDepositAmount = formatTAmount({ value: depositAmount.bn, decimals: inputToken?.decimals ?? 18 }) const needsApproval = !isNativeToken && !activeFlow.periphery.isAllowanceSufficient @@ -406,9 +445,11 @@ export const WidgetDeposit: FC = ({ depositAmountBn={depositAmount.bn} inputTokenSymbol={inputToken?.symbol} inputTokenDecimals={inputToken?.decimals ?? 18} + inputTokenUsdPrice={inputTokenPrice} routeType={routeType} isSwap={selectedToken !== assetAddress} isLoadingQuote={activeFlow.periphery.isLoadingRoute} + isQuoteStale={depositAmount.isDebouncing || depositAmount.bn !== depositAmount.debouncedBn} expectedOutInAsset={expectedOutInAsset} assetTokenSymbol={assetToken?.symbol} assetTokenDecimals={assetToken?.decimals ?? 18} @@ -435,61 +476,87 @@ export const WidgetDeposit: FC = ({ /> ) + const priceImpactWarning = priceImpactInfo.isHigh && + !activeFlow.periphery.isLoadingRoute && + !depositAmount.isDebouncing && + depositAmount.bn === depositAmount.debouncedBn && + depositAmount.bn > 0n && ( +
+

+ Price impact is high ({priceImpactInfo.percentage.toFixed(2)}%). Consider depositing less or waiting for + better liquidity conditions. +

+ +
+ ) + const actionRow = ( -
-
- {!account ? ( - - ) : ( - + ) : ( + + )} +
+ {account && onOpenSettings ? ( + - )} + + + ) : null}
- {account && onOpenSettings ? ( - - ) : null}
) diff --git a/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx b/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx index ee669cab8..223449f75 100644 --- a/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx +++ b/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx @@ -1,4 +1,5 @@ import type { FC } from 'react' +import { formatUnits } from 'viem' import { formatWidgetAllowance, formatWidgetValue } from '../shared/valueDisplay' import type { WithdrawRouteType } from './types' @@ -9,6 +10,7 @@ interface WithdrawDetailsProps { requiredShares: bigint sharesDecimals: number isLoadingQuote: boolean + isQuoteStale: boolean // Output info expectedOut: bigint outputDecimals: number @@ -16,7 +18,12 @@ interface WithdrawDetailsProps { // Optional swap info showSwapRow: boolean withdrawAmountSimple: string + withdrawAmountBn: bigint + assetDecimals: number + assetUsdPrice: number assetSymbol?: string + // Output USD price for slippage calculation + outputUsdPrice: number // Route type for "at least" text routeType: WithdrawRouteType // Modal trigger @@ -33,12 +40,17 @@ export const WithdrawDetails: FC = ({ requiredShares, sharesDecimals, isLoadingQuote, + isQuoteStale, expectedOut, outputDecimals, outputSymbol, showSwapRow, withdrawAmountSimple, + withdrawAmountBn, + assetDecimals, + assetUsdPrice, assetSymbol, + outputUsdPrice, routeType, onShowDetailsModal, allowance, @@ -47,6 +59,15 @@ export const WithdrawDetails: FC = ({ onAllowanceClick }) => { const allowanceDisplay = formatWidgetAllowance(allowance, allowanceTokenDecimals) + + // Calculate price impact (withdraw amount USD vs expected output USD) + const withdrawUsdValue = Number(formatUnits(withdrawAmountBn, assetDecimals)) * assetUsdPrice + const expectedOutUsdValue = Number(formatUnits(expectedOut, outputDecimals)) * outputUsdPrice + const priceImpact = + withdrawUsdValue > 0 && expectedOutUsdValue > 0 + ? ((withdrawUsdValue - expectedOutUsdValue) / withdrawUsdValue) * 100 + : 0 + const hasHighPriceImpact = !isQuoteStale && !isLoadingQuote && priceImpact > 5 return (
@@ -88,13 +109,14 @@ export const WithdrawDetails: FC = ({

You will receive{routeType === 'ENSO' ? ' at least' : ''}

-

+

{isLoadingQuote ? ( ) : expectedOut > 0n ? ( <> {formatWidgetValue(expectedOut, outputDecimals)}{' '} {outputSymbol} + {hasHighPriceImpact && {` (-${priceImpact.toFixed(2)}%)`}} ) : ( <> diff --git a/src/components/pages/vaults/components/widget/withdraw/index.tsx b/src/components/pages/vaults/components/widget/withdraw/index.tsx index 7b9ea66ec..969b93c2b 100644 --- a/src/components/pages/vaults/components/widget/withdraw/index.tsx +++ b/src/components/pages/vaults/components/widget/withdraw/index.tsx @@ -60,6 +60,7 @@ export const WidgetWithdraw: FC< const [showTransactionOverlay, setShowTransactionOverlay] = useState(false) const [withdrawalSource, setWithdrawalSource] = useState(stakingAddress ? null : 'vault') const [isDetailsPanelOpen, setIsDetailsPanelOpen] = useState(false) + const [hasAcceptedPriceImpact, setHasAcceptedPriceImpact] = useState(false) const { assetToken, @@ -255,6 +256,56 @@ export const WidgetWithdraw: FC< ? getPrice({ address: toAddress(outputToken.address), chainID: outputToken.chainID }).normalized : 0 + // Calculate price impact for high slippage warning + const priceImpactInfo = useMemo(() => { + const withdrawUsdValue = Number(formatUnits(withdrawAmount.bn, assetToken?.decimals ?? 18)) * assetTokenPrice + const expectedOutUsdValue = + Number(formatUnits(activeFlow.periphery.expectedOut, outputToken?.decimals ?? 18)) * outputTokenPrice + const impact = + withdrawUsdValue > 0 && expectedOutUsdValue > 0 + ? ((withdrawUsdValue - expectedOutUsdValue) / withdrawUsdValue) * 100 + : 0 + return { + percentage: impact, + isHigh: impact > 5 + } + }, [ + withdrawAmount.bn, + assetToken?.decimals, + assetTokenPrice, + activeFlow.periphery.expectedOut, + outputToken?.decimals, + outputTokenPrice + ]) + + const priceImpactAcceptanceKey = useMemo(() => { + return [ + withdrawAmount.bn.toString(), + requiredShares.toString(), + routeType, + withdrawalSource ?? '', + sourceToken, + withdrawToken, + destinationChainId, + activeFlow.periphery.routerAddress ?? '', + activeFlow.periphery.expectedOut.toString() + ].join(':') + }, [ + withdrawAmount.bn, + requiredShares, + routeType, + withdrawalSource, + sourceToken, + withdrawToken, + destinationChainId, + activeFlow.periphery.routerAddress, + activeFlow.periphery.expectedOut + ]) + + useEffect(() => { + setHasAcceptedPriceImpact(false) + }, [priceImpactAcceptanceKey]) + const zapToken = useMemo(() => { if (withdrawToken === assetAddress) return undefined @@ -421,6 +472,7 @@ export const WidgetWithdraw: FC< requiredShares={requiredShares} sharesDecimals={sharesDecimals} isLoadingQuote={activeFlow.periphery.isLoadingRoute} + isQuoteStale={withdrawAmount.isDebouncing || withdrawAmount.bn !== withdrawAmount.debouncedBn} expectedOut={activeFlow.periphery.expectedOut} outputDecimals={outputToken?.decimals ?? 18} outputSymbol={outputToken?.symbol} @@ -428,7 +480,11 @@ export const WidgetWithdraw: FC< withdrawAmountSimple={ withdrawAmount.bn > 0n ? formatWidgetValue(withdrawAmount.bn, assetToken?.decimals ?? 18) : '0' } + withdrawAmountBn={withdrawAmount.bn} + assetDecimals={assetToken?.decimals ?? 18} + assetUsdPrice={assetTokenPrice} assetSymbol={assetToken?.symbol} + outputUsdPrice={outputTokenPrice} routeType={routeType} onShowDetailsModal={() => setShowWithdrawDetailsModal(true)} allowance={showApprove ? activeFlow.periphery.allowance : undefined} @@ -447,62 +503,88 @@ export const WidgetWithdraw: FC< /> ) + const priceImpactWarning = priceImpactInfo.isHigh && + !activeFlow.periphery.isLoadingRoute && + !withdrawAmount.isDebouncing && + withdrawAmount.bn === withdrawAmount.debouncedBn && + withdrawAmount.bn > 0n && ( +

+

+ Price impact is high ({priceImpactInfo.percentage.toFixed(2)}%). Consider withdrawing less or waiting for + better liquidity conditions. +

+ +
+ ) + const actionRow = ( -
-
- {!account ? ( - - ) : ( - + ) : ( + + )} +
+ {account && onOpenSettings ? ( + - )} + + + ) : null}
- {account && onOpenSettings ? ( - - ) : null}
) From ec3d7482c4dc50a22fe6b743e3ec0c82f0a77171 Mon Sep 17 00:00:00 2001 From: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Thu, 12 Mar 2026 10:36:51 -0400 Subject: [PATCH 7/9] yvUSD mockup (#1006) * Squashed commit of the following: commit 137bcbe78950552f7a78212d857f3ff82f701554 Merge: 79df46e1 967d76f3 Author: Ross Date: Wed Mar 11 09:24:05 2026 -0400 Merge commit '967d76f37043d24434a74918768a09fd3db8d9bb' into yvUSD-mockup-2 commit 79df46e1e494ff410a0ed0f608bbdc0e1fceed74 Author: Ross Date: Wed Mar 11 09:23:17 2026 -0400 update risk score commit 967d76f37043d24434a74918768a09fd3db8d9bb Author: Ross Date: Tue Mar 10 23:30:04 2026 -0400 add zaps and improve locked withdraw flow commit 9021139fe3825e749bbff6d105a0d524d326d344 Author: Ross Date: Tue Mar 10 22:34:42 2026 -0400 fix token icon on locked withdraw commit ca6f663e850652b92c7e3398f74dfd893fb50e69 Author: Ross Date: Tue Mar 10 21:59:32 2026 -0400 more review fixes and mobile updates commit 7540c8d947e14b34f9f735b8362152cdbc9c9bbb Author: Ross Date: Tue Mar 10 21:05:14 2026 -0400 fixes from reviews commit 4a599308bbe385009fa3fd1fe22c7f122f0f3a1d Author: Ross Date: Tue Mar 10 18:55:48 2026 -0400 simplify commit 1255d1a0d20074d2f3996dc5bb0335d546002462 Author: Ross Date: Tue Mar 10 17:41:18 2026 -0400 compress deposit and withdraw modal spacing commit 8e12af74ce5e7cee8e0193ef351f289c80d44976 Merge: 4f3e0d54 fc89bc03 Author: Ross Date: Tue Mar 10 17:16:55 2026 -0400 Merge branch 'update-logo' into yvUSD-mockup-2 commit 4f3e0d543f8c9be99814fefb425c0857e367729e Author: Ross Date: Tue Mar 10 17:12:47 2026 -0400 update risk score commit e0c0b5c32047e2c1e504759f93826a0ea9b3baf2 Author: Ross Date: Tue Mar 10 15:09:20 2026 -0400 fix spectra svgs commit e2199ea514516a833a2a2e63857945092c59e31e Author: Ross Date: Tue Mar 10 14:40:46 2026 -0400 remove "zap-ready-tokens" section from my info panel commit f083cdd5848400992652ac7188a872f75da5ec87 Merge: 5e335109 b9175f48 Author: Ross Date: Tue Mar 10 14:29:14 2026 -0400 Merge branch 'yvUSD-mockup-2' of https://github.com/yearn/yearn.fi into yvUSD-mockup-2 commit 5e335109b6bcb40f1a4b66658013f7b98029572a Author: Ross Date: Tue Mar 10 14:29:05 2026 -0400 fix MT reported issues commit b9175f48176120809b12aa0ffc5d9063b76abfc8 Author: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Tue Mar 10 18:21:23 2026 +0000 chore: fix padding commit ddf478fd470857c275c92d34778efcc814f4a635 Author: Ross Date: Tue Mar 10 13:45:23 2026 -0400 port compressed widget details to yvUSD widgets commit a7c3cdc833f192bfa330b9b06e1928161bd8c1b4 Author: Ross Date: Tue Mar 10 13:35:55 2026 -0400 simplify widget column sizing commit ba49e014fc679066df203d9a5e8f929c8da56042 Author: Ross Date: Tue Mar 10 13:10:09 2026 -0400 fix portfolio overview calcs for yvUSD commit 60a4bc35f4ea69e250c0f1503d877cd5a63f50fb Author: Ross Date: Tue Mar 10 12:07:44 2026 -0400 fix holdings not showing up commit fc89bc031e52ae80b664a27b76312b924d49e008 Author: Ross Date: Tue Mar 10 11:29:33 2026 -0400 change to yearn seal logo commit 93294b98642364847223ce8c4bf0ba36297c0576 Author: Ross Date: Tue Mar 10 11:22:20 2026 -0400 update logo and add options commit d80d40bb10a2eecadd97f22a1b5534e8a99a116d Merge: 6b894a4b 53c38b02 Author: Ross Date: Tue Mar 10 11:21:01 2026 -0400 Merge branch 'main' into yvUSD-mockup-2 commit 6b894a4bfe44c48eab9acc02239b2d1551015fd6 Author: Ross Date: Fri Mar 6 15:09:43 2026 -0500 fix(vault): show infinifi points note in both yvUSD APY tooltips commit aad36f5016bfb38ec2d136d630fb05c38c46bfcb Author: Ross Date: Fri Mar 6 14:38:55 2026 -0500 fix(vault): standardize yvUSD withdrawal window to 7 days commit 341320db31a583d35113def170638f2c82f9f8aa Author: Ross Date: Fri Mar 6 14:38:33 2026 -0500 fix(vault): use yvUSD API asset address for unlocked withdraw commit 4d8975a6d39f63d479d48b9ee9314b21ac2e9242 Author: Ross Date: Fri Mar 6 14:37:39 2026 -0500 feat(vault): show yvUSD infinifi points note in APY tooltips commit afa534db0a4a3390700e1817f96bcae7da2757c2 Author: Ross Date: Fri Mar 6 14:36:22 2026 -0500 feat(vault): surface cooldown info in withdraw and My Info commit 2827be2c59c4ca771fd31931dfc67d91571c8c10 Author: Ross Date: Fri Mar 6 14:33:40 2026 -0500 feat(vault): add yvUSD APY lock toggle in header metrics commit e430e130c14bb6e474e01c5a7d866314b5c6fb81 Author: Ross Date: Wed Feb 25 14:07:33 2026 -0700 improve toggle styling commit 5ad215a33e8c7a5e67ef785b0af183e455c597bb Author: Ross Date: Wed Feb 25 13:40:19 2026 -0700 fix styling/spacing commit f77fe7fb14193b384eceb258b8836b6149b645b9 Author: Ross Date: Wed Feb 25 13:19:37 2026 -0700 remove overrides commit f88c03301ff4a07071e1b7d05dd96098a63b2f2e Author: Ross Date: Tue Feb 24 19:31:03 2026 -0700 improve deposit and withdraw flow commit 7c2e2862797bd35d8ee3b69851198664c9e84df5 Author: Ross Date: Tue Feb 24 18:01:07 2026 -0700 add cooldown logic to withdraw commit 4d7dff6d413d4b24aa440e2a18d16127745677d0 Author: Ross Date: Tue Feb 24 17:04:45 2026 -0700 improve commit 37173691cbaffb6fc0e9f5fd670549e1aea34912 Author: Ross Date: Tue Feb 24 15:34:02 2026 -0700 improve vault info section commit 3c89e0a9b24b036b8dad9501726e267ff526ae84 Author: Ross Date: Tue Feb 24 14:35:28 2026 -0700 chore: clean up placeholders commit b265ab16c3e769b0fbdc1d2fd9c409d6472a8bee Author: Ross Date: Tue Feb 24 14:04:57 2026 -0700 fix cors issues commit 549837c49031dfbaf4726777cdd1f5f5e8f32e13 Author: Ross Date: Tue Feb 24 13:42:31 2026 -0700 update yvUSD API calls commit 10244b9c1b9781cf90a71e28bd9fbc2f4fa9940b Author: Ross Date: Tue Feb 24 09:41:12 2026 -0700 fix bun.lock commit 22361b1e6a5eeb9ef7c1dbce4375211d93991327 Merge: 462218b3 9b0f5478 Author: Ross Date: Tue Feb 24 09:37:40 2026 -0700 Merge branch 'main' into yvUSD-mockup-2 commit 462218b3d3856d20938984e60009912e9322b240 Author: Ross Date: Thu Feb 12 22:01:08 2026 -0500 misc widget improvements commit 998c02cd387bd789482bedcd7ae57fdc3ef140b9 Author: Ross Date: Thu Feb 12 17:35:02 2026 -0500 lint commit a15cec03d91600242b752133cdc71cd2329c9e41 Merge: e2f1cf45 7045cb73 Author: Ross Date: Thu Feb 12 17:20:27 2026 -0500 Merge remote-tracking branch 'origin/chore--remove-kong-to-ydaemon-mapping' into yvUSD-mockup-2 commit e2f1cf45c3173edaaf82bf24340b32a33119ba07 Merge: 5bbbbe9c 223ff7ef Author: Ross Date: Thu Feb 12 17:12:38 2026 -0500 Merge remote-tracking branch 'origin/dev' into yvUSD-mockup-2 commit 5bbbbe9cd1aa531ae0cef9daeec44319929821d6 Author: Ross Date: Thu Feb 12 17:09:07 2026 -0500 removed most hardcoded things and misc other updates commit 7045cb73d67463af7e2d506b68feb9cd4dfe5825 Merge: 641a0184 223ff7ef Author: Ross Date: Thu Feb 12 16:39:32 2026 -0500 Merge branch 'dev' into chore--remove-kong-to-ydaemon-mapping commit 641a0184a5bc5f75c7b6aff793bc581d71744952 Author: Ross Date: Thu Feb 12 15:23:28 2026 -0500 remove kong to ydaemon shape mapping commit 2309e22813a530ed960476038387abcd20a487f3 Author: Ross Date: Thu Feb 12 10:40:24 2026 -0500 fix: adapt yvUSD cherry-picks to current main APIs commit ff4d290dac25e326e45a1e4106e533faef1f5307 Author: Ross Date: Tue Jan 27 19:13:01 2026 -0500 improve widget styling commit 8c657e330881beca37c5d80059490a5edda69043 Author: Ross Date: Tue Jan 27 16:29:06 2026 -0500 special deposits commit 24cf1439d58f80fae9c136ff8f2c3e8f2391fa22 Author: Ross Date: Tue Jan 27 13:54:49 2026 -0500 update logo and APY display commit b3650a47ef9b257fec5a6c29c0af633ae472e7b3 Author: Ross Date: Tue Jan 27 10:58:38 2026 -0500 yvUSD mockup commit 223ff7efcaae396b5f50c231fbe93559e4fa91f4 Author: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Tue Feb 10 11:25:33 2026 -0500 feat: add automatic deposit pop-up (#1061) * Fix: incorrect route error on factory vault deposit (#1055) * fix error with factory vault showing unavailable route on deposit * fix issue in review --------- Co-authored-by: Ross * add automatic deposit pop-up --------- Co-authored-by: Ross commit 71adc6e7f7a284b8f1de0c11412b13c2fb013ae0 Author: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Tue Feb 10 10:34:26 2026 +0000 chore: cleanup (#1053) * feat: dedupe reused code * chore: remove deadcode * chore: lock and loaded * chore: bump commit fcda4105cfc59e0b5a9f517f3ea433c0abb391f0 Author: 0xeye <97349378+0xeye@users.noreply.github.com> Date: Tue Feb 10 10:32:30 2026 +0000 chore: init * lint * fix yvUSD list row APY formatting * fix missing usdc token on locked deposit without wallet connection * update vault and risk descriptions * add infinifi points icon and other misc tweaks * improvements around withdrawal time * add marketing banner * update banner text * add mobile banner --- api/server.ts | 45 + api/yvusd/aprs.ts | 42 + public/lock-closed-white.svg | 1 + public/lock-closed.svg | 1 + public/lock-open-white.svg | 1 + public/lock-open-white2.svg | 1 + public/lock-open.svg | 1 + public/yvUSD-C-seal.png | Bin 0 -> 306625 bytes public/yvUSD-C.png | Bin 0 -> 104771 bytes public/yvUSD-seal.png | Bin 0 -> 308284 bytes public/yvUSD.png | Bin 0 -> 107130 bytes public/yvusd-banner-bg.png | Bin 0 -> 1215912 bytes .../portfolio/hooks/usePortfolioModel.ts | 260 ++++-- .../pages/vaults/[chainID]/[address].tsx | 475 +++++++--- .../components/detail/QuickStatsGrid.test.tsx | 107 +++ .../components/detail/QuickStatsGrid.tsx | 156 +++- .../components/detail/VaultDetailsHeader.tsx | 538 +++++++++-- .../components/detail/VaultInfoSection.tsx | 151 ++- .../components/detail/VaultRiskSection.tsx | 52 +- .../components/detail/YvUsdChartsSection.tsx | 160 ++++ .../detail/charts/YvUsdDualLineChart.tsx | 251 +++++ .../detail/desktopWidgetSizing.test.ts | 33 + .../components/detail/desktopWidgetSizing.ts | 29 + .../components/list/VaultsAuxiliaryList.tsx | 12 +- .../components/list/VaultsListRow.test.tsx | 362 +++++++- .../vaults/components/list/VaultsListRow.tsx | 476 ++++++++-- .../list/VaultsListRowExpandedContent.tsx | 68 +- .../components/notifications/Notification.tsx | 66 ++ .../components/table/VaultHoldingsAmount.tsx | 9 +- .../components/widget/InputTokenAmount.tsx | 4 +- .../components/widget/TokenSelector.tsx | 12 +- .../vaults/components/widget/WalletPanel.tsx | 322 ++++--- .../widget/deposit/DepositDetails.tsx | 6 +- .../components/widget/deposit/index.tsx | 202 ++-- .../widget/deposit/useDepositFlow.ts | 31 +- .../widget/deposit/useDepositNotifications.ts | 4 +- .../widget/deposit/useDepositRoute.ts | 12 +- .../pages/vaults/components/widget/index.tsx | 313 ++++--- .../widget/shared/TokenSelectorOverlay.tsx | 4 + .../components/widget/shared/WidgetHeader.tsx | 20 +- .../components/widget/withdraw/index.tsx | 455 ++++++--- .../components/widget/withdraw/types.ts | 18 + .../widget/withdraw/useWithdrawFlow.ts | 30 +- .../components/widget/yvUSD/YvUsdDeposit.tsx | 275 ++++++ .../widget/yvUSD/YvUsdVariantToggle.tsx | 41 + .../components/widget/yvUSD/YvUsdWidget.tsx | 124 +++ .../components/widget/yvUSD/YvUsdWithdraw.tsx | 877 ++++++++++++++++++ .../widget/yvUSD/cooldownUtils.test.ts | 22 + .../components/widget/yvUSD/cooldownUtils.ts | 76 ++ .../components/yvUSD/YvUsdBreakdown.test.tsx | 11 + .../components/yvUSD/YvUsdBreakdown.tsx | 145 +++ .../yvUSD/YvUsdHeaderBanner.test.tsx | 15 + .../components/yvUSD/YvUsdHeaderBanner.tsx | 37 + .../hooks/actions/useYvUsdLockedZapDeposit.ts | 78 ++ .../actions/useYvUsdLockedZapWithdraw.ts | 70 ++ .../pages/vaults/hooks/useSortVaults.ts | 65 +- .../pages/vaults/hooks/useVaultsListModel.ts | 239 +++-- .../pages/vaults/hooks/useVaultsPageModel.ts | 6 +- .../pages/vaults/hooks/useYvUsdAprService.ts | 44 + .../pages/vaults/hooks/useYvUsdCharts.ts | 125 +++ .../pages/vaults/hooks/useYvUsdVaults.ts | 528 +++++++++++ .../pages/vaults/utils/vaultLogo.test.ts | 39 + .../pages/vaults/utils/vaultLogo.ts | 21 + .../pages/vaults/utils/yvUsd.test.ts | 168 ++++ src/components/pages/vaults/utils/yvUsd.ts | 284 ++++++ src/components/shared/contexts/useWallet.tsx | 16 +- .../shared/contexts/useYearn.helper.tsx | 11 +- .../contracts/abi/yvUsdLockedVault.abi.ts | 48 + .../contracts/abi/yvUsdLockedZap.abi.ts | 112 +++ .../shared/icons/IconInfinifiPoints.tsx | 56 ++ src/components/shared/icons/IconLock.tsx | 10 + src/components/shared/icons/IconLockOpen.tsx | 19 + src/components/shared/icons/IconSpectra.tsx | 8 +- src/components/shared/types/notifications.ts | 2 + src/components/shared/utils/format.ts | 36 +- .../utils/schemas/yvUsdAprServiceSchema.ts | 66 ++ 76 files changed, 7287 insertions(+), 1117 deletions(-) create mode 100644 api/yvusd/aprs.ts create mode 100644 public/lock-closed-white.svg create mode 100644 public/lock-closed.svg create mode 100644 public/lock-open-white.svg create mode 100644 public/lock-open-white2.svg create mode 100644 public/lock-open.svg create mode 100644 public/yvUSD-C-seal.png create mode 100644 public/yvUSD-C.png create mode 100644 public/yvUSD-seal.png create mode 100644 public/yvUSD.png create mode 100644 public/yvusd-banner-bg.png create mode 100644 src/components/pages/vaults/components/detail/QuickStatsGrid.test.tsx create mode 100644 src/components/pages/vaults/components/detail/YvUsdChartsSection.tsx create mode 100644 src/components/pages/vaults/components/detail/charts/YvUsdDualLineChart.tsx create mode 100644 src/components/pages/vaults/components/detail/desktopWidgetSizing.test.ts create mode 100644 src/components/pages/vaults/components/detail/desktopWidgetSizing.ts create mode 100644 src/components/pages/vaults/components/widget/yvUSD/YvUsdDeposit.tsx create mode 100644 src/components/pages/vaults/components/widget/yvUSD/YvUsdVariantToggle.tsx create mode 100644 src/components/pages/vaults/components/widget/yvUSD/YvUsdWidget.tsx create mode 100644 src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx create mode 100644 src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.test.ts create mode 100644 src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.ts create mode 100644 src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.test.tsx create mode 100644 src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.tsx create mode 100644 src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx create mode 100644 src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.tsx create mode 100644 src/components/pages/vaults/hooks/actions/useYvUsdLockedZapDeposit.ts create mode 100644 src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts create mode 100644 src/components/pages/vaults/hooks/useYvUsdAprService.ts create mode 100644 src/components/pages/vaults/hooks/useYvUsdCharts.ts create mode 100644 src/components/pages/vaults/hooks/useYvUsdVaults.ts create mode 100644 src/components/pages/vaults/utils/vaultLogo.test.ts create mode 100644 src/components/pages/vaults/utils/vaultLogo.ts create mode 100644 src/components/pages/vaults/utils/yvUsd.test.ts create mode 100644 src/components/pages/vaults/utils/yvUsd.ts create mode 100644 src/components/shared/contracts/abi/yvUsdLockedVault.abi.ts create mode 100644 src/components/shared/contracts/abi/yvUsdLockedZap.abi.ts create mode 100644 src/components/shared/icons/IconInfinifiPoints.tsx create mode 100644 src/components/shared/icons/IconLock.tsx create mode 100644 src/components/shared/icons/IconLockOpen.tsx create mode 100644 src/components/shared/utils/schemas/yvUsdAprServiceSchema.ts diff --git a/api/server.ts b/api/server.ts index 0563b5039..edd9f459a 100644 --- a/api/server.ts +++ b/api/server.ts @@ -1,6 +1,47 @@ import { serve } from 'bun' const ENSO_API_BASE = 'https://api.enso.finance' +const YVUSD_APR_SERVICE_API = ( + process.env.YVUSD_APR_SERVICE_API || 'https://yearn-yvusd-apr-service.vercel.app/api/aprs' +).replace(/\/$/, '') + +async function handleYvUsdAprs(req: Request): Promise { + if (req.method !== 'GET') { + return Response.json({ error: 'Method not allowed' }, { status: 405 }) + } + + const requestUrl = new URL(req.url) + const upstreamUrl = new URL(YVUSD_APR_SERVICE_API) + requestUrl.searchParams.forEach((value, key) => { + upstreamUrl.searchParams.set(key, value) + }) + + try { + const response = await fetch(upstreamUrl.toString(), { + headers: { + Accept: 'application/json' + } + }) + + if (!response.ok) { + const details = await response.text() + return Response.json( + { error: 'yvUSD APR upstream error', status: response.status, details }, + { status: response.status } + ) + } + + const data = await response.json() + return Response.json(data, { + headers: { + 'Cache-Control': 'public, s-maxage=30, stale-while-revalidate=120' + } + }) + } catch (error) { + console.error('Error proxying yvUSD APR request:', error) + return Response.json({ error: 'Internal server error' }, { status: 500 }) + } +} function handleEnsoStatus(): Response { const apiKey = process.env.ENSO_API_KEY @@ -133,6 +174,10 @@ serve({ return handleEnsoRoute(req) } + if (url.pathname === '/api/yvusd/aprs') { + return handleYvUsdAprs(req) + } + return new Response('Not found', { status: 404 }) }, port: 3001 diff --git a/api/yvusd/aprs.ts b/api/yvusd/aprs.ts new file mode 100644 index 000000000..f91bfa7dc --- /dev/null +++ b/api/yvusd/aprs.ts @@ -0,0 +1,42 @@ +import type { VercelRequest, VercelResponse } from '@vercel/node' + +const YVUSD_APR_SERVICE_API = ( + process.env.YVUSD_APR_SERVICE_API || 'https://yearn-yvusd-apr-service.vercel.app/api/aprs' +).replace(/\/$/, '') + +export default async function handler(req: VercelRequest, res: VercelResponse) { + if (req.method !== 'GET') { + return res.status(405).json({ error: 'Method not allowed' }) + } + + try { + const upstreamUrl = new URL(YVUSD_APR_SERVICE_API) + Object.entries(req.query).forEach(([key, value]) => { + if (typeof value === 'string') { + upstreamUrl.searchParams.set(key, value) + } + }) + + const response = await fetch(upstreamUrl.toString(), { + headers: { + Accept: 'application/json' + } + }) + + if (!response.ok) { + const details = await response.text() + return res.status(response.status).json({ + error: 'yvUSD APR upstream error', + status: response.status, + details + }) + } + + const data = await response.json() + res.setHeader('Cache-Control', 'public, s-maxage=30, stale-while-revalidate=120') + return res.status(200).json(data) + } catch (error) { + console.error('Error proxying yvUSD APR request:', error) + return res.status(500).json({ error: 'Internal server error' }) + } +} diff --git a/public/lock-closed-white.svg b/public/lock-closed-white.svg new file mode 100644 index 000000000..1e0159121 --- /dev/null +++ b/public/lock-closed-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/lock-closed.svg b/public/lock-closed.svg new file mode 100644 index 000000000..2fc9628c8 --- /dev/null +++ b/public/lock-closed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/lock-open-white.svg b/public/lock-open-white.svg new file mode 100644 index 000000000..a0bf19c82 --- /dev/null +++ b/public/lock-open-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/lock-open-white2.svg b/public/lock-open-white2.svg new file mode 100644 index 000000000..d5910dec2 --- /dev/null +++ b/public/lock-open-white2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/lock-open.svg b/public/lock-open.svg new file mode 100644 index 000000000..36767d786 --- /dev/null +++ b/public/lock-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/yvUSD-C-seal.png b/public/yvUSD-C-seal.png new file mode 100644 index 0000000000000000000000000000000000000000..8c7d3ee1de49bb1e5cdaf5f0000d1ceaad870099 GIT binary patch literal 306625 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

RJ-1Q-(8S6k-G`ajrC4wduW_KY7XJ&r09 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
%A-~adjef`|*V2%ch!6L)_ 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

ZTgWA7c`yDi1SC)MSU*$_T0;= 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%0DZOSo7n~oRX2^L_p=)zKcm9H84QD}q ~ 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 z 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�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

%aKq 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 z zw{C84bxmJw*8N_O&2B4!>vy_wghL00ZPZXIAZv?Du2gmTN1uM~Z-Vh;oFftf7ncdz zpw`Nwi_;U4!^&1vB|%og(P(TKW|)M!p*prBh?V1F@)5_$!)Q$HFYHscV+{vALsio> zjpHPVQp(y&+O3wXN``^;Fw0Yl!4+4l)x+b%>FGIO&#Gh^MgfOC0bX$WM#cn#bC4|r zk3R}36tsc2-l&THaQ|Rh#>we1s}E&#sPVxGRQquinQ3T4sVa!E@Y~aTxm?SlGM!Cj zS?+dw^x=Xmg^my&DbUp0&RX6%ze<$*)#xL}%&-Ic7*thM%7Sg2G~|S)@JG zT6Mq*<50528H_04sqhahL4$cDIF65#h?rP)9{_>_9(y<2#ES|oU7lw3tSU!NC|anB zrf3`ox+q(yryemkes_8)(`kr4FIg{^n zx*Z_I+fKXP9S#O@9OXsfx^33>l@-NxoXd*~)Qy(T3;bZ%HFR@283(?n>guO2UYdqB z7<3VOJ)7T;Cm=X;{A4=q5BgbFZi0<%yJb<>HlSW#|KzL3$H&!XeSC5{p3Woz6-bgs zhG85X4GqnJ<1J2>i`B#J{l@o_7-!y3U%t3FI~@$$Rh6F}9SA~seRs3kgmIW~B|d8; zxalY$HBAiye*-~kmF4--!9kWL?>@X64i63w4)3R<(Re-@jZ{rNI5?;{{_g(XZn=3{ zN+Ku8Vt>$odwq>jmMjGkNMlbgpWICz?kBUVsvOheIez?b|K#%g;>pFo{rS(TW{{Os z^fvylzW(W7UVTgIgi_$q%PNcf^yGLlne!r_C2-{1mX3!M+HQ;)9Lo$M|Muqg%O8E_ zy3TaIh{D7+-HI#11eB;W&%!kIqj<62JdDTV$#}k8M4(Y82_gWrPo95rdI$shH$QxL z_waaedY-1q)$R4CpMLtu<+E?U`*!2|n3Qmwu4=-rn8MmMc*d9LF+s&9R-^yZa-z1X-TV7Q@4X*>d*elZ!5;bx_=1rD}QtHdF$U7KOOM z?TVQe^)OLpb4AI}r#MDbJb!a@TUFf4=Pv|NxVpKKHN|zT(Dx83=lPHVlvTIgK}<=S z+7_4-h#IL1!?eBiX1QAQdi~?W7c8TR{+e8-G4u=!W{q)29e(L7gvyG=`m=9D@v( zyfrv+yhd9_NCIxwLnvu}Kr;z`G#V#yZktxW*X?%QH~}fTUOD%1s_f9shI@b4yJ^_9 zHMO)N6f-r!u#X5hhJbLcsr`N*$y`FgqqW81M4+e_PtW?D*751^LLj&SbzuUfia++q@`}fz&)rRcgfDe^iAxMaZL=gd$HLgNdg1{F>p}+B_ zli6%C^F2^`B#EWVDFkxovn2C9Z@peeadduu7R2H8-PKRN__3ks-@f{u7evc|NeP}5Ycn6pP6HmVg$=Uf9SgIbc$girCOtHSQcfHCf!aa z41y$$JME5waKlC0Z3{fV_BQkBblC5F`PCP1et27!g<%*e1VHtygw1O;T{R7>DA*

tndUq6gS09;j^B+6kDWJ&Ss-~9SN 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�P6bxO}x@ksX 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

    R0Oifw)=Ib~A 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%0Ar!ZjFT)$S}HCHVNEP| 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�i8j6wpHR%l3bg?(uh_|wUFJPF1@FrAJ)&oxbb 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�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

    p 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

    F@U=&B4v8=*XsjA|c;nHtBZo7M@c zLTHh$E2{SK{t-x(qTxcB*2B{i#9ev$w0U;Ha?9b(Pe>!ZlbZRUUDx@(Z_w&0s#5*G z{y+XtX$(=IX6Uo&v?xm7_m6ZTMCd$W2010!LBCW?7yR+nQPw9*5xxw{83B@!579P;dx20}rdH zKYX~qyi|40pQRJ(utNs2+6c`*)=Kw_wW3nPIY}=gp-qX|W?rMEX;-}4lGpk5T z1Uhz}WwL@rkDJwZyUm820N4;r;xI5K<*)-7ie}DFB^L8QG387I%wr70h?AIHfP|J& z5gJn=v;{<=YXxE~X(monU9z$<$_iLJ2i^0qn9~ibq9U@7QG(~9pN=89RckUia)e>H zTFl>l_-L9|5O{S78NulkPiK?uX778RqG|ix{_6I6yV-g^vc%ZNcs8Bx4~H~PZmzF= z&);tL0NW(>`|rR1;_X`-^$OAV9JsCj~!}iP3BhQM3 zEEhiwZ7U5i5y=T%9UJE|#y|^U^q;+edN1d90;;?CyTMs~oEVCs)d;|F_Ntg&L$BNb zJEBS15O*rnw*asK#~WAzG%_x(F$5%N znPD6H6mXj%-RH>OBA%eQ1#ECTa6^V>_^)zs&%pDj-M^Tvi+Lz3FvX09(2k3&TpmKH z*lL>a7;=ZqGa#^BY3j=V$+R29xM+ByIfRnuNK8x%!|<>_^yJ&gBPtBh#8~`1&m6U& z7vt&kJHN075C#tnS&ZNJIji7IuNWuN<7A$H=Hm1I8)x`|GkC#w5FpRsZA-=&JRTFG z94L3;yoN)u;y?s~3Gq4_m;@FKg;-Wj8vXHoV)#4Ye8Xsi+_{GkWggA5MXH!+Gns&t z#E>b_lR>&t*04;#XxoozIW^L)*4@w|A7fLMZqU z<9s&s8?L87@YytSxS8W8;_Zj^vg01W<5ye+>M_LC7DN-27vnpn&4FCR>9HF%yJr#o zaK}C))QsbD-UJCQ8~<_y7A|-sg7nGD1-EZdQ}Of6e`0V;%*0XPR3piQouPG;k@Qj7Jk?iR>E`bj+aMT2a zWuQgSm#{Gq*Pkm<0?+tf@VC-&z)%^jHyV@C3cT121c1uFq#q_YY@lkIrfoZAU7b!b zMW?|yii~71Ddu6erfL@X1Lt``<9LHyd2v)@=t9segg#8gA@&CM7z1EDoIWg{Ly{=N zIYSmNnSFC+G=(BnFYazRs1M%b1c$LZ6b4SHgJFHd&o7)^yIwQEK<8nfQ1?RXdj>>> zWijFOL@T5KW0ddOVSo7g>#qWT^5c&`&K8TnbzRr99j~k#$8+nday(a-73$NDilo?q z7al@?65M}$TwcLYmu9%Grl|$RIVq}AO;JfW z2tNbfHxP_+R#&5xVh=r4!61eoRh%QI(_%VXEf%LFp)L;EIPhzGc{ZIL_B(hc+jdI>wS~k_qTh>8M?IA|`h_z1LM~4mMborMq8Xk(=70`SQWTy|ezx#i>N=LY ziPT=Ib6ELGxrTULb*KSgT*3X=zyZRs%T`PSkj!xPz`PJp?1!b9CqU|*#06uU?_>`{1?t11BLN36BH4wLoMuxLl0ZM zC@t#>JI_GVr+QWVGxj~oq(imLrr6>TAVw@t@CPy$RO2H^&$niDdf|Hw$QA$t_FJR} zjVK*GM;IFdQN<;)ErS^33TLhX^?`K(w=hHp5$q6AMY87&uNelLfsIk)!E_DYJkJ+Y zpdiF_VT%G@PBc0k?@m!2R#hEmDNmUen>_d%8kz!o1jWz=VYjU`4 zp8%)c8GuqH)O`IG<4G_b|S-k?F{WAFS!;>E}Ra z{okQbVDZ2r68I&*5M6(I&5N6-DZJB3H(*{A%HkIc% zRSjc#NVLfk7B0{P#>2=0ahN8>LV;WXiKmX3!j~^!PJ)T&K_eZ8;bO6<>iTdvELV%7 zESkFBZTDAqH#s>A&StZ^DtftxO3Z>JYqeY&NM#1qu|<+svWMpl%E+2>NnF=cRP}H; zXqt9&eGL#7aq>8(vDc9)P*tL!SBb~g){XD`$c%`fWAi;PFLDLaLs%2@v%#ZnCIPe7 z-z3aEAsX?JNXQIMc>mZG{Xl{X)ZQ3)(Vc^)hcwD0MS^z%)5vrRqR!#yYhk>Y!efcN z;^F++wGiv~knaog8&NURk|Hx32+Mx{`F)QzUrpk)m*m^q+f#Vd4a34j7!WM2v~xlb zJLFMXU2B+T6rN5=(o2#_us!<_P}4{0D)iJtrH5DnkZb9@CPxt3lL`65L&)6RvVgpm zY0!kZs;=v)8ce@9;%8v^!jF^o1R|fH`@T<3Nlz36zEB@Oe%fsJFJHatnl|v=<#L(C z5vKD*o#YV>*K$3KDtbkM!A2CGEHc-H{|!kX$k`EE|EjE^fbZIrFdYd)c;KzQ~hl;QO#CS5+;H@ZRP#L}FPMM7<=xX0`_| zJ4u!`O*OMDgEX!|(1UJZ=2?_gl4Nh*ypbTno_+V5U;C~zT_EW-%M$eAP0j95U~|$K z2cAY%J)H)+!GU5!3&yh=X0#9eDMQiB)EOLxX?LZ%j$aKW6E!g8ErobWHu9nEoy>KK z`7O&baua~cIDAYDgz0lX!?6ppiZ@J7kQjurT84LGF)Hagu_r)?ugSfnVNbv#rhu)> ziM6t6TQTxulU`C%2q;xFr0`&`U%t45sd`;`fft97tjTTNVz7>@S|LBafVS$e+uz<^ z-Q8SisytsV_nX~pIXmw6_mB5)zW73tmE++g$-X zr^$TMw*4Rf^^e!rtGBOS27wP2d)+FA-nDQ$507DdIQ-B5hkyU`&+pfMAetmTn1VM-BWI*qhWgWxNbD_-adgKe6$QW`|O@nA&LV}m30Im0Y`_-$v1+f5| zw#o8T*Hy>1y1v8otu6_L>N$Z3&tu)jNg5tb3h;ZF&&aZzr&*Tg@hJgH4CP2$*G+s% zvI_YKf$OZ6OX`9_GB8bD>1E9@cKbt?<*(nqwhg&^`g3TY`h-tKavweJi`RWcjv@|QKM(!}rhxHM3$vU#RH3UGw zfxvMj2`ovX+O(E!6?x8bYKm-!{diuMuu~=s57j9#X1cbcoGhBWqb`Ehj-~M?UGiekN9r*SH&5WCk^37}Duuhz@xl%T3KjUp?v zya+shHk~{?JYe6joyC0e{==uHZC8u=X1i4kElYCWalZKC%Rl`7kH38U@b>Ln$F}$T zovJFn=c$B=Af6J;r#6m}TF!>Ax(RcBRaKA2XgUc{gMlfI=h*lCJk6dro8@u|gtcpz z^Z6+ZgV{vsr0^8Y=gS1qNLkmk-+uc|*Y%s-W;&T9c?M2N-DGKw&yvIw&#lqS8bzAU zr-AJ{?|%IG_V%`}+wFG$;>DHROL1PLN%s21-R`(M9OL|* z_M3uQ^l7>QrY}K|z>EgR8crrcTUu5{8pqS=#I&&ffyBe-7c{MQ@KL6?=-5? zjfy4z~G-=LE<^YZv#F}6hv>LmUG2Bq>1^WK&ThX=)Aai4_T$4R$Mf#4Z$I3B>?GytYPH>MEz9N% zFku}}KJbWRIUJ|cDbGy|!;Fs6Vm3E)M8*HjZ+?3??9x1j{vb&q*(c5pg|xMZJ!4Z8 zU0W=sA3l8g`m4A5V{|;lz}E=~p{!h6*Hzm#VW5X$oHCtE9LGK$j|N%Q$>1yL*we^E zLnVbr2lqm|Z_zOlhYouL;Si`6!MwAahD-?1sSvJ)p)ExDI<`>-Q)7hDl5@V}!h-?% zBJ`<=d(}dLPA9HNUY8{eF3ECLRWL1p+bt|5e9sO1Npy+>&wJQxT*t1f+OmN0q*)gD z{^@iA%wm{v8m|}2=jRO?8(ojd_u}Siz1<%m0@Jndl)QNTg2TD1vj6A*{{OqVy`9Y_ zsF*=0z>o`|0{VER0)mSn4}-X8?DWF0m!yuoE7)JKP=ykXSe}`gl>Qa_{NjqRC3YP0Jnmg*zKN#rVUDWMVZ=Pdd5o9$JmVarHil%`^Cum#WnnKm zPU6L#5*kY}s2yHKjDkl8LIPIC(1>B`aN(rD50o$x5N+p$XY^>kE*=AVDU6(mJIoIt z&jpMGyqM{UJPSCiQotgG@;QR z8G4#Ox_8iY}37*Nr%AO2t(F%F)G2W@z-;xRlY4U30yd=i8|$tB~5*qy`s z8?21!MJezEgL@_ueXavIKVT!1DC@&!4L9|LMZX{a}pA_ILB@X~oM9HP8NGYSuhbnG@kBD11SQ6NsbwQ6jdQ}!>E-mn4IQ0uUgYTZVNi6o^X2d7btouYd{rr) zke?KYqGXv87KLrh_`dkR#H6pm@6`>%vEBQJ`{{g&EtMHaMBHKX_KsrF1xbgT+}N^) zUCjxSA>y{M))!nZaap*jA{_m2437sm(Mf&x=Iv`)!bX>6RT8JW!{L;s+wCqd(Pa^A z0RILIzZ5M#!4aXCy1FW7vx%xG(BE{OWxyAjx^-d>k=|X0lMo6OMka^>04j#6%CO_2 z0*9L%@=QkO!4Dc;Sy(G6INY(m#*Kx_eGu0eEv9D;Z4dX%5Q=r3ZQG*NEDFzaec#7~ zl-T9G)OjPN!%^hFj>iq%4%}p5|Gm7~?QGk6eRqQ)4h?;$6PPy1;MdMJyG_&9uWnz2 zQG5uGD;S(sCdlJh`A~=s2-{_R$_2x0*c(1`xS?}j6S*o(lpME;A>!b3%HNr#N3OOs zNhI6$vp>`Ln~?yi>lvm+ShTcvF;iz`r(yofOO9k{qA(LC&+KGF_yN^S@Q&kWN4TGG zUIQIX#1DtIhGo+PA_{I6nZpaK3C=-eo+g=6TpF04-#b0C!Y7|&G8krNHl0}Q^Zf`^Q3h|1nzY?9ISFlEtH zo$cVUGdFc|0#461kjS7VLjs)`3W9tyJbBQ@sqlv6^)>+QfJ}I{L)=~D={9X`*(P2M zj2yf&Keg;6k8xJrR2A}oiJ%Gn=(vRfaxM$Ywx+=>%QND6Aj!4u5Ql6U7KU6Kw74u z5ZnmnB|W+{T%<_j^M(wM=&G)48p6UUcCf+dyOzie7=mah^Prw2oyqOzh|rv316pO?jA0kyAV10Af&B1vMz0AbohPOvC_>8@*v z@A+-rg6@!}^r=xyBFLN`B#>ZofY`igzznjknzkmDw#mmXrMmE>g*pDi2_mce?coGr zl|RGC(KwxA+#}1Wsx~}@v_v{w__|DzQ&|@198i@RVA~+WyOl`nh?yjeqf7J|qR(TV zwAko|j#QXGGf_jB1zxnYOiHFQ0A*VgMW%^;-Z8S zgLuhQtMgtl3=^c?c6U0R4u?JbNM=*!tW%AR<-|^4ESh2|kwz67V#o}$$cv_xB4i50 z1>~E`a=GYx#8Q-HaXNvsqEmDg3^g4uIz{Bru714#q-sVSC#I!-`S#5uaDWV|+NV#S z0MeJ4}!X9e(KS&}^8 z@4JTd=#0*bItL?Jrn>fW7={pcL279;1Gw#a$FT!1fL3!D;Rw2B%nD9R7-ey*$P z*T4Q|I-ULSi#`@j9CAOG^b8<;O%z5LgI{U291F9SFD>8C&c?svb#z#3eS=ta8*?e578-3 zR7H=%D9=k)GkBisxgNr65GWJH@d;*-d2xUL_{Z{gC@6h+bhDJ_vC^?&^*&Po}RV~QsCJc{ho>`{t+V=bV59=lPJ^SN6 z3K3Jn#ee~vLJN;aa=Oww89va+3+Fg@A~nLe6sky=+0cE#RjA6!!np;}3wh@Nv+uj! z^<8odDs`M5pgRD0p^P3*?coqr_KmY0Ak(n;)r~CAVH>UjEr!InZv4Q9#(?_Armh^@ zkrhIVTO<+mZI=}pxD=+PNN|z4yS+Oc4oy?T7+=?tB)Pg;$EQ=*Hj)Ba=9|~Ao}Xc@ zq)3Wk=$_{@A0j@*S(ZAE%c(|jk`RYS%`&*HOah+_IE^QspCs_O68MZPho=}(1x2&l@4di=oTXRxhr<_NzRZ$he>`}OnI-9D63BfQ z=jE?{^{Wr>KKj9AxtJg#khHik7+|6RobzzHRRlRJC;-gE@o1VxU6RE(v7%L7JH;oi zXJ}nDkOT1v+V!xF#AFF9kf!Ytgqz!nqT06Aqqof|>=oOiuB(P_v~`mt3H-=|z;(Py z5OjT?WtpPNNdkv6&-V;X7nXRSuN_^~oXTuI1K^FbtW2`BZkqS+Kh$*&UQ>17bCWcF-t6!0ZmPWKQCSZObnF|- zs?M>49uidPHBd8Kmfd$9+uo^_pNSx0Q znSp_1o8}3nQ5lQHV!2qrk>5cAz;qgDoJ_G;ScZYHD#$#nDFpm@pG8@+ELM>z+pFs) z)2aIE&DC@{Pfp2nGHJn~0JWAPoIxYNIhW>Ne(|;}^ZWb9{bs9a+Nb-+!|@2_OE1sn zvnYymv_0KyHd7TPIz^Q8EeF1582bIEhpH*-1`)Q)_3FjVOHEaO{`oIY_Yb!3nYun* z%)>*}$x_$Up6j%2`}p{bP+QM(TsKcr-O$rGqq#pWlVw_m!x5=DMcMaVgF?4W(gfBw zWtA7X=X-tEqg1mU&A=u#o6pL!s>@ndm4af!&`|X>J*15uk?_>Fv@Ie7ySmX}b#T-a zb+KOTo}c|7kQL<=M*d{>@#BZ}Y934`;UUx%bvmDYeD`s&n9r7rPxtqhs;h<;pKz04 zv`eXt%B>+(a1e$_~LcAeYk|V zFVyW~MmkJ2KOfEgl}Kw$UL{sFcHS(@gcAnI<5Z-7JpbDv+n2UE3B}J^_mjtS-7b=g-SB5svO=o7TDp4~Apy_^OJO zcUTka)9EbBibup!_Cet5aOnXPNL=)AnM+zb^ZLKEc@ z{n_~XJmQv*msG02-nqmgl*KaTVTcVoE4V*Gxl|DT^O@%U2O z4pt`LK{0_nr!0&dl(U@i?0bGeCm8SUW#j~#YKWyn7YzoRvzH;8>{tPdMH zItavgmqvU-6eS|qc|^zOV8S0j<+Db6x+Z6aG;Ms8bNGy{J0GZc;Foo zFhdk$l44VEBM$Dg&@`iJ>q+2g@D<4Y$u!RZ86odRMM&)_iqj;EB3Nqa2J$;B3t3{G z=YSLKqVgn-V*@F(p;Nns1|BwRZNr64UE?DdhQV4!&{Zkg4X4SNVdF4g!5+tnBp8e z%H~A)8lt0NT$!Y0QM`TiN>=(jFY30N2GhLE%A)o?ugLQ#KHXkjNqzsg**dP1CwU9A z1UpCRxR6ozQZ&QBC>&`;!}ctQE0=pTXW0(fBAM}C~%z}(g7|ko$)5hqJV86`2-TT1Eo93+=bVXtSAg2^Ho9vPlrAKF4pc7 zV*nqJ#O@qXM?a3x3OpqA$io_!9luEF#1WS!t|Qy zEL0EB_*?8z^nQp+HKfU$?SFY68`yLLx*swW&Nbn1z@7=0XTO$ny&_^eM9lV?1uMRR zXtiL;j1}&9Sa9V_`uwN2{jLYbbA%WmbO}Tta=fyYBAqFWb->)3=f9viD7>uSsML5I*~z8({%u5NfN7yGM_E7G=qtKFChoY0klH{3cKrj zn)pj?-Ke@+WO>(Pk7XOJG|d`1kM!3nUSc?x%{QljYc})oMPQ zbzNK6r62em!5dN!eg?dDx;D>C%zUd7@>~xXI$3} z0;njSL{%NA`lN=ue39mB+p;2shfpQ8Wm`AGpA@JB`XHvJiuRU>dehl7P7>-Z@R|+0 z$1wuLM1t%b$hRExSfnMeSN*En#y(EGKUzN>2`zkpG#lilK~A08OuAa0|o}1^AL~7 zB`ipd^lo`;Al?SvEpbGN*hFUU6m(6TDw;?}QJkf@9E*>}D9Vu?X0LZRz-Kfh~{1KzBc%d4w(-y`li$71dr$Hl6~5rm?s zYr8a!tELIOX%I}aH2d)3Ls?gW=igjiU0tnV4DPuZa_A$&GOD7)bb@*pO@}lPuKTD| z@znYL1n@tJxM8z_(}XWL9z#wS?mKuDFg3ZyU-lXz53sA1MVY24rod#D2GakqmshZ4 zN8~HASE|Z!oz-H=w1Eu1q2v>(>ok}yJL;S$1`7Om-7uo#Db0~=6-6;*x2k4X`p}}b zWm$oOL$!)!8MX~;XtEBWpePO%WyuchuSEUDZ8Ht)6s27+dqEH$!n`aFDCX6hySs;n zr?M=j)5-N}xmZkf4W`Ei+?6fe&=ly>ECh$qL`9LImWFhg8z^d9$NGa005LWk`aEt7 zhpZ5yXOY1hGfLSPv#KiamfE(+3l+Ye*q}|*KtY9^1++y3c;k!m*QkP}W0CmMkN|@1 zM5TyGbOqm{Iv&I6Y({x!P2hu@#WHKI%$YOId?`vtrhs8G6>poqYMQ5~4T4J)wXNIR zyIZNpQjAZrZs-~Ty_$igrJF{U=7wp7NGFKAiD&EDuYdi`&CQLb%KQCxzuh)%y}nw* zeZ5zr`1JI=`PJ9o?Kjcy|Hq$-0(KFL)!c`>#-wfP7q4C{FiXc1zug_#Tdk_<-9Bnt z@R>Y6fDwfzKW`qF%lYe~WcRNyJe6ggr#WWqWodyugZVO7@5mGuNo1s$q{D8QuAIjb!(mM(8DvMH zfe_rnjfU8wTww6t3KLu+=m?SrC9nv}Az9BhEh0a7Pi9XM$F@zNo&s@U8*SvJ(so47 zt7=tOo9)IjjNkq4Z<8b&{PxPWt$f$|5C7qx!p;7a#zj$w(Q&n2$!!ni2ns%Je+a+- zo z=FM%K#fPWezx(%p|A&A5m)o1`$!zv7|K)$IuGj9w+iV_w_3d{b-+xL^vFkgF^&(B; z*>nmX4_pcDD2f{>P~mWyXBkCon6e^GX2>t!ZVubsfpj>%W#Jj2Fj%cDbDq+_d~v5J za+)AE@f63$eN^E21r={TpDgF|An-lgD*^R_USpWnZo7Z~{?q9cuNJefzIZ#I&0Ndr z+HSd;-`?JS^YvHr>2$SP-dtT@t=C_E@#UL0Z=v`nQchXqh-Q{#*K-3HrntexC--XL zsV0CZM^==gfZu4{Hc6Ps8p!u`T?fI$HSJFBKYqL~>iVlUZ)U#t>C=4@#hnB)aoN&;frLHaCJ3Q|e^V#Zpz1!}=R5pOTBylpG&ziQ&((HM=%j#l2 zohcG@x4NYVlgZCN{k&e!-@ba)HvR5!Xv$jE5C&1ymFxNODV{B+>=Rp8mFqgZV{;O; zMTwI zhdopX*C=hv%Cp>dK>FUBvPfR<=ANgi98#fVwXl-4oq$g9cNk9)YIv-m)ayw zIbKdKmNnN|96@q@3wo# zbFhI}@Is$X1GxuL%reb9M;bb%{Fr#Ro#eP~9G#}Kc}=q{$FZU3CWd-RxT){?zVF9L zoFmz%w{0s+(qJ}C;$(GwU6+-vYu|nQ9nQ$Mgo%`4%%+pw_Tad%+B(JYdbK(pLX^pvYJ`|`Q=@AtYbqSaNi(FbL#<9N zQdL%5d@8aGC`y%c#7y9k=_QG%7!(iPcDCc@pt*o{fI(;rMT9^f5Tvpvp&Xia+j2pP^6A*!7IG|fH2Ix_yLKf14nY36eK7D#P9FDX3lqXJPCC;s>C_;FY zHOA2nGhvp9$hPY+nog%Y*bl-(v6qUf30 zwjwD%{q$4d`+xJB@46N@g+{D8e4}hAweXB9vgf+0qPRZf`&{Q&Mb*naR=6a?!K*_c zZ&iVi$~N9bo^vllcmznI?A1iXDdCFBswCi~NrF)=8elQvW^H-f^}3GycbX{4RfEjC z1{7+?GAT<}k^;|Puh-n(VrOfxW7OoZqN(bUZu%*Vu5YfTUdplpDR@Mnmt}c>IN;zm zO|Jg9b5Z}}|M?#kSt-gQm;}rWa9o!sQ1IJV)!B4b)cL1RpLAWB1XD#)!V^ejUR}fa0U=E;8w72ho<4s1AoY^#d0%|-<@)Ms`@D(c z*mY4E2NSQYQ3M;5GH&QF&P6#0LvY7E?la*UM&`InGS;0a<$#< z*cAZ%Gh)jqpMsvsLkW*?p65BKl+|1|g#gH^Ngq31)cm z%X~3kZZ^-s#GiPxPxqhZi^bjD?N2}cuw1Q8-MoK%n9Uc8tdtcwN73+tAr%=#VWntT zi>y+LlXw!iA0O{kO|Q!0a6G(v`FgRO12U^>6xm=nbg+c*JdlEE4BAQ3K0LjB@#1N_ z%ZtjftzMSux>9Al=ejCD?l#QXbgJq4Zhxp72m*u<6SEr>YGm9YB3Dt4t189I(Trm- z3Fl^sMLhhNfv!$CU)KYnp?~BVkT7?(EGtb@!vK1Xu3nO>x)j(9Zx%%HYa00da)%EC zmMjB}tErK)*Pu@`bbWW&-(KHDVFcGcNy@TpGMR+O&~fahZld_KT+E+0TUaqzW}2q1 ziykb1^X;VbpT~#3f35IYu1Yl)-R)5M2$r6AV@m z5n8gZ=4e<-G8b`8i9f+pVBr8cM8k_ejQ>4MQpdYH=)y;&cF;49cc0%JH@ZBj;ejw8 zki@Hjq=O(jPR^!O&Ouu*kYj44U~@`AWuyx{+rSEQUAnbx+t{w-dES1v-ye>S=QOoQX3sG6)z1i(r)Be>SmT4_X*4(sY9!JYjFZQ#MXkW{-}sFBRrUqetKs zzV8xy7O2~>ipGijAnYEn1P0xQ;%Sr)4sUXdu^g}88735ADCfT&W&tBv=lqbK86~3} zpFw44VhF<{H48*YBM8|x;1Bbbh^YYu&kw%nWHC(-2k}VAjhz0#$P?mnNMOa*(}J)8 z6FiIr36R65K08kjd+3~XBVNTw5#_H5syLDu%FRfs0GZ9-(BlD-7RQX~eSoGsYvXlz3#w#izC5 z_H^jl_BY>tmuBggU%vg#x8JBTd=b{m6=oEkcXM+M{ivm{SBvFhZrN6zm4_(Y?TsjAAhkxAH6NMjG?FKCVsNI}5^ zm8Up0$Vg*|GZ$PCuBjO09$8<=Lc?fa@TZ~ekc>kCHo%#{^8g4T&59j6$diEfeasJEmT_gO4YMTp38nI!F@Z{h?JCc%w_XHK09O}$N z?_o<9lp2<=VPZ)J(IZDse5VLm$1)~9s{+p_3BFcram3f0Bc&K@rvCFRB^T~Bw0Bdv zOLQXY0{CVP`#;rD)Zo%Ff;kZfe+U-+h5Y-HS|tKy&K^19^9^J*f(!?T7xv#CODx_- zM?Qc!J;%~=wDRQ-GH{gmpGCF}Yl??&zwmh?@RH7Dir5@3`)GYI&>*N)DLFQn;Rn9? z)RT+L$SENrib#092;huybbdeJD3b)1AvEfp@mmIJtAKBr9W{^)1bz8zT|?IpdL4x< zYOvFuiC?2ISwOQancXfXT1IZw9yOyCg595vYZ zgeIaf2f6%U9yb0smjUdGL8lh863+{OdjX~g4Jh)tIKDWjKR+x+vdT~kh^K0(m@a;44?g6Z-{bnd{I$&5K7ij5ut>q802+`-pG294jukog1|wW%&?Df^TR|R z{B}CU=&2+DIakrg*)ckuU?gqoEv05jy%bD>BuVl-XG_A7xGDM|@h5sP z$483_cuAHu1;S*0jJQa)G2{YB3<|hzBypl(kkoZj=MZ=fz98W)m@xrKP%X=D+Qx>Z z8I&vV_MnJgN$Lxb@F8-uZ0N%<>8=43H4TEq5MX2&K@fz;L)*0^yav`pwusnK!PGYm z%p7n9(BjpYNg=cLbUM*1muUuNJR3%Guw9yEO%0rhbzn@77Lq=$&lQZunilrpwrw8| z2UUZSkJNSat&~E=++w;l>}*t&1;QXGcm+;8~+E3d-SXiUz>+deP|=oldsx^b!c2Z{EI4 z(wMbYR0!h?;X`bEb|f;=S7bGe!Zgbb)0}}>E|pa&oHleKLyMiTB?upKMy}t;h5@aF zMD(d1gF@Xj?V>DCaSXy`Suo2DS|!Ip2ZX{*oHb|9d9lr+ULs;{LoyO#(>9Qns+wk+ zreiy8*FX|SpGFv0Fq>$|jv2+}6g-dHN=D)kaVm;L?_7p^0bMgyQ7zjBW`>;aQ`58` zK7O3dF+X%%d$CyVcU$rzg^-TZBKjUL0%=_bcMSl^rhT=#etdfR{x5&&x^6ayByO=- zR!I9&K7IOBl*J0c-i~3Jb=`pCBgsVx2L+B5>nKxr66*c% zmoS8oWnD9g)L2GQlq8v=szKmmg|ytx<4_~#Dt^o<=o)Fr2Dw(DV!@oBD9+#w6H1D> zD;ijvrkQ2MZof}rSdfILxbLLf+bilv#Fq|JcgOSGo13e^a~;nC0~HBSc$Rp#Iw+ccJmyk$#OBD&lg1jR)M0*Z{EDRy}nA4q^z+TYm6ByQ#WNvPSdn3 z%iVUTs0wuLgx@o(kBKI<4A{(%+}h510YToPiQkZa#61G>A-HD4ucHZm1yVFHwO|s! z8kzztxw_*Rl)9>*uceL*l_bFf0I3zN%n^=Ey(cYrqB4^^ntn>+EKS*>!*yLT?x7JF z6hsZ%6(|CR;g|#RXHC+iYrDKC$il?!z$>jxWH7-_3}+4PClqc{;#LBqM}$P%)w9{u z!OTs5e0scp{PgxUCc1T1O(!!=Q}Qx(E${7{FYX_oe)#d{*Kb~Y^~D$e`ujh$b(bc| z<8J4Aw%j#!)!3H#;_kNXx~wevwt4;LRhHFJ7=k>9JJsFZT)()xd3t&*ihNB1#K)(t z0tUmWsSyq4`u={ums%;9%-(p5Ll ztrv^G`=`J49A~@VXIYN8ad?@)L8L58$8{A=`}wDz?(SZE^Yu3m5BFJ-*`{?mg{$>4 zOVeYtH%!y_W|R;g&8N#OjjOtR{lypW-v8x#{bKXDJEo`q=l}A*{Qh75`KxcfTr5}r z?Z5tim#Z67u{Tej{_&sw-N%pjVHD#%nO2@AuU@@Q;*$)ivA=nIZUAFj(;z^|GAM&t zU6rN@zZMW^0RI@Si%=m$H+mT+g_B@n7zi7(OylZ$J)KQ_aA?qVBzYc&VFcK(noTF` z>*Z`Vg>r*@Qjv!O{IdG^^my3snx>sif>*Czc%J*=nFA&+p!U`2Np7 z+&?@ZVF#2NJ@A93uEQuw(=?8gEXT9c^*zU_&;|%1j$!D(`s(ZJo8{rKmm~%C1FCeA zC985-m+#(vh~xP7?pD{drmr2_i^Efiv~uMT?%%%tYC4-dKi?asO}Qr^Uv9V0>-Ejo zzxw9=`*(niG*}>HS)tKoTwkr4x;`FuhG8z3%ka223{zK)5BDFJ^X1oHeYu#=AD*6E z&qH2MTOY%)>m<-SX0z#Jw%u+~Vi71SD}bC3XHNVZsFPintDV_=mZs@sGC3Y#jl5hg z5L%B70X%@F#Ysd7o**?sdk$KmLGwkN@-TBES0Tu6$TV6ZIhko$+)y}~+ozLcR9CwfrPqREf97BsDFre#GmE~d{g;6idjt7ooRhORU0mcf$Ug{mkO0xv~ zDj{=qo4VN_4nSQrc;ow?+jTu&(>B8}l4ZsBy~S*Hio?2UZf|Z3)4c!mkmY$*S9dpe z>($lw-~aHu+Zm?q1;KhbFN-2PMytj07#_Q>1+B!g$rKv{rJ{h7G3Gg@Ih!DUBJh2T zmAWoGg>BcamUE=ktEywW2|U0G%JwoGM0kKkY?)S7*KvHpnO>D$57fCRip_5G&DUQ` zy%e1y-y;SFjFhTFbX+Z0l*FFCx_j}{&p%z=T)}h&D#zxqk5=p1)8qE)=K9B9e%5t! zIbS^7Ki%D3Jv}{1in?6P%c}p=Uw-)A-~LXKl=ts`rlbbdb=ztw! zac5=ZbLl{xhfHjxsZmYonx19p=&H+98{hM(BtX^Ez%d*!cGvg52d)zPR8=Ls#E|6# z{&Y2;%}m|e?RQijSB7QW-rj)1t6+*1$ETXUQ^KqXoD~LV4c&nK6$u5hG+VFN``v!G z+b&nD^OTZ>1VgQkYX?#_^yc+q zwWx~n;o&JSi}`#`(z>&pW0;PxH>7aSBVAcT=36-IK=i=A*TR8`%$A6{QRG=pFu5=m z<2r}C$TUfM1>Pap0Tk8q+%!o&*M9%;;g8?{@$dfTcb;u;4toXdK=A(KCskpBxMW&R zk!P^HYMS>SKFwxR*1dGFmeEPE0QzaiUfSRmgKyMJ$h9Z#5%>h;z6RMwRe|}$6Gcr? z^DF}|yzBD7uG=S(dU=CQeSYEr*JtEf9o(FNe%jm?DgR3ROB7lcr$`EsX@` zD^{tYJGSNdK0=*57uz_8Pr)#0h#bW&qgI+6xumXD|8M{I|Kt6q`(P6EZKoLMT`94( zDT>l|ZQrmON!sprwh50iMNywO+xco41b$f-I>>s7dUVd>#IM1|6|=$nyOr1uW`7L^~W)a+`y{}WXfi73W;~y zg9zigyZzpz`bHN4z3?<{8)VXKcRR~4UEfc$G)>YtO{<~`rW1T99gOnjV$K4WPU;in zDv@0r=_%0-Y1qMO+t&)xH%}%L#PphWd^j1lU6i@nE35S)Ivuk#S55nLjC{vlTrVFV z?{!^W-drb9G@Hz#IL^}?X10VpEoV@$x zz2%rMU))Y8Gbv58C{3RCN6WTvuGd+X+m@MTS)AryfARX$<8xIv7NQLyILq^NI`M7O zy1u#fT(CoOcz2+N;~t5(Fr70th%QGm0$tV6a)WI>Oe|S=$L_3Bk5OaOV9#Qk0rtpZ z4`skM1L(^(FNz8`1!N`SbOcaDPl7N?twHKUYp2Rk1mgEe@Wpx6 zL%mJl<%Q?$AWs=Z+~<)U4dOnB3_l0EN4RNFFkejeMs!w8u0>2PtvDJw7^JZtCB@7| zIFAuWelIJ%_)Q6=&Ip5vU_74a4Hl~O7I|XI(;rdvf95WKnMy!02gCGyd`Hvj!_P9vss*)UsE%#~N4tha!yf|bqI@CSi72`|L;&%>3@r;UU%u~5GNVd`g}o!4MdVX3 zze7CDV_<<;jJ>Lh_0J}&mW4O~3=0TxrI_?0&%zWZ!{QVOz+-s_L5hD@@4-J7{Jz2tET}ElD-dQ6s3P{Jah zffovAdNGx56zMW6Xq?jtbuTRgmXvga*p)eyK)?R>o0oUDhcHZ&#CNSc&o#}+(~R~L zxviV|e4?w0ZE2>dO(*V)7gx*0%yymll%3)zb;r9m`b}>1ng+Bqh{!~D3&l(k(r4o^#vP$UXz)T9(PDZ9 z89vpdohnSr;2>?#O>q9w0Dai-DS!|keqeu!tHgeT986e~12}n0oIe$>&H+`Y>wve) ze|gTjVj~vrea3^}TOL#a|$P$vL6GQ}h zzHgXjo~Enyl52*tu1--zA~z`AF^VEVf#bjgQ$zSMEa@lH3I1T29?}W@<#NfD6%9Qo z^}L4U7mzkd*tr;}N^%M%Wgati5mc{fmSe}!iACF#>;M-fuGXnU2gjG}B=LyZj$P&m zb#`pH9fVOdo+cRPVAKGX9)DuY<8)#8uW5X~fVfswRo7wit10TsS1-w>Twbo0WmSb? zXcPAWSUYBUAgNfG>`xBqgCN!A5 zbu*KTJ`2iPez^FKlr-<+5eJ4IHEe;A=&WEVT8?$Vw9P;mB{9eGjG#)vlR^w;#B$4+ z@|zVQ0a!E8dH3wq0ZSwshzo%z;B%ndQq_n1hlCWCWtPnsbH{O_Fq9$S(Iik!6vweO zP2Fxc#BkNCrd=$SzBfse_|M<}S=IH`)%wNVwd=X3Q(RWX;Slb(J3k0;>oH{@(2-=6 zL^A?lRinBCKu$~x@E$JDbW~q-TtZ?+(i)1j#RA||5w^I%(2SZ#5OhG_2a&?GOvtr4 z4XMZcw{2Q@GtjeHQwKz#S*sby+ty735uX(5M4=l150WI=?v9X%nO2(Qre)n+uUy-z zs*-&;;P3(19u$POsoNg3U>+-y@>L`rj^;+(pmB|X1=C4~@E9kt>o~vu&3A^brwQV6 zr<362tCvZf?2iZC)S(5W3?fz2(l}{5vQkh~%SC>QrU5_ZE@_Yr(7=be&KwfQCpaxL z<|B?JBKuyjvIQ_31yC}a)3g+940s9K%NSsXUq@U|_*W5(N6I1yI*I9v5c2SFJnSRB zs+NtPB@YRRAmNK{Lgc3?^7?8;hnet55EN24PjrNalk$YT4|PK?atxng5~Jz!#iB-n zQs+AM-Q8`R#GZ$=-z-h}mP3P$i=&_7I6NFI5R#C$`{Bb!SygXuUnHlK3=GdX#Zg^X zlgVV_O+MX!3Zv-e_C{6IAAa~jbF8|o|Mu^HJDd0mpblN#lvP`W;c2m$(pawl%MU*) zs_wW>RhH}3+;yxdJjhb#d4Xe@PtOmEq+VTJWks>wA0=6{ZD;$u{qEau?jPyt?!buG-{hIWjy*pLCQXh>jTmkxYz?31lw;=vIXP1K2Smr9c$G1C?$$HgFz zPaI+6G!P_NTqGtQeDYI!xZ570D9SQ~5lFI>7dhqll+-*Fh5mZ_-PyPtlxZ1W%f@$Z_VNRvd?w2$xJfBD6is-izVZ{%K? z1a7ZL$sv0E_H|K|&(DuHx3_)ONS6Ni@D#=IfB3)r&+otg{_gH>x?23_|M!1htk;u; z|9Jn)*T4GJyAPl8xLB^1X`aYk`{fs3K0JJ~Ehm^v(>!~AeAYCh?&|0mE>;U&Gg|OW zYE{+JG}~-;PtO|*I5aA?3f}UCNo|y_YgJLoilnQWZt9aDsH?`X?5^#1u+TU`sI6)1 z^=dhrmqkfE5$60BoSXaYE_~c>-o5{H+()`)ltq0AkEc_@H_RXo;&eVW48)liFeoUO z%f;<#y_`>piQACwvX)?D1a=_&irOx(%IBvoCy$WtmnC6mu6e_B9UGb`xjP=iu4_Ht zFVk#&wIZ5wr#oi2*?sZlSCS&1qG&Rk;n!w`Zd(rz_lhik{i`qb|9`&z^I4KCyA#A* zYxmF*Po*x=)w;33G%!0e%O!UxzVKh=aQTU5q}keVh(QBrG`g$1bXBUSLx*ck`<-*$ zBeG_US&c$g=6mrX+^^qz&iSe3N>#P-WRgT_(^T8-HVUIpKK*1incdx7CrSGJ#q<07 zM}V_B^sZren2yJve){R>fBF-9L@}PHXj+`af#+$4zFw{^+a}WrSiq7}TmyX{W-YR2 z>Xf00@~kQA`Ng6v^1$~%z9c?0Vh9YQC=1|=R3oX>?{hpnwNx;gs!HT8!O9*UnGkd9 zhLI)6Aix3C35QfeuglVQu~wmFcc4$>@mE;XQj zrs47Q9A|e3!9O@0wyX7UJkoS+F`G!ToFyV{9%AB zhQYw~yf?4kzyzq3rqeO7d=fjVvf{eVX210;rzJzI%gf7sbXY&Ee)g-M#rtq^b@9i4 z`t#rX_Sav2{q=M>E}Ck;+CF)Dwc76Gruq0MufF;En_=L;zqyq(O)Bb7KlwOLV$ZY< z%U*A`7UE_yP1aRVLLqA`%5pduR26bV_!&`k_=2;$tt?9ptTc0Oa^T8CxLOc+X_B~} zi-VF39g{Sx%4#t1;f;Y0qm+5289I(XI4hYJjhjl!n2w_eyic;*u^qe2%T|UvEFh&4eYXEz5$~4B#vKo?DZO z9xyPP5r_=y8m3uj8LAp)pJ_^GR{ip$m%sb3|M=q7M^~3;hj1Sy>BZvWn{U4P`s=S= zJb#g8*$=PZ{N>Mo#vbyxl2!T7pMOaauJjS%h>sVqpp!?rOYa*+TS3_e32Y?L#PQ?` z?I$7B?8M3VdKksFWgQL&-N17MHv%&9caSWjQ|5(g>gMI;MVS}F(EtQNUGqWQK|LeE z6u~M=STM4jhWEE{4;l(iN!=KY$J^b(F!jLo=`K@138?D$H5d-EEQJu=vdF-!fd|pg ze)X}WD8s>EzYT3-V#1NTY4@A$d^$5s`+oW0`@U%yhy5;1GcWKjFE3Z?b(W=?4&MW! zq3dy+js^jZY%sb-(3NEtbs6|Uk>`((OH~E4V}5q-IsQJ}5y36gG@0fwa(D2!b?C z^9*SVLEx8F6~$496Zbj~n*Mab6)nYVD4b6NlUOG&^SUY~)5-Pw_p+uxySj+uWD|zA z9sKc&&o7>y4}32#GRv^no0T7U=V#})H}@I1gs>tjE3iLAZ%I`w19T2a>Z__4k4Ise zqE>60@pP)n+7EAjh@*Hhn=H^opMQ53QS$`W&MC_@?%!aVok z|K&vvqGH{^)fqIL40~dl%H;QwX4weFKG>~%-%HZO^N?ZY1wmC5uIIY8`|kSv<=Mq@ zz19s(72`0T&Ssh-zkTy|y9+O_&WE1gRA`9|O$+ytDywH_izJDehSR@)G3(-jnX=|t zv(7c~2ZnE*nKrAkI$hJrh^>e6k62z8$=;9pdepZ2)%g>g%#M4F4-c$`0PLvwW@9%V z+z4#2qi26G%Ixe?yPwO`RWTuFc$5tsyARoqP(K`k_G83e$kYL!9U4le<>YM9&+OR8 zl{p4|8`*~<^N{!0v3ww+>TG*y7p7aoS(`mi1OK8RUY!C>M2_x>(2J9GniI#q54_qw zxGX)4{UaS1!=XL+4Q@N;&OG%#O4Yloal%O8%PwwxFEsB+17c9j16_uyPlvJn^M()1qV=p|{L^!Wqy;rI%CmxRf6_v!j{QqdXq-VCQV`*@R%%#Z#* zsdf?;0Ue^z+w>m2g?k}>H&E`lGasVt$18sFTZ(9f#;A|#=wpK!1LIct#0x?ABJ}FH z-piNF>M<@MR>85D5M}`4al<|9hvUboJiYaPh}@BYaO&HZO_(dr#Nlv&;~3;N?7gTA zx*eg@JqoH)FTNDm=Tw6V>%H z8M><{yaIwuC_J97IIjd6I*`DI=Q$!CWz9(BFi055cBKI&D9sG#QBv(gH95`hWb#g}L zy$VC-E)A!{J~?a~XedyxqXSEi${hDCu|u(#yF(qso#IWS!-jY_hMLND>?|wFx&j5T zyDz7=k#y~ddT|}Nm4ea>x6dso9rX6r>#as6X1Z2!$tu#5AH+uJ+H1WkiQ zCn7wXm^zk;Y<1f-4`HOplIJ;ad+yS|P?$k#FQ7_xN?=w2i&WeD)^&x7@-W)G!=B8f}D`)t{}+_8Un0G?tWWQ zJVdIp*=`I?`|OiX!YI67EvM7Drl^PTFdB{Px?1iwNs|8blTV}Ya7ZE=SsUB^*0RjW zWH<5F*Jcm{=xV=|isr z+>0JN61|CnsiPqXFA!W(%9$%Na+~OPC&7xK(K(IWsqX4*&-;X+{?Onupe2(@$FWI` z&oD5uBt^C*Rc_#D0|z40-5!VhfF{wOTF2|wyXXt1k2sFRe%^t{!tS8s74_9cN0jU7 zn)IK%V*4{oyba~UQ}I|%9({j$4qso}9C!Zys3iDbmgO`>dPvuqlLr^IvP8R9c&Rf# z5bYHeazb?>-U@HuovTn!E$I&;-lHh=q2rSsPj`lM_*~(S!~7L?9pq&u7)Yeg1-jn_ za`lSL{w5F+1WE`_Qe!q4k`5W1pc9Ou-(W!@qU(SD-{z*dLF`w;akrs?kT$Bi-=4~nFhS7 zI8~L)z^sw8fpypU0_SN`VX`0BgWWzDR!XpF~ugz8;7!eXM$jW%m zo`V}XJ<)W+3X==25@}YWliEguM+Bz|;ThLF4}JY+vw@)_y(_kO#qGpOXv(^Vx3F!g zaPet0Lo;<;|CI88NkPaCtI$i3$qiDFSgC_SC7r)WT?GBt4gz1(F}B0ONl0oK#V~g* zN*zWifXrzUUO2Any3S}a$`S-u^8^FxR;ooY!Q}8k87@<{jmsOw2_?0`j@WZu*u#=4 zl&ihYyFw7zJ7WdrKQa?t#9U#pW}2(j<9>G-jYs3rC`l3+fW!Kp!+?4R5t+O>Sudl( z(M?pR+*!b!0EG>VXDbJ$j6gv+2!kCoxiW_jfudGq_{?-wzC@}5DomFU*VZ+T2JXe! z-3RvLRi!DK?+@Y4u-(0T|E_Kt*KssWaU7SuX9vTfN!g%q$JR}nQKFP0`wdf7wKPt? z|NeW^G8T)oAPAa9+V8jU)S=O^=XpM+WFXE~Rhc9iz9r4Lrz2yU!Za-=8X{5Hadksa z;)JA`c3G5kKtNekkvxk%Y(!L%;NB6n2r7BFrJ`a{WF)C6c$8?(ll4VsM%Y#OSOwtv zaBD<)OfY#iOviCSB+AP;P97eYah&3HiVE@4I&eP629*S3U(tP|XvDCKWMU${rDNjv z?v|XZ$mA!{BNN*jg}P;2oS)6-(=jN=617oI~Vv%4<-5pirNyF0zL`9f}37-a1x|5+7c03)@OY`w@nPr*d zdYY!ybcM@WTzl>YV?VUs+vs3 zB3_D07CtUJqhrJekQ}9kEdh+6*)LzQZQLWO(v|sQX6i?f?O8X&lGn@qEAAWjWj)4$%QtVZ)K@`i5qG`OR07+B$}NUNs$=;NPYCp0b3v25EIjRqFzKA0_s;oh|D#p3c` z|NN)Xcq-GgMk7Eu&Z6hfUc7t%hMr3$7Bzb+kIKqQIy0< zQdY2|!#v-x7K{0CFyI}aDB#O&7`kJ*NuDm3o6UNQ2+{H2<@4vfq)17kwB*%i+Rp9W z^=`BM`DZ`7n9oX_bxmGmlkwziK3i=cWL5FppvsHQe)H+apIL_X{SQA_mNOXnx@NEM zSMRUi{_Ssn`}G%pnJ?y7PoDkb@BYECU?3OnH&0)@djIZi6i2S@-(24)s`BjF)2b}C zyF)M-CUIKVt>d^7m^~OC`JM+qYLetRju*!%*a3$~*EPp=J=X(*Th$0qQ54ID6$E)M z!v;P{67X^~195?eaJ%2HR%^>No;sj>`FB5juj}f^uRd9?*Sj#hytul)d5>L3GhE;O?uQ>_ zMg6P4`t{BAorL|0be^qZXhvD(lkvE!sw7Pe1Hs{a6UJsdDoGI#;!u>c*}SeRq}MlX z1#tpd3Q^j6g`%Z0O*}*ZUj;>5G}o#EpX{oxgTN;aXvIo)Sy6KMpJVdC40yyQ(#B4s zgN9DnHp^1(t8K?AN(2O?X{yMQOXf+3Flqp-=v4t5^Vw{^*=&+5nN24|{w_e3Ait>9 zW*f!HXgE}48F@FFy4~(nipB;gZo(%+H}vUr@%H_@fBDnDPR7&ObRKyAa=i|tJynyS zw6<-Nrm<~1^XdHI;lVTk#KM}_woFQ_ujaXgCN*$cSVs0gJ2L0RaISY zHuKpGUr<)Q7wiuQ?xn9TFJe3q)qcOT9mlflD2@Z)E8q|i=NU+5j_cgs-amPACCRvz z5v<@_+c8(`t>?I^p>H=ExmB*7KKbUG?^dhL#l`txF#N;s|K-Wm#Ua|4X<_^R?cLo+ zFJIL)A^?&kn@mUeeNkMToi%m!$wx0t!}@>zzyI^-Y`VO^kD}P5D#G_&p~Y!oodu6! z4qPTSC(9LxB8)MnEX#2cbG=lSNc?eKm+gO8tAp%vV47+Gg&U0&XcT~`h$J~*ERr;3 z-&fcPb5%t(lIK}j6*g9qT~ts;jYlJ*8iOgD;>m(3BlbNSOrciMj79?8&9)4w0OUX$ zzm`{<{bW48xqYXZ$jS9xZ+i%@o;>kvOVKpLvOoIhmFGEzVP2eHWC-U1zm_IaxPVNL zGc;XNWbCW5MEVu9Y&;?CM7%xrmnY}6?!fS@vkf-_WeLr z6wiZ)P21uK&{QQ!;|dqe)l@x6&_9wR9RgFDrt+{J5M37_P{}Ov^1u9-|L=4<3#heZ zb2#n|sZPdlkb4C7V@99xo4@+3fC^1&bu~>>Q0(hwzu#Y+ox6_n?(W($O{r<3D3ld7 z7z}OGS}vCebn)yWD|MVS;A%mXKk%!%%+hoYB|Q}CreSQBYn2T2vLs8=^!>Z*fmwcO5rM;{E1%9|`-EB-e444=c|H^?!$54}+T$(D?A|;$pMfyngehDBw*r8x4HdQZ-|<-Q@** zOX4te97~qkI88|#jE5Sg{nLqSx$oXxOYoIKQ%~(QWzbRN4_lM%_hDVv)5(O1@VW^V zAZ56~{}8DBeow?_4M~ld#$sPUe6gy!t_y|^9fow#jwYZdDi(MQkhd@d2NVNF;V~_O zYD`%Dv{*|)kVG&W#9R-l2Re-4h=#)smU*5J27~o#6$D<5{5)iXB}qa+ow;7F$J0@` zJGg;Y7G+-Mu4QkwyUApnBuNl>P2H^4>$Amtz1a?iLrUx`k|=um{ONEwy1##T_x{@R z2AAh&Q4}IYtd(}Vy(G7u@76WL3~bSPqC;mXc8BXR;LV*sPro`;phxutBHm-tCnIT| zs~l&*fK z4CQ;S!Uu>u5C3|+`2(Teak40U>pSay(T?{145y4{9?>4N?b&mt2SQJ#o?=c)j0Eni zyQp39A-bzdlRJWMyN}*q4UQ$GhlHp0$AR_{x+SB?F1J{GVi9a1UPd&{T?8EgPCW1; z#lT4}a{nUy7JAIG_Yx4+nkRUxFuGuCjDC(wTze5T0Ad^X?@}wjd-uL5i@`9^Rh^64 zjz@9=Zk!tFb^}fkB+)O;o+Z&=%Tv-{|La7t*TMaGTjYYy17R`}=$wd-5gtd&jT6MR zcaj&WA~z_lPSgGTZMVaGuijkDQoUBh>{*G_yO) z3Yn(jA|I(hLY&7EB2HsERq?X9wLruP!NS>0Hqj8NP|d}d&1f{t(wwYcjGq0|S3Ml( zOuiayC`1oJ7qBXvLi!v0#qK(lP6b( zZZ>WE&6i)tNrIUYU$j=H$sjb}nxJLIRB_}wBm83o)tUy+7)O$3n)#6pX)?$P44ZsLE^~03u&q2R zcnDaQm17g%h!}yOFv1Ip_Z+Iy#XgL|sBUQ6&9=;oU;gZ;X_{>JhrwW2Rmhzkk0*JS z#d)^f>@Vi?q3<4G-6^Sxyjrh{qI`OJB`ZJ$$}Cq6{0J^p#Ljv&?-7SiU+r+_3r{z? z3gu{CA%b#+dwW;Jbf?FW`gMwfifX~#2B=obMgnPifWW1XSe&LlwKKI}!* z(Etd^VUM2^($w)NXG;~qVd{~7k*y;R{iACWKO;vZ_XC+Y@iY62d!&i=$wOV(Ru|8K zFFWBviQ13JVO3cj4q;hC_GFkw|CZ_s*Q8fb!#u74BE^w@Y-J?U3WOcYv4-nhrn=Hs zydyFbCV8vC-aBR$dCrSmKqeva1?St>nPG|7XKoPFokf7ru^bWJCmiwuI&y`4?q2T(@~zf||CBBes~2On}By859rn>=P12+D1rp46Kj zo!A}p@2CG(uHw4Qpkn|FiuMVYfHOXrU?*HENomX;?7>voX=-S>9 zA-leFIKcd$#)aZG^*&a8$^;;1jt}Rp3LR&aE(v%sZbHJ8eR7amd2J-;1 zOH+20sz{K6Hw2I98xhhj4qw)J>#S%w0yLsrnJka0a!XsDf_Mujs(nU}8X zJGQr8Zy%Qr(cz%$THptcV+{sDk(Ym2L{ld6_O(78D@z{hi&SY zpS;plJxM_gb_csxOpT1;a75)9=y7ni(DeObPX?_Drq~3cKu|?% zm?HBi#ex|FQj07wBC-(aMs4Y)a2NzRpj4)5dY-4M3aw=P08UK?qoxGu1SSn#gTt;B zY-z@`236B-NQ|mO7%rD<*gk{Us`;L0Ti~4p!vM*qu9FvVBxd;vhKEqq^MIlSu@B&! zIG6cuvY#j+?%cTX87dY-D>cI)XzKD1ZnHcazzE&%Y8Aj69WM&sr7B7sMgNt~8-b$4@H6UBkD;gE#~I3LJ?@O1Qj zuP$pRv(>U?o~{XQ5C*PG4x*?cyeaYU3n1><{7ouvu^8I965laESMZ z&@hcCN**3oyWM`h-b=D_clWSdZ`SK=cnI^d@Eq@>S1$wKMaUg;Ug#fc4`o@|9}Z!3 zXsYU0zxb)tl@THk#0O_D^e<4mWEH?Mzi zEgL%iG`qXGy?Xxa^8D=cKm2(z8P{#?25wu|fBehmfBSd;-0ER*xg^Y6cTZCge#8oz!2KFzb?Z~(Y1FJx6+KCa8E8I6Z3f=CLOb)l_P9mm#n z?dj9Y@n{squw=fwd)OU-@jpJU-d|tu!vnMBJRjylLEz2d!!K23X;_A7JIExGB$&Hw zwytA6dwMmWPHfAHqXS~L+uC)!$#}Y$%`Y!6o?TtNc=`Or)93T~%yXRCeCp6%U4YD3 zNOVY5Rkhu0Zf@^xZy#=N?{rQ3^yQ0-`Rp%$`7#PaNykZHnHC#tWN12eMDHkw?2D}K z!{NZI%k@2?dCS9KaQpriw%M?yYYfj$56Mq|_S5ga`ECuL?9qO=(-rmn$>n$7d^Z}6 z6ivUqxvPNbgC=)&wwR74504K?oPPAlM-TUpZBxw_^ZVQTvThcOxuU7B-@L8M>ipvT z;r>ygkqebW$Xu@S;_}JWZof5g!JHC2LTA6-8KxeFuqPP~hccP=r%CL3h-T;RBZ(7> z$|}$@GB|I`Ejg%@XDxEdF&HGgkcONb*TUqmrlL4643yXt9>r2wl#b`{NX;OFCCYO{ z6gq713%1*7eIF4#j%)9>`^jvYmt~e@u4{)o@R`PwaU4fs7!g&HY^tleA>q$z*X|^?;g)C&daQ{TyL{nJ-K?KTgF#^`SSAW;_m&;_-t{1ef{FqOF!@*?pCY) z);6qHA3cjgaBjxaX^|C<=MM)X*LS1+W)KX=i`m2N?azPqGuLqsQJ7;HQ`bOct)Uxi zxXyz{&YR~rFowNR@n$)P>Esl=UZUnfJS!YA$%qk7+hyUou24#n1s7@3fPXc}BlD{Q z2lQ^cs{p{)w&l!b(=5wPL*MOoTMh@O_Q&_U?RHB!^%LLo2g3lRtf^ZTh&VQwF>vO_ z8CU~!Mh<;QY&J=fGzk3rn+L>N-k^* zJOon|Iiu>Azn#t6Iqyu2>nYe76hH@_G%%4XiX=@GRnD?}K=Vw)Fl^h3!pJa;{dQ-& z)?v5L%OdatMO9qSQB`d)8rE=6k!{P?b+rH%kM0t_@YE@IF03+SMG6n$#gmKCFhG&n z;(--ORrH35t_Oc6ga8OtUZwu>H$Q2m_Tutlvs!^nAgPD=;9B@%3i60k}T!UDr=j1l1HpVOnOEro*9M*KHi9Kzwa)x7&g#gGFRJF6vRH zqQk6@LV#rWv{W?KXkllBHXyd)li$Q~l*DnFSBj(@qP=a~8(53jO^qxT(j-;3X1RZYN1n6d_>7wcWhPH609Yo)ZyCRYhDM5);Xykd|GA5*CpjNNrH% z!C?6Ku#{AJK3^($>Qf zKAfuRVFYr~z#r&kNhZG3I%0bco*H+^U-X{MjX27*V;8o*4}l?L>K2Y_?ls z3}NXxFp9+5wJpcCVY9Q}?MLHb;Q9D5psAV$9aNm_!?a%vbgI%YOztyThRh>Z_HPlc zy#x$XZcv3Dg?LO^hFlPWfAz57hO8>*PA_cDr?5wKWo@Jv0CR3aGX8T;JbSRN2I$8lRQyronDXrbBI?FW1Qag{W#%d zH1lX~f1=M5pOl5*QZiH=^hU(#fd%o*A9;*C4WBw>16-FZ6z_}j) zcWSfF&)`&r&jR`Gbmm0Zel4899!FgoKP;!hEHNGLunU~%pe=gn{hWZ z?^*EOs>VPWC?h?2{g<(iu^591V`O1r-Nh&OV_y7!HuI?{BbJS?kD(h3=XBS+7x0T^ zPmhPd=~*S;)SlxI*&6#KbxjnM%Td!*W?{f_0%M3MVPP!M(?_~BL$m-M%ku?4`UG?< z^908d+#m+*Ic=v)u|9#I#9#0&C6j;?*9sAl!1Jl@i;s^UbMm^p6&7PrejBI+Y~#Xw z4o1YeSY+)-Z`8qS9_xw$Fi`~3E~=@HZI>nV;I z7*Zf!xEe^z?RXNr-SP9z&%S9G!o;y-a0x)DqiFOOfUi~Oc#l_r%$;?~{iW+;(Ysxs zKLxriRcuvEbm(50pR+!+1Yb?u9E=em;GiTzCX>2EYd4-wN5he-sQdjcCl7<|b~~NT=Cdi3Tr_R3*`*l*5%2(9h#o2&;F|up zTn&Ptsv)g23>^Wh1s)bm1}#&Ol{k)NNitEOBjLWo)Wvk0L1;jdgdjof)XEQ!kDq@0 z5(Yw1JRS`;NT`j$t1ZBDZ4l*aqxu?;T-zzCDogV?&+7s;F1vvhby35038_iv7YpC> zG92`1$Tbz-^(4K58c(n~$p5WrfHi75`g0M}LYqZN)pl>Kp{fem6qAJ#Nep{8S8&k@ z!)7C8f}{~&&A#!h$tMgO`YIhvN~#|eG3BHc3x{VmfaPpCA&u>Fd@=BaZ0L|C(a(SO zQ(2aln~h=EQMflWZ9E>AWwj5Z>)X4Dv| zE^!eQ^luV^3@vB~Vla}awG&6lN!28@*B^Y?uDIw9%VX8Wl%_sZySo<03wwIl_Vj>$ z-xZty;U#nWRqPdU;yT;i3X$d9Ayy4f2;*5I*(VTn1WmD< zbDPb#uB#-)mFer(u5$apzouIzM~Xm41QfeGUlg9P_VxfLOQwVQyPrhs|D-_c>NY`y z`mnO=ejV8or>Fceh_e5>u6AV#WJl>Z))jqOC<3rLs|h|sPk!jJpy2h(j{(KA3y(J< z3LJSh4F19ZudFuP?O*_jE!$~u_(g9JMRkF&W&<-uXd?T<1M8OKF}oM5IDbxq&zc6pwS#-l+H zxQ>%$88PH2wWNY0v9Ku;Pr7XAnqxa@l1UOM7j4^8x-dAqnDt;+2d2xr3j6kP&4~>G zw*&M(eA>FAP{aT;N7@xNRSQE{W|}n0;`DUGgx$K}c6~tV5)miNQ?Bb4>aH|ZRU{%& zbg_*{P2>k-ki{f9p$HM91~BKi6BO13!Y2unK21|`v*b4L{Wy-ZJPU#WEU!tSMcWQ8 zIlFPFBnzwS%5_|<#x4P;-(q&#ZC%%{=fPxNBoJX)vowl01jv%-5GxS5Xf<#c5WK92 zJj%<1uwZfGSr&*LmSs&Ri^CzhzPVX%Ry4>S1;JoE8WF0CAXD41J=cRBv|;3VMz;vn zPLaa|8!Bu|ACE`6q3>YRy{js)0W@86eUDbqy>d}Re4?A8xnh8t=y~rCF9^)~AstC7+qT&s z!rgA4BuN}6rfE?xfW#KcYC)WESrqgL*J%>-Xow~}&`QB*L4r$4L4Fl2^`3B4)|4=e z(k!{Uyo6Oun#r;fMbU6HD$C+w`4|KvOqkO=j?%KJN0Z@vI!&T5PC;aeDXiKd?^Va~ z5u;XAMODMAd@#Aad$_rOY>MjQVs?2xZzMU+GQ`7gcgxkPEv4;YcXobW*X?Gr8IC5m zH@AkNPDjHi4#$&m;CW43>4LJa!u5@ar0ey%ZBaVXKg zq&*79qDZo1A4&ttV-T;&@IXw=R8>v0v@GEri)~atmJFXx2 zlkv#1L9AgBc2$=ej3Ug*WIP!Ueb1fGCKCcMecv6Ahoi~JGOght7}DX@Hqzzguhm$@#giL*?i`CUR7jGT`y+Ssw~IjQB^m0*LRpjXj($i(yE5!>^#pX*f}b)V!oJP zUR@eGp0&IvhNID9ws6rtSNrflT})y?v8vmy4TOC-jKUaHJQrURC$J!h!o>HT%ge=L zF(3GzEGdtVkL%U?`tI)f_GYsMdn1e@7@)!q*$RTevu96c^9f0Z&FOS>cD5LfMpO9J z>j^NF@aFcuEbIT%|M`E3;|K@>kI-9bG#ZXZLxO&QuV;B?Y1Y|nHkpp1C{k3g!77-J zq>eYZy1I(f2+C|Su0Di^FpU1=|M7oG(*&HNR(`m@lND_?o!{Qwy?FU52m(cE4b6DC zzu#@QMOjWJvotPRx&7rYfAPb2-vxp1`@#L)d)s!$g8;9WrjBj@>K8wM^ZKppA@CGI zgqjw`A<{NU10YFKoW!o<)iurHCi)3qS*lQ<^p3wOWYQ>IUA znAUVW`TmFRzxw)X*Y|$;^Isae@!hxImqeT$Pf%^@iW{?0s;q~`Y+y3HLzg$18@+t?@OEtnUgi5|FqCYwCr6^5;z*i+?gJRNHmPA~`c374LxRo?p6Jt!8 zby}vm+wK^cFyU67*nsr`aq7CBXTZ5@97$e3?rWMR&2ogl;K;7``>o@;mTm9%2O<+g z+HDil`fz}~M3D>F7%U>v*PEsZ5)3IK3wo0@`)rapiQX%ymwRh;=J7D)YHAfM>b!2? zQ>&<26vv1=v=Bd+m(ZW^$V9VYzou5bX;p=a{`Rl*_>;3+)T&)(1DVzXw z4NLcMD9T(@wC!&12Y!;phH0vV#hDbuM&xoZ8u{Op)x|V=ly!8fikTS2zM~vM&V{9C zc`+J|+P3vQe=?qGnu;>sFv*TliDJO$pqnGIM>ce*%Ue*y+_EUbC~QDIv5TT4(*o$o z(ln)E2m&u8Ndk!n{j7CaDa{|jbj+Cn5M3(6fCEoEf&B1 zH@}VG$)GDud-?PV^x+z*a#daVgFus&ikQ@BVDj8DOxJamt4I0*C|CT!5L^!|IF$m! zSSQIzc$j75$ssl?r*5NH%u88QiY#jz*|LnXsl$C_*~WM}N)89tbEfmzyEnHjj0c0| z>Jf=MZCe)QXgt~PcB9ESj1ok8NbULA*><}R520mS+|crTnWFpbXm`kq{Q0xXT54?D znT{uARc<%CzzU^<4 z5W{+}>Z)y<b(G^gKU|;)nak=@ct< zx7%e&W;+&Kks%nx$yb%oC`jNrLL@52lOmFyHXa#Qn@2x9bZf{3fnzbiL`I{Ce$UY0 z34^{AsYMMQSOExuXO||K1gP>u)9z+Erl&G zXwd{*aX4Hbz{z7WGXEzmp_>KMXhG=kiHg|k$B()n(a0ZRzaF|fLh>hbDxS8mLaQeb z{5W~^C{z{TG!eDL?5_JM94pXg0rYSAsCnw=*L~6f**13bGJyy8@a1vte}ZHR4B$k> z+`;xdMn45l#T>0uND7nx{=JCF>&cWSSjpD7%>Hu;@x$JTdeaX3qVZ zIZ_7%Oy9~MCQpm6mjJpbiW2yPwrStKepgo2XfonB>JEw^jn@hMAU@y;?n7wA2^=mQ=DX;JjsQWC>PMNEz+k$7Y5_AKMV^(Z9Qn~L z?h}3w_HT@y>#E3e1{+R5arR~EbHTgs>TV=Yf{r233L-7}hmzu|L#H}F58BGa3>vh6 zF3_5l-T0&p?G>ux+78mc!cb8#4I~54j;%u1gnMb;^m>DC9?P&wnO%R6i(NGHf=NJg z3=$1=#ass_u?M(VC7s}z_$~tY5#xPkN(rij0IHaW!AO#r@%OxwBW}@=6olrLWx*WF znxpmNd;!KyiDAP^9kHl*_})DN!k3be^25Mwcj!7=^G7&zfs!C2g12i(7 zyqGOCQIOI@VM1st9xE0Mv51F16pkC>$WACQTeXlfr%>1P9M?^=j4Trw z%z*N;Pd_mYbGzFk8V%ZC)M*I-SJgBu&NrpR&BlcN7m9ug1rs9I`Rs5A8>#hdXCHU#*(s{J+ij+kiEV;#bN9I1htbC`Uo9q+qRhiEZW>H0 z?(QEf+x_^}t8c&kHW&t$0ZpFpJvxDwPuO5WRM!cQIyt-8%mvNx)K=$6w>ma*-R9aM z>3!}ypVKT{<8frSu^^P1pQ&yWW`|*BZFiYjq>jS%p%DvbnlR^#$$-3J9&=tfLmtFLAFavtGgwx#K|%)X!!sR2DlK@t;7Z}oz)h73_iBlikZ9z00@Z!ptBu1dVO{DO?c#172G`OEC&WaN@8YwqKhVw zkK-pPcBiX-S5rwk2w4B1Q4}YcVC#J zNxJ#2h!snM#PofPPG4?!i{=9;zsJS z9XsTUcO{4gUFppWUf|?{EGtN&$2z|+274%+-i)gY|F9!_4BSC<#- z)hbTo%Zm#phxh7jx^5UjkhK;5%}+6JlHl{vBabVL=whU5%CbBro5K<@SVnk=D3Kjl z!FIb-RCwKsQm>h=WN-7;mR;fpzGs~hNTWrhpI!qB(RAsx_ zNixj9G2YctNE7Q$q=|8TF3U3Jfx6yGZJy?ET%deh{#&wMD~aX`?J3?QB649TW&rGwPv-!+*yg?8|@gY1MhQj~`zn*89W|n4WXXn1_j>Z$DPIxYvGdn?mHnu2= zEQT+sLX&z0R}V2X*p^vE(6*#`gCB;XVVWla*Q9`}2Jv2oWh#;s417?2+g8OG7jc<+ zp7R662XKYYE*B-rS6$O{nuVIUbfVD{*@#_Z#XbkTkaWURiO_HM&NQ5o!w){VkJKIB z-8}%<03ksq18sCSTx7OVo24mrkz~j(dR5*iI!`{@eJM2n^jwiNM^;!I!o@aAJuwRm z5~`poGIT-tO@d%e(?#$Uf=7W`rD@94K&r2(KO!l);Lnk1GjUdEYwD^yk;H_qO&G$F zuNzqt(%1^VSxK_lY{%nKFa+`xpmawDC5*wbH8C0i4hnIM1mA_K0+KnRudmAjjSQ0` zg%c$W1O(Yakq5(ona7M_h$EOjAh#iX)hZ}%fcfLiW{Woy8|r58YH^5HQs-crc%?IwrMEZ*~J`Fe+kQ`NQ);=FDZ$pIKRA%qJ5eq zlga$e_wN)%OR{pc+a+`!Qfl0suGSZRSpk_vdVqmL5)hXAj?E7#r^GV-88G!I!*JYl~?Qaa=pF1dwBEa z?c>Ap`A08^od&*2c-U)-Y@n(16-C+XcJJQ39}WEHub%skYgv}-_+R|x&zh^w}<$D6z1a4?$AzWeHn!Ej_*Zk8AK*SAleKbg|Mfrr&Itxy;1)&l>eWYYe)xVm9e?`CM-YfB z^2OD8k!NR%b6HhEQc05Oe3s?FXk8f7IJWE5brnYOZnwX?y+4Gp@B4;f-Q7K|Rx4H4 zqcDa5FN{(D$a0ovMNwJ?=2~Zq`T5!6;qFm0jI+hU^&I3pWXT~6^SoHh#*^`6zL>j& ze^+Ih6~%JByx85q6X1UJoyLXZ#Esz)Ej7Ae#l6L#u4x|dudfKY` z+u#27n{U1_4P(AotR5a6*B;L%tMw+$Q(aPi{p(+T@#jCoq>X$yY!^C4!$3lW<03&I zOH#*kn+gQ^oIi7`UvU4q(&3L7;Ppp#W%c%InC0hh&9zaz)P5+_bE+tPC0r zay(*-aCB<8x~>NRyaD%eioOxNaCY$|tW?$vBvz9vZWA3sxDYi!KrO?XP9|Y=XzP}; z02SA9Mx)@}`}dRSgiXG=^3mYpb7-W7p8ERi{Oqs~>#BbK?73l>o6YX-?k0?)zxkWL zxxBb~|NdP>><}9aAg`)Xm>D|s^idqUjtf>BP;G<}z?+?{)J@Aoc9wxyD@?Hf4K`Vk zyAGHKVGKF7qR1bA^znAP4dZAu7!vnXc5HjM+om`fwaI8wRK$dA$uQc5^NYpTUw$=T%pA|llVl&qkGFTf z_{}f=@$diX7r**ho|h&R7uskz@CSo``rSVfPieH6P4{79S=Qp>{JU>on}!9`9Yvlm z&i?+N{;5dvpa0^shx-Tel+rEBhIwZPTC>BG3~$<0Qs8bS;9)@v2GEYm(?I2b1`|gh zgY!OmqgHN&u|ZQ^z}*Zt zUy!YrU^zGzLe)8bw5m$mwmr`yQ~eyyOn%_HFxB5~w%fzu_4lv$5tu`hF(8aMf`JE5 zOL$VsByZw9pxEvLp&7Ii9W50h+{d8+rgz13IJS&JcS&yaK4{4<4aN&#ms-QeVov*pq9AOltL3nb(CUK0J4w8Dhkcr)=-TMiJw)N}fA`O$ z$=EclJWWi?EYe~)3gi}^1UQS!QZr!NUp4i+H}9v5SyMM@is+yHey@VGXDhPeA#(~@ zV8h9K{7y|z8a)J=|(uPSi5cROS_5rMRUwE!$baWfQIX3`Bk zU0N6(R85`F=L$Vtbqle6LU|rw6Q>ES3^nlmFbY@e$0&-5Jj0-$N?}OEntHR@-%x(>z|S=ell~Ai9`-yzoFTM^4V~E;!r$Ntqc*J+M$v3CS+2Ij(TMVcq2xFmqAbtf zy?ei1t)D%)oX;2c_sc*1<%=hm7Z+!98h9{@fxVtHff(4sFoKL(0E7_t9}!O{o+=$t zT#OBSeU;c3K0uO=I8(R#9fd^Q+_;+pcRs6q=s?E?=(Ik)8EnU1?_Zy9kWl0trGI_k z+3_bH0eGP{6#47ySinu@iLmSl+4r1=p7hXt!p_L|1hnYBS$uIvw>b4|__0Q+)AM$} z6U2hT?LLssCG|&q*;bwMhK^H0v(yPfO$8KV!=T8p+O&nnWG)cwR5MS7Ze9R!lOqCw}LA|Qj1D$ zTfpuQ-^@x89zZlTQebK7LF#h}`3q#{h$$X;U7bF%cOxgm94WncL#V32R)ynwcb^1g%ZM94ahjng zXvrX_?jA_0?}2_+mT8je0=g>!QL~Jxw>rlpPB@ITP3_oTUKF=CH!y){>L`jW({LS+ zWH$n!l?W!`Po!%m&C?arKqzuD9gh49M`s!B-!oYtjKUOGM*4 z$1h$SJ1yPzLF=7{vz^OcuolG5sWyg!60fZmH?xVC$aQLz2Gqn;^d&|K-Cj>st=50M9%%` z1^J+W>b|lEk@*_--cqMGuHWZRn5g1D@;m6_EyOiGV#`89FOF$uNbsNViq#0RWllgB z+k8ZpNvKDszz5+-0OOAzhI5_SzlWIjJ=3D?wBtucOYhAuJ~{&vB1DNAR}xUFicVJB z-6HAgh+{o@^e!S6y8-S980CV|1v_!ty;VgsO*r0B$zK;aO#Il70UZ#R!SsTRQuBrC zSNO@vDR^nj-0wmDAAQ}Czk5=OAHPaefXCK=0rfOV6YPYL4<5_@4`1i_JRcn|#0u<% z&OOzGTej26?q~vbVxD$9!;TdLFQ8LvhEw07lVZH%D0lqPBcoKDmg1|#J7-o2iU?KX z7h!~w4?%)F)x0bpA0G2O4~7FodZAVqXFAYOl1K}RBs*Hm)Oa47jxIc&SYq90;RlNm zJ5Ddc!N>YVGC4OCMcwRnv)P#7w~j~EUCsW%WhEIK*s|WY`zc4_Prm_(hqSvL{cW!a zjISyv%gL%8WhA?#KxSl`ERQ3B_F_T85dBA*JVgFbXOQ47pUT zMrdwId$Pg%Z{PWLjT6_^BEyBvjSw+_+XrVs+I3Oqr)g4E^?W|lbv=wiI2dWFsOZF{ zgBp)T%#0A*wp-+dW*7r6P-SJcT@QzWp_!}#WWOcmrT`D4Dxa4o=iD7!i{s%3bNb{_CczlprWJA!HUh#aNlRj{wb?h#7W$QUY z$G1gOnl3{JhCNw^$-XS%&XQLRcqfK#U{O)|QP-uQT)@8uGhlealbekU2o_Z zCRhe?4Q%ooV3ZmzMY7zEhC>2W=tSx`{XGYQjf0RpqNzbJ;5c3$NYa!XvV;Xi z-85ksR%MkVm>l2@CC-YIf)yU5U&kx(Sc4i9GOwcEg!rbYfLX2$$1;+6iF2Cn#%>4O zE!%|RZH!1}KtQx*LGT2nP2Z<-BhU#9dV&-mVLXrGc9+g}7&PDwkU@gTR26_ac@YD< zp)3Q4BaN~u3Dv;Rzo5H`sV|~M;fTx2hLlzuswDO&D*nlrqFX{oqeNmQ@@3EPQivk% zW5R=AAW3pwz*waPNUz$q!|p66Mok2~0n#{z2~x|0*DtG@d{s9p99iJGNHsyLsxYg! zZ3MgaWfCaA1cYM(z>&=4B!N(5%nm^i#BHjZ-Tq*aQ*M&Rp6@x}j?@NTiuQ`Gz~ilc zwOj&>Eo;XSdDWHy$7xy9?{05Ky6+CZ{q_e8 z0Fa6s%BuA7%a06Ix_h`8jwXY^PofyDhhcv6`t|hee6!qdfrq(imLdnI&VARKPKTqR zFR9AI{XtFrq{_YOMnzFKe^WzuKuySNT`GIFMd8&(l;<)Gge6ag`j`!NnwP2H!ry5y)Pr_y6p=V^x7Oab34bl7JE+NyFiQ zk{PiQ5cIAYQ5^FI&ORL64PdX3ppIqs7}6Q|IU}G8bJr5`W!l*AFC>wdNVH^9ucBbL zL^O{gBN_zmERCW_l)sLXX*e2;5CDPvTmpt$-GJYQZDS|7zP(vKEYm1$TA;$i!N9hi zFp8T-vP{D=>^RHsmyh9onc@xWmh6Y&G`v5Q#C`WXMAYk=0c|nXABVRzzUPgm<0Q$iukTb{ zACJa^ASg=M6~tMbMiC>mv*~2Em;|0b9Qy22m=^^ohMHPd_1pLFR@;qbIG=s?$#gtz z>UvM+f;g{X0B(;aV?|XTSF2Ay`q**o{ozpL1t~Cd&vmbFZpyM~D%1~az{c5ZHdZus zw?%+RRaHPnY%9yN!vRN04N0N%?8Vh+IBw;3zu&5|G8&JG>$8jF@Y&PnhM}(3%cg2H zP4NbU;c(zO-u3;hrs?a|I?bYg|L^|8_uqeSyRLzHBbH>{bDcvNK0K~wv+48a&(`Zr zt0**e#YJ|IpoBx*w(J}bFGAA*Ib|u3F8~ig@V?K5vwe+2llvgXLC_iD+~w^T=9g7f zW_cb2KGU@kLqjBHu91NF6A;TsHu0#)xe$tE7!rV&i6;VtNc@!~8M=wuOp>!SrJ*GR zOOEaM{s79jx^`{H_1&B6JKIHK%OLOr-@CcHgKQn*5FLdGeamXSs_ON`|Q~>MUvLrRT3wrVJ11CZn{UM>w56PO48kaZy*>>a$I*b93H}u zl|pHfQr-|C#u}ba*#Gx?*s%M)Z(BC|s5f;fH}Y^iy1l#e99L15B!O@=PE&06ZM&Gy zYs4rN1J6&=#I~%5$49`3sLvJ0wyOrr38;e0QkAvoe9|_};Sdgoqk$jX-rZ>i<_5m+ zTDEib=x%!pbrFY#{4^unZWLKQ z?87KduP(0)O_&z&phj1lx3l7sviVZQ6hnEwc>{e5-tr_19B+~9(4p&wCYcP z`AHB2!@+R5TJ1K6pS=3${q41hWCd7|Apt>F@*-b{QI+Sqsg-&9^vP8SF_~nVMiR!Z z?;~MOYE9ixG<7r_WJP}19H7hB_2>{87Kp(6{eC)|JB zs;VXm!-kll`|TdeD$`bUZTYw~3y!hlNpJ=o}MNxFv?@h~$qKM3bD76kNhLa0& z>T|HLAkm{}3eWfQET;}10|OqgV?)=}97HOs%*(}M0T+?==4>&~@-izbscc6xSa4A8 zYdb%i-+jL{J!cB>K@3#BAEbs2_;Z-mmnT9bK4s)dYpzcvs z?GJzWW0vQaSLcppg9l19D6)Kn|G8yZ_`#Ies%gkp;CWq5-JMWG9mQDiEj-SYNqcuX zM(;D)@x&wH-nI=J892`#KS_THlO|ioQ`r+o$qM)Bm zi>%X=w?`wd<^wju@v|HitUm$_#K?^Qwz~r2J$Jy&kEW47VikPw#)SH=A447mT0O+h z*QbB+<7Bh%hI-LlM@#5YWiAI9OCa-0{NkBK4<9Nr7Ce;#LLo<2oCK*n{1zWUK+mT) zoec>EmLL#(^6(UY(nF1eqjy%nLenh9jYm!a&%(MOLorSkDt3r$rSW*wH0_%oUZ+_$ zoQ!S5f)tMvAOz0PPc~0x!oB29#2@0P3jAKs1KGXxh<>o&EWc;Ap6y5iJPSTvauP#! z^b9Bijw5KHvOjrD7`Nj5PF_X5Q33xgKV@B54Mqt($K=g~?U98gjQE5!+7$VI7@DyA z0xLdyUwVeJ_^$Bh?UnoV`EdC#Jmr*4wnv7U6!@D=0pOfMM@u_|K{s0-X{%~dhPF#X475Q6OPL%nBC(^$A^IzQ+EqH zUzP4Rr^rZ0lEN=lQ{mbQhxRVivtzA_I07QK5}QDK4%;Q@wh{HpoHkhIFtkq3gr;Ni1-%Phpnf}Lat6#N04Cw>b9+VxvmCLE zVqJhTB71=OWP}IP;ETk#;J5Y!xQ>5tLbB+flpdfFj{x1%PE3Z~CZ~pw-Hh4R;<(2O zDI~5vrYA&6;it1iU>@d}yqzedQ>wa}YssgFq{DE<-0t>OSq?_Q{oO-Z*Q3FZi8h9&M{(3jEldj-6%2a{0JkuVWYj%esnU%+L);Ek={Ns`4^t5D}t1 za+oy@GX_DH4R5j4=p@A{h{Y%?04#MwXNf945l+&he*ih?bjYkth z*SCj#k|GxL$=P|}yUXPg(h%BM;y5}S!t>dDKAlE!d^m)Y@raN;0KL2hj;8d-MceHa zopVg*+Jdc;onkv&jv;ojA)OK!k3~&qfi7UtE={}>_X~mrb)GE0mNg`5{piH(zP|(h zgokif0^}`tl+cNBQUX2c{Ft)}DoxS7vp*qvHp=7R9Tg*Kw(>&=H@dH* zT3Vx_Pv;>d9CzsW7RMUXk3>1vT^}Lq?@->J8%SID2^-*p>ZYsfdQ|vW>wR$Fjup~} zf6|2{_0*&vB_Ex7Ch??$J-3+z!|#gDTx`s|12FeR(6hubB-jdq3E347e1djojg;lN z0eycLiA8?}bVS@lPGuriAAZmW(emA;#z3U2tI%u;?4&!A_%ohd80NwvtfYld04`{_ zO;AUXZ!;NwGPexX1*AO`XNZ{y9$VBCxDI&UDWau&f6eInpZnpVk>}p~RvGw{x^olq@ec z>)mdaL+dOelRDoo@zk6!Gq|ecQoEDX15O5i zqT3{Cny2vW3_hg=!cB=?CjkH^Mx*1nu;77~H%I-GWe(;cSTp$P$RIZyAbG(2z+*Gb zrm2gvN|JQD-6d%X?@*93Nz`sy7=|F4R2q#2WnQi~8!+Sy!*xMl;ElAvfCblCR`B~{ zjZID`bcDh*p8ZHz$iYVd8~9VoIhlyyxQ8~Ytg19l9NTIs6ta8DFv&4YgKYM-s-$OA z)u82t<3c@K%>MZw{}3m|`Q@Um5!`UthmHeyNH>fmiOEV7&x6?XnCozKDZui}OR)El zw+O(76FM5tbMg%HL^#dnnd>^U*#ww0!M7bvrLU;*>g-L}NKz6fK(I6<>FT;3cmbww zibAp~B2nRFRgl?CQdwp`ku;nviwNDvBLh8Cx!vt{`*08pRZYu_d^7?e-6!BNEsqKD zXsoD==k>*;tB%)&t4-1!7*Z;dq8s2Z()deQk@H>4vRu<41&-4MIxQ8q9;}oUA0bOp zNT9Mz({-N!75076Ez>eU4Bc!tO;wL4V|o_UrmfHBb5+sS>opq&2%mFZmsPBm#o|0o z5?~B@i6UorD9d6n8u+fK8G3jK`^JrYbU-CUoEDwAJQ(Tw0{ZNj-8XgP`4E_r+D<0Q z3)w0VsLUo(FrzZfs$es(GD%YdB{X;(NbeFw8-5l)!kP-QEUaJYa~Tn2REzH=qwl%5_Y}%A(A2bVCRxz*Pk~Bg;}qzckG<41#T7@x^;SGrc+^BK%J$ z6JRdLtGXusoSY;H?j{Wl9S34No)oZ3p3a#@)wtypbGE+S@24n~SDi*-M9&%s97SHn zaa7k3+N#L-pa?dq(C=khV?p{PMzcyryoWI6^ib@?`)T?bkaA^eCxnu-OegKg-K+e)xX%xNGJ5 z>f*dEtGnAf1ic$ZmS(fFGo@{&^ZE77O}q{LA%Odb`+LW=f*?q09dfwUj;^O?wb=)UUt_HzC z)zrg&|M2*@gU~n0^4xKp>2y*c2O+w>yW1QNS(2%ma(#V!f4AI6p|0uhy|bOBZEx@I z*XvcB#d%T8rlX7Vg=0ID$Xgtc2g!QPkB)xd{^!2-U z2nRBa?Pg=yxRuYJJ#$@mwO$&!?gyS@!(I69{%*dQJ$v%3t(!1BM2CZ{qBwkVd6k4= z+0BIsJ2Adk`qx~UZv zaAwP~>%4q&b@AmlU%Re97!1-Z2QIl>aw$HW&EhyolEkr1NmhcuKO90lj{xs+1yU3( zS`x!me!tr(lCn6P-QC=dr(e)N&+1^?+k{ogi+!*DcS%;#0ztk>&{i>tTazgBg1`LL7~NsC2m ziqg`qRTYJ%>$YQK=d;Z4fTRghC4mC#nAT`Kuq=~Ug4jS584?#7TmW$wK72HL5p;a4 zG!*qLV(f!-;XsL*w zE!mcpX9&p!U~d>L#cwf|BPP96$dVAEDT{0}9?xb7A^Pp#{13KefAYzzv&H$v+1YG1 zd;0W=sTrQ(wSN^RK`7GOw%sW;Y&Iw!uzb{Yy`WhrMr4|fJQvDT&5{J9Ko~Wd`#ma0+p%R5P30M~=#eZ*vQPC_ zfAv$t(4#0sSveTis+_%`rVuPd@*0ls;b)Twq;(OT`aciHLu(0V({+v?RdOc zEmt0Rk>E@vX*L`Tx7f>Yz~og@=G9_0@myrRgkhx7ObrTtL!D2DZCmTQp=oM?MN{mz zJ44kjFBex=7sT~DL~)dtIrz&QsQ?De8lAt?OeUj`KmJHp^&j58-|b*U&`6St1`HV+ zNRA-)G_I~uAB$NK`?BK`mqls0&Ttsq-#^rid~tSmIDlU`^anBc8IBG$WD1vHQ`c0z z1WQA5Z3oY}?GQ=7R&_-~L>b6&iXwZ+IUc`#{mw8=$F{j2W@Bd_cEcVI1zZ7yzNsD8 z=J&_gPewQpd5x=}CS>59z~DMB49gmINf&95Fr@tcI8y&-4u!QJoSu@_ha;G)} zIgyR~c#d;4;qRj8#mK(Tx$VGQfiF@ZBm?e*t_gdPju=6BJ~D$#)3!#V(R#Ic|Nh!` z>_HGve|%&ibmkd7w%kD?bk(~B*bfl;n2e+2ExVP9ErwpZpO$x@>txvrxyXlDrg64zN ziqJ(pRsIP*A=96^RO$xbyhC)^z(@3=%lSBp9b1gH`bcZB6nm%EjzS=YF@mpjBC77# zGc2%XY!7RXuOUf5@C%0U^o!p)jw&G5kUfdG2OczcC>q~qE}_Jlmnh;Ix&*+klsb=z zLtWKL2F4+0EAoBkSsQtV6(Xt`qiPk%DJgQqw2_h;S=`wrspCOoGddQlu?(?uMJ7iL z&PV7WD=N)-t0zZO5OKvSrAOsxGv4n`$Bjnpw4&N3P!k(DzynI~ZU%M zOaW0K#u7fdmhD7g+_rU=mvItJCL_}@iz2sed%rtK3fu*t_)lZDO=Ad_XMgml;!jM| zP&NJa+qb5v|A)W(H&J+~%3?Sg{_*oK4K(U)oWyM_EtgA7AzeH0d>b5X_~^w+f=N@F zcg8V25EI-bpDn3*Q&dbQrHH-|6`qlm~N*qp}Wk?;GP?T$%-e4?d!j&uXM zAO`spc%BDgM??8)q_yH1Gy#*?QceQn>BiBe6xOf&6cb^E8M{pj!6@wvNYH?$hi22J zVIW^jsKF?YgGwXEvRhfces`_wnjZuXsON5pK#jJl+c-@;*Oyv(e}HZ2)%p1-2#Nyy zQT87LWUHxB8c#-}$q*4{Ns`7%JQq_&1@Gx(!Zfe*6zSa{dfj>d^Lg_F-Jz!*5NU!h zER}h%Wd=GzVZ0}{w-_8F^?>QEK0E``0XQ<$wI zOrbiWM(;u2E0o2PD8}jH?Vljb;tUioE8Kcd$(%<%$Ok0OW7UZp*D;4W82IR;(0_|y z?{%3({GllFtI=spz$g?A2xuH8I0WKs5@83Ok78FUh+m9wP~S&xAL7IWsL!A;Q>pkJ ziLk@&O3|^z+ZHJ?=_Dj_2()E1Y=n!FSPVV3$3MS2J&7Svo0duG?F!6H!#y8A}U5<{yRQfySSb=_1I zJXARlJtx0L*LB$yyeJDpH}WEj;t(hTkel2EoNg(K>idCVSO{39Q9uDz>zL&Jas%!f z6uQK%QL;P(?+x~u&3H1lZ6}K2swyqZ8jeP$1)YFq=$;Q3MrfRHp6L)1Ge1{>DX}7v zcut%YB25g#$P?-k%kP9;If*6(_X`%mfOZy(IWK-bRY?bf7L0}Uw6M`~6i`be+RU>Z z!?M5p=4%)%9}X?XAh0Nh#WDG%y z3?T1QKyodGOH3alDAq8}P{;A=7G*HI4S|u;)YHkds$hSPN`?$4;Il;wwIOu`Ot!?) ziT_db0P_j(L?GimNnFPZ!w|1Fo5EA4Q)mcMBcEu5SM)AB+`m&LOmV05iyvej2vM>R z;P8$Ck0%ADmsooUsDcxWW)y@)Ns_eN?M%aD(<`nSJRea4baxcT@t2Rw)oK|G24wm| zb#j3q6322p&(E@Sx7)GDGKDW-l&K=&G?kGY?~t7X_ICCk0%Sr#xuTWhL0${Xgcjs0 zoJSx!t310aY^fo>2x-!>e6#PMOJsaEnd8WzVP93Wf+!i!(Dhfogn(a(8r?@SX@$L zBCA(!==kG};zTDS@;-XtllK{#;=(7uv>+7b{+cH%luaY7fcShBT>x!0D$TyApgOYi zSZScrD7YpHH8w^%k-_@Pk*(0SO;J=?n(cNw!!+TwP!?R}#&JY_5Xk7~=hNA2jJ{O| zU+wF!zup}V2#U@T$TFMG(kwfKk)pPrefASYk=E-~5De2O+HE(cVZVCy^6YG0mHB#q z$kKRzc7`*zDNW7X?RIIA6-Cw7^>2RjSF6=3io@Arq08!O^e;i8-oAMsWy!z$+kgAJzyB{k{pnAAKlrbI|MyRxy~@*kxw^l+ zyejg{v~68C&+U5{Li0B67Cv|h|1iwz-(Ks0L?yo{^Td0d=ka+ZhxrD94YdST~(zY3?J^7 z?{98CdiC++)m#(f~%nCIo_({Si`|UmL=F`)3$HhNM3GR5F^MU2E1Ol z^;DEkZ-d#%7K|);68?7Jfr5q1T@^utDA)fGdV$|Gt?Sr}`C_?Rf$J%?J{b}DgTc-9 z4G01lsS&S~T)5IWIh!qDv+@4=_kZ|jS(bkN>t7ECBUw>jzy85Mg5<(={X9#t?&BK~K*Hksn^4%fa@AvnQ4~haB>(77j znQOam-@el{Iq*hbef#zQ_5bo8$0H13vb^}GfBb!2Rm0)1uCWJdvbNoA6b(Tw%hi%r zs|o`Z9ATIqbViTDJt)ufLwFbjKKr?Hj*{y*JV+-Skp{*&)N+D)h-$wEM^Tb|-^8e_e|2${ zgD4Ee5xYUaX@LHd=VJT)VLBdX8DvhTj*LapB8!DPJi_`fAiC#EVkSIVmdb+XSLq=zOSQZ zt&6f~8_94?sc8exYvoo`RLi!%|KW|M8;*;0UlfIHTJRysbJH?G6fK+0ay=Lf&dwL> z^&02RXk6r3+u~@Ubn4dk{l|Oc<`VBCAB_fa7?X`p+tjV+d(k0+hl%TkheMI&r1h-o zvIN)LGMl>93~dk$$j2MeZZ!EK_kscpS*k!Ng_IXH$v$wKb@Z#Ox8qKXsju{CX-OP` zI%nB~p>LUns_SoFznx7df$!E$y*unwSzeqk;y6-T$pAaZiT0sC#0KpJ1Dsf8U1YiK zyX(~o$xq~**0l9xGIAWp_q;>~s(b$W!;JH6dD6rRBwiSklx~^^8RLJ5u&&xPVH3g=QS(Ybh3NtH1-|Tm7 zD@9TC(W_SyT$h>v)u$>fINNk%(q0vIBu*SD z5GNWeB2Tb$d)rVm$!IX?cM%LpSY3z8po#5_3b+O0)I%ZF;t$yg=tb`G=?uSD`STLt z7*V!B>}KdapddQ@UT@c5`96o?DB}|)i;#eED>xpH9ou^S`c0M>)7g|S0Q2^lIoqW) z3Wf^B)&1GVI51v8!%+i`p)kyVDkP6eyYG^IRK-0bM8qjrKIL zP%-}KXlnd{s3q=<^yxuHq5&pf-J?exHE(Ww>BQpb;CVr1>td*m77YYjis2VSINcZb z3D*2&9D2oKm%cg_H|WEMrlS@yy1-4oxZSk!BLLn4XcC4Qxq^| zqHko~i7JGAK&m9rO7MG3t9g1smOR}SN;dTzFG|M~!dW{X<9=J{hv3YC=pNl}e^%r; zicJfSVLwvG_WNoNnslrzitwUoB(#7f^2tD$kmWE$hMchI>~d>*HWBX-6mE)AUe#d9 z%Q!TvGx=&ToXp$r2S(|_vZaT91p$Ir6kP9wpDKn`gJIx1UJwKlhNPNpTWD616{Tfy za(8=oezAD-{hP^jY}+O>@LYGh*;WXy0_za5g78id0$Cy*;@yMgL;kLkBHdiyj)ud( z`Sq^?-~E?={^OHpmzeCt$sq7lML9cLq)CeQ8ypk`$18a!QW!3xmspva<;8BdjgmBu zl9UKuZC(4mcYc08pG{rYk)<|*e{zwfDdaLy3^!Vg5TSdZSuie-q3No1pY9LIuUjDAG#o*ZjQ=Ni zQmm6;mk!>3#s0<^8#4ukVUjqed&2_?7r~*41{q4+eiu&S@ZO@5K{_|1VIsabz&3M|5fi%aC9x=lenw)j3JG^&pM{eY+68@#!ZV;sw*O6T{J`;7uFNEoG$h_3t^UeNIhpY0fnu zVM~-Z-%}4I1U9$CeuKFm;54Ch=T{)NWN~r%NAOd?Hos!wiL(+11B2x_e&|PcwB8Sq z_r9q3uyQ@Avbtkhu-v$D=t#x{{-Hl27TwVSpyzHJQTm>Ta&!pj)5(NGQs+O`8wPw> zh=UW;krIw8Trg3DQ-}x%;OdGCbzYNQ_L8t9VU(Rk>YOy#f7qU|C@zC=dJ|3`enZ4kRaucEC0!gVV%Ow-tm8`eUR-#G@VTUGMHB}p zYE0V#rGVy_#9IYHvyZ0gU@*LzN#NH0aNx{fvM^N_iv`(4VXMIr0|#U@nTUF!K{HTH z;xw>R1%Nsr7TAJtbkQE=y58XcW#n`+aa>2tNl59)#3sVO;rzsX9lfkLdr*(j{)T5k zg@iH7(y}Zq%f=jxnom(T!q0#b#Bd6fbkmX&1*w&C#DS4e56@|es*>Ikq zf9nUH2y`b#9f2-Ti=y?TM-kV@&`DybXi#^_7SissJTJm9(sj+U3;~T-9AYJ!Urkkp zqXFsf$vBO38HB@~sL4;PCHu`*baM<)u^EXhNw$OYi(OWc2}tqC@UFoAgA!DQxish+ zRb3}ZQkJFbI5KhKT^q5xD#6~Gra7*yQHR?L63Fa972PxueJH~o5!VIr0(sBE!^;T^ z^xjnB6XY4ZJXKXCdwByoHp)>(y+C{~dJ4#vk7RJ{jn51TanusiNEDRhdr?)@5~sHl)s)PB`wvjGYfMlyL~n}q7I+ZOqZ!m`D%jDiTtqrsEaVWfC0eHkk+05sQ)oM#DCFh49-brl58HgArMpH$e{SXWSHJny z_h0?x=fC`ES+}46{?C_BpJrvg+wIQJ&sWQps;P_l9IkbWJfF|@;`h8oruJ0R&TQL3M;QjUO!~Okiu`o0vON;xP$6)ANmK7Zi zrfo$yxN}W`>EL#|j+1OQL)P>9@!{&?;(ood3{%C91;ylcw@s4d#mi@!rU4Mqlp@V1 zv#BI2oAr7Z?(#T(_VkJC`--C6-rO{e~K1NS$5m1VS;6va3|uU2YNQd13|Q-&?&(41ooCE&{rkI8pkd< z?f}HcGbk%%Lt3~ro6qN_Wo|dy0+BcR)2l1nwwtQ4Y}<3Z7q4Dwvii7Qe*N{Azy2S7 z^U+5iCvm*mtgqj{Z)6#8n5JcE;`{z#A2tnqt%!5qxGv(inzqTZLTV)2HgyaL6p-tP zDq2!N(r7dc!$VONVI0HZqX09?cOAr6NfKNQbmQ68lRy07U&9Q+@Vcf-svLO!{%`;X zrYt6-aob?k`JPu)#lZKsyKSCh0M)bARYfhTvdGHeco;`vl^4VD0FDJZ5->Th3MW@t zX&MZ%in26K!$yIZ`L3ty+W-20|9@DHl_p79l$xr0f#=%p(`QdD-BBbZZHn9L>*?7v z+#Ozi^s1Jm&3aQet!rCF4WWqVxp4HGRhC5|IwY{BXC%x-JntFPx z7<7m(^_coiNp?b{hmeRg$n4 zloH4JihwKxgBF%=upnA*x6vUUjfY8`eEP{J|Nh_qhu1&6F>S3bYSXsjG`YGsmnG%; z_GUO7f_zCB2eVt~RI;$_LE31Zzj(G>tx-|H6|S%y!TeyyJO0o(5M^~d8bWc`V*DsN zZn_eAo|B*&9|6q*c#S6J*s7xI))#;IB94<^{pwe)ZGZLUSDxoSxw??rMz_p7O@^a^ zu4+L5T8Za*Xi}nRx;U$fA}g|o`-k;r^KgH+*{;Jl+N@SZRSXBgXf#aY*!CO*D5e=S z|Bg)-1;$`F(5XX2fJ;^0-QGHm_3Y^rOE+x?pPFl6de$&hL^WR4vPxAG+g`V=`d7dG z<^99M<@x#I{QUa%#xM*GEYXI1Y0#%Wd-~-1`Z`K;UDe8})=W#LT~9Z#iIipK`EJuR zS)S;s9!0ULDM*=0)1oXb!*U&Gx8K$^cHydo1&X0-NfH-D;kph*vgIn(^pMKwAb=1K zfe42n7+~8)J>(?`_A-UsB;q)BeJ={*$H#jLbI=huA;f=@h^6Tm?&R7>Mqxy&)O90{ zVNAjJG!e0})F=TOh8uA0%Cn}GUcP*O*zGol!yp(8e7|n0JVQX3=fmqhO;g_wHk-BM zSiV14Egze@o=@j#N`^(InP-V*Ic-&EWmcCM_-?kFkDfo(G#R3?G#iZvoT}PxGfQ zo(z0{yR<=8sQXVpiRc3Ll~ubrW?j^7(`Q#h-=}duPWB)eq_A{`Zoq+&hW_1m-_92^Ts)AzMfJc6T`}0D zHuyu(yhoc@i$Lz^BBHGG#qAwsXo4?>lP7$Hqt2`f^t=Q?x#%pH*;oA3;oz7C z`Tyrv_p@kp*H3S|f4WKGhkn96&dpLSp%TWe6p8VW#W7==O{jPf&*sk}OS*gK48-=D zGqN#9ImOAnRf!U+fo=lBm5K^JVg&MpiDWt-T-f8-`Sg+>=>^BH5G(*5wjS|j+6>DI z^S<$9vRQ8)9v-ICiA4@EU3NwX|Fb}lMw~}fyMGHE?s0LymCDud^>p+k?BNUU}OxsNry;@P)2q>?8r;~&VWON{LNU!CD@U43;sZXgAEajm=t;lczK|#}01UQ%IrLoW@0c%>seMF9_~HI`o+(F+P1~#pMT}J&a0Qt?;n?K zTh9S$z%p*NSu2|AIS#z95Ykx^NjYz%RyTCZvVy?3NZB?F0##G^Sva4-lUopHRjmcIM``$HI^XA6Roe9p(CaYn(PU?-$m)6{7OU6ccj8dRS22*cx- z^P!oH!Ww-N-F7*(LTxYPZX~S`jw5Wr3Os{$4<>Q(fIyI1;E%00O{>9pUwZrY-DniN zc=lA5+Biw0IMPks_kuOttwN9(>gwf-7oO`zaTq6Y(^k5U3z8Q_mS=P?sO~4{aIkE3 zojBmR?<0J@KZ#E;PA*Y|WgP916u>NEbfI3-VM2w^NuJ^&=%-Ko5&LWRS3C_AX?z`3 zyxVMmmhsx-??qm6n(GF}gh>*^AkOzt2(p_>S15@QvN*xTnZo;E|KgnUCl3E^Z8M!7 zvz`)C61sr!Fozu_-YVwrNN4QM8Ug}&XAn;oQ|_R~gK`}>E)TdlOq#$30KI6=S^wI< z#ZHZU;=n{7{Nz;V&c}Y2?y%r4&;EnI`frMsj*f6-9GoNIkAOdV2b;p;(_?w zVzkk(6PgTspd%Mm2z?Ek6+t8ixDA~nbrwe&M{fhxty1P=q01{vk#WNn7jkpxC$WmU zGg0QGbzTYB^NTWvOFY;W*td_Txd6*+O+{}-WW*m`>>d>oXN0KSyKTO!Vfx}u*kg9L zjqjtNO7H>}WJ+S>d~ofL47TpjKZX;XROcelKyZ%xtg>U6SkG(_|LQ5N$LhKNn4&^E z@*{Zd9UC38(nP<>0KZ@}FfrsL;jN_10ye`hARI}shgTTx`l5XEs5@H1d80RTJDdCNka@OT0B)%r)g>!NY8;@P`J?$Et1B{ zVH6idwb>oAEI&V+0f?pj1R`?EY~pR9V`6mIv|s8}x3j8&OAf+dfbpoJW`HP}9}e1A zL2l-Ii-4WD=ghX;9}c_ih9gVa`@BI~Dxjmyc1>V5vdld%h{7-@Z>PFKNFwE4 zV~x=Riy49mxd@`=eb>LZIK$`;^UHk7`gSR zmSvMI4S|$MQt)_qx>~IU;}KP05_yN37-g_sKgp+%+g(+bX)aeQGTxLZM5ws9SXefI z90(ujoXv_t=@P8iin4zwL}4ZN3Jw&*+`p+oSzwUfKuHFzq-9$eeIQ;`95F1jVg?(gnP3P~gakmmWINRq<=P*_qU0qF;*$&(IZC$OU!d}{&cYgJ8SdWf7*V^Bso ze&}>I!LW-+Mg0mF)Szy2R+}j69^WWb70m9_N__=li0}>N!jlYtJS)0Y7633t1OU|YFQR73DJVlJfud# zG4K^YAOyqb2JEX1NtV+zv21fZnb4R{a~#{YY|3ay8AMToX ztHJo5sh>=hW0bV2F;48*W1y!Cu%F^=KvpK4hWZZL05DVpeTP3OTjdGN70K3S4$Mh? zcw8b46Kh@y0-xjU@L>f_1aGb+KPqyC#rqfem1L)Xbe5y7zcYyI8(iW2g5hJH!KkLH ziIoM*UoQLMtHFG0YK<5h;0eI(-96zPp43QTbkH;qO7gsjqEI(Y$Fa!swl5)22l64r z&nyvEU;@GKlO+}yE7x@#rRi+RQjuYDP$i|X})w9`5 z$4C&aFo*qaGJ%9+zdKClaw)38|V*@4`Gx#j+b`uK z$=a|ohLD_w2HMU2W0K{I#lo?zqAFEgI-Ac-(})gxHnFIylCyZQK>^%SF(6`T4i`>T z2ggwYG676n#3Y0YZ)iNaIH4AhyC}VB4o@dnm%a)lySFyOiA4b=Oz~%z%B~9Hlsy%O zOtd9&jwEPRq^&HAI!Ur93OC!G)GFKU_Wu5{mE_HK2MfJMPSUh$>fLs~+N_uBO_t`0 zs@>h*(P9QDy?j`~9X(20xtWfqtK~AQ%Cob@?alkTl#m!**I#`7O_JuD$BiT_uU@_K zJ(rrqB+cVNFfP$MNLi9UJly^2*MB8z>btjZg5hX7o!#HPS4`9Myey5EtJUBA-M=Z) z>|wdAigIx_we8@~pZ`VErB6Tp=nudD$KU+=*NU!v^UYVY#Z^_5tM%i2eqLs27)Lm= zt1?NG`FtVE^0(jppzEd&qZ}VXO44U?Tno*LwJ1q$Z*K<&?s<+-Zp zs-o}q;q}dZl%|J6WLw6omoGinPV-c1o5gfG@O;a*Hc$y~*ZbYw?Zak^g*+S#=ab2F zIv$P2^Z8VV$O^j@@aeKhqAbtSC`nD*9F9hZFxhU`zy8H9cZc12y|FDPPLjH*eAl&I zKv_jzoSn@zLrv*6p}avofP|wsi4WmnadtjmEdKn(U!FX9YH7OX+JnjD{rhX2$fRO5 zY&+T?R_oQvm#;9WAd`wLOB~NvB_%70>%05SZl6Z+{A@m*E*|dh%erps`f>f}yS~!O zo88*ByrRe^)A4?HpaHM!x^`97Nt`rIGZ>B#e_kN_xT$auceXmvu__8qvCilY<}hVh zQ${KC{?@k1oCmyRT0G^iMQ0A9t}AxWTba#vzm7MBpL zZ|0hc`)lr}T1mESak4k|e6p{c<&xZYZvZ70ie-*aIb*3^FB10&HRhfBp5B56fj3MN%!@ zKRh;yF`LZcq3O7X{oeKbs;W)X3j82V6Wev9w#{fzrc%TnLqcNq4hE{x)Z|EkWdId7 zK@R}+TS-o{go4k6YoDTM1)g*?)QYAKM_(N1pM5u1a$*(6wP{M%lGI-=H;r6rIwzfD6>F_dKd5 z*pZ87KU&#TSzheHayDo4sbg7K8A9M-DVjazSpRx~9vrnkI?s!Do)E zKDNLFJ)yvECGt0IExV%gULEs^`XgHnCJ>UPQ zfB8K*W@o$IhWWex!1a9Br^x&HYKlSHJxE&x@jX^X9G1Y)zCVVN=$l z(I`#REQ#mmi^tX4Hf__e?{6O*-vi~ef^S2brM82jUk33R^0>07z&AHhfKsFxCXt3= zY&PrBc+4ES@DK(x?mZm#eh}Q<++mua;dvNOMoFB&psXy@C~0IIFvGyVxxGb~<$2*@ zuc)%?I^k|VSv)Oz$lN5MQ`L1nQ2%s7c0#(x&KO8nZaPN+iWez)^&Zm*-WS7 zs;+n2oozY>sO{)XHrs7kR4ZetxE@8p!V?wy2wS zFdVc^`}p|i`9agPi^X)i*+y}Ed2yMHWx&5uo0byPJ!BFlH1mGezWz zL9iHMbd2}zLr1E2UG=dnD%30p=IG{ zG=|lC6J3~scC+}?k9C}y9!I48L|Y8)S@hF61bq1Ir>Jd*3iHHDczDplW5L<}aKH?u z%XSqU_HJ6+Q+6OFVc81LDJcYw3;@aEva=RAQ8OQ1{X6H14-tm{4y%CgkQhOna!I-b z0kPOR(K&rRHO9l?pe(D~+dIQFJl~TDJm_fzz0$O&V9-rDf)^dw&kIn2RSr$8NGK?Z z;2zWN2_*e{=o|+i@8p&#(N0qT>v=Ie4+EUH$in34Usy>OLpMr8`lwlIy(azbe=d%6Bfez_;GsJXNz=Gq7F#- z5R2;3g(D8d2`ucA!e|rkHJJ0TY>U2zFE7&wIExgBGlvip^M=JJbyFiThgGDM+uAW? zh48LNK>Dl!c#?LO#Vl0Z@v#Tf56WR6v6G_9cZ4@Cf(Tcfn7s6RK$f6C9*#JEO zh>UP4LR*Kn33`ZbHxnL=om_?&42Ot=IwPi75`HLR1PgXe@1&WhkL}U>{pkHbE+Cu$ z&2?%`g$)NMcf{J`fKgaYc37JDL{LfrK!pipmUUJQlm~xuRoSELl%OOuqn!&5Cr8L^ zWkj4`0T_~OsHE|kz&7b8K7aZAY&u`AR$+KhG%fJFf;?0`&n-)280i}1lFYYd0F0ee zo2D^MeYf3fn(|k_{Do#{-@bnL`JcX+&1ZF8=2by}9Ikv4CyK7!-Q0pXE44O$S(2of zmPOq-?j4gDmnqjS|bY$R^Y`Dc7Knd_Nox zJWaMt%r2p5%+eyyZ3?F4waVt_SSlb6G6xxtr?6}##E}=LZQEd@BSp1hc3eLK0Lz{% z3Xu;&$OOlc#;km^H>#BM`t13nk3X25L%nte)9?UC9Z zi4<5O^@U=u?$;P6hGR82!~%-tzFL)ezR+wUnDULOvJaTNXV!~4bAobf_F zEjut(Z1lZmx>G+N)%lDWFbk+Z%hiK=g@jB5)0mHBfVN+A=Jw2_W*bsgDu_`;76MTrvo^Uw(vgHUj_t<== z;O_{ReQ9+XibN+V*C%}`$Ua6VXNCAJ`?c_YaeNYtJXTt z*l|zh2?*`9{fW%NcMf%e4g)DCIu|_M!AZn24wc~daAXslh{cZ;k$C??_1_WQ$n}~Y zEg@U)y1XM1i#Bt5^A&14iZH{p0-T;KFHFOPuo52fgeuW5VN*f(-7vsnB?{6Q`%}@wqutE~xZnFq@}ZgmoRkec^c^?m8KC1F)nXL45yl#q>4h z=^@`6L5jLs{5?BOh?C{$awf`w4(vYC1Wr#SfjM>bxbB1F`uB`Tu4?JpiR&p|h7KTt z?QsZ_QU~2A{PrnQG)LC5?%L>%(-gOcyQiM1(|ML~-zKEJUCqg}Dssf370$n*<;^Bi zJ>`fh&pu^^oz^%_bTbymT;eH=KdwK~w z9QxK4$xRp<6HLrL^WuI8FFWRc^JS!xpm#lJWypU4^wJv^s3#=C3S}R(4)h)(Ix5Rj zZb@MH97Rcz#Bpp`rfu5@J|v3;_B4{(c03x9Bew}G1gaqT?eXBRgzBAZY%pax>7y)= z8dF!uuWXuTakkJ@NB|vDVv$6Z?RGdZ2cLi%Vdyl3F_HxKKgXrBl?BIC@nY7yy(P;t zRe{F0s1a=otz=nHe3ixrB?V@~tFkD_Xs40Wys$A+uvAq}Ge|iRk!xF7oT$2%XE}Kb zfmlF$ouI`qyW$uyA+*lypwN^#pf!5ZDIOlrH6#s&u9LmCB{kx>#P;4%|EXtGqC==6 zs|$xJFhw24{Y8;$7{B1|A~%Pm4{(pb1B}~`x&qZKs%R=pl)7!Q6fVs;;tfMLjm>)F zc^=tnlGO*@GcpFF2ZPo>VR%3XbzP66w8-HB&S){T!o=4x4HQugCBoXa1-&&g8sLO1 z$ub}W$F8e}z$Z=$0OVjo9+MOQ4>cYY-j%AWU{uu2a=A>?OqS%)aA-T0BFmOz7kN&b zC!&<|9KbUy_i1MBI$l}Ux3@P@2&rP*g0+V7%`_0n2e1S+NRb1dKs2%e%9kiYsL$ff zgjDQAk{|*lo6}dGd;kZ$lS7oQvJUk9ou!b&>NHMHKu5#dIj=`X|K zkmq9>#D$=e2xmU#q15ao4?GgYc*>_Z9KypPL=Awd743Wtg0-S)$e;mPC#RmRhW$fP z+yUNctMfnZs1ByyN~v} zFnsp(X=R@McwZ9c$A{#5bX^^9|pmEJ`MMK3gEVqG+{3c za&Ck4PGuJmh&+hpiOD1Yh1;9EFpdv-)c8^&G*9eGO_ zAJVu9C0l0?*$F?eneaU&aF?f2bnl2$Qd0Vf<2cAlPtx&ZIGv2B)68Ap&x$gQvxGTx zSta9b%S|g6dAZx|lQdr~*R!)}RpfCJ&1aLv`TVfjrg@UX;GjCYyv)mzU>FS;?A|7sbQFy>4nh`|PvJ^UIs}H#hHY7H12PGq8CX_xJagSLaP#egEaR z-q@SX7R!fwT~mY6AY5+m?;n2sH@~XOdc9m8_J>b@@=2CeZ(qOm2kzCAXSX+RUcP!M zNz$9I-;C$8EYG*w{l(?EDl4G5%g`T&htLax(O`6U`w++Q-*H?!82Cj7z8BmJ=z(NK z$M@g=kfteQvJ#A)M#FIs1k>>t@ey@tp=Y$W>+t&K?hr-Dj2{jb^BFiUMW$KW#e6y% z56;idHAw2^Jj*wm?Zd<4db`{1_uI`zmJt`SSe#8Kllj?VG8sYqo#k1QAaZDTz+|wk zqv-JIC!ct}d-MK=H#G3|Rn<0aRa3Y7?O;4~ZA+yOm?en}s9xfwwcc!0S)MMY-+%S3 zs_I2uJh{A3b$$7`bUn{7^fXRdMb69W`rY;AQ{W()qJ>GE#stAiifQ9{Y^3)6`*)h6 zK7H}Lfpwqm6NF@1#&kMcE?2G6Ud$K6;Sj3V91Xrls_VgUu-n2U34RCUmBNfkKu(gh zdR)a(Je?yS+;yC)uG1uK>L!Yy)l`6;WAM^8?PxUK?)E%m91RCqmbsoQOYPgY?-H;# z0It<_jWR&h5?I2tWl_#%)1m;k1{Gjc4hF$`wJEETAf%Q)J4k6sl9qL4n@gknn$<)^1yS$vuCyrs_w9~XtfA-1a-R)t&rTQv=`Qp{h^|fXoR9z{ubh#cD<1p^3v%HnakvTf&NIxRdN`d*Ta zr76i-u=ByDfbRq5xRa%!!&n3vRhKoj?j|QW^|NDRV+0TFa@BZ%JZdQ+B z6q$$=!66&RF?`O5P*UUtjXm13%#$SA?Y19%^n5f3rn6b#dZW>J6bwO1rj3P|CD5?q z8;iWiiw4O!NDX7)BPX|4NtSHW@_g4|_AuQ@9$c|%LNMAp?!Fj|cLo&*DEOPd{Z(0( zkIN;5K~VEU)|q8l6vd9~)@7CFrLLN$tW{0vdX8ynja20Y)MiB9fxT7RA|=K1JnAbH zq}x(B8K_Jofkz;jW-y^Cioz_(7K=03a8-o1a1fi^}eWiS|co^yA5 ztsDAuI*sCFJ{{+IE)$u+aXgFCc47Bq*%YNlyd0v{(_kHsJnyr8xHU8GQENh>1a~-2 z`_nbODyze8C&|tE`Pu)Eu>b6lB+Jr-G1J=2wTDhoSy`f|d)}Uz9q|fqi5D*j0{lSm zGrti0jU)(=T&@6!<<5@indz=BotY6C!aZD@*2HtpHFM9J1(}Vhsfvv7a5uYl?>WzT zgdh02VP<(2?ho_xGfh#}n~meSp69ata++qgWj0ksmUO5r6-AoO&Qw)fZ`Y3HHBEJX zalYFfbWJgBr^?Gibnrbl2!anE?|sibn}O~1xO^T>rbU`bvV3`dQML7Uzvc1XY&LZq zGq38$r)AZ&FD@_3tk4X@^D+33(){Uh8OPCVI+@MqMOi$r)>11C{9%pEq1Yx8089l* z9nF%>&3gCzw6t6x^crUWrHILF(WK4JX7AtMs)~9xpOrdiYs)Z}%jIUX3kCyKqqLP45xxR1>UR2WenVIW!A2Z( z4HN@N6R{5*ISQyMNtF|CAyju$=Q($fq&5ySac$In}~ag ztVVI95F3=?<6eaKiIDCn6hG1+e(~p&>d}n~I_R|f+irAlq@J997Q*oXd^;|@RhG-= zs;)iHH4SW`M5;Zi)C9_XnqAzB+qy+fKCUd%?Klkmx;s&59#wIoni1?0;RDdk6*{A1 z@$ngj;cy4mmhtbPZI*~Q^Rk}ernVD!|N^3WQ`L?_b}QZ`tSk^?q! zvtWKm$xHyV%$!PR0q%&gjd=9Bl`h^kL$Pe2!kS%S{0?JM@o4l+8m1ADPa5_;Ui`vU zfE4|_TFCOTI_1Zl2385y4*3MIvP49@AHyb?&2uE&^b4;aWF2`Yo%IDjkYpvwI~B-V z{D4s1Nt1pmo=9UO=nlMOxc?Ud7tXWeh($}CnxB_F-t8fT)9h$8q=_nt9lLFaKO>|34Bipmfu(2=9M(IFvTK$Qpm%#C zCx(h>26_yc4`G@ZcyLN+OJv@E_4sx{5`@f&F#|GRF_NTU*TVDAGjKw%m<02*f!7#a z1Tn&-KQm(O@|Aeb04W3-T%Cerc*Y9!(=y zU#i2wkaq)(bd#)QXPY5LPcU>Omjcedp$JdNI{8+@lA%IIJCUCNC}3W0;y>AYhTvV$ zM;yyWdY^(fUqdR54`~?Ya<%jv_iQ$!ScH1LL2*AGj?q{a`Dd?RI~G1R;JLcQd$2GN zLi$^lwNguN4Ll9yZJeK@?ks~TR7zA!8tQaYLCUBS(?&`)M$OEuGG2$+NO~$vhZypL z5$8mQ7xxUuPBTboIsJ0BFzK~~3@i!;ouUkaK-cvHq+H+@|MTyD?+5;PJmmQB{@D@2 z<8CqYD~p+8?^Pp?AsSgJs;QeiDl-fuo)%SMTNayVz!ZlJZ-IN&NGqqN02mN&q5UVt zf3hDw=^goaW8|8Sr;hm~OkFtk_~=y98?FChUl1SV)4%#8>!9DLg>THsS^jC6(AlW) znIf|pC|-#&+CdlNBZl(-uxiQElFvTaz?|F*QEmx;=I-5!{f5$2 zI1i{SVBgJo*nP3r*NjJ%yr2t+GU;e$)v+YGLSdJ9LfI0tnJOs&^ESeOo@K2n*j;={U z%KYCr7kUqylYu=SWL*^@&eOj15>y_N0<`q2MUmVSQu=|EaE1_D!SR7Vu?^^4E9mAP zd96nR0sp9=8lJFNPUtMh)hehY9kWyP0`$5ZPt(&o`bEp+LW-ls9pqUlx=3TIA;)j&`F zF)@H>_^DA;*>R9w&p*ZC>!<`U(i8q4l8ltxEKP&JR~0nrP=;X?D)tlBg3~0G|A&Dz ze`J8#IjCDizvB(CBdvD{!Fiq|A<-}Z7ZkvSDoR!8MDr4)##QAzP7VH+Vp+~^fAC$` zFf?enkhv~%0h^>*nj}rrLd-2%4GQpJV~l^*As+k0Ze_9nx@~J4;4-Ajj%7QJv)LdY z7p^T0=38`zV32@Gd5b7$ELT{mVU7-p0J*90qk`@OgmtJDd7biLfX}SX3`;p2LYm^R z#9u@=>bhoHIL>Gj#+J*zwQQ;<#?QQHY2LZnY~wh_{Ma-x9V9CSej*C8Xa>(ff{!Dr zU*Iq~G{K6dDQXx-h;&CNESER6=R)5qw;AQ)+oA4i?CMzcUR>mef`P9!&x9$f`%m29;Gc1pxP>eJ=j_03x3xuA))w zVZ@8gP!KlLEF+sJxRwH9mLc`abC4kv1ac#^n}%-GODdRCGUbT);;<$bVg^N0!KLWq z+e9x$m@*tvMf#zl0+ywjsO!3c?=jtn@s{ocz_o(nP!v(WJimFudQz|R5y>r{NQ{yY zDGf$!7>0_b=2^-D?#^ii7YJdu3L;DTWJX0+ERya7egGN-n<9v|hE`jbfFs&T;-s*? zpHU<7Nd~AYPKAy$2nRCyU3BJR2qAcV!b3t>>j@T-$T1c*8=01o;}KOI3?l5{Ls`v`1qKQ)79#D0w7m=Ox`z2o7@Ohd za?L|@7H7Xbz@(NCzoN)J*R^eDyWQxzYTFL=Sva9wG;Z2pIItlX22PK(0n5p<>f^_I z5SY4 zJ)6$H`|$_Mvd5#*!{ei>n}+VZdw;8_x^3uDw4cpJS664KYAM*OZtFCwHmhe1ULDo* z>KQH{FnY5uE@p$kkK@EZBAda!_v{S8^}1;o=&Y%NvMhv@izyJ|LJBam(RZWG@m$9O zl|)EK*zcA>n~nhk77isQ;9Mg#w{xtahXRrSsa@W#)Hv%^Q>sb{Bpi}S}Ygq-~RT` z0zY{F{w|H9FTZ?yIHW)Sd^bOv4~K)>+n;~+^{-Szy}!Gg%+6QK)jrw}hC^Lbf?%Lw zJW-_3n%jZz@Ai9494P?E_dM5u7MzbU-OxtEvFCcKqCT%So82zUi!3iN7Z1E3@P`9b z2kb(0aeh|U&C_zV+N^fleVV{3pujL_WrD(mIf7}JLEz8N&P>yQ`CpR8NxI!09v6$- z4|mJwWk4w;FJ4@~`TTPVtY(65ou$Qkw_UB)=kv2a|BK%?bqObCSiK@N9iEP|iYuIy zvebU|=9Q|b>kR~lx(ZQf5DfQ+jqmxh+5F+@UQzYBEPwr*U$t$sSUkBdW>pX{*iI5B z%k}c&{Bk-O+m7@2^u%_GX_8cBp{Vj;Fuc3Hn@lIRq18>{4+76~Z3h*U)HY!hR*iIV zF~2yUZ+AO7998P~HC;z`3Gqbk~7((|*6B93moDX|S|}FN(;5fiztq4xE8_I$aY*hgS0qKFl#jQ(P(5E=4QK5si>x{ zTON-`C_)TlwOU6>!lMEhfz<3}ZX{_+2YWT0OmJn3!m`Y~$VY?0X0xlC#&w*AR1;-E z#tAV9MIN%TFtw#7BInLXH?7t4a{y*A$Omx}MpK*F zRNKwQvfMl?zW(}c6dr;BoJ&TdnW1a0=>(&pg(=&5 zwN^D?bifc84keF6KE(iR!r&g~BX@IrhN=pH!8A<+3haPC6D6~2nmQN^EE_bweooZ& z``vVm_E|Dn6G`G-7PlZB^m0T#T^S}7woIMagUexFW>^^lhZl@egHDRRuI{3idEP`I zcE=k#6@oH8z+i7DQ|;PO`WEP66p*%~FhR~*o~_p#!$J-$&#k*!m&gj}FT|bc%$Z{Lnbqs@Bt?f2gghQW9|#G+;Drz{18F|Jmt zsw!`;E};veOB%%yk~KgfqS!&HwM}EST3NQW+wTVhpFa!rWu&Cy`Wzn$DCP2bb$xwN z6;!7-m8wt+j|5Tya~qm&+0NP7<^TQP{l7+|!TU@6w%{RX{ zbR+QnG|yGJ)-3(w;?Z;6Q4mm+5gL9r22^zo;bE#e@`qPf7ryIeNe&TrS;t8V0zdIj z!$T;`Ql92RQ~<%p`;WSgV>>U)*>swx85g2uQCwYLZnj%fH-Z7glxsgD>lI6{2J)2HtRbD(VeHZZohG8$Bo-ePj?jIjaO+7n516Q&r zLxM1{`?%Ma&|d? zyuTlghIv`k@QQ(~d9&LZwyhI`iC;XUV;I$*B0sM-mTh^iqZwM3!hLQ!pJq|4p<6`; zTU|Bl-L@{PU=V-;$!dP`W?@>lMEq8UP=)AOv^}gg?%}w$%u5;)_{+s|w-1}Do=qop zT@8kV^?I}4?O(lk5gra#H&^TRcDZ`~{PkydAMf+BoJ=Rt?%)oB<>T}D^~G|zy1u$> zTR9Gsx|R0(-9C&alkwMIeqC41fBrB3CC$pK>njpK#5G0K&*rl<%YJ_M{)@L?-rn6` z-CSrY!Z;Y(66UVmT%6s&SR}#6zjTrtR~C?oGh~VE97bq3W?sO%#Mq^gr*KK_2n40; z0tx=5aOwz9_DKxf7YZr~ATa((PEYL9%{zef7ZB~IY=e%UAhJh!G{~z+SRkD0uOMQh zNC+A?c65Ut_adWb;$n-0fDXv)?ByAg#X&*w)v5|+aYgozVldNP2D0YEZ8|ac{UnW{ zA0>4EJiTGZFZNgNlxe}=Dx_E4CFtX;`9qnOsq4mWyN{v><)vkz=cf}|BoKF!`tEm% z0Ss7#?H0a0~-Kl^3Xqr9K8Mvk!EF;$z8nl1#F&qBef5y^|6-eDfhGt06Y zmmI~B4E-O8E=L}cxJP~BX3sNWHjBt^pzp#pfq@NJnN^7i1Z(4XqRayf#^#t@PqwJy zeBpU{Z|L3GNpWBm4+*-=VEP}YR(JlZozpdEK(gSqlaC1x@6M4~#F>-f4@0hc>dEFt9fj5p(z>_2Yzpz~zW=BB4K^-x2Q9yGJnl6+~`aqLLy=q1L5JOXM9O)0FBG z8e6sntWya>6>;5yCe+7o_sQjCNZzOv>Iqi>@J#U{vJ7`Mvi543cS%kLLU87A_*PZ< zzAsoA-Le$PGA#5Yig!_zOeWR=f8<{(zLZJK2WXslqU*D*hOqEJr<;R)?A)BT9+!ChHcJ`jpZ zoTp={eoChhqvhVgL?rCcX3Z9?oti}a2-;?h#-TIgXOmgUP16nn|K{cjii9i;0>Em) zFaX7qDN_=R=E|Z>vkZux2Jh3w;_36(FUP~+Z~yKefAiZvEtBlk%~jJ>4^PY4WCBSd zSkP+SN>LcKinMrIsEQKDX;oHU;Dv_}A+?7PiHUKN<=Nebk8zR~MVS@(;SiFX5$nma zVJxN_Ah0^Fn?SpflvP!f`FgvBu?pA#{aP% z*^ZsY38j@#f7(&DPcza$!`uQEmsPV_Z@_uCkWg!Ax=g9$wCf2EAwCXh zUqZM;p5xsTe!w9IM2gBg%{OoWzTq%CS4+a4$t5J-ohAhjUlSZZwJt;)NKN@cm_;Qa6GYtj_N2D9F$S`%=&Km0kKbP%UFCHi-J^oU~0PFJW3 zoJg$0{?+<>Lj{V+e}O3!dY*nYo={r=dooLo-hV&UGYvTTqqoL1C>O3d%mbjajKvT< z=<4CKZdfG*=zPcu@}D9jHLtf)IPE~XXHMJ#p-?B;t0>k{`79Po*K>W>?eW|<$947W1@^$Cy$qe|WtAG2N~mG3PZTRSi;!)SxYVab96P)6QfHjEX=)mj);H21l3U*$Mkf7MF)^HFBA~ zX7Ba5TDv_Cx){GyK zWO&9xd`}Gv_k+T_NVG!7le2S<5odHOHPIoAqZmf~W$6VzlL#aU*P%xG05C&nULj*u zddUVJIYQoP06=DPRRvFaW|Y=75{SEMf%VOZIfHf<16so{VD#O+Rce0mk=gbP8xeu4 zr|mE@xAa=9?PZI1X_Xbp#V3 zr3KI#Y{^t@wcbQ9DD^pNfmSvAT~x%t>DbIEyF}yzlCc&z(_qR# zG#cy=`-g{xVPiiZy4H)EYuKUX)w_51s-{O_ROIE?fAVFLhP&PV&6`)2X)G7Z*?hj+ zY*aEB3wsBo=s;n-}mqCKB~I4+wCPuy}r5% z_lM`@vm{GbS7&)%Y_|K`54R4b2(jY1f~_W04TmT~Uy~!ls|GTRCtZN9hGKyZTN2B3nIt>rudb|1X z^M`-)SAV|SAC`}g=hqkEem^}sQ#Ez7M3&HJU%dJD@BhW03>?optX5^+TwGnR7wd=n zhqrG(JG+?u(?9&q_pDc+z5a0bxLU5xF6V=R|Mc7L}$L{s5m2slEu0 zhjWSNI&wqkw1N?=rfSpi$hG~DxbnUqIF8%YQdJgS;GdmM+qyc0;p5{|E4S0hR8tKJ zvJi|*6-?aC)n>if?Vq>L(SCn@b?F6Okzt~0A^FCt>gN9bakJT6T+T+rk*extRisIp zCzVRXGb975%6`9dT_+e04%>rim}8`y$BKrjp04TVR~O5tCH8PtJ-;{${NV2P*7F?K z_YS*oFdC|g`uOlz)D`5p^ZCQa`|Wmnd39x&W)vP|Nq+Oi+q>HjH#cWeD}{%H>pHrs zq*?BGp6C0U)jBUS*Kww^$sxoLflD>mT_c^Aok(;R41ge8l!}I}Ofz6~jS^ir=;3hG zU=9?cw^Ybm%sndVU^w9-s(GDzaQPv^b8+vV?zmStVHptfuRo5gI})C}z5%a6*d*{&5NB z1d_8Y%ShtHVz)?58x2Qv7FDKYbjH2pCD6$Ogl`;S;|vINuEWIWqMejYWEqfQFW8QZ zFZ|nBP=Rqz*R?Svg=h_63Ui#62+{7KV_HV&3Wc$2=LCGzWfAVdzn7W%eTT}rL}pi$ z2ng`n{;>82bD;z~hZ20{sw_|oK``kJN2B2|a2;FIwXDD>-88N3 z_VB}ZKYaexXGs`+{qJ7*NP`6;|{0%>{!WgrIG&{mb%$A1SCrt{golHwX;B+NPV9L=ZW{UJQW>0mJMhlA00yx$(eXrE<`@7l72 zwymIK7gYsi$#Lv7$sV5`UC$c?!TH6xZMjL35>2WY4u^S?)NSoJZdJp|qlB58-nO8? z!xAJsNRsS29&9#s16;TqdU4vXoG^-tyx8qGRJR2h#A@#HdCj{2^&rul(a6iEIh zZZ)1j*Ng9`HLbBdMOBuELo}UDrnA|PKmLUH zioiE?t%8|3^!Kyb1T$boa(z2V4>IZDk|HxS({t<`-dL!EEyvR}{c-X5_RZ%_Q*U>> zx~e9_LEYB-=nw?MpWpr5wle4%qoJaxo9#Bwi@GihLp?t`D~sZJvzv~`hJj0cfB&fK z`o+biZCRWBj`HNl)UIw<+f7!K^Z86wmAouq_E0yrZJ}yJccG3a<2a0-o}Q*>bDdUp zE2D3(tJ-rM!?Ex0ZbyT$WjU+Gay%J=nwpoF7grxXd>BoJj%BHue%QyYBs*kH!4H3$ z#PAU{v?xlN8uf&(D6Z?IX;Rm?)L|H{Audj&p%7kY`5P@G`Iq{qpqt$5WQKo z%p4~%2IB+P}ElkpE1&rPq_(77yrmp8DtdHM(_Sp|V z{d9gdZ_!$y>B{pW@V(7$GaZk&`-86PF#WL1?e>tSSrGV=qRlVP@9!Sozx!}`eRFX> zPsq?RPNKnJ=pZ61MVh0H%te|ppp|0fZr8VhhDJ_AaE@j2IDtPD216i@NWbe)@-AN- z#P-fRj_`|)iFWG!-|1I`+qoEeb(oOIZNM09Z{-^Fs74!9Gr z?+I>vG(qjb@!nIRlQ#Y`bfBAaAK&cB3$kRE4W*eBK)`*6j~}@ZB5hE>wltPI5(UKU zxihF26Xp*6Jbr|}^F0}X^ZP~CGAR_9d)p!M`0Y63I~5cM!u5{sNrIu&QG_OJDZ%~| z#v46I+}lU@(yC8}z$aMoFQ)vTpzfV2Qb-PXmO~E_uf|T_MYK)LG++$1+wV0)bKxc= zS7cnwAzVTbd9uj(!K1Pdqh<0K;0L$oG<4&Q9$7w`G#_OINBvcI?@m5pKQLfJ!tR@U zMe2#l{3x>RI4!+B0M+rwtc^aZie@~h^SYsL2kLfmbCCGJ@h2Nhf=(E^Wuj%TuI)y& zJVk=^jb~9@HlZ-3411nN(D)o}0Nas@K+3NCA~^(5SB7bNy&y03K4_frCT0cp1P?JF zAk2!Hm0e8lFG1fG*mL^8lsw)$ZUyBHDt zQ4HOHEfpsw^hN^R;^Y;}ralZV)5ukPV7K(wyE9h8}d@#EGX5 z0|1guqp$3K@HAgWgzWMH;J@gr{C;O+b8;32(Q3g&japNhD+oXz4;P&UXlq8JA@cb! zPGI??Y}?LwJQ|Nj=jU_VcCs9_378?~*_UtMOh==C_?K@c)7iyz`tYKQiKMe{Ri&vqJ)W$Qs>4IbI}_sc>iYS4ndR_W07n6X z3S>xA5H(!QIA23kHPrKDy~_jX2K&Fv$<`$$s1bDly%}^vG@?*pw~)~=01`STql9r( zl=<0o&TOZT_YbYqym|F{5Cr%YWud8x@3}g@A7jy{<@2}Se=jM@%a*ZvUJHHP%b7sdS;#Ok9K#+-GA-NpJj*mH%8c|}m)9O^nEG*e=fBVs=4js_ zXGknUq!b&nr2V^p|DR?T^MMbY1S=ics2QofE%dB(;~-t55gIupH;rNFIL8SzIbIF; z8GtOyM;+G^jHQaQjge4xz!p;bPgIEgNl4G#k%`$cHczr>enA-Eqr0yVe)+1RCucjQ zj;7XcJ4f1QfAM?E7T(F(n1^2+>U{bZhAL>+#iGYHPE{*^z5v z(a4b2b;@-1%3)4KpSc6wEqX)Zozu*lNWFx4wUTKXWKIqOA|oazW!Wi_tN(g8ng8X2 zIIfEm)1!|2dAvFudq&Wz>8f)4FqvdB*X4jiLg52^iX^|c^eRN#J7xp zl1-9Mo~mPy*wYA9Xnn|BM{rzD3P>uf?Qi8%d&62`~K`~3dT~F6W@`kPIw2HgR%oB6)JtgR~OxNO5~;6M42p9 z3QBPtfyqjronBUuSuqdLj3kY@WKt9*%VCwo&oxv0fk+c1M5RyzcnfoP%*No*4nely zYUmnDpf~{(Zg4qtoPUc4T)`aLtg1Q;5vVLH(t5p?BsuUs1A(uUsfW3E8iw#@gZ!l^ zkWCrIuJ6JVk<{KNZH`FYru9vCADjS;+uR2gj@Rm}ZZw(s;77aq3JsIx-f8o_|YS%XPcswEi_CN{0FUW>!5@dR^KLlpp6zCvI)?-;Na<6!(*0gPw z@vyk`NF+fvq$oBxb%?!%Kpqm*Qr>yUCV^hMs%nY}$XUATxvpiIJrGQ!SPXjEjhO{& zng-`^)3hANAv8>)-)KURN3LwTZdj%f$Faz#ml-L>1%xpYog|Lym=v=`<}PHY3yp+; z-Bjd#<3AcQ~*tQvapMyD@jvOdpUlBN#O<* zN|h|B>-BoGUQ^I4s3iRf$P*4^gL$@yL?~7;B%>fjypy6Rng)#+Jhy;U;9N+vv@8o4wBo@O#MW+) z5qb9Fu;_s!anN9OQJ*5plClJ-1;$~Qz0w&i;IA#)rfd)*n$Y6Lawo$-QKjJl7u_+p z(&EY}D*St^#>v@i4jt2_)+7=jF3O z{>R*>Ah;09U=)NXKIyPl;8P;$nh8@D%H~iNwPK11NWBVtLr6iZsIqBV9FYL7Pl`X3 zMAH;`W?H7}*pumGHkpjZqpGNPNV9bnRa;=|hynMVjq)yBhod5J#t?fA_=pzxwj4!{HFd``PqtzulWQ zygITpR222=Uw{4mH~(S>16|eQB&u6wG#w>b^8Fvb`SOdmfBM^B|Lx!Ym%#IGUR*ys zKHh(P9FB&zZNK~Z=g;1}HZAk%>D~`UAa=-&sat6h?~_oHrGbx|c-Ze$O$!3(XyYV# zcv|fCJIr5f`{L>Xgn+im(|otxZ+E*!YE9F&Oe;>XAygHx0vH?ko@weuRXjhh!hL)= zg!lK0`-i76j!nZJjfUIZ?ywJC*SWsA7zBP<=DXc44kJlw4*1wnc!<(0aXfE2p9Dcr z*Ufsn@*U^=eAdeC;%Pw-1r|rqRO{_7&vI3gea}BTn=7i6W(Cz$SP7PC9l|Z;1DV?p zqVvFUz@nI+eZ0TT%VHP|H``5BHKXC+#j6`dQ6C=eRaKW;X|;MDjV8LLhvDJ=@yU0b z>2&OQgZDqb8w>}&A1oJ7Q5enUXHgXY>7V{-lEjPUQdZy@P}Qg+ELf1HNkV=PzIQl; zwgVei4kfg01PyTS&)RV=>X?PY*d&CMJS(MM+Cc^W#g2GN*0uBi*TBv ztcvY!t6(@K+F`1fz=F~=eYe|ecYCsYv%@IX35dH*B(|8`Fyfmn; zEefWgNG1mvrob4g@n}?4K>uvp%8M-U{mo`qlrTz%Z4w!-P+lQYu0}yXL=7xJCfkk1 zW8e25A0DRDiKU~1i{hxLN)r_djELZ37=`0DfRdgBHDfBaAX z@9USZ*qHF^Kl%Fc@i8xpwyEdSS=ls?AMX$0;nm9*mX4}PQgG2`lc}nzj_s(5x_o}N zObbLkZUsf>ODb zAf_*CNI)y3uTyQ`#Ru~^pCut(9B>EDb2S70IwR}q(SeLMWJYyQ$3UDe#AQ&|;|NQz zt^w?b;Qh>|>ow^j5XqR3bIXFmD1+p^IuR2zAvDFdk3x|aIAiZw26qbRBuz7eduN*9 zPlR@!EC)TuFN^x`|KaacMKW#6_dH#Zqa>vg1{REPWbuPwtYAuSxmRaIOp7*9@0(e9Lrb>$R@#Djr&t74q+d!R2n})eRgtOUv zG#Exsv7WQMS+@Kh7Uca40Vk;ZdF!giNn!#$DMYnW!5 zr1Oh8d$A4z|MB55%`+3m00?~n)xt2c6v+@MRjKc4smbK|2jiX$$2gAHHjpqXisCwU z7=?9Fj7Er>a9t-)DSi*}64>l0(*axd^J+Pt&s^Vq_wJqVfX2se6~rKu!K^P!G(46C zcAFv_s=D8YF5G31=74~isRI^O}n_fdc1$i^RlQ4 zMV8Oc&LwQuO%lhA)ZAQOwRyc?yW8oi zI-ZUV(+CeyD@)JoHLto}n=2GTC)v*@B6cvxH5~z6DrFIchr?hnD61kE442DieA+ZK z4D;&pYP;RRTS<{Ot8Fm!Q)=g4y}17H{=@6fu0OoLAJ3+$EbkBD<;D5k`@3K`%+mb) z>U{OQoli%mWqkkrPm|f?Y<3nU>34tpUbFPsY}yd9Hzm8_``d@>7dMV$Wl63ZdX88M zp?2+ME`Vq?1UeE=pB_$7)N2kPKr@MpNLQ5tEEyc^;&#|_Oe8)sYL$I%zbrZL;A9+pf`1BGRL4l*L0e~C+l8|C znCmH)+WkvEvL&9HIMt-4MzN)n_Lt|EC-ZWl^69RFu*~g&-IIUtC>^~d4^}(SP+X;c z$lWRD7>NfWMp3B{hH`V-S@gpWl-k!m;DIRvWI{-jUovOI*Xjy;Zre0S<}T3WLl04w zeOz*P1;j-p8cL5YpDL=3-}#H{_less!Ln>f+~cf0hJ}B@cmSOJx^8yceN9wQ4w~UU z?T9L$2qn0BC~{;05W|oK{@oNDm!`X-9l9)L+dXJ~^c3wu>V6?Tqj351?U zHcQ~CBrg~ez2Xf}7Y%H*zbT#Xs>sx=xsTMMk0;@ zeH7xMfOn&rfd@hFz915{yZwhdG@AT@+*3ldgj1fsnLcp1(C*B-Zs zU}fSH18gFV)XCGx0^CmfDAqGenJI*f@@_D(=-SkylDPLI@7XF{!G1D}r0Tyckit{K z8O36jdOwFd=FNA>!AFCTe(Z$~gnD6|J>1m@p*AQS*bY#{=Q;K|O0wwoeHr1(h6ync z);|x1n-Z95RY?spo(*07`0-%v>?v_0c%)z@@n;rS)+;WI?Hp4ob*f$`lG|)FdPmj z0u2_3Wq~S-pjB9CNQk&bG_rxSiPZcgghGNZ_Iwy^5Y-w2pt7t0?h`_c`(@yD3*}BisQIx+gC4MRv7>96j>gP2A=0OXyB9k$H%*m_lxJ%XRlxX=IdY4Qw28< z89TPHk;it$3xkJdbf?rV$czd5gcw7r)op-+Y248eMciq>hxY?W;r2m02D>SCMmu7k zr>B@mE!|wZKdCz#17Xo2eB)Ut--WS|6r?K35+OkpD**Zt1s`-1Oh%+>gQX{e4MiyJ zg_7(UYNS?EGt`UOj6~;ZQ*q3SwAt)eeAtq` z3T0RG@1ie@6INV)mfaueK^=prtIAF(biZI#b}0DC&V5=tol4;QA#t~}_g)4kd@^zE z#1-s@s;pGtK(S8M-O26&AMn_ky_!kxiT%F-bzShoy3Y%$Yk$6rqq$3i=IJSmvq`%Q zB^djlbTfAG>4+C6s7@zWvJ>tf!>q(LU@Lfl8pNsUd;+i%M8YC55*m2a1CCQ&`d6QbP*13_ z-EJ%f+z@$CGNtew66lPmD8!bIdV|jg1|Lrz9Ox-5iv&dmD@5Ti6e2pXEk|o2qA`t< zbUgHlZUx8&N*FKLM+e=2=9Rt5$!V=;^9Tg6Huu{xf$!Ufz6WeIj&|_&Bic<_{ zQ9@w@oVO^s|6;LtKlWy}D3ibtyHJ#Il=uVRb)4;X8z%{yC?JWJ&Sk?eJl94Dk?*$+ z9AYe!wFf;vhH_gwgG0_Uqxm|Ij_?hJZotBwP78_wLeq_bZc7><$mo;#e41ssVIT=8 zj*$fpWg)_hsNSYgJ?~dtzAWwnmyY~Tu7?;tW4AEZb(;!$Tv?V6hiJbKJ>PR&Cp;W< z-E?fbm72|FTNaf};6~FRJkEwM9n4pC4gX}77#)Tr96a3%1b0Yqqsb!3jH2YQ4-vdV z*$RFDp#n|&gz%Rh8GaV9q)?XVFeyRFRl-LBg=<|yGzsNWZJHQ!nx;-Zz(=wVOPz!} zJ(0-_LeFp!=tVTlO_L-|P{O%R+dvJ;))Ab#fvJ26=gzii14v*y4;V5bpvtGQ9sHoG zX*&eOM@-()4ZX}k&_rRc=~E;k7mjOFptT8EJo{`>_|0IOs-l$0E(I%}%qrkQM-B&_n5?LpdN>%+_(x%K zhN7su-QoFp9mfe02XqL9IsMSkAx`B5hWtwlh8E1b6%8h&|IFCKc%JG#xCFB$o~9uo zf(=WUpwC4Vw_S9PfY%dri=wK`af%)G`=ThOvl+WJh=3lrwQ1}w%&cF_GBr)77!fEO z`tyf??9&jpj($j{J6)JDD3a_$2Ir3)T5vd%)6Rg~fswJ8&2tGsK^{y2$DZGrQHj_V zw%-8Kt)osNH#_VmMOn16oF(agw+q9AZJDm;g6YD}odgFk$AXRVDTAEd&IH?uo>rz_ zpqPZV7=E!31QMuDRVblGe6Hh*LU{*iX_~_lTsOdL>4J?h`8F_`swdO2g$Auwh*?fi z3$hNfDd@|Zp`%?Q5tqcVBUE+Vf4rAfbvPI}jzjrwt!b!}*~D|PPv&{<*k<4bBiCQ= z_TT*R$EuN6%S|vCy0&-w@Zs`mem0**A#&=Hc#Vlx8F_Xvtcl(t9m#Z-~IS;x!l%mt?A~))!7^Xue#f8E!!|Hb37VtH=C=g zYuAO1K@>;3?as6Qo%bHQ^Jd0?_4GkV|*bx;uj-cToH#?ugaf+tF);FDw&(7v&=kp>f27}RbIt%>4Zo9j< zzHuCPG#<|8v!}-=Jnx#4=4mhpY}@+gn{OOL|LtG=cN_qb}>UZ;Y{I`m_@N^o387ts`1kge;kbmfAyDt z`G?>A%jaLd)^zjXVX@mBAi*3CA0Iy6Twi*QyIHNP8iCo8ti1jF4W@?3@riBMzP`FP zO(Tjz+d-6xsTqo_tyb%#NXxu*9rOHbJ{k?@XH(C%qc8-?K22=f9Sw)JX#$^*V_9xp z%h5IM_3InML|Z+c4oywpZx0U-Pm9$`)nGyY^z>9!wc}bZUtUj!qseq++s?~ZFJ8QO zQBmggdcEH7!rgWUz~6EwKa7aZmsu3hR5 z4P4_9Sy{*y#evDqwK(Nau;CZISgM!KSbaMHxUrV z2%9lL<=F34a`x&;|04eP$d~POekW$n3{h~|-?y1P&7I~lr|!|*4Kteu@;qw7F?yl0 zFw1g|Zs9h{wk?+iVAgM00VK5+{9wUdjRxud(MOm%aTTO>`M~%Lft8qY5 zBwWGN-?HthZC2~e*%_8PbnIzvgM(|8b;$-wA3lEk{tw^(pZ?GP$IoBBDzYdo^AGRu zuC6cRC_ID*q@|=7;4;eBv~`geh)mUVMOH1_&au4XR+jdg9mqbg%)@Ysu@1|$yufoT z%1_o1Nj2<5#W&)#_@K$zq&eq_y|L%`D}c5{}H4x6)m^ty1K6Kc3a)h zH|w=w8ZY5aAKH#1E7ESaZ)$k{d#V;Z`tJF=|B>7gjf!8jNWf?X8<`2F`Uu5WH$ zTt{iVIUL}s1Cp;9hH+NpG&{!m$8isut__BPuA9*zLL)?uRcV^|!$IJIUsKok*$%2z z+ZIQf>sim+XH7Rj9&}xp46BA?+hG`5792Ksy(}L|#Twq#+j3qKrngUtKt;z%eN*OwcttGzZl<5n^yTn5auNyUp(4?0w&7nF}LU=&s46F^odXvin&I@%LNLg0Ktd_o7|ylrtUkN4m-#`*Y0dp1n}3c^Ug&ms5(rS4XXz#{uG&k0g2 z#u7X=;_p9k#W*p|>ji*;Mf#ZV<5#H5Vp~V_Ix(F3A8ObY1jKatiuA5wvs)i_mDCx?Ag_#6tioEJxB`Mh1 zC9vJjo|n=kL^Uf!KRBJKaA#nYxFg78W4$bOdi+oT@h`|RSl5kSM99~HRZYEah7H3t zP0I@uTQrL6<~P0Mjkv?yD>6@x6m|OD-N)fzKw~P9y-uEzz9JV@IH$p}E}XXpo(Y1R zo1>X*i2TmWlAnp5M!@vm&SkkzJLvaMAn!+ybdm8UkoTUEQo>9O=EGt#ie)Ug$bvz9 z6k20#sbt+T2!f0A^Hx$e+x`2Gx7+>pVmyEQ*^BRgdMB&u^~L#if7l;DMb!<=@P~tu zspBZ`)a{%LT7t{1!SlJUt0ayMQ@0GbJtt|hUag12fz(L5{oeC@&vWXk)pe+~nnntv za55R?8PITI1p$E0vW(S}AMS3)VmCJ@DSjZ98cRm^M!Fw zW;8OM-bvKD`l?UypbB{`5Hy8kVH>Rj0KOdpB?jVAOd&kFE~L~oUNUKe@AQU z4>Do6#o+b7VgYv5Vt4fSTii+9;3y6`89Zu{Mq?D#jz{W2XF-NishWevaIsFkYs5z9Pp;x(+>E?k>veY4Wee| zsceVGFlzx*RU#G~3!A$Xo#7^~39DiUQBlTuZr%anpP=j}0fk}Y9p^HcPlOE-4AD9N(OE;px&xiDV4IdM{7jebN-5IE^!o5?lSSpGO>Gu}uwIzdKB9?GLwT8^yO_F67 z^SKR`C)Dtlmlv3lhan$-Hi#2Mr+{P(69~Y;ew71R)c||8;)a3vQkpfVp%r1AXJjn#&L{$p+i4Ylo^@&a7hEmtt?B+ zbmAz2f)J`|Zq@*;(zM&QEIUnNekAieL(kR9Sq?Q7mDxD#ad+sTRLL{4s;c#7E48w1 z*$S}+>G}|V7ve%#4HadMc{~dSXs4p80d}&isyipqvYmDQ>S?+44QX%G95{oYzx zg8CmeM)=z_%gI00u`Daggl#pCGiee7BQ%!OXJFjow|1m7QlO%jBpC)Zr|bhyHb1EU z357-Z%sK=vkT}+XPGU@O8z6GHJs_%*Ur>u-d|uV1j{H!ZdF-+)c0?=y32(ouunW;K zev)S=d@W9-B%J0Z)~E2+re8?`1Q_=jn5^R#fD^#go!C+Yosq9OAHKa2E{`ZMJE1)- zNpOD+bcL)fRCNt@yRPG&oz21hrBZ?95Fj!NKM#6F$n^xxBC54+p^D$$W%slctK|6( z&GWiLin?_mIVh@`F^_+tqk|n0{xMCPWQvz<;SNgN|YxoI5Nm`=xs!#2yyAPB0WG%e?8v51oN;_Py)n=U%uTOc0LiUEFBlF7&(DuRFln-Kvt8?kHJ#3ywz+@!Xz1qK&)@vhKmYDGzy6J)s;kxJ z-G_VAamRxoPotMFt_SeOusqNE;m05EA0Bkw@IBWskteu#TF8pzy8hGC)8g^Dk>nuo z&(64S= zG#L0nfEa+LmORgS`5M&rC=R*&Fb#db-$Bm4+Es0Netzb9j_2AmJ}>vXLzd<5K74#$ zEC+$FYWi-!Wk(#Djz!D1VI8L^hj6D#+Hf?`bTvo9j-02+$1bW|QH{Z9*upl_2oHw@ zL@qSorfK=Y;!~35RIOF-t)x!6J$#|&9?VtSS*Ndlz z(P-ql?tZ_wY{V7aKitpG&RoaMvea^2Oh%c^($umlvR}5m{S}J-~;-dr4A?tYHV~iGJ52uCBmIfk` zN>!@@wFDhW(6lg1Td0iaHvu8RU~H5!d0j1ObHGP${=X|mmH z9M|*xpsJcMge5ck^9_c9W81skt{@+EymC&_qHGL_JrgqvX*!yOaa>e@ z>0||C9rl;n?l2-$Rn;YH1cXiKW|Bf5l4aR+JV_A{){KV3q9|kXe&+Z&4T4xZiXxI` z)Iks+p#Zk?R-DGe!QgO+`O=x-Lg`hBsyNHCvMR@;AxOQdnkMNm2*4bJ^Fecdaq;x{ z2zsdFq*<0E>1;YJbHpWRn)bZj;IwN>Jjbx3Xp*G3zP^bL;qBes+1d2RAAb1jzxg-8 zF!=7KV%csYO{UKUDFEJ-pw8zIMSyo=ZdA)pE{r+G6<;7>Oc+j9IDqq+rii5$x zwygDL4HgJ_6k!5Q8(B%74aA2N+ybAh(3!4Bc`OYoe6q08O&W3Xh=l7aYF{*HBt*1d z*P#&tBs#34wGsnR4CgY4CyH`l*X)E%v}S@XA$g*30gg2%wl}dEI{RLpaP=c6smDm^ zyb$t|4jAp_n+z`X@QA=RMOIGVBYZMq$S};O@qPwd3sj_a4Yn)U_vTre=BWk(1dt!< z{c$R(nhr=uR$R;8hv~HBws;{^Pk`o~MVy;qvNw5Des|RT22e zjc@~lLj{Z?xUb2o?|Ee{-F>{DolSYE+lD2}D!c(eZcay|aS-_HEeN%FQ5<%mtjf0I zgu6o&M=Lm0U_bfp#~=Uv&wlIMzAQtyZaKziI1R%{*A>@uElN5A>ZK}&a9_h?rVjUq z8jD9QOLAuAG*#2`gJ1wIqZ|0%`T6-^FdPO$&vPx)W~OhFq=ztCuh;ACmZEZNOkZug zX1}dNx&C6q%~P@rIn(z|{?WH;Q2=U|V*a z#C6^Hfv*zQR947`HcX1mfM**Hs^!!2%eSwyJPD)7v7J22CAqE2W;h&e)|-p-i`{Nl z<;B(2)%QPqKk)rQ;7N@%9#6x4R5wylq^4z0#tUr2Td`pG;t@ki_Hh7&b%^oRQ`i zXViWR91busYbGGq1LF^lE=0St>V6PMu=)*M2VcI$Lls34 zb*vWdwXW@V`y#Kdt}b`$?ZEen3U!Y+bgQg7B=ObN#nZ!LF!r)2vm9%?-r270`R@1M z{rs1I_1i!E;k)sCs>w=}WJO+1XXCsmmrsj0ie~ePMj=e9rdXDpWa-1h(|9_i*f~NlWul>d&yR5yUAFf9lz2x+8qX z7*NCBO(Ja3C5jMAAb0#YP#z)X9DNUYf>ED3?RFR+2eFe`0znC#wX!hk5uorVFzBad zseSm_QDMdt%`UvOAB6TwozCPKJVEAiGTg-OH>~^YvI36Ow$t(R@uQvkwF);~{5O3Z z65R0I8Asy@Alson(4k@qNHAO5q$sS*G_2&9Xx-cz7lY=7!S~ph5>ZpKg=yX zO}QwntBj(!ZW`OQb-3lA6yQ6^NO4z$(Cm;fniD{wLy}M4&yf-!oHCB!b^m#eG>Lu< zk~XwQ;QQ`WR3gVf?o+~uaEt9DKg2+XDZt$~@*IUn8olYLs9G2=romMg_JQ9(bXPo> zZ1T*cJdt+EwBl~)PU9&*5EEwvVC z3`ma6>_3Ta7WF^E#etXQsb_CjmJvw87=E{Y`2X>h zDyynNJ#8YA96UI&w+aZ7-8K3>qT9{bhaAmwRb8B){dd3q)fX>br)hk1eev$y?b-Q! z=zC!lsj8f2nLqSxU|ZPQ@fwO$RP+cC5t|tLIvEkGFtj(!EX$}#9wIsQ`8i1w4zk^D zHp}I+VVPxF9d^4UNo^ahm>h@;aVN%*rX`EI6a`q_Z<#Z?Y_R2$%zLD}}8h9tz^Sgoj8s zAf6kIM~>~pacmfx!vhM_jMMn%_dhL`OUtoGgCX$0U`USws-z@Mpy7Z_kV+1!?ZsfG zGyU#|vOF%XNR|ptH!$&@_;pGk<2%R%L|)kVJ9KavtPV*`iFptIqN8gri%n@$>iWzs zWJF|Fi7l55+1Rw1Mc!1sh*nnYTC7tPL`>QNbY}T@GHL6YEf&#(KzUhGHAS<>&W4BgWNwy7&&vP8{C&YfV^Ro5AaPyG zvpP1d5oR{sxKo5Qbq0bRalhM`yYaNR`eGCB)tt%kiSbX>>zV znVqhYi5FGx>(xd^b(%3@$+n@0%G1ntodRC*t!+CXf?&7^-+~PG=1?wzm#lzisS!mO zKZSu)3zr3a3bg-Oo|(EaolTM`#=r(<3?{RLbxqH*3|<8^X~06IydH)A8AUPp0afjg zUo`ei3LlYLISLcggm4pq@rIt~h41@Bwk{jgX`!L3!!fE&RmU8Kb^KYHN;0U`qB!g~ zJ@Un+=MEtYhtncQP7~!f^y4B%8A@WMw2g$d0uzONyWJu!eln6< zjDguYj+;}+=-CaZ#cl(hv7vLX%`!6PUbBaRNL=P9J*wC%+*SZqoDB)osHzpB;3P@P zkOk*K;HB`G3U;8Nwu@6jpi;cM?{|mQYO{J?M`36=K*rg6hYJ;2hh&e}LaNSQ_F!l+ z>9l9w5J_l%I2e?PL*5c5oH)g>gswIo;mQVX47?fh52CPB;5Sl=_z%he(Nxm>Taq`M zZ4}1LKm}Q&v!diY6tUhsFBoVR7@~M$BVW#WJZ-cD zx{k~0yKjG14fpBksVmgK=`5J&NBHnU7q zQhs_51CbuS>nOgFi`TeB$DoEW}rdgWAvEzZ0#GEsmCMDSX zMa_@h%`nX*PE}ReJg+nj@giB8u`ZSfLnV2)M<>>ehgdwBR zBd=z#uP`GdYRF_Vy1cx&ygDBaJ7#zE-%kpMP5BET;H{9_n&_E4}bGFe>s_s(lmYl!+X_s z{ein)JPiYXI1FT2diCm6mgaYN_i>W=zNbOqZCDm;_Ri*Kj%z(Ho_E{*ZVxxR$#`7k zU_n$xVOSwK9{hmeaFFK3H-Gr!A&NXd7>`Dj>ml8Jyo=*lQI#l)_PcGBFMui zG!0`snXH!UBnH{BE=jS8-BP1spmkhZf@`v~+l3}3;7Us^d{tLL5Hw9Yo=)>5NA`JM zY&Sa`Qihg<$%~tt)q0g>#rfsM_uqbdb943b)vG`J{ttogpI@Gbhr@V0O4De+-M;byeG#b5owZA{&;)+;r1|&wNwC zrGq@iu}WFE2x6#-;B4%-REQE0Ohw^EF*lrbNB|n4L&A3!IIz%caM4b-{9Ix&A}8ov zR2Z{kD{tVmccD|tl0?-sw(}A419;+6<;K2!oo^^*#6Y)J=4ge2;b6Pn)@Awf6-*jF z-rohmU_2V9!0uo#o#)vg2v`CtTG+bXfr?=xgks>Q36vN(E`e0&K#VQRa;&Pv=K22i zLlQ>A@la}8&vlBTvP^5e*#JBwQC3}J>sD12n1*SkSw5XiimI%uYB&h;qDroBKUZTR$-6*mYMX^5! zV8T>4li6gu+xVVWlu)r#8YZj?6-C>HA=C?ohS{)b$%?XCt}M&EzP|eQkKaw_Q%zI< z{=fe1dc6sTBdIR^(ctc<+wu8qyYIu2A;opi9J2t%(ywtz;Ogt({~;1ER;avn=Lw#~oafFc~% zf!S9ytss^p07Pv(8vWs$Z<8dRPbaq@Zm(Y64)v^5QS|mz547kO*2-{tFM3cCu-B?6(W%?E-%L8@!jp6YCxN}-E4~jYsR*%A}^3E z0!o%?Sk^EYjfP`IQ76;MAQ%isW7D)f&y!jVkE*&2!)UwNE*6W;cJuJ?2nNAslNMQ- z6}oAdhUt4A&%bm-i^JHq@GEo!_Zpj=iX8@*n9O&%w&TD$K%QDeAc$|{l|}Cn4C?{lLTH6FD`G|wsCF5s-<<2m*tD=>jus_$!tE4 zqDYeD$#~*3BRW^HNsZi}~zvvDj^Q zNtQBG6-pP@(ykEv!7naZS^*7mp7?Fbskq48t@l z<0u@B2Ip57>&^4S<6<%zPDaD5NQtvk(Ks1+1R-~v+(uF)0t-FgQ&sKhd0FJ_+zX=^ z-}fZB&GXFjg2iH?n5Ly^3B(H64ze`m+?O~BO&iV)tLM#dXOqzu?!jd+92lyOfEn62aJG@xw5H=<$aE1;KIMF1!6LYkoO3et&oFgCJV`Cw zR)sGLskMY>rVz^tSWVZVfyfJ-@rnX}Em=|HD1ibyFN>ml^XARtVp-f^hp^9=G zcemYKT%Io%tMO#?`0zBE3_aI*|KaXWe)Yxe?Y(6gK@h}IqHC%PW?V8Ejo-h&ts3e2 z`hu=6DE6K|@B?2{)YW=58V{*|;H@8p0^J0BYo0;FIvfQQ#VT^h1WUcD<0yeqp=I?r zq%ghYfjR+R+}L-++75gZavBgw4a7kaQ=ZK2j?n=0Ph3wR>4Ig3UHzEJ-9ecGq+?7> zfOkC|@&rm2X67f@sgRfTa>EYOJBpZkKZJfy5)OeK0K`dDogohs?8Ib|9B)9Bqt=)8 zwgUJTDDA(}?(xSyiH8shC1RLTlqn;aB>V1FP(9iTR$zk(Yws4oNr%iD@mvQiq87uU zFbo~n!Qoe8)L}w$O0m8Kuu83D+s^wB?-0)u_=={|Gz&P6P*HakK<9>uH^9-MM^XRj z0N@vR@Ts=#M5NZw-ci3|$lTvw6i}=)AUZ!jAS(bsbA?MJ`wf2L4$J>R-5M@Ye|tL_ zlgMxW)RDdWSe@TS2R)pG4)rzi*v?315m zz?VufkyjyxaIDG|!ZNP-yEzACj<8ifq0jW9bZ3SB35g6;_ml0sNMdGAJ!xT4r1n0& ztd8$e8v$`L;>o_U{Hf_((8i75i^oJ{Hq)mj(|-1;CP~^ck+)-r3RRFm0jU@jV{fR( zD)1aTFJc(&bP?cW{Y@bwT(eSiqL`!ej9aB=kYOk6Td*eO%u$sb0(e@Fl@EjqCghOm z^lyM~s-g;+3!WMXZXgB%L7P4Y;aQY`Kszkiu>gAL_KM?-je{C^3?`gK2|VTCSaDtm zqg{G_N$Ag;s;=uvk`VQfPLShsClVj}hlST!T~|ecTYw=qYALY$Nz2OyNC;3YC_sUS z`gK$DoU8;wjW4oW0YiHTeas6NZcI3``whMOfL%>5vdxbBs@R-q@WGCeJU3*uZnv2n zr*_A^w6i_vM<9K64DGHRwX5qoy3<9*k%~kV&RXtmLWDO%Z$96z5PFVquL&=eY{yCB z#P^;1hlePPKL7l)r>Es`;On}UW(bL}Z7VAQi-W5mwMAJX-;@A-xDx;*MRZx5#N3}i zyGHyp?6jbz77P$nWoe?fczA*V@JniV02xOS9$=Y3-}PkIN`HEJ2vbD059UDj?!m@ zo*;fp?CPD+7Sk)dAAG~%aL^1>l3-oNAG3sIDn+_T5@|_gEH^TzAt~RdlXzl*oJ2qo zN1F|Yi9~o>Xo({2SrgOdkWyoEkz zh>z!96n;`b&|b>CHF^N>Ko7sfh!BRO2PHaf2o#fy=aK0YT}I~V?6%uMJ6Zup!u9Wg z)s4byhsNIg33_8j#+v&BofgR{C9b0t(%wgWSxjQY1ee%&%yrB2j9Gv#*>0z4S|T+N zB^iaGqLqN6=!jYHU=+ishz`uxSm3j z+CO_tM&a-2FWSi){`56z3SL{LeRsc5;A`#TQZsNTLBJ8maTG@mt-40$jfH%`$(OX- zPlVeCJ09`1;;OD&^E4xD0iH0IR7R3zUe&d2IhJXK@qv8x4NXNur0Jk1mKA&-Ez3$% z?qQ*zjRX`E|;FZ@#pP9n6RA!WtgrKdO<`5!G z)Used39eXCu=y&nrBPZl>5cb+j!@pQf%%%#4emEX(zsI&9Z9@JB$f*JC@;#*8a|ri z(a_N0HErmIKlGQ26`zTMD~xC4cuBcE=0z`b1>F!=mL!r$W;x;#P~o1RomF+2W|<2s zR2cYj=}7e4uDlhp+Hr(IBBlj#3|>CS1WtFUbxQ0Q#_1qPv7QGN2L! z3X*9kyObN`x5ibmj`=rzKOKu;Oe&ITSaK`z@Pm{|au{OVOT9>Kn6@NCx&!5g=Sxuf z?g)K?e+;#Mv<|5&rG5&1gl*ZBwhmWk_K+w`C@h)s0-pm(PNJx3tNH94Rbr8vmdQ!R zoO2-{ZegVZF+D3aVA@aA;V_D#IBuGHJQ>qc0sBX3W!iu~csv^ON)Uz_ z8UVn-AYk8SZe+M8;28-uhS0P!OW3lVvM7lXp_fGg8Ucl5GvrG626}r<(++NKByX35Fc|STqn(u^kuj1CDeq zW|9kg9_H5LP@^LQirc(Q)5N0Wjy`CkD$B)kF&dA_fdfCnsR7IgXM~EMFEXMRoJDTj z%Bt3N-LY-UMrbs_AU3s)_>By1v0DS@>9LMNxNOoDBN7HEQehZ3Z9^F-K)un7kogGP zEl^YzqDJ@}><=?aPoTPvo@+jTJQqlM6eq-i(cyFjd7DW;C=ww%4!1Ct=*d{jaFalz zF=GU)=4q0pS#BD3QKY(|F%5`(UZD!8Y6O1knhAg7s@U&#K`=0oZxX5Cx#n4s{Oap3 zXVdWyKYhR3@BifM-xPUXw~gZu{`24eeN&}=+`?$5XP zoBg3GY6p#vn&JfuNv;QhHyR8rTSsI=+l;5MF4)FV6z&aOy|}p0Rc*Hq(=6Za5Tc>! zMxMcbz_FbyPsd|4Q(=M#3D5V)Q(C2jSy@BeIQ}FFOiJi_W391;7yu2&qu@Adiy*cPnOS5IIUFO zaqOmU<0J|O!^g*`T9&4hv+ut9!^PQoD>ci-(`+_(94i?3v)S1XKYh1(UVriV7meD6 zhl4@k^mWm!R;#yPy^Z5|v)%ZfJDE=QhaE!n(5RNr&(AMjybgxJ-~IjHe)jV9)#bU= zN?>Y^s0V7QN) zrg3b0G8z#aB$<|(BypN0QIr%#?mF&dGLEzS`|p3=AK?G*`VIuFuC3~-+%`clsLCP? z_nzucHe-NRE|R-?%z@B=vKSFkAx4~L@2k~lgX!rf-S+imL> zos?x8H`gx|Rf@AB%R%!>;;6_9S%UH^FUs*~Vi-z*(ZkAeY~6sgHOb;M$?K}nO`PSL zuD*D2r77zD;t@toY4Yyf`7H=^sX;X_jW2?dre# z?VoQq>oiTTu3!BApMO_X&1gI-X-{?>cfEQxEMq>O9}b6xj=Z|US%v`$w<_dQ!ohaj z>0o=&H46?mn7fM{1j43NO5^1s5u1!KXlZ~#kZm4AtjInnL573y184x8dzk+R3AhG| zOa;y#C3wOxz0wg_;3g>u1l+>Y3+7;Nkee(g$#AiOBb$#Hg1JO$8;J?A(-QrQImZLn ze_TA8j;Vk;U>XJ zm`}Nm8-@`sL{{(8Y8zNeSQD&?s>bO zP3DK_uwJjfc>C7(0)sy3X1@(QC(H85bezWVhj+LCl z;9Nr6fKQ!fs-|Wc+$%Lw%)lreqYbPU=x-GTADsg44cI=RGc|OBoqjsXGS(1#v$NM1 zEym*sBqGnGHIO62)X>=I=NF#h>+H9>Vc;KIvlDqg>I_rESZ2VxDFf!EEXZT zF;(n{*~tXEVL;z$3AGhdubD`}el=7Vu^$`P&jcysgcXy1`aTpG4!}K>UY11=T%G2i zo6%_k0}j%YYoyMPTUqseSCZSu#ZwDd&$nGTmp4tbc*bD2t=cq8|LfoV*RQ_*+R#-1 z<#>K@h-eBz;t+LORIcM*U0i{fh5cS{TBKzKL2!O{esy`_*!CcR3;e~|*>pP6Ku*H3 zGMi4n_~Ogy?7S?q!)_l81~0BJpPnFVfBWWbUSzxd#x||#bOK6~rUt>lGECq1f?#Nx zKrk@ZmL%AVWZC1>(`LI}ES?^pp6+h%K0bW>czYKo@zc{|6omjiaGkV45ct05*w%z( zOM~G6OHPGBhy-(A%`#2fM%BmmV62j2*bV4D-EmZjT%L&r4d*yHgMhTkhrasj-+npt z1MFoLB&ubeKQC98SLYWOm%Ghjzh9}Qxp>;{!YzF7!~N`hY=W*LZ8sYfF0g3@qcF>| zIEvTnH4apwUE8KZgAO>vuD4s?_v*YfOdZKHvK$^F#{sVT{{8#6Uwl>-<(s!}6h(P@ zS~xB|J&GbvV*HQ1cJo)SUsGf`3e7ajCgbU1u}G8j{Oo*xI4Fwr^5xCba_Re?W!XiE z9h}(N0!5wAXHgWl^i<5J6HxH-G>&76&r$s#*i#luQ51F4I-aY_D$4=}!(p6+x?#Fx z`(ISm!1wdA+#W(yQPlIWYhqK?hGnjoo4lwET`RKGG|b_6bbtS#D%$zw+2i9=Q^Cy2 zFwHnie9x0=JTd-wc>B|xrdt=+^KiFm8)diO8kX)@PMH^@$#`-9R8_5MSxJ(#vb^0M ziadYw`Kvt67ptY~Shj1DS3mf*EC8YwQTVOVQHPVO1nbJ2&1Oj)uU5}++G%UYu^rn1 zr?jfvz<+*P8YX@+IYfgX0Bu~=9nTJvNNOaUn#jSx!M9xcSCQ)&s1BA1g<2ZHG?)N+4 zy-egO;{7uV56o`R^e9CYhbz(jT+c1@0=S{3rD^5|{$w%<_xmKvs;a)fe|-7krXjOj z)i9C}5kV3;C(q925BK-y=X2XK9-kJUy}a3Occy82j&nFfzK+B)XN{F$v;l`Y1DLlYwnAecKI+=7}RlpaB{?LI< zso^Jn!|YJd1KDg&zyJ(@&gR->_``~qLCo5o%V6-q_ zz`4XG?>&r8SQy?bk<&57?1l|T0t17cC&Tm})9-y-`Azob#3DqKG7Y%FJ`U|zDZ?$U z@WyXCiwIec!bnq98!m__E+tt?qEyk;D2hzW!U02lGP56WG?umNySv>Uy(`k}?3x17 zNK*MJuq>{znD&u;N(97qJPoMVdYt$awC%2ffbDvuwNpQH+a`((a!?0CN-jpA+0rST zTiB#1K(X`6?(jHbsZhxxq*o{JTDy5iv!$nJlcZyU$HSmA4F0;A z0rP>l1{5L69TLtTnR^v>$bcb1g_Tqh*`KTw!0qE)E=G2!p(0CI!kvpEr-BmqL?b~n z(^x6>lLeh%(V3=28?s=q2@xlG%+RmLn_xmJ5BpgL+#G$yq3kJ30jzV;ESw}rpCn*k zA!iZPv11YnSW_6-(}@ojJl|{1X6}6gc;wGZm#s3{L4i3vq+A#1RY%knV=b09F%y7M zwuI)s{N9L)uJzy}w#vFz$#b-#gc`VoQ^2hd<`R{J^1}epV(ZW~GM;KUZ11?0c0&-} zF#B+sj!GmnxLKZ4rWmdU%FS;0%Fm8aYIY+!vBe(QT3sN>i2*pj6nbeIy7H0(c8O*c z%yhDlrm;u2#)xeu0-;6vJ2@@@&7ne5)zAY(@!|ey`Rm{OI@uqxiee@xfUSlTCg35$ zFUazt!MK70IDlnSBz9d_mgx67<&cP^x}y1>ONh3$+wXt>$8R1UpMLeLuN=cLL$L%?G>V75^j~ z59XH&5CMP`{Sk~1W>V7jE)0SCI;59$cZ5P1jX@tn5gsD znVkr-NjFwLxq6zWrAbP#9w-GU;3(N0k5FBqD*}##a5X;f7yvY}h1f zJPL>I%MY;<=%is|5W_T%J_EcB@ha`(g#Z8j>4BI}2mRfi-)*GaAPD|q&(`?laOhx~ z&J06iZ)Ymkd!~wNqkZjnRMnG4_>}b4U%sPnR(C0T zCzX!xa5QZ>xn5Ld(F;&WihR3R%%)?ip>TF{nT%u3G^-l9W?cUquRP~-i_=l8E~euY zc}dZABJPU#nmBoBK!)io^OAwvP~FnjK+RME8N(yJCAV`E5*Bdd27@3;QXY`QL>D&c zDmE%~$EZn&z=})4Z6NPvVA2ppl`j#`^Z5F3wZr2y-rFJ0BkDhx*0PkP8Dl{t4I+zH zUEl8xZPT8e&Eae>qMx{u5gi)Mv+)PNw@Y*)OaL=WpbDnRs3IQ$)TRkaJ!)#aTt)g? zyw3z_ZXqi$3Z{DsY@JFD2=wVp7Z;&d zTnNcg=PE=RWtc5fr^6Qt#Vom!093)ynoNKwLSBJCB^l_@EChE@(_zdBGJ#=aF`Q$3 z&&%@?dit___1P;4a~B-nV!GY5uIEAD39k-KCXlDOH+T~*{~FCKv~0#6IHZI*95hJs**(kQ^N)C89opVnux2LE6ae7bdn@R0e`an zc9-V4(n`9CTc)AlG0Os~8(r6dT@$H}`$WE#I9Vu6rzp`sjfO*1AQEPH>(yqr-&YkL z99Bay;=uEJg61?_X(q18D37U!!>L171xQ;cihA+5-0k=4)kaa}(P*T|isQKrVQ4;t zj7m`eBhulqR3KSEL=}kkmc~(r*iXcS;J9H@|AlwRLC9qRMmYJWBBO+XV>Y7HG}S>g zEo%6V$0D|Qe%=^Lf&&Def-XW+R-{IX;^gV!=@3RLQ9t1)MEfYkbI_m;URiKl*EO9W zY1`G`QVSJs$NfO5}tc8lyU>u1#coH<3kc?a?^Z#D|!s;(2*xYl75 z8isB=P#$YKM$SkS#@q?R9-@^Khk$AxE+!ej63LlDOd{tPk(O<%q)FCFa#`f#=_v36 z1f^}Z)Vsqr&-1;iz|*na?WIO~{p#}{e|!gje$U;m)|c1kH#b*hp6VvJVYcNwKHLw6 zqgGOW`2MHyXu4Z(xRV=?#;-oRo(_Y$%$vF@Fx4zuSs4ez&1(Djv}&5h3%tvVvlj6j z(7!&fR*I@_HoGv6eK^_3wxL_5wR~Q}%K?0*{OM^$W*aEv2BU#UbW+v*ZW~4MX1m+% z4{4HA=rSZObXmkj7YcWW4cl8lj7^%RnyR@T>~pBk1Z4w&8H2NO$kv|M_41Hj2UzKi`h0 zwP)jmAGII{o(SI^JSAQRyt z%W0b5-QF@5L2Ozuy2_%szPXrB$A|E62*c;qx^8NpvMTDjra=-E=ensUS<*E1AQ;@d zxXzR8_T$}Zy#`?JxRzlelcFeH-@CZDEQ;Lo+%!vIi0wHEuIF~W-S4)CA}byr7LSil zTUc2uFK(`{uP!dnEy4pX(@8L!PHyk+EZy(|556y13Jbt2vmJXF1ae#b<~LtWXHx@8O8^nK?|&YQhCl!G z&UUP?e)aY3?T6vOpI=^l|1WRP9WF zFnVW>FQcZa3jab5yl1rx`SE~8z^DOLYe;4!TP9HXg_S7TDv}f!-jJio#HJBGY4Hno za8%exn|duME~tztK*&>I8HGHT()Zl9X}8;r@B6`M(9+-#j7%z4*PC?|N3QLVD+BE7 zbzR$Tb_`xAitKq{Kw38JcET{?Q37~Urb&Dqc=SrZVQf`JED<*d`!KA^+H+lQ3TUX5 zZ?>D^U{F@&Y=+akL4vSVkw*ekDrNB3b<471@c$sm==cOl5cqK%yN(mZ38zX0zE4OC zPUk32T1g_cueIC3LfFvt=gnp?7(`)YJNA0Hyt%p2b^XU5f1b={S(?vge*6B`^}Q%g3{#&^ zCs7!UMnlsu@9!UPuFjFa;dsx_Yhx5f8LLWxk$`}baDxa;qk)#1T?QgM$-%n`mdJBO@Vj>J1Kh!%Gx;!pKmiGKoiE zn&)}oO_N(UKtDn;;2%a-1gu}uG$ic;(bX_s@m$EvWkrdiWVu?sfA`_`?&JISw~NJN zoWyCI{`p`2#rApo;^obLvjbL8L1i}__|YN$&98s;PyhTcreTlA!#qcDJk`bklt|9R zQF@ZD>YAzjhky4UMw8*^Z$2LnhNgxB(zQXxnoWj*8+g8F!BNJV%qAQ)zFw|>_s_qR zW%B8Tz!dlM<*z?C2@};-dlv>RGnX( zySBYMtQ7?#w5qAH6rNG0g~=t!o29%g44Qv%ButiOoD9taL2L?1LIx)2gk9H(qS!R8 z`E+uBe;)(`&vU>1;rptrhl61hMfZyH3h*`yX_9C8PIac$UMoj!+sxzp{ipd+OiVD*PNm3fZwMkpcZ3L=nS!pfPOw%OGGSBm(@KBV+{A_M$21VOKlV4Va54D-L z-E7!@OjY#FdS%*{s%X32+Opli4_2#{EX(uxGz<@#iI74~RSKlnn34=|c{Cc|e*CBy zmaE%!T^fdBSjO$gN7wT&=Hti3qNp0vbjqSi%WOKDM)5xIz0qj+)7`tOmd>VAuvW7& zN|QLs3_}|Rfh5am7J-npj~Xz<>qEG&%Id|-Ysa;3?;dV$t`^TLoHY%Q1>Q2aG-oeC z48}-!icsjH7>q~0@0WSG+vAUJ7_RFlY3e#iiQ8?qur({7w1dZ5Qna=J&1ToO^^2ERx}_&^JfF?#2ApDIniIRcLsDs)Mw-#CH)GE_ z1X0~spL4{MhEzD)n)0r?qczLHk;-J!XO62;NjtE;JcclJg=TDP227c z*Viw8`0jf*@aOYs3r8f-2nK$D-i$C2HloB#kqZDWlqY&;p4d0rtZ#cUgzHEJLk@bHP1p!`2@IUT2MpQLyF#!wdFdd7g?TI0CX^Sza;*(2JZx879IN0(6<}m2ppDOLpxaf zC_xkXOh>O&anOlnLyJ(j=n6)Qn6h(9W!KmW{v*peyE$v`{DcM2B^_}1qObz*vmScC zXGUJYQlgxl-uD9i16jX<&q42wNB5l|_?XAhXCX6hhFTb4f&x;f55sdf@p0+Gi2yD7 z0iuiu^MgLGnqea`sz*o-&FYBRz%`<95+(^0M*EtPW(lAl(mfLphev~-R-tPlfRF8` zu)&fRhs|9-nFA4Q1g!?v3Z=?X$QCo^Aj-Jq+j!yZ-;XW8_X$E!W1rC)tQV38&|q%PPSiDfAaJbL!b(b8LxQ9uUgJsBCX zWF*7mKW5kf3NiFJf|7>4L#aJLJ{lQu6O&gA_wl=U8qK5)5^V^x^xprP=^$d-Dj!Xo z1yJ6$BohP!T_T&-p1;Kj@od%A@6Ws!oziZ&5n$C653$&8fv++DWl0b)Q`W?@+i&4Q zR*oY^c-ISa1Yz>Qjd5Eyh6WqA@o=0Z@zdh*?dNY5!Q7W@N(#WOq*uf6gMKx}C*8Th zZG$k1AgGbscxrZP3N{14C(BZrq(uQCTHRFR(WtH4B!zB+UI};P>3Ko)W}p(bZNrPI z$cMoIME(ZTM;p$U&;)3P=6f*y#S<$+)DYlDG$9@JCyiQR5kY7p87h!J7?u098sS~k zJ&ZM=V>0bTm@Ab*14=2b;CoS)1!@(9p%t0$`{%RsEKjPcn2l$n(a19G-Tv_H_uoA( zpU%$D=F^D>4NXHFQ(Pq5cErk{m4lFxrrjXHA)uv5YQ>ZJa%W~BnCwE#MS2Su@Rblx zz=##J4>1=%9_-x=@p!I_p_yQzA3Yw~eu)jhX=^8A61*F|cmo1`G*VurSEwBj1HQ}|}v)=k@badRC<2ZV7pQ2r5af{_M4 z7#KNlP?Xp!*iuD6LL!(@IN=M~E?c#*dx{970lI^YVWns+1>ZraZv^Kg=2qZPR*@YR9)nmX(9E1 z?euy7N8B5vfq>mXjl%ZQsyN+rT2$yGg!`9>8)HH#5yEJ2)w?Wp?^FB{CmIjP*~z}A zz#L1Rf8~?)-}uv4YX9nQn50OHs&jzoa&Ug}d%EA%T}hFV!9-zTIjlG7LVrFXA@n6! zR~(;ML7bH6-Etw9SN3JmXp+R$+b5^haXEEQyYOi0=o;dUinrP~2fY`LP;+ZAcZIVh z?+NUF-Iwp3T>jWJbo7hPA)6_lv>rN=fY?X`r9t#f!p@0W8ZH z<6XbJG!4$4!>pVmx@AcUeDCh#Lz*Pu;}Y|dD{7e}v%;V4gk99djZsiVm)pgrxWov- zAqbaCXlJRBr=45`nqcDsb(K^QwN5GyI)ijg)pOEhEAYL~;C_sz82^a}nQfnhuX#tE zq>IO12EAv1u(_g*o#w0*M=EI6_$KCfaW-WIek6V=#Xg!rFo0V_k`97^gjU2TqB$GQ z8)ZbSdJ9o#2hwLh4(vPO%#wC2FXg6WH2Q{Dk|>mXgJKs0cAFytyk*` z!#P{Sb0Ihr;)$agjM>eC;E5MB7K;V$7)-e;SyesXHBGZDA!LX93uzB9&Xl0j$dLzJ zIDi7_J!52x6-7d~xR>|3$>=4?r0!fsVg@^gs+%#=4MUGGrEstI@(KS2F-{J~_ z5{H3b(e4C{qm`K7BVj;8@Rm3yG2!Mai&B1sw+9M)hDZ1lu~(m_>$}}P%k!$N$xOnT zPp8=Mvcz+cXhy^Z47{tV%CcfIo)$&@FF)1VX{PG)xi%vF72}Lmv-%9(?w7wK&7s zIgNJGBF`bv!WoM73Dc>j!rYA5>ZFN8d1+ae=XxM8`QB_g9*sxi@z`-36MpRN^KuQ5 zObXiu+jKxSMVANTlcvQEGe4gfdAfLBMPcl^&evam_4u@qWKCAu>0}ZoF-c*K@USb( zCW+I>hx?Z=Uj61zf3sXX8n*NF@U(b%@VsC+9PM}8v-1mC)}9_0t=zi4YZ}hCfBeIL z|JQ%5>*nwO`FH+caC80gkKg|>7+~et!31 zG#b5naXB52VeO1i8zLu_2rx1&D=!dKPY)#&%!XyWetBb6%`z|>9*%~;`sxeE_3rK-AD$N5=WUW?bt7eIy51j}x*332aA6o43v`@q?SqPXHT&31=_4)ut| ze50bs<2aEe*>RjS!?@J<+$6yq#&bQG0r);vGSJ*=yW5w<((`=}IDw{m4rYZ_UBQ9U z4`fA7(-abmIP_f5p|T7l3K?(S|h9F$109BZm_clY7^@}g}p#3{(Y)%Cm-n|@Nj zGzIM{ATnq+fXV{NRJE$A^CEX#M~DbP95nMRWpt%!Ys<39Syp(~vLT$XIuoYd)W1`D zGAeEMNMqS#H{R#iO>p~q`6YuifUr312{SCrDaf0ObVT?mfd_ZEO;`D{?t<`b`a|%G z$nWS!Jp9JELJ-~tY-vLufeKnU@&nJLYDeV>2&}c?*uk%jSv!DA)GF*p?m9LZiyN9X=VZrF@Ai9cA)nV9 zMC2stdc9dZJ}y@q+d(V$^3|(1uRkx#>OcOc|9E?QH!@;XpuTVw>uI~>ZrfQpu^E20VYf8$%&=$>XW7%+qqYVemO8}yj(mEN8^XP$G~xJuC9_O_DAq{jl-l*T;@ue=zf%| zL0F6|V~9?=!P+(r$Fib0ZR>J286Top(Ut9H7x;nPHqYzz#l=~8h%DEwN@VYi&&G$% zzLkIrL%EI)MAnF+m}RNsx@hoZ85faUa2?0p?zSf4o^*8er;In z*`{r8w|mDjeBaybwjk9SIzpbXbK&I3vh4cu{O;#l8B|I`0$#8bfDVm`tQ9Kw7_c7um6h(>COsd-;@QSL6qBQV5N>yoW#|gu5zuA8A#TS9& z8m6_`Y+MT`)^@X^YM-8#hOXKc<{2~qgA|qGg5beYR`ua<82AI9n0<#`n3d(bpWk1~2(byWYC4#}1(M7_(ZMTRD+^&cn{OK_XF_LK)x(py`wbfo#Z7&FU+hu;k0v#Wu7SgyIJq4lD`*13DsJX6E``0$+OaNoH&Z(FrJ;wP%BVcn`K($>&vrG%IFm#5$Kjmuq?f@ zDzg;2Ix;Xo0eT4cmYIIZ|=k+93()(z}W zzJnkGF^tDhv-h3m<{!qPU5YbbO!iS^WkW}nU?WYTd+tV#Vw%zCHw&ZnF08u8k;VV( z-V8GV891TB%#FJkjKdq!na>Dxv;> zn4YJ1mTfZx%~u%4p6F^JDC`1pIl=v?kY%KgnT);XF(CyKm#x&{vj;$*w}KA_tpHIa z1Z}({NeF=~Gi?d}*B zP&#S|y$=>Zch4=>ZC%xAnwgdfP?hd7Z*kNX!~fuPNF_|>PpzRl&F(S2qHd3AlqzUZX;d$P8G~RDFx~>H%9{i%LzyIO8 zcOTvjN29l&zrmA8d4vfy%$%sr>?pRIX8$peIOW!*zv^AAyQf>kyBxRPK9zvJLfl17 zhnt8vXghbD&ddHddJ{9jJ|9GofqJtz>lTC4OE!jk&au_-@y zNs>ZDMvyLTWwasCMAXx&do(kvv5s zCFay)`(nN;6Sq4OmoN$J(p$v1lWg!in;F5Xz5)DzoFWxD zHwwY+HL@^R7{RAAB{Wqvl2ZYbDJp#F`LJL>5MTs{AIZ#hLzlt(A;T_o)`<3*v`1ap z$usF=O#2Dv@n2^&9gFAQa^hrifBN&C?MDMR27Ig|!Q>b5Vq%4fzv@lDn8(ADYzUOe zY>A)u-ud8!pV7Umj%j-mi`g9zWNy?QxZ>&HH9(iHYfDa>R+Fy;C=8J%^=lJ?H1_Cr9y&HGwxo+1!o8It}yE# zsP2IydpG(|Rnf>%0Ana7(?NxXpT>DqRpsO3^7Uu0iy~h=@1i&zPe$z6*?TOAYbX++ zu+vg02)i{RvY;&FL&SA}iZV%v4JWDs6(e;hm;kX&2y(j}8^8-d)lzC(ixixQmjuG# z!nFd80Lp2uo_Hn=5&-P|=$devL&vV*x>1m#Fn9xQ&K@(IL{L)vJTr2@H)3-F!$=?! z#iX`wn(<_`d|E0vi=8ln`~yM1cq(BGVmoj?@2H}r*rO0Sv^P-xnY3M?V&PgEBUnZ! zW#!@V$#I;~z$bG!b$OEZVi|O;GMvNtA=$V2X&d2 zkz+uP4YI82BuPfYp{gON7jY_*6dphj2VcLVq?3ISSza;unEWja-E1ZKd9kXYW`_EQ zE$-Q03gR9zIuf4r67sXMG%djxfHa&E#DRCf28ot5 zY_=t=3$TwNTG2G|q2NA+8j^km79r<7b=H8ap;zk?eUNZWBxySlh=Ercw4>I*YS0>! zB@&7#&qtoN?btCe83`{-`QIf({WT~BqQ}vqC`r<+sU^^20MoGzObcH$8dnQnJqZFK zNrp6;hv(Vx@X&S!k!p0WwP;`!b zd?3@Bs2;qxph>Bl0_y>Xqh*@7tZ-CzX;DOMOB7@~M9(<^ZVT;9ND@~)QH40E; zUL$F;$skR*;^8XQG_~Refr-M1BBI0=wmj*hB(bX5`%1^x(cRGL)&*P2VHAglkkIYU zFqxMewK)wK55{mfa9z6#4Wx^}>=sHY0hJRuae0=(KY;k+!mE#V8+1%;)PcgUZK5bb zdP3)PbIQHuQmro+Ss+`2aaHOXT)p?(y{4d zRo7m=yguxARauV5Ls@FV=m23o?ZLC@tZtgca@n?+tkd&?_6{;fS;mZHwF$#$GQq`E zp(T}p?AQI?Mf9? zI+Ts5=4pl?45II6DTMgJz&D^}*GjO>vha{(S>d{FRRC>9Pz9yn=2Np&ZB6*+Z&Fp$qGbip8xZYKSp8no8SIM%A_xT^<`Z*KYjPZ z?yzg5wl4Dd`NVO(LwH!P*1Bol+}!-rKmPr{`HMfZJomfb|6wp1yngfMAOG%e9ml!2 zx~!|_?)``P`Fyk6ZPx42C>W21uReR7#@Qdg{r(WezH47!UHQImSwK z`~K%vlE;%t9LDF@SG(Q5C@af#Zr{B#41GKqE0Uy=n!hZtGkbopTr3q0nHuQ6Nn_I? zOXzV3s$%>N=ZmK65aU%f#0KQ4gSbO7bt3a!A@ouerKBZlU?v4K48{^+zGwjTZ~iW~Y| z;Ap~*w62=cv8^Z!qd3;7`jTbn9Fim*3c={b8@F3TFS5q|ku(MwuzDi)LI?efWGwX`Z_sp8%Vr0#}1H&4_xH`X0R5 zq4Rd!IF7N{@-py!RZ$b95seOqgX_9^mcu02&|w(`&IG7|X_l2`6$G9l%LUOxEz=C+ zcsv}VRV1$hq}FxW>?LuEECCppVA z*MTYJX1ha_Cq^+?W3~la1_K(*EPxzB*D1eSlVvPO11{HfQ52?SQ6)?#kx2T+k;Hg4 z!;F2-QIGL*cf%qdZoRn`A~_JvWlm&x63sq1B9nE859cwu(b2ckq(?5RLb&p6gIcyEyY4PHbD*k!XQ)4-h9Frhu;atrQ*vJ}V3 zVzIcry?cNA@!Riyd|t19{PE|<zkU1Ft5>g0YEtT|+3j|R{b4+rrg`}7g?JS}cNe9%l|I0yh1Rftvk=G*VS`ua;6jiD)_HkaAeD56{kR@1&8JUuSbych(2 znkJs_Nys2eb;Ee~{(V)0I9ONJ^Lq8PSX^FQR88HI<73lEAMbA8zkk2m?*51W>3@8E zebcseR+NjyQ!BxX2zDJ9BZ9Y!2q8_Ij;9zEMWO3@>($0GF&<44q*JvG*)@Usg!~Z^ zw5>?QX2hpP+!U%`r2mkI9Gpc4gCQ+Bw7@ydueoKW^$yye+)66#RG&0Z{ai!D?9vEE z=t(5?voBuG&*qx0zk7dcn)+xk1WcJ^qrq4)<-E!Vu6O(JVYNHR5*RKBqXOkeEsLsv z+8vHtoFY>ZErq8iY2SY?!%T=D&AD)3ZzAPP${j41Ku=M3rG@o*dL;ZbApx8czoFH>$aWG=7;^BeBm0)1{tc6 z-~r;emT8!A6y*iP`kJP1)*F>lH*)wbmGk+mDvLuDAt^ys_xnSd731+Z&&isD5k2xZ zL*Oyo#@Lw$J~kqvjMgg!S|f&sN_Ma!c;Q0eOZyr{1}0?4CN@g?XxJqwIt8sJIUJBx z25pTrssWXWTVLWpVIvz4M@g1W#-lVVG)?xs;PGiOnM^j@9r4|?0CuTO7)2N7^N$}N zN5g@sn~%%I*Kgk}m(R#dF*VP!etv)Z>g7w@vf!fJ)V7WM=FxDNBq2 z3GPgW4tRw%K;k4PS*p-C&^)?nYS(oShtTa}LW=@^Sd)D+HxK|R_hvXvVew`# zid|PgAu9?OWE)cUm+SPV;w^Mp+64IuY+A^)SOMS5$nYkKj7H)F;A~u~cE~lM!`+SM zhy*T8gp;-yNOqD;p?vMGxHd7tXc95tk`nl7v(XKncCzpcnL=sM(lQ1SIYg zXX%a&BfL+6NpV3hj2{V7Wa@y3OQ6e3{yNw-cuvqqi4)*QNe48j6^?(L_CnVI#${E- z&W-$eRLU9@NH^`nN4`#Xd6+VBq5u^CB2G@>&q23=1A{q1mejF5)1Qe!d~wL;7ulKo zb-u6yKa~Kw0g=InCW}|n8WPPDK5zW?m`jlt8K#~z`zK8Rh-sAX#j`qr^6;9{i1Nh? z09lE&GxN3QuXFMip&F0T8tlU1~u5Opi`FeDiu%#BwS^Q)Hv#q2*GE09D6x%)XB+CLiw|7q>OVU zMW754CCdVAZg9id8Jh_i!m7B>7l$1y=d7~~nmC^HO>J4`sM^^pq9YCToSt6L(WSh1 zvnvv3z#$)*@g~Ov^n8MTBGv76V*la8l((gxUDS`iju3pO6J}#`j?SU!+)2iHCl6!r zjv{YQhpBiG+j4ktu4@KN0_r-963_E5&d%PwzmsJpP1D`su-or~!0T00BpuM0l*1%h z)^76tEFw|FGQkBD!dbyHQxAs&b+!hJ=TJlAVZ;^A(zKvsw5{0;R z6-^rk1A0J2a4ApPR2e+WqR0{Eed63h4;nc{iM{!#F76!iMZj~=>7J)sh%*50R!E2#kv#BXq>HLr=)CV;l@Gh z9Aj*#Bo*=@tBNA?T;~u)vMg`5TTY4pp2|xS8H7QEUx)S2BE`zy=DP#%z=LrGH#v%qBZ6ITY|P1-$6|3ChG%AgcWwlAdV zmB1Qp8|p0tSh?AWQ)Y967h$OP}x(#BDjcA<(j-8WX1L z!fu4e1ndol|JRX+x+j_^_u`8JpX&L?r%SxQr$Xz%vr=M6)26{n*{+;EF8ZD@^REpa zde5bff5F_xlg@-VaGjTaA8XQ5?bK15j~rb=p`dfTmDNKSI<{HYrK$nvI)o8Sq?gOG zYUbm~hueo%YCOl0TWK;JKiofzrX&0?z3GmM2X8Qb0O2o9Ay8?Ou%#r=_-)fdv4lw* zX7l`P!Z4p;MCQBj8)GLwq&|@qpVT566Kk6`F0#HUJui5Ce3S&w9#c2rMMR}e$1)OS z20Od(o#7aQenFtSq(_Ut6W|QbM|`OKhG`0^gYWxIjoOktZ!8RkNmmUg zNNRGKq(XyF7%i|(h=~>t8xxDaY00T+mOm^OU%Yt(Z^#lv#VpH6K`S1v-j7Y397p1m z;0*Cm#2p8*2be8@bpk|-Dt5;7v133%SjA*U3YlzC6nQzBz&;ax=AOqS0~pxR>7N&v zA8^JB_3u;$uyU({pAhn!pVwg=>jo$zjtfl^_hOVBPgM{}0+8`!;B!@CFU2ZNl7vTk zyq4IAp0wr!{*qxE2bp(IHa4resf(gyZ7Zqy|G#bh=aVH_lHCa!=j2gm!6TAXRcC=T zfN20LXvplW?3ej}2bkFpyRsrHgI%z$CPgwcczC$`5&ZoqU!RX&~fK}#lwB&Ozkyn@<5h8CHbaByiI|4_>OfgQL=4Fr{)TW^j=w51SNCB!EmSwmSfole44AL_8U12-G znl|M_F%N_fM`)<)W|AhP2}XaNg%r3Z^i5Qv+*_7y>L_|m)0{-@Q<@E1uoVd-A8O91 z+wJcC`wz#{Nz?Q=jtoQn?z?Z>x}m(+p`#=PRwUOAB(Qxey?FkzD9S9)$m57v7YG)V zIDogF3SH(Qk8CrMo-^su$yN(N3oDz+>Bmem(HnWJ3=`=FRO3-APqc&3=toEddct8C z;>BlOB7R#-*+#sFB6O9P8vZG~aR5s|1+b>;vv8(q209^{nUmv!WbQc4Ij-9@&2G0< zG`O@)*d?d7!8y%P^esp%#nBJCuGMw3*>2-FX)286R;wj2pKUkcG5IJo?uT5^;&#)Q zWBdk53M9EK>n~q!Z3@gPE4;|Mq5HnOUM{LSCqD`NOKF;zwyCQ+&&=AkyI5a;{P^YV z`wvfUo@VG1R=@f6ugfAmMF-O|FIFoJ(&50+^tbQd;~9t&Nl|nRhIKfzbgisX-}QXo zb`aN{0VCr@s^eEIsY z-B&H22m7Y3o<4bEnMRbvK^U$V3rjHey+o~!)eERVHcfWr5 z^5uLnkCW`~>upmvVK~=K-L#y;VZYft{P4p+`@6sSumAF2{G}TP?|=Mb5c=PL|EnMW z^vAxFE-tURRrUJKxAzZsd7jBwOqA>E%k^^k`#=5o{=+ThTWg@F_#SN2gPdo16vYyp zA%^R^LoWg8ff&Nx)O92mG|dKEOuAeyYzHHf-R__vY1!~R$8|i%GU2%GTEzGoy6c&; zp=ZSED~qb_TUo-XIZhK<8rB!9G)amg8;0ScQXr>CT0Y;`^Bs#1Gmqkv%i$383SgBQh;y-$TpxG(TRx&KQUohC$G_ zfGcpOLtWPaVXpEbo6o{ibn-mX6Htz}?|IY>Yc&N0Vbe6Qsu)I5mTXBq#izjckI~66 zAZ|;N^kK98;V=H;bc%X;a4oZG0JHq@r?-9>UR|t;JU1OXjv_wh=qL%aI7`dASOnp> zzxwuYIDL5g?#(yfpf>BeV{{BWkAgs@I7!Q@diL~L-5?A?QPg+uKe$M%4C@A3d`-tZ zj-Lo!*YZ5KEeq3`x>BfF!DEiLZBEfiC!0QvJXqhtxKIeT@IvA4WBMx|LNIew}l&g!TIUw2ewmLR)7CDzx(;8Ki%Jdsmf}%N50Q;zW(}fmtX)||Fa){ zb9evXc&_Vtvmii7CVh;zA3uEm?VBt^#ytQDeBJ>9UzAvyrqAZHpMH9GcYogvaPuOQ zj)-vpG6n8p0TkA9xwyKzy2R&kgD{-WX2ggubyI)#{5gUNg79!SW?5cVXe`XaIbTdZ zwm@r`CSBKK97*BJ#C5|+^xHXJ)fBxc+zyAYf`j&l4qi`0MW$F4(T~!@ow4ih0L!Duod74X#jEp7I zy1c&J@3x-r;{c#y0>RnXS)5vq&DBpFMP*TXp4$(tAI`EQZL8LG9SvmK#`C;5NvpD& z&q7sEvMgf=wgPmF0i{d=zV3^cFF(EiteQrarBAM}>aNN1Qtp-6+$$R#XTl)t201>V zjBC5LEV9d+Wl^`bZY*Z=+mClcJD8@XO6v91MU+G&rq)10J4L!_Af$@2MnJuznKMUR z2cc`*xcIJT&wS6e%_ITKQG!sF@G)KxeO$sGuK zKg1c7IXCo(z3Jp3j?>wE4ne~(><>r9&|PLTNYdry#dfn*Fj7*N>*d|u1BCpGd0m!@ ziaaEmNl0~rKhU8R;ig4^g>C>W18pe{Euf8Ukrr9k75NVF0+Y52J$KB3h+QV2l~DcT zFvIA3SwT}~kO!nRu~M(^6*6k*mRV#)5Cpmo9`ztWvW?$qn0I$~&tJYsPKiW$>M0W1 z?7Q2$<#M^%?PW~~eg9#9@Lkt+?BnV1=Ebup%j>G0&%zmW1LX-6CPyd3Vv;7;*VkE^ z{n!8g_nKz9mQys%&p*G-%W5|Bhim0XYi<-I<~n*hWDgS zm=pvPM(2^=iRQRsK1aMt!m~p<$L5}Y^h3tadA3c7+K@NEsZltNZ%LY`!Rp#J;J52K zcpeo%h_k-y!dVddLDzMQ#j;3?{pplv+0YL+Pi~^qk1AGZlbL8^W2Tq#*KV} zNRM|@%rPbe{W!hDN1bW{QUh?amdr=uo{Eb`t~k7*tXkmQYmANQ`=VVl1RuGNJa!r&S_MO1#Lh^48XBgWNAZf$ag%%!M zYvk<5b)oVd%OpX$1>{+brpCL**j^IP(%lhLd@&UiEDau3Pku+Xu+hWDv6{5%!ZAjP zZqO7mAqsz5Pch+m)$yUQlJNRW#`MvwCU8TyyXD$%YY z*Vw|&-AF}77FX5OcXto(-+weM^Xbi#p;z92czZe=2SxsR`z6C%-0%a>HY`3la3TrM zC3Jo~WW*a!Lr}_^6&Dke1SFX$h6$w$D>j&wR}?wh;$6>cnkLJOI0j6QvG$s#K}4); z+>p()wCnrXEG&z15-)Q5(y%StuzJAgAc)4)lC&d+p+`|fZb_`1VtOGgi3&iCq|9Sa z6^^)6Qz2xQL}P?g!h*w|Dl(zs-F$+$tMLp0k5C*E=*Y|=NOyw{ES6s)BvOsYlNkrS7~lW z^FVRj*JxZvSh9)2A|ghpX)51QJb>mQ6I`#TJI& zOmi=iOVW}dyq&_(j7LIMFqwcsvAsG$5PY@{dN!LSZ+F z_C{CTgq<1h9FJn@SrhT$LNj!(h(sTKBLCAgS6l(^XH6y6qf11t_c4-unoW~}L?ST< z{;QT;EPs|0!SWh%GtfFWHkr?22%*aOM*`KU#+b(BjHMxcAaAllN+{Mz+W1sH65_vO z838GN2E^Qqdn@nJJc#8>#wJd355t{Fl3WBB@$V-s(NthehPg)*?*D^?j~R5@wZRXFHzBrIuKqhAKhyj0`Yj2P2A@~`_XeUeUULMnkz0r z4dVekuVBP8XKt2=_7Ie(aR@(BsK${d%Q45YkVjGC;T?rC1X3hS5#s7gc2_eGX{?cG zqohAW?04g4#3~9-zZKFL>V=J^8+Wgm(M5(B>e)>d#q`Y?DQm{He8jTl(nx_rUnU+IQ1z>-VVITIYK)D*3T?zwke2g32P zaBN4>w7c88a2BR%ssc>t(0m#tkWO|VIGEeEDyo5!2*i#*vc!1YNW~J#ZTZz;I00Q` z;BE+A&U3-8;SM;m4CbG(E;P4lGS}I8CUy#3w&?_Q476xc`5b}aX zRSoIGXf`qoaQ54-jSZa2hOTQ}&*=x;!5|EhJf#Pi!B==?sLJh3i~@Di)RNLmQB+;q z+;3bTQ-Lt_b)9bOD8v!EYfQEAa#5%-g*sz448dG0#L{Obf#RNs$c`r}Dan*~E3-B2P6#^IQ*~mX1Q;hbM_e^9jS$`*!GtZnaqU zU0>C8mZTTgm$qp(G)f^MxYkj6qdd@#Jjx)*FF|_;fxZwIt!qtPJFYWe@dTie(%Cx4 zal5XsO2q4CS;lRp*<#LbKDoQj`fp-hHoO~6bv4Uqa1HZ8@e)dibeb-?~g+-?e@phF-}sbso;%vpw8sIWLlhA1jA}PQ3TQhAkOt&C##C< zIHn2D^uuPC#Q7;o_J>1~K#JkIE+=^-xI@N^W*{3GRy<){8yN*0V#vLM(=p;2n1WYu zwsipg28-h2a)m#OmE}VC&eB*>py9YN5GZ((vXL0At=rx17)5c@_eEX+C}EjZS%rab z=vq-0byI0{#bi~n9Jem(K_2p~^!;!cl#ic2rFpSlud?K{UM;@+?wkE?W4Y#Hu~HTF z;o;u0?5b)WHXBJ%^DJ!#DUGw`V*c#ebr|{}|7TfrIAJ1XNUMvL>jj@b-kzdlv6w%7 z_N0Ms*edc=H`Q6-yQVdt2M-V1eozhDOq1eph_?^Bx-Oo-dgeIpAAbKw3X=uAq3uD* zwJr0*+m9{GMLH+2zy)hsv)OFESa>eJCd_HN#^)nNRgx$nSzhORh&E?!$5>$s;p`Ng zBi7Y%Cmr>UXfC0Ape8^|3Fv2?A~%ahPsOAfCp2cSsCrf6Eh9S#o=(@rgJc+H+cc(W z1VMlx$Rq8pFV!sZufan^j*JL%rS*A zjlS>wz*{XBHomnNosLnGlw~dBG23N%-nLzl=ay|aHil^6PA0E zKmF+^(=b#`J)Vv(3GZCXSzWBNEREtwQI+-T;;`E{ZF@MJ_WRxC&4q1RtM$?{jVw*( zOEhoeB%LkhtHmPA(lXCb#840qV998rS|zGY?kEbe=E#4=y1<@kS%Jr?ZEB*dV^*pV zUKrVGbic?=1Qj(OW2+LwR2+XOsGd0l9N~v{D;vNlo4o6~vH}B=7fe!l;$K!JG_?#0 zw8^h8%Su_4C^rc&I*~YeNynbW5ouIJu@t^63e&W>Da7C(-88Z!nFT>N40TzfKR}{M z7-y?02>h;X!8@i6`-*!xMY^ViS(eH2T+7EpQwvc^_r#B2SU*ivd zI2;FQa9pQp8^;Esf9QuKO#|Q0vJAXHFd944H1eWAZbAt*`;7DiEz9%$9k$1tXE%A88>VU7PM+jNQxQ}H@OOP3F1hI`S%ztN8Du`3ZQSMZ$zF% zuvEFgo{~dZpG_|s{9{#F^8uU=8F)wxQ&(jKU8(ez>3~ThomST%)N|aRtec;IeD~$c z*Wdl_@3S zNRo7l4w|HV|NVD{s@!jO&z{{Bc^(9AmcjAgHQmSC+izdLs@n>acNzgyMD1!@h)4Ub z-|ctN;p7Lwvlq{hG2}X3+ZIJplz?cW1Z{^Bv3*Tl)e!MOMw7}oF)#DNv@EjsaSOKgoQvf7{?(6ovj1| zm^($C`mg@&Kg-fsRkc|-b8OqN^e9a=S;I7X-Vtt)zz)HF^!-z5qEeHeza3=Ga;zpLwNfj_D&am{HJApDvn z%j@;3$g}-!2Qjc=1tH`DGs-N9PElPTU-t9uXVU;%xU4Hk@-;{zG5jP6G=s$34xKF1 zG%OoXuez@I9nQ0Se>}0pLXwBYeBO3_nxzUT1&-@_$J3!`8dEV;UAApEP0|(sUfcs_ zgA9XAsSWPT53(Y+Y#TQ4p|@QxiPO9)eK(xVgHv>pB{|7X&z?M$rQsCEaZx^f_TscV zly!Z%x=fO|>DqZ1)<|J*rA}(wN>_E?_cdFpyADKsOUKS#*ChKwjudJ;tQT@wR)&SL zyJ;KSaTEoLCpHf;0MbD66ME2|>lmiCzPy;t=4FvTY`3=MJbnHYimUI`{RaL@r ztfN=n^}U1nD9-j(UO*aYTieZ+wpEaNl|er2BHc1{FtICDQRj>K;jl*DuCf~y?Rah~v1fi#Eh&mx zVVj3IpePCe9%;j7fURjl?2LwQU6)nmxHgspN>D?(7%>LxxOys3irzJ=|~q_HX~RT3>wk z%{O_OBNl75+HSXTkq@opyKWH9-oJZ)b#-Z4CS`@F*cIsIXBe`qD2`(vPN&s+#maZQ z=OcP_>~Z0gUt(Tm!drmpCe=OEb1@7vNz$KwdTUx1Eg5*fbj?s?B<^^g*R{>zc(}N@ zEQ;cAI97F)W*HT-jbk~dINI&@02vWZlf4^{j2@x~{!1$pw`d+U2*;lJ)Mb9$seeTC zo&Lzlti=Zp?!dES^4#|mv_P8HN+W@mkI;`OzmFR76N2}wPMCrc1l*GbBV)Ig&XFp# zDP`aH2DIVGDx;r=mXS`IN7J_Z!yZXvVcAI}&8FkT?hq3#D2fX8ex zU({H;h61F=-XUnmp@)VDb1J9X+Q-S_{Bj-q)_Y15*k$wBWI}o+21_g zGroOI+j4dn8_}kyTQahbfZ|_v$c0gC^s7>Q5w!^f@!{N^=Kq#sQO^Mx)L0(1|Lg|9 z7Fbo4Z9Bm%Kzw(N*MEdK3mL%_vn?cbbjG@gTX;u%8!L*bQo& z^mtOpipZu0aDEu1jL3?bs+MJG*|uq*4~W4n%@xp+5Z+(~Ij>FKcU|3J0?q9&lSnhf z_(3C&nw8K@bB+eiRQ%e}ZN;RPM(m{XfZvE035|gH429?K%Zou-7NGv3k;n4}>UYyB z%Hp%pQ!P@YS&2ys4-MrVF#9wV978k&d4j{l$Fy>uf$^ikhfF-E1RPT}t%mNZx9Auz z!wqBbE04EN!mtWnC5o35dS1HF;%=%M#k`YNog+)>z9Xfq?<<5y;N6Vj3@BL-%fyuF zjU?DF^+RtI8f4INA>DveCvYmDQ+r+&Pp)qiS&8CUQK3;7q`|gqimApg0{vldLO28@ z)$wZ2utA~)2*J3HKzAVBP$84PnDcIV9za0;4&RV^$BymxeOFawoFosM-9P#5Z|0%* z@NnODP2h#LY3F&y$58|%aS_EGTQN-+yD(J!b>(^#oFwko_IZJ&2$IK-9B$Y|pyfYBtfh4RG<2K>%c|OLwwkJ89>a~3v1>ndaKxrLLI^~R z3sgAB>{V6fL(&@vbeH%V}WkBX=7blJ{cZ+c1}U+PH^^e7$Rmmc-=o-qE!RQ;T- z)8iPLVGPq?`m8-VoBHv;oO;JsNXYW&`U>O#Z_`X8z*d-6H{jz z5_7e{GfsxSur^2nIcEINN5in#wnxs*_*u_2gQyn9q>M@S!S{E-(uB8=AH_$Nz*K&U zbac*WV3GkTwAdseKwKlcPly=KA7JF`kxC3df!jTt!-7M8mYcRYfhf*F1(TrQf1G&m zi=V>d>S>&RmL|}5qB9Q59nPU$B4K`Hc8ypljxd;RI~BB(UXjD0Y0%Ew`ba7mbqUnI zA5|KUKE@+)FK^8>kdw(Zj$=NwTr^!^FeZO#v7?`5HNX7+{3Fh~8Bu$WYFA`f6s3sJ z7HbYYS0a>$Gs4HGMwG#$7LZ4Oqi~RYv@G=(zEuW>jbs9``JO8<4iMo>b4Ira$s>Wa zB+Ih?%YXY@sqGi5<#u!EBx$+0*lai5Af;)VW|<#&K;r0Hp5^QHf@hGPYi@UY=o>U> zwcEZ+vy24_B0G#MN0ag+%AW({#pS`e55aONa5d3@pSz{0xS0AWbjF zv+5&3**%?3mP4#m@;s^P*j@x0orJcOt-y(LoDji}vY-f1Kn=63_@xy@3JxiQ+nT$U zz{ioO8Xb1avcXdnG7l`a+;$++iNH@<=z5bipMs*$YJ{Op~U6Cux4o7C`Yw7^VsQ~<>i907Th*5$pvH@ zCg%4&&WW_zOi?Z&zfmuYhWhZgc_K0{O{sdB=`FKJ+9&zPa zx=mmrRPP{HH;C32v}$_%NK^rMr)VS4tHJJ75gG-Tm?_|z0@8$a2!zz0Cb%tz(_cP) z*=~0d!dsm;Z{A#8Tu8%U+UQp11+3xJ1Ori$gxWY3(fA75Q;zD8QB?b@E{4yl%aPWmlX(;aKkCA9 z{i!K>-=W_-NRsP$wq*@Nr|Do3H-!4=hYrJR9Y4#oQPvhkrbxQ$24&T}|M1~(I$f+0 zVtaXgxm?ak!3?r**GUmt#ENCPUvBU6qO~mGaxd0PXl~LZ$>PKAASwOL_4WF4T@-oK zO1EF`hko$=AWw2qM)azL>7!*K`0U3&y{+mx3~WW#PiYFWu@~N4Ujz$px7&aD^58h` z>lZJ|s<^tjc1$aZkFwOyg21xO?QYAsP1~_-%W3O6iV|JZHk)nL)QXJWZ`(F;lKP&{ zct6Xr8yaqjzMV)WI_oSSH{FDMgPve=X`?o)NLmMLLRAsSdX!r-v5Kp1nvO8)j8BKR zU+(ViA6OuEJRXxIZJK(w+Z_)3<1vbp1P1*yMeDe2lQhwF)iQO`iHV+j^-rR2v z`(u_B9ie{nqOvUWV!i%)e@{Cg-fBParJ>(!w;w;=8oK`P{`#*^r_)K7Vbh zYIS+>=DTl-qDZss^T&^~`TQ^c@?U-V@+Hkvq7qh%#bp+!oBig8AO7hd{{DCW>aYHl z_ZSj<;hktbPR zH05TyHFb5qm|b08=qhME_`Xq6(Js}&^-<+{v6zP!>y>R=oF!i&)JFGxZ?oCm-aW)= zlBRiGR+u7}WnNZ_49mV@85gUi=K_Ow|L|~syScl6NRlK@PHiV8Q4+m=Xv*poorpj)(8$A4uxJl8i5H2oU>r_| zrm3J9ZtBacYjmh=)AM|(>yjjr2FbQeKk$b^I_&q{E`<+-CRS_^;*=s03q`5(Tn|$x zaDaClofg0gQ?j8mq{g-_s#mGqN*!RrOp@V>0cfOCCtVCq8rbm#QJ%pAc)o4RX4Wk4 z?6ei)iKjCZ>JVh605XJBN5cTIoP8{cDnbdFZD|;o2y!*AX_!FsF{dmLAWqmPttfNb zwsphIlT_6dT{kSty5DTlJP&}lZf4=EYrE(a1%cnx5Uz!OXyS)9BA9@LaYb3q!aySG z8(h~-lNSYfAn_~Cdc^76YkuOGJCa2Cn~l0z>pul&H*R3!|8AAkCj3Vak|h#lJjM#^*3 zEUS^x09WeJcZdCM82TWbzkU1e`LpLmQMr!W_QP(wzq-6=A%w+hSJe%+9y;sxLuVQm zh6@FvDm4Y2RRa0Ie8~H(?|OAz3iG@W z(*)Xi8C1Ye0yki}@W!-WQ7cBgQf|1R!QZPg|8*21u*_>Zn~EA@93$|7QdQ+ME|ija zWf@dLP{W0f9flk}IFKF!Lm;>Lf{d@ciQ+fBeHA z|M>Op>nsSrdGqG-Vy$V)d>;Pxhu{3$fAd$r{o%J)S6APE^WA#A>bhaS+yC_Q+jsBZ zHEol`@qhe}|KYFx&0jscc~;kDUgURo_v`ht!r;$Nlhn|Ss;YO#jD;T0FPee$bIAE5i5)#tHPBTY{!*{ z;XnNE|9jU&e))KFefi?WvxGKlqKx3QLOBIi)7C{<%!3(1O4^$9Oi!mnKlBC$ zu_ifc#yyqbPtev-1_TL(p#+BI7-t!%91t#+AYGk-kxYUZ*#i{dNEI4`g1AvU$}Yv| z;p{JZY=h)O;$Q#Ie`T0P6vtVbLHy;}s-%LNtjI-%>CS3-(e`!U4MkO@QQp*e^iRjr z;cz5Fl?<$`BsFzcRRoi#CNi0Z+d-Ch+d~irSC^MXTHIV;=V= zq4ij;*T>WGgrpodI>o;0s=6K>PRon+?U!30f=eqpolN+EyYmUIdUSapP4&a@csd$7Zqn&^f>Bsgvn=-lZy2OJ$!CkOty|x9 z?(Vl;Q{6ndF>N!6s_c+n-CQ1`qpm8?pFi7gw|Sb)=5tMvbWLviVShZys$`p-qDiNs^&Z(DlV)b~xeD&s4e2Rc) z0Y1t`ZS6Zz91n2_XB3e+Y;WWwxOQO6(wtxrK^`gx~wL7zTY2i zE-zJ6zrVYi&*wOaQdX0KTPMe;LUDNnsYK1>;zn;${bSZewD-u=d^v*u@KWpKN zt~A>hxC?n66Y}_w%?;dErd|NM2!YUWoH$On9SPhJ#-Ff@wKQtQwxOzv)uPPH0f(Y` zHVe}@Q8gqV2@3_PD4v%S_n1~={vI@c8cOJptfA{wT`ls$18j#(fhg^9%~@^AE)yO; zjFK9f>x^O!KEyK}4h=10~XldqfWA zX@(?7?BjjoJ541EJ|{CH$KJ0P5lw^YX{J67jd*7guA#a_sTu@+O+-rWVe{mJrzq!< z%A;w`G&ceJi~40;;4qF-*MMvh^9jnz<)*{fF&1Bny%ao}6;SSTUiD*qF;*nlk?Bv? zC?Zr*R1b-XI1ZEZMn?x3_Ou@D+ zAe9KlZb3F{TZm4lzjjc@d#qh;aG)bAR zS(Vr;DS^!JgFqo0F1LfJ_Jw3$b<yBNO%-v(}9h4dL zKr{(R^Zn3Q73yXl&kr3+{DzWNx!4r3E5lF~m7*cPR#8y85SI`6#9V(<3$vcXPpGkX(q%y z|DsMKE{hmQ3n~f4VfKAnwTor=^2Lih&7Qx0Apw3H{j)9mOc{hR#D2ZX)nShA4p)OMD0|N%7b|H?WbF@a;hfHOh_OCGzhb1Ez=8;Sbzj=~uj}uc|t_i*^7Pjdx zM0fj_8ia9#JiTV)g#4Fw^~al&fYwa+SNwaCb3h93vt>byzsLWO1wx{lm`bv7pQ5~N z62@T@VG2DDYdO8>9AnJGbqtnj&Q9X>md2CgpF75Kj|wE>X;1hix^UxP;~x?}hqKAY z5i*}HVVj_Yi^m#L(Wm2eiHDscEr=3WOs?_BnTIWm7jxbP`1u*PV@|aYVpc3E)GMSA zP;7kYou#?sx~!5It5yM65bxCF%%AS!BZ0_NIX_C`dOR`4vP18MnDh&{^SHoHcX^~D zOuy*sOoibTZ-JO^u|%`Ha?&3N5z$$F@;Ht_d^QeqA&LhBkPq(PPZhtm#@Ewpw&ui1DKj-2g`&9dmR8 zT6Tn6k(!^Fo}gIqg=IO-)G)igPCM$}ns^-f%V{hrk8F==nUMdQ} znGM72+J1w^8uGu&qVNJwpudLRwk?C`XdyzoQ=-X`b`5bG^mg~~&yb4>C!@aYv58}N zqf)sA+g6#EimINDNX|YUqQmiMS=M^B>e{xdYa5bi*l*enpPa5gP60qNkS76n1K@4Z zLZJJayXh*{yt=xK<5)LvnCkm(x7}c?azJQT#-QT5hLMziL*EUKgZTuhH%v($ z%A$m!kbaw>)Ae*Bpc6E6I%5b+REgdE8tNO&PD z%6t*Jj&pUjc5Mp-j?uoxyt>CdpDBXy5p4+9l1je5%qzToW%c=r^?e9@eNwh0;( z;gS@5K`wO|i z*rpbxN#HqEmG^zOzPvz6{oRA>1&jIW?(Sib)#EWfo}%Sq9yr$18wdzY69?+1>*7;f z?!q8GN;-s;-}2M{&H{?yqmwVSp?!LowD@m!~*3b!)KEU#g)!xwb zz@MjidVha!+17G7zx#UYx%TzdC2~o!98)vb+iefTeyj4VupLLjV+MlG&`U*GE0VHU z%(+#|YEeMf(83h_DiPq#r}9y0I-X5L8s{VFqnc;rpQbZQmX~!^*~AH+3`pFnVtCv1 zL;=H7cY`D&uEYfV2R#b(VLHop9LFQzyrgM*7zWfsgYUeqs-h?~tlrXm9)`i};&P24 zcU7CFao8W?I9|@?uiv~%lcdaxvZmRjp*fb{55vbVpWlD@^!=~D3BxdrBgYNmG~L{7 z>ZT@Ivoo77KE8jydAR@Q|Kgt?kC9`UahfRou(-I$()8=y-LHQ5&Bu2?&E{b+3vWMt zy1HCHdGYlA_8wpr)4u(DTb9MedTHBwo@O^UH?HgWzV8Okrw@I^~ICx8(lM!H2u>b{`Bd?*Sc$t`%@f8 z`~Cj3KkfHNq*`lmfphC1FY~**htnyZh5oCTFE#WhO-0i4BC~9xuAAfGP*siP*hQ9^ zmbIAA4OO!pbHCr9S#3L2T0VdIOeiBQBTHgMl^3(QZ9{+1c911Cb#--pMLbT};y3sA zwr#N!=>ozFElV=fhBd`9%^(c0n}d9yANNNh@xVkuq(C9O=AN*~`O<_tg)Jr6d<~<> za<<^>G}LGsC=R7Twj8T#(CQK7aKbW;2qIJ(Q@}3wIbnYxp&M_+kakf|gI7ylHm6sK zmnp|_8u)w=u*(tz2GX!Uli-*@6mV_d)Q#oZ=;k>NXHhjR^rOLSb~qkQ-LPy+*NimJ zvMgUOSFY=JP3r}abFJ4aNg9r)Q+$dpFILE}k>#SUx~4UV)sIAP%j_tktE{Rd1>G5< zI0IxgQ`gfp!$&31nhUKJzUlE8`M#f`(E$-{2_vgk6h()06`U`Yi#hc!oUZM%EU)Xv z^IR44wG4WK{hpexT@=Ndp$CDlkS`AR3r-}=y#haoE_GFpqNA)TK4H%-&q+>^s;U4s)SYgb58G{7m4;!?{J^k`=oDYx zTw%1Ls(Dq~uswsoRF>7x@7_Teq$_RR*slHX^#Le!3m0X;psFCJE;R0nEQc5)VhUMR zH5OGJ52_yoIqpXa5r*rwgw*8*I}1AL;L8z&91}ywlkv1JeAmWy0%*Zkj`dZfg zv-d+t%)yLj*ATl>xiN*j!jV76HQ0Dg1W`sLGJ< z8y89U-1i`$&u1{PhhgYBt{(s*!`*Bq|6wT5*1PTQ?*9JchmUs;51WT=S>=XlR7Gh! z_HTdtn}7fB|N7apXV0ELwN3lQ>sOX-msS06zx}(v`}3Kiub*$fyn6i#SPsvF{1Kw+UPb$&*&k0Yp5BP=pFnex zz=+Ix^wJ^t=Et{hH=BoNFJ928x-0WiRpry^#6G1YNrNzufU!?)%PNafRrTl)A+yP{ zfAy87y=UIJ`z5d8ep&pg+*EYtH`uHm^E z2Gu3_6X<`EB@*`;#5kC6a9_%z;ML49;K^ZF1prjA-=lX*gI8wJk)%>M&^U&2Y7dDc zwy+S71VD6hp1-*qWM#Qrr)d$#ahgLj-ZYSfV(QS=wx##I6wDT2-E>leW2$VCWsqkl z+<8HzK!+Jv3u)h~%i4ve2Rq{D`!BuR*Hv3p)y?(I-R5DvUgJBo_0{D?6eUGbAda52 z5>3>ubo{vP^@Q4p+@bq@1(>=s*|0Sk6@p8w6kz zYg|$Ck+L7!68m?auW*lVVy18N7W-8eGS3+NP*V-wUd;zP!5ndUxNHl_JSE zHy6j#uBgl9^5XNS&z;=AdHKBW+K0oz&~4i>m$P{q=Z7>-;#@a0%QRE)QWQ;59NW(F z!lq$lmS$y9b$tt*FB)6;A3P;w*&oO<#TZzFBJm&t?|TpebTvy8SsrGK(DS?`O|mSz zzPhj-Yq?zId47tHp5wM%3!szZaPXdE>orF5PLbzjSuYkd;xsCr=kB&U859oksZiGs z^xmPx!G(~RrP`(I-TgJ(;nPQ z4ox6Xm0AeZb6hKllN57bho*X91HwGhbe?0Q=ORHx#f_?~^|I}n!zt|sxvAiypq?gj zed@X{N)*bDZANh%Me%%wVr#S6x~^;Epa|6hHyn8eLDoq<%QM&@L{Cldt9htA!D+KB z8)VG<$g<4NRFuwv@6YE88`lJG7#s+D*)+_Kwt;yVBuO3w{%X0PKu|>ZFs-p|I?wY) z>ne5v0Qc&KbF3$X@6_ymlD}94DOG zNSwgYuXO&%;%vrWkMfQgNrY#>^L@{8lPsm-G>ceiZ=iXNxUke8t#cEC})%9gk z?h5+X^qQ-br~m>=4dP8zp(k6>v9*�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 Hu0mjfk>-Oa literal 0 HcmV?d00001 diff --git a/src/components/pages/portfolio/hooks/usePortfolioModel.ts b/src/components/pages/portfolio/hooks/usePortfolioModel.ts index 6a4f314ba..e1c17bd82 100644 --- a/src/components/pages/portfolio/hooks/usePortfolioModel.ts +++ b/src/components/pages/portfolio/hooks/usePortfolioModel.ts @@ -7,10 +7,21 @@ import { getVaultInfo, getVaultMigration, getVaultStaking, - type TKongVault + type TKongVault, + type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' import { type TPossibleSortBy, useSortVaults } from '@pages/vaults/hooks/useSortVaults' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import { deriveListKind, isAllocatorVaultOverride } from '@pages/vaults/utils/vaultListFacets' +import { + getWeightedYvUsdApy, + getYvUsdSharePrice, + isYvUsdAddress, + isYvUsdVault, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { useWallet } from '@shared/contexts/useWallet' import { useWeb3 } from '@shared/contexts/useWeb3' import { useYearn } from '@shared/contexts/useYearn' @@ -18,11 +29,11 @@ import { getVaultKey, isV3Vault, type TVaultFlags } from '@shared/hooks/useVault import type { TSortDirection } from '@shared/types' import { toAddress } from '@shared/utils' import { calculateVaultEstimatedAPY, calculateVaultHistoricalAPY } from '@shared/utils/vaultApy' -import { useMemo, useState } from 'react' +import { useCallback, useMemo, useState } from 'react' type THoldingsRow = { key: string - vault: TKongVault + vault: TKongVaultInput hrefOverride?: string } @@ -56,15 +67,28 @@ export type TPortfolioModel = { } type TSortStateSetter = (value: T | ((previous: T) => T)) => void +type TYvUsdPortfolioPosition = { + blendedCurrentApy: number | null + blendedHistoricalApy: number | null + combinedValue: number + hasHoldings: boolean +} function getChainAddressKey(chainID: number | undefined, address: string): string { return `${chainID}_${toAddress(address)}` } -function isPortfolioV3Vault(vault: TKongVault): boolean { +function isPortfolioV3Vault(vault: TKongVaultInput): boolean { return isV3Vault(vault, isAllocatorVaultOverride(vault)) } +function getPortfolioRowHref(vault: TKongVaultInput): string | undefined { + if (isPortfolioV3Vault(vault)) { + return undefined + } + return `/vaults/${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}` +} + export function usePortfolioModel(): TPortfolioModel { const { cumulatedValueInV2Vaults, @@ -75,64 +99,107 @@ export function usePortfolioModel(): TPortfolioModel { } = useWallet() const { isActive, openLoginModal, isUserConnecting, isIdentityLoading } = useWeb3() const { getPrice, vaults, isLoadingVaultList } = useYearn() + const { listVault: yvUsdVault, unlockedVault: yvUsdUnlockedVault, lockedVault: yvUsdLockedVault } = useYvUsdVaults() const [sortBy, setSortBy] = useState('deposited') const [sortDirection, setSortDirection] = useState('desc') - const vaultLookup = useMemo( - () => - new Map( - Object.values(vaults).flatMap((vault) => { - const entries: [string, TKongVault][] = [[getVaultKey(vault), vault]] - const staking = getVaultStaking(vault) - if (staking?.available && staking.address) { - entries.push([getChainAddressKey(getVaultChainID(vault), staking.address), vault]) - } - return entries - }) - ), - [vaults] - ) + const yvUsdPosition = useMemo(() => { + const unlockedBalance = getBalance({ address: YVUSD_UNLOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }) + const lockedBalance = getBalance({ address: YVUSD_LOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }) + const unlockedValue = unlockedBalance.normalized * getYvUsdSharePrice(yvUsdUnlockedVault) + const lockedValue = lockedBalance.normalized * getYvUsdSharePrice(yvUsdLockedVault) + + return { + blendedCurrentApy: getWeightedYvUsdApy({ + unlockedValue, + lockedValue, + unlockedApy: yvUsdUnlockedVault ? calculateVaultEstimatedAPY(yvUsdUnlockedVault) || null : null, + lockedApy: yvUsdLockedVault ? calculateVaultEstimatedAPY(yvUsdLockedVault) || null : null + }), + blendedHistoricalApy: getWeightedYvUsdApy({ + unlockedValue, + lockedValue, + unlockedApy: yvUsdUnlockedVault ? calculateVaultHistoricalAPY(yvUsdUnlockedVault) : null, + lockedApy: yvUsdLockedVault ? calculateVaultHistoricalAPY(yvUsdLockedVault) : null + }), + combinedValue: unlockedValue + lockedValue, + hasHoldings: unlockedBalance.raw > 0n || lockedBalance.raw > 0n + } + }, [getBalance, yvUsdLockedVault, yvUsdUnlockedVault]) + + const vaultLookup = useMemo(() => { + const map = new Map() + + Object.values(vaults).forEach((vault) => { + if (isYvUsdAddress(getVaultAddress(vault))) { + return + } + const vaultKey = getVaultKey(vault) + map.set(vaultKey, vault) + + const staking = getVaultStaking(vault) + if (staking?.available && staking.address) { + const stakingKey = getChainAddressKey(getVaultChainID(vault), staking.address) + map.set(stakingKey, vault) + } + }) + + return map + }, [vaults]) const holdingsVaults = useMemo(() => { - const allMatched = Object.entries(balances || {}).flatMap(([chainIDKey, perChain]) => { + const result: TKongVaultInput[] = [] + const seen = new Set() + + Object.entries(balances || {}).forEach(([chainIDKey, perChain]) => { const parsedChainID = Number(chainIDKey) const chainID = Number.isFinite(parsedChainID) ? parsedChainID : undefined - return Object.values(perChain || {}) - .filter((token) => token?.balance && token.balance.raw > 0n) - .flatMap((token) => { - const vault = vaultLookup.get(getChainAddressKey(chainID ?? token.chainID, token.address)) - return vault ? [vault] : [] - }) + Object.values(perChain || {}).forEach((token) => { + if (!token?.balance || token.balance.raw <= 0n) { + return + } + if (isYvUsdAddress(token.address)) { + return + } + const tokenChainID = chainID ?? token.chainID + const tokenKey = getChainAddressKey(tokenChainID, token.address) + const vault = vaultLookup.get(tokenKey) + if (!vault) { + return + } + const vaultKey = getVaultKey(vault) + if (seen.has(vaultKey)) { + return + } + seen.add(vaultKey) + result.push(vault) + }) }) - const seen = new Set() - return allMatched.filter((vault) => { + if (yvUsdVault && yvUsdPosition.hasHoldings) { + result.push(yvUsdVault) + } + + return result + }, [balances, vaultLookup, yvUsdPosition.hasHoldings, yvUsdVault]) + + const vaultFlags = useMemo(() => { + const flags: Record = {} + + holdingsVaults.forEach((vault) => { const key = getVaultKey(vault) - if (seen.has(key)) return false - seen.add(key) - return true + const info = getVaultInfo(vault) + const migration = getVaultMigration(vault) + flags[key] = { + hasHoldings: true, + isMigratable: Boolean(migration?.available), + isRetired: Boolean(info?.isRetired), + isHidden: Boolean(info?.isHidden) + } }) - }, [balances, vaultLookup]) - const vaultFlags = useMemo( - () => - Object.fromEntries( - holdingsVaults.map((vault) => { - const info = getVaultInfo(vault) - const migration = getVaultMigration(vault) - return [ - getVaultKey(vault), - { - hasHoldings: true, - isMigratable: Boolean(migration?.available), - isRetired: Boolean(info?.isRetired), - isHidden: Boolean(info?.isHidden) - } - ] - }) - ) as Record, - [holdingsVaults] - ) + return flags + }, [holdingsVaults]) const isSearchingBalances = (isActive || isUserConnecting) && (isWalletLoading || isUserConnecting || isIdentityLoading) @@ -175,9 +242,7 @@ export function usePortfolioModel(): TPortfolioModel { sortedHoldings.map((vault) => ({ key: getVaultKey(vault), vault, - hrefOverride: isPortfolioV3Vault(vault) - ? undefined - : `/vaults/${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}` + hrefOverride: getPortfolioRowHref(vault) })), [sortedHoldings] ) @@ -227,51 +292,62 @@ export function usePortfolioModel(): TPortfolioModel { ) const totalPortfolioValue = (cumulatedValueInV2Vaults || 0) + (cumulatedValueInV3Vaults || 0) - const getVaultEstimatedAPY = useMemo( - () => - (vault: (typeof holdingsVaults)[number]): number | null => { - const apy = calculateVaultEstimatedAPY(vault) - return apy === 0 ? null : apy - }, - [] + const getVaultEstimatedAPY = useCallback( + (vault: (typeof holdingsVaults)[number]): number | null => { + if (isYvUsdVault(vault)) { + return yvUsdPosition.blendedCurrentApy + } + + const apy = calculateVaultEstimatedAPY(vault) + return apy === 0 ? null : apy + }, + [yvUsdPosition.blendedCurrentApy] ) - const getVaultHistoricalAPY = useMemo( - () => - (vault: (typeof holdingsVaults)[number]): number | null => { - return calculateVaultHistoricalAPY(vault) - }, - [] + const getVaultHistoricalAPY = useCallback( + (vault: (typeof holdingsVaults)[number]): number | null => { + if (isYvUsdVault(vault)) { + return yvUsdPosition.blendedHistoricalApy + } + + return calculateVaultHistoricalAPY(vault) + }, + [yvUsdPosition.blendedHistoricalApy] ) - const getVaultValue = useMemo( - () => - (vault: (typeof holdingsVaults)[number]): number => { - const chainID = getVaultChainID(vault) - const address = getVaultAddress(vault) - const staking = getVaultStaking(vault) + const getVaultValue = useCallback( + (vault: (typeof holdingsVaults)[number]): number => { + if (isYvUsdVault(vault)) { + return yvUsdPosition.combinedValue + } - const shareBalance = getBalance({ - address, - chainID - }) - const price = getPrice({ - address, + const chainID = getVaultChainID(vault) + const address = getVaultAddress(vault) + const staking = getVaultStaking(vault) + + const shareBalance = getBalance({ + address, + chainID + }) + const price = getPrice({ + address, + chainID + }) + const baseValue = shareBalance.normalized * price.normalized + + if (!staking?.available || !staking.address) { + return baseValue + } + + const stakingValue = + getBalance({ + address: staking.address, chainID - }) - const baseValue = shareBalance.normalized * price.normalized - - const stakingValue = - staking?.available && staking.address - ? getBalance({ - address: staking.address, - chainID - }).normalized * price.normalized - : 0 - - return baseValue + stakingValue - }, - [getBalance, getPrice] + }).normalized * price.normalized + + return baseValue + stakingValue + }, + [getBalance, getPrice, yvUsdPosition.combinedValue] ) const blendedMetrics = useMemo(() => { diff --git a/src/components/pages/vaults/[chainID]/[address].tsx b/src/components/pages/vaults/[chainID]/[address].tsx index 637b9764b..9fd367103 100644 --- a/src/components/pages/vaults/[chainID]/[address].tsx +++ b/src/components/pages/vaults/[chainID]/[address].tsx @@ -1,19 +1,28 @@ import Link from '@components/Link' import { useScrollSpy } from '@hooks/useScrollSpy' import { BottomDrawer } from '@pages/vaults/components/detail/BottomDrawer' -import { MobileKeyMetrics } from '@pages/vaults/components/detail/QuickStatsGrid' +import { + DESKTOP_WIDGET_BOTTOM_PADDING_PX, + DESKTOP_WIDGET_OFFSET_CSS_VAR, + getDesktopWidgetHeightClassNames, + resolveDesktopWidgetHeaderOffset +} from '@pages/vaults/components/detail/desktopWidgetSizing' +import { MobileKeyMetrics, YvUsdApyStatBox } from '@pages/vaults/components/detail/QuickStatsGrid' import { VaultAboutSection } from '@pages/vaults/components/detail/VaultAboutSection' import { VaultChartsSection } from '@pages/vaults/components/detail/VaultChartsSection' -import { VaultDetailsHeader } from '@pages/vaults/components/detail/VaultDetailsHeader' +import { VaultDetailsHeader, VaultDetailsHeaderPresentation } from '@pages/vaults/components/detail/VaultDetailsHeader' import { VaultInfoSection } from '@pages/vaults/components/detail/VaultInfoSection' import { VaultRiskSection } from '@pages/vaults/components/detail/VaultRiskSection' import { VaultStrategiesSection } from '@pages/vaults/components/detail/VaultStrategiesSection' +import { YvUsdChartsSection } from '@pages/vaults/components/detail/YvUsdChartsSection' import { VaultDetailsWelcomeTour } from '@pages/vaults/components/tour/VaultDetailsWelcomeTour' import type { TWidgetRef } from '@pages/vaults/components/widget' import { Widget } from '@pages/vaults/components/widget' import { MobileDrawerSettingsButton } from '@pages/vaults/components/widget/MobileDrawerSettingsButton' import { WidgetRewards } from '@pages/vaults/components/widget/rewards' import { WalletPanel } from '@pages/vaults/components/widget/WalletPanel' +import { YvUsdWidget } from '@pages/vaults/components/widget/yvUSD/YvUsdWidget' +import { YvUsdHeaderBanner } from '@pages/vaults/components/yvUSD/YvUsdHeaderBanner' import { getVaultView, type TKongVault, type TKongVaultView } from '@pages/vaults/domain/kongVaultSelectors' import { mergeYBoldSnapshot, @@ -21,25 +30,33 @@ import { YBOLD_STAKING_ADDRESS, YBOLD_VAULT_ADDRESS } from '@pages/vaults/domain/normalizeVault' -import { useEnsoEnabled } from '@pages/vaults/hooks/useEnsoEnabled' import { useVaultSnapshot } from '@pages/vaults/hooks/useVaultSnapshot' import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import { WidgetActionType } from '@pages/vaults/types' +import { + getYvUsdSharePrice, + isYvUsdAddress, + type TYvUsdVariant, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { Breadcrumbs } from '@shared/components/Breadcrumbs' -import { ImageWithFallback } from '@shared/components/ImageWithFallback' +import { TokenLogo } from '@shared/components/TokenLogo' import { useWallet } from '@shared/contexts/useWallet' import { useYearn } from '@shared/contexts/useYearn' import { IconChevron } from '@shared/icons/IconChevron' -import type { TToken } from '@shared/types' -import { cl, isZeroAddress, toAddress } from '@shared/utils' +import { cl, isZeroAddress, toAddress, toNormalizedBN } from '@shared/utils' import { getVaultName } from '@shared/utils/helpers' import type { TKongVaultSnapshot } from '@shared/utils/schemas/kongVaultSnapshotSchema' import type { ReactElement } from 'react' import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from 'react' -import { useParams } from 'react-router' +import { useLocation, useNavigate, useParams } from 'react-router' import { isAddressEqual } from 'viem' import { VaultsListChip } from '@/components/pages/vaults/components/list/VaultsListChip' import { deriveListKind } from '@/components/pages/vaults/utils/vaultListFacets' +import { getVaultPrimaryLogoSrc } from '@/components/pages/vaults/utils/vaultLogo' import { getCategoryDescription, getProductTypeDescription } from '@/components/pages/vaults/utils/vaultTagCopy' import { useWeb3 } from '@/components/shared/contexts/useWeb3' import { useDevFlags } from '@/contexts/useDevFlags' @@ -63,6 +80,8 @@ const resolveHeaderOffset = (): number => { return Number.isNaN(nextOffset) ? 0 : nextOffset } +const desktopWidgetHeightClassNames = getDesktopWidgetHeightClassNames() + const RETIRED_VAULT_ALERT_MESSAGES = { noFunds: 'This vault is retired.', sternMigration: 'This vault is retired. Please withdraw or migrate your funds.', @@ -214,16 +233,91 @@ function RetiredVaultAlert({ message, className }: { message: string; className: ) } +function YvUsdMobileKeyMetrics({ + currentVault, + apyVariant, + onApyVariantChange +}: { + currentVault: TKongVaultView + apyVariant: TYvUsdVariant + onApyVariantChange: (variant: TYvUsdVariant) => void +}): ReactElement { + const { address } = useWeb3() + const { getPrice } = useYearn() + const { metrics, unlockedVault, lockedVault } = useYvUsdVaults() + const account = address ? toAddress(address) : undefined + const unlockedAssetAddress = toAddress(unlockedVault?.token.address ?? YVUSD_UNLOCKED_ADDRESS) + + const unlockedUserData = useVaultUserData({ + vaultAddress: toAddress(unlockedVault?.address ?? YVUSD_UNLOCKED_ADDRESS), + assetAddress: unlockedAssetAddress, + chainId: YVUSD_CHAIN_ID, + account + }) + const lockedUserData = useVaultUserData({ + vaultAddress: toAddress(lockedVault?.address ?? YVUSD_LOCKED_ADDRESS), + assetAddress: YVUSD_UNLOCKED_ADDRESS, + chainId: YVUSD_CHAIN_ID, + account + }) + + const unlockedNormalized = toNormalizedBN( + unlockedUserData.depositedValue, + unlockedUserData.assetToken?.decimals ?? 6 + ).normalized + const lockedNormalized = toNormalizedBN( + lockedUserData.depositedValue, + lockedUserData.assetToken?.decimals ?? 18 + ).normalized + const unlockedAssetPrice = + getPrice({ address: unlockedAssetAddress, chainID: YVUSD_CHAIN_ID }).normalized || unlockedVault?.tvl.price || 0 + const unlockedSharePrice = getYvUsdSharePrice(unlockedVault, unlockedAssetPrice) + const depositedUsdValue = unlockedNormalized * unlockedAssetPrice + lockedNormalized * unlockedSharePrice + const unlockedApy = metrics?.unlocked.apy ?? currentVault.apr.forwardAPR.netAPR ?? currentVault.apr.netAPR ?? 0 + const lockedApy = metrics?.locked.apy ?? lockedVault?.apr.forwardAPR.netAPR ?? lockedVault?.apr.netAPR ?? 0 + + return ( + + } + /> + ) +} + function Index(): ReactElement | null { type SectionKey = 'charts' | 'about' | 'risk' | 'strategies' | 'info' const { headerDisplayMode } = useDevFlags() const mobileDetailsSectionId = useId() const params = useParams() + const location = useLocation() + const navigate = useNavigate() const chainId = Number(params.chainID) const { getBalance, onRefresh } = useWallet() const { address } = useWeb3() const { vaults, isLoadingVaultList, enableVaultListFetch } = useYearn() + const { + listVault: yvUsdVault, + unlockedVault: yvUsdUnlockedVault, + lockedVault: yvUsdLockedVault, + isLoading: isLoadingYvUsd + } = useYvUsdVaults() + const isYvUsd = isYvUsdAddress(params.address) + const isLockedYvUsdRoute = + chainId === YVUSD_CHAIN_ID && params.address ? toAddress(params.address) === YVUSD_LOCKED_ADDRESS : false + const unlockedYvUsdPath = `/vaults/${YVUSD_CHAIN_ID}/${YVUSD_UNLOCKED_ADDRESS}${location.search}${location.hash}` const vaultKey = `${params.chainID}-${params.address}` const [isMobileDrawerOpen, setIsMobileDrawerOpen] = useState(false) const [mobileDrawerAction, setMobileDrawerAction] = useState(WidgetActionType.Deposit) @@ -232,6 +326,7 @@ function Index(): ReactElement | null { const mobileDrawerPanelRef = useRef(null) const detailsRef = useRef(null) const headerRef = useRef(null) + const compressedHeaderMeasureRef = useRef(null) const sectionSelectorRef = useRef(null) const widgetRef = useRef(null) const widgetContainerRef = useRef(null) @@ -270,9 +365,9 @@ function Index(): ReactElement | null { const [activeSection, setActiveSection] = useState('charts') const [sectionScrollOffset, setSectionScrollOffset] = useState(0) const [isHeaderCompressed, setIsHeaderCompressed] = useState(false) - const initialHeaderOffsetRef = useRef(null) + const [yvUsdApyVariant, setYvUsdApyVariant] = useState('locked') + const isCollapsibleMode = headerDisplayMode === 'collapsible' const scrollPadding = 16 - const widgetBottomPadding = 16 const updateSectionScrollOffset = useCallback((): number => { if (typeof window === 'undefined') return 0 const baseOffset = resolveHeaderOffset() @@ -289,36 +384,11 @@ function Index(): ReactElement | null { const [hasTriggeredVaultListFetch, setHasTriggeredVaultListFetch] = useState(false) useEffect(() => { - void vaultKey - initialHeaderOffsetRef.current = null - if (typeof window !== 'undefined') { - document.documentElement.style.removeProperty('--vault-header-initial-offset') - } - }, [vaultKey]) - - useEffect(() => { - if (typeof window === 'undefined') return - void vaultKey - let frame = 0 - const captureInitialOffset = (): void => { - if (initialHeaderOffsetRef.current !== null) return - if (window.scrollY > 0) return - const baseOffset = resolveHeaderOffset() - const headerHeight = headerRef.current?.getBoundingClientRect().height ?? 0 - if (headerHeight <= 0) { - frame = requestAnimationFrame(captureInitialOffset) - return - } - const paddedOffset = Math.round(baseOffset + headerHeight + widgetBottomPadding) - initialHeaderOffsetRef.current = paddedOffset - document.documentElement.style.setProperty('--vault-header-initial-offset', `${paddedOffset}px`) - } - - frame = requestAnimationFrame(captureInitialOffset) - return (): void => { - if (frame) cancelAnimationFrame(frame) + if (!isLockedYvUsdRoute) { + return } - }, [vaultKey]) + navigate(unlockedYvUsdPath, { replace: true }) + }, [isLockedYvUsdRoute, navigate, unlockedYvUsdPath]) const baseVault = useMemo(() => { if (!params.address) return undefined @@ -340,10 +410,11 @@ function Index(): ReactElement | null { const isSnapshotNotFound = (snapshotError as any)?.response?.status === 404 const isYBold = useMemo(() => { + if (isYvUsd) return false if (!baseVault?.address && !params.address) return false const resolvedAddress = toAddress(baseVault?.address ?? params.address ?? '0x') return isAddressEqual(resolvedAddress, YBOLD_VAULT_ADDRESS) - }, [baseVault?.address, params.address]) + }, [isYvUsd, baseVault?.address, params.address]) const yBoldStakingVault = useMemo(() => { if (!isYBold) return undefined @@ -396,12 +467,17 @@ function Index(): ReactElement | null { }, [snapshotShouldDisableStaking, isFactoryVault]) const currentVault = useMemo(() => { + if (isYvUsd) { + return yvUsdVault ?? yvUsdUnlockedVault ?? yvUsdLockedVault + } if (!vaultViewInput) return undefined return getVaultView(vaultViewInput, mergedSnapshot) - }, [vaultViewInput, mergedSnapshot]) - const ensoEnabledForVault = useEnsoEnabled({ chainId, vaultAddress: currentVault?.address }) + }, [isYvUsd, yvUsdVault, yvUsdUnlockedVault, yvUsdLockedVault, vaultViewInput, mergedSnapshot]) - const isLoadingVault = !currentVault && (isLoadingSnapshotVault || (isLoadingVaultList && !isSnapshotNotFound)) + const shouldBootstrapYvUsdVaultList = isYvUsd && !hasVaultList && !hasTriggeredVaultListFetch + const isLoadingVault = isYvUsd + ? isLoadingYvUsd || shouldBootstrapYvUsdVaultList + : !currentVault && (isLoadingSnapshotVault || (isLoadingVaultList && !isSnapshotNotFound)) const vaultUserData = useVaultUserData({ vaultAddress: toAddress(currentVault?.address ?? '0x'), @@ -412,13 +488,16 @@ function Index(): ReactElement | null { }) useEffect(() => { - if (hasTriggeredVaultListFetch || hasVaultList || !snapshotVault) { + if (hasTriggeredVaultListFetch || hasVaultList) { + return + } + if (!isYvUsd && !snapshotVault) { return } setHasTriggeredVaultListFetch(true) const frame = requestAnimationFrame(() => enableVaultListFetch()) return () => cancelAnimationFrame(frame) - }, [enableVaultListFetch, hasTriggeredVaultListFetch, hasVaultList, snapshotVault]) + }, [enableVaultListFetch, hasTriggeredVaultListFetch, hasVaultList, isYvUsd, snapshotVault]) const vaultShareBalance = !!address && currentVault?.address && Number.isInteger(currentVault?.chainID) @@ -452,7 +531,6 @@ function Index(): ReactElement | null { const [isWidgetWalletOpen, setIsWidgetWalletOpen] = useState(false) const [isWidgetRewardsOpen, setIsWidgetRewardsOpen] = useState(false) const [collapsedWidgetHeight, setCollapsedWidgetHeight] = useState(null) - const [isShortViewport, setIsShortViewport] = useState(false) const [isCompactWidget, setIsCompactWidget] = useState(false) const [shouldShowWidgetRewards, setShouldShowWidgetRewards] = useState(true) const [vaultTourState, setVaultTourState] = useState<{ isOpen: boolean; stepId?: string }>({ isOpen: false }) @@ -463,11 +541,6 @@ function Index(): ReactElement | null { isRewardsOpen: boolean } | null>(null) const tourSectionsRef = useRef | null>(null) - const [depositPrefill, setDepositPrefill] = useState<{ - address: `0x${string}` - chainId: number - amount?: string - } | null>(null) useEffect(() => { setWidgetMode((previous) => (widgetActions.includes(previous) ? previous : widgetActions[0])) @@ -479,16 +552,6 @@ function Index(): ReactElement | null { } }, [mobileDrawerAction, widgetActions]) - useEffect(() => { - if (typeof window === 'undefined') return - const updateViewport = (): void => { - setIsShortViewport(window.innerHeight < 890) - } - updateViewport() - window.addEventListener('resize', updateViewport) - return (): void => window.removeEventListener('resize', updateViewport) - }, []) - useEffect(() => { if (typeof window === 'undefined') return const updateViewport = (): void => { @@ -643,23 +706,6 @@ function Index(): ReactElement | null { setIsWidgetSettingsOpen(false) } - const handleZapTokenSelect = useCallback( - (token: TToken): void => { - if (!widgetActions.includes(WidgetActionType.Deposit)) { - return - } - setIsWidgetSettingsOpen(false) - setIsWidgetWalletOpen(false) - setIsWidgetRewardsOpen(false) - setWidgetMode(WidgetActionType.Deposit) - setDepositPrefill({ - address: toAddress(token.address), - chainId: token.chainID - }) - }, - [widgetActions] - ) - const handleRewardsClaimSuccess = useCallback(() => { if (!currentVault) { return @@ -699,7 +745,9 @@ function Index(): ReactElement | null { key: 'charts' as const, shouldRender: Number.isInteger(chainId), ref: sectionRefs.charts, - content: ( + content: isYvUsd ? ( + + ) : ( } ] - }, [chainId, currentVault, sectionRefs, snapshotVault?.inceptTime]) + }, [chainId, currentVault, isYvUsd, sectionRefs, snapshotVault?.inceptTime]) const renderableSections = useMemo(() => sections.filter((section) => section.shouldRender), [sections]) const sectionTabs = renderableSections.map((section) => ({ @@ -864,6 +912,67 @@ function Index(): ReactElement | null { } }, [updateSectionScrollOffset]) + useLayoutEffect(() => { + if (typeof window === 'undefined') return + + const measuredElement = isCollapsibleMode ? compressedHeaderMeasureRef.current : headerRef.current + const fallbackElement = headerRef.current + let frame = 0 + + const updateCompressedOffset = (): void => { + const baseOffset = resolveHeaderOffset() + const primaryHeight = measuredElement?.getBoundingClientRect().height ?? 0 + const fallbackHeight = fallbackElement?.getBoundingClientRect().height ?? 0 + const nextOffset = resolveDesktopWidgetHeaderOffset({ + baseOffset, + headerHeight: primaryHeight > 0 ? primaryHeight : fallbackHeight, + bottomPadding: DESKTOP_WIDGET_BOTTOM_PADDING_PX + }) + + if (nextOffset === null) { + return + } + + document.documentElement.style.setProperty(DESKTOP_WIDGET_OFFSET_CSS_VAR, `${nextOffset}px`) + } + + const scheduleUpdate = (): void => { + if (frame) cancelAnimationFrame(frame) + frame = requestAnimationFrame(updateCompressedOffset) + } + + updateCompressedOffset() + window.addEventListener('resize', scheduleUpdate) + + if (typeof ResizeObserver === 'undefined') { + return (): void => { + if (frame) cancelAnimationFrame(frame) + window.removeEventListener('resize', scheduleUpdate) + } + } + + const observer = new ResizeObserver(scheduleUpdate) + if (measuredElement) { + observer.observe(measuredElement) + } + if (fallbackElement && fallbackElement !== measuredElement) { + observer.observe(fallbackElement) + } + + return (): void => { + if (frame) cancelAnimationFrame(frame) + observer.disconnect() + window.removeEventListener('resize', scheduleUpdate) + } + }, [currentVault?.address, isCollapsibleMode, vaultKey]) + + useEffect(() => { + return (): void => { + if (typeof window === 'undefined') return + document.documentElement.style.removeProperty(DESKTOP_WIDGET_OFFSET_CSS_VAR) + } + }, []) + const handleSelectSection = useCallback( (key: SectionKey): void => { setActiveSection(key) @@ -944,12 +1053,13 @@ function Index(): ReactElement | null { }, [isMobileDrawerOpen, mobileDrawerAction, hideMobileDrawerTabs]) useEffect(() => { + if (isYvUsd) return if (isMobileDrawerOpen && mobileWidgetRef.current) { mobileWidgetRef.current.setMode(mobileDrawerAction) } - }, [isMobileDrawerOpen, mobileDrawerAction]) + }, [isMobileDrawerOpen, mobileDrawerAction, isYvUsd]) - if (isLoadingVault || !params.address) { + if (isLockedYvUsdRoute || isLoadingVault || !params.address) { return (

    @@ -982,6 +1092,8 @@ function Index(): ReactElement | null { ) } + const resolvedCurrentVault = currentVault + function getMobileProductTypeLabel(): string { if (mobileListKind === 'allocator' || mobileListKind === 'strategy') return 'Single Asset' if (mobileListKind === 'legacy') return 'Legacy' @@ -998,15 +1110,97 @@ function Index(): ReactElement | null { } } - const isCollapsibleMode = headerDisplayMode === 'collapsible' const headerStickyTop = 'var(--header-height)' const resolvedWidgetMode = widgetActions.includes(widgetMode) ? widgetMode : widgetActions[0] const shouldCollapseWidgetDetails = isCompactWidget - const mobileListKind = deriveListKind(currentVault) + const mobileListKind = deriveListKind(resolvedCurrentVault) const mobileProductTypeLabel = getMobileProductTypeLabel() const widgetModeLabel = getWidgetModeLabel(resolvedWidgetMode) const collapsedWidgetTitle = isWidgetWalletOpen ? 'My Info' : widgetModeLabel + function renderDetailCharts(chartHeightPx: number, chartHeightMdPx: number): ReactElement { + if (isYvUsd) { + return + } + + return ( + + ) + } + + function renderDesktopWidget(): ReactElement { + if (isYvUsd) { + return ( + + ) + } + + return ( + + ) + } + + function renderMobileWidget(): ReactElement { + if (isYvUsd) { + return ( + + ) + } + + return ( + + ) + } + return (
    + {isCollapsibleMode ? ( + + ) : null} +
    + {isYvUsd ? : null}
    - @@ -1083,11 +1309,19 @@ function Index(): ReactElement | null {
    - + {isYvUsd ? ( + + ) : ( + + )} {isRetired && retiredVaultAlertMessage ? ( @@ -1095,12 +1329,7 @@ function Index(): ReactElement | null { {Number.isInteger(chainId) && (
    - + {renderDetailCharts(180, 230)}
    )} @@ -1149,9 +1378,7 @@ function Index(): ReactElement | null { 'order-1 md:order-2', 'md:col-span-7 md:col-start-14 md:sticky pt-4', 'flex flex-col overflow-hidden', - isShortViewport - ? 'md:h-[calc(100vh-0.75rem-(var(--vault-header-height)+20px))] max-h-[calc(100vh-0.75rem-(var(--vault-header-height)+20px))]' - : 'md:h-[calc(100vh-var(--vault-header-initial-offset)-16px)] max-h-[calc(100vh-var(--vault-header-initial-offset)-16px)]' + desktopWidgetHeightClassNames.container )} style={{ top: 'var(--vault-header-height, var(--header-height))' }} > @@ -1159,9 +1386,7 @@ function Index(): ReactElement | null { ref={widgetStackRef} className={cl( 'relative grid w-full min-w-0 flex-1 min-h-0 overflow-hidden', - isShortViewport - ? 'max-h-[calc(100vh-16px-(var(--vault-header-height,var(--header-height))-16px))]' - : 'max-h-[calc(100vh-16px-var(--vault-header-initial-offset))]', + desktopWidgetHeightClassNames.stack, isWidgetRewardsOpen ? 'grid-rows-[auto_minmax(0,1fr)]' : 'grid-rows-[minmax(0,1fr)_auto]' )} style={isWidgetRewardsOpen && collapsedWidgetHeight ? { height: collapsedWidgetHeight } : undefined} @@ -1181,24 +1406,7 @@ function Index(): ReactElement | null { className={cl('flex flex-col min-h-0', isWidgetPanelActive ? 'flex' : 'hidden')} aria-hidden={!isWidgetPanelActive} > - setDepositPrefill(null)} - collapseDetails={shouldCollapseWidgetDetails} - /> + {renderDesktopWidget()}
    )}
    {shouldShowWidgetRewards ? ( @@ -1334,25 +1540,10 @@ function Index(): ReactElement | null { isOpen={isMobileDrawerOpen} onClose={() => setIsMobileDrawerOpen(false)} title={currentVault.name} - headerActions={} + headerActions={isYvUsd ? undefined : } panelRef={mobileDrawerPanelRef} > - + {renderMobileWidget()}
    diff --git a/src/components/pages/vaults/components/detail/QuickStatsGrid.test.tsx b/src/components/pages/vaults/components/detail/QuickStatsGrid.test.tsx new file mode 100644 index 000000000..48e4920a1 --- /dev/null +++ b/src/components/pages/vaults/components/detail/QuickStatsGrid.test.tsx @@ -0,0 +1,107 @@ +import type { ReactNode } from 'react' +import { renderToStaticMarkup } from 'react-dom/server' +import { describe, expect, it, vi } from 'vitest' +import { MobileKeyMetrics, YvUsdApyStatBox } from './QuickStatsGrid' + +vi.mock('@shared/contexts/useWeb3', () => ({ + useWeb3: () => ({ + address: undefined, + isActive: false + }) +})) + +vi.mock('@pages/vaults/components/table/VaultForwardAPY', () => ({ + VaultForwardAPY: () =>
    {'Default APY'}
    +})) + +vi.mock('@pages/vaults/components/table/APYDetailsModal', () => ({ + APYDetailsModal: ({ isOpen, title, children }: { isOpen: boolean; title: string; children: ReactNode }) => + isOpen ? ( +
    +

    {title}

    + {children} +
    + ) : null +})) + +const TEST_VAULT = { + version: '3.0.0', + chainID: 1, + address: '0x0000000000000000000000000000000000000001', + name: 'Test Vault', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'TKN', + decimals: 6 + }, + tvl: { + tvl: 1234 + } +} + +describe('MobileKeyMetrics', () => { + it('renders a custom APY box override when provided', () => { + const html = renderToStaticMarkup( + {'Custom APY'}
    } + /> + ) + + expect(html).toContain('Custom APY') + expect(html).not.toContain('Default APY') + }) +}) + +describe('YvUsdApyStatBox', () => { + it('renders the locked variant by default with the unlocked toggle affordance', () => { + const html = renderToStaticMarkup() + + expect(html).toContain('Locked') + expect(html).toContain('9.00%') + expect(html).toContain('Switch to unlocked APY display') + expect(html).not.toContain('data-testid="apy-modal"') + }) + + it('formats large APY values with the shared significant-digit rules', () => { + const html = renderToStaticMarkup() + + expect(html).toContain('118%') + expect(html).not.toContain('117.77%') + }) + + it('renders the controlled variant when provided', () => { + const html = renderToStaticMarkup( + + ) + + expect(html).toContain('Unlocked') + expect(html).toContain('5.00%') + expect(html).toContain('Switch to locked APY display') + }) + + it('shows the Infinifi points icon whenever yvUSD has points', () => { + const lockedHtml = renderToStaticMarkup( + + ) + const unlockedHtml = renderToStaticMarkup( + + ) + + expect(lockedHtml).toContain('aria-label="Infinifi points"') + expect(unlockedHtml).toContain('aria-label="Infinifi points"') + }) +}) diff --git a/src/components/pages/vaults/components/detail/QuickStatsGrid.tsx b/src/components/pages/vaults/components/detail/QuickStatsGrid.tsx index 7f952c29d..216cc236e 100644 --- a/src/components/pages/vaults/components/detail/QuickStatsGrid.tsx +++ b/src/components/pages/vaults/components/detail/QuickStatsGrid.tsx @@ -1,11 +1,17 @@ +import { APYDetailsModal } from '@pages/vaults/components/table/APYDetailsModal' import type { TVaultForwardAPYHandle } from '@pages/vaults/components/table/VaultForwardAPY' import { VaultForwardAPY } from '@pages/vaults/components/table/VaultForwardAPY' +import { YvUsdApyDetailsContent } from '@pages/vaults/components/yvUSD/YvUsdBreakdown' import { getVaultAPR, getVaultToken, getVaultTVL, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' import { useVaultApyData } from '@pages/vaults/hooks/useVaultApyData' +import { getYvUsdInfinifiPointsNote, type TYvUsdVariant } from '@pages/vaults/utils/yvUsd' import { useWeb3 } from '@shared/contexts/useWeb3' +import { IconInfinifiPoints } from '@shared/icons/IconInfinifiPoints' +import { IconLock } from '@shared/icons/IconLock' +import { IconLockOpen } from '@shared/icons/IconLockOpen' import { cl, formatApyDisplay, toNormalizedBN } from '@shared/utils' -import type { KeyboardEvent, ReactElement, ReactNode } from 'react' -import { useRef } from 'react' +import type { KeyboardEvent, MouseEvent, ReactElement, ReactNode } from 'react' +import { useRef, useState } from 'react' interface StatCardProps { label: string @@ -134,45 +140,56 @@ interface MobileKeyMetricsProps { currentVault: TKongVaultInput showSectionNav?: boolean depositedValue?: bigint + depositedUsdValue?: number tokenPrice: number + apyBox?: ReactElement } export function MobileKeyMetrics({ currentVault, showSectionNav = true, depositedValue, - tokenPrice + depositedUsdValue, + tokenPrice, + apyBox }: MobileKeyMetricsProps): ReactElement { const { address, isActive } = useWeb3() const forwardApyRef = useRef(null) const token = getVaultToken(currentVault) const tvl = getVaultTVL(currentVault) + const hasDepositedUsdOverride = isActive && address && typeof depositedUsdValue === 'number' && depositedUsdValue > 0 const hasVaultBalance = isActive && address && depositedValue !== undefined && depositedValue > 0n const depositedAmount = toNormalizedBN(depositedValue ?? 0n, token.decimals) - const depositUsdValue = depositedAmount.normalized * tokenPrice - const depositValue = hasVaultBalance ? formatUSD(depositUsdValue) : '$0.00' + const resolvedDepositedUsdValue = depositedAmount.normalized * tokenPrice + const depositValue = hasDepositedUsdOverride + ? formatUSD(depositedUsdValue) + : hasVaultBalance + ? formatUSD(resolvedDepositedUsdValue) + : '$0.00' return (
    - forwardApyRef.current?.openModal()} - value={ - - } - /> + {apyBox ?? ( + forwardApyRef.current?.openModal()} + value={ + + } + /> + )}
    @@ -186,3 +203,98 @@ export function MobileKeyMetrics({
    ) } + +export function YvUsdApyStatBox({ + lockedApy, + unlockedApy, + activeVariant, + onVariantChange, + lockedHasInfinifiPoints = false, + unlockedHasInfinifiPoints = false +}: { + lockedApy: number + unlockedApy: number + activeVariant?: TYvUsdVariant + onVariantChange?: (variant: TYvUsdVariant) => void + lockedHasInfinifiPoints?: boolean + unlockedHasInfinifiPoints?: boolean +}): ReactElement { + const [internalVariant, setInternalVariant] = useState('locked') + const [isModalOpen, setIsModalOpen] = useState(false) + const isControlledVariant = activeVariant !== undefined + const apyVariant = isControlledVariant ? activeVariant : internalVariant + const isLockedVariant = apyVariant === 'locked' + const selectedApy = isLockedVariant ? lockedApy : unlockedApy + const selectedLabel = isLockedVariant ? 'Locked' : 'Unlocked' + const toggleLabel = isLockedVariant ? 'Switch to unlocked APY display' : 'Switch to locked APY display' + const hasInfinifiPoints = lockedHasInfinifiPoints || unlockedHasInfinifiPoints + const infinifiPointsNote = hasInfinifiPoints ? getYvUsdInfinifiPointsNote() : undefined + + const handleToggle = (event: MouseEvent): void => { + event.preventDefault() + event.stopPropagation() + const nextVariant = apyVariant === 'locked' ? 'unlocked' : 'locked' + if (isControlledVariant) { + onVariantChange?.(nextVariant) + return + } + setInternalVariant(nextVariant) + } + + const handleCardKeyDown = (event: KeyboardEvent): void => { + if (event.target !== event.currentTarget) { + return + } + if (event.key !== 'Enter' && event.key !== ' ') { + return + } + event.preventDefault() + setIsModalOpen(true) + } + + return ( + <> + {/* biome-ignore lint/a11y/useSemanticElements: this card opens a modal while containing a nested variant toggle button */} +
    setIsModalOpen(true)} + onKeyDown={handleCardKeyDown} + > +

    {'Est. APY'}

    +
    + +
    + + {hasInfinifiPoints ? ( + + ) : null} + {formatApyDisplay(selectedApy)} + + {selectedLabel} +
    +
    +
    + setIsModalOpen(false)} title={'yvUSD APY'}> + + + + ) +} diff --git a/src/components/pages/vaults/components/detail/VaultDetailsHeader.tsx b/src/components/pages/vaults/components/detail/VaultDetailsHeader.tsx index 232c7f902..2bc8aba23 100755 --- a/src/components/pages/vaults/components/detail/VaultDetailsHeader.tsx +++ b/src/components/pages/vaults/components/detail/VaultDetailsHeader.tsx @@ -3,10 +3,15 @@ import { VaultForwardAPY } from '@pages/vaults/components/table/VaultForwardAPY' import { VaultHistoricalAPY } from '@pages/vaults/components/table/VaultHistoricalAPY' import { VaultTVL } from '@pages/vaults/components/table/VaultTVL' import { WidgetTabs } from '@pages/vaults/components/widget' +import { YvUsdApyTooltipContent, YvUsdTvlTooltipContent } from '@pages/vaults/components/yvUSD/YvUsdBreakdown' +import { YvUsdHeaderBanner } from '@pages/vaults/components/yvUSD/YvUsdHeaderBanner' import { getVaultView, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' import { useHeaderCompression } from '@pages/vaults/hooks/useHeaderCompression' +import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import type { WidgetActionType } from '@pages/vaults/types' import { deriveListKind } from '@pages/vaults/utils/vaultListFacets' +import { getVaultPrimaryLogoSrc } from '@pages/vaults/utils/vaultLogo' import { getCategoryDescription, getChainDescription, @@ -15,6 +20,15 @@ import { MIGRATABLE_TAG_DESCRIPTION, RETIRED_TAG_DESCRIPTION } from '@pages/vaults/utils/vaultTagCopy' +import { + getYvUsdInfinifiPointsNote, + getYvUsdSharePrice, + isYvUsdVault, + type TYvUsdVariant, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { METRIC_FOOTNOTE_CLASS, METRIC_VALUE_CLASS, @@ -24,56 +38,125 @@ import { } from '@shared/components/MetricsCard' import { RenderAmount } from '@shared/components/RenderAmount' import { TokenLogo } from '@shared/components/TokenLogo' +import { Tooltip } from '@shared/components/Tooltip' +import { useWeb3 } from '@shared/contexts/useWeb3' +import { useYearn } from '@shared/contexts/useYearn' +import { IconInfinifiPoints } from '@shared/icons/IconInfinifiPoints' import { IconLinkOut } from '@shared/icons/IconLinkOut' -import { cl, formatUSD, SELECTOR_BAR_STYLES, toNormalizedBN } from '@shared/utils' +import { IconLock } from '@shared/icons/IconLock' +import { IconLockOpen } from '@shared/icons/IconLockOpen' +import { cl, formatApyDisplay, formatUSD, isZero, SELECTOR_BAR_STYLES, toAddress, toNormalizedBN } from '@shared/utils' import { getVaultName } from '@shared/utils/helpers' import { getNetwork } from '@shared/utils/wagmi/utils' import type { ReactElement, Ref } from 'react' import { useEffect, useRef, useState } from 'react' import { Link } from 'react-router' +type TVaultKindType = 'multi' | 'single' | undefined + +function noop(): void {} + +function noopWidgetModeChange(_mode: WidgetActionType): void {} + +function noopSelectSection(_key: string): void {} + +function getVaultProductTypeLabel(listKind: ReturnType): string { + if (listKind === 'allocator' || listKind === 'strategy') { + return 'Single Asset' + } + + if (listKind === 'legacy') { + return 'Legacy' + } + + return 'LP Token' +} + +function getVaultKindType( + kind: string | null | undefined, + listKind: ReturnType +): TVaultKindType { + if (kind === 'Multi Strategy') { + return 'multi' + } + + if (kind === 'Single Strategy') { + return 'single' + } + + if (listKind === 'allocator') { + return 'multi' + } + + if (listKind === 'strategy') { + return 'single' + } + + return undefined +} + +function getVaultKindLabel(kindType: TVaultKindType, fallbackKind: string | null | undefined): string | undefined { + if (kindType === 'multi') { + return 'Allocator' + } + + if (kindType === 'single') { + return 'Strategy' + } + + return fallbackKind ?? undefined +} + +function getVaultLogoSize({ isCompressed, isYvUsd }: { isCompressed: boolean; isYvUsd: boolean }): number { + if (isYvUsd) { + return 40 + } + + return isCompressed ? 32 : 40 +} + +function getVaultLogoContainerSizeClassName({ + isCompressed, + isYvUsd +}: { + isCompressed: boolean + isYvUsd: boolean +}): string { + if (isYvUsd || !isCompressed) { + return 'size-10' + } + + return 'size-8' +} + +function getYvUsdHistoricalValue(monthAgo: number, weekAgo: number): number { + return isZero(monthAgo) ? weekAgo : monthAgo +} + function VaultHeaderIdentity({ currentVault: currentVaultInput, isCompressed, - className + className, + includeTourAttributes = true }: { currentVault: TKongVaultInput isCompressed: boolean className?: string + includeTourAttributes?: boolean }): ReactElement { const currentVault = getVaultView(currentVaultInput) const chainName = getNetwork(currentVault.chainID).name - const tokenLogoSrc = `${import.meta.env.VITE_BASE_YEARN_ASSETS_URI}/tokens/${ - currentVault.chainID - }/${currentVault.token.address.toLowerCase()}/logo-128.png` + const isYvUsd = isYvUsdVault(currentVault) + const tokenLogoSrc = getVaultPrimaryLogoSrc(currentVault) const chainLogoSrc = `${import.meta.env.VITE_BASE_YEARN_ASSETS_URI}/chains/${currentVault.chainID}/logo-32.png` const explorerBase = getNetwork(currentVault.chainID).defaultBlockExplorer const explorerHref = explorerBase ? `${explorerBase}/address/${currentVault.address}` : '' const showChainChip = !isCompressed const showCategoryChip = Boolean(currentVault.category) const listKind = deriveListKind(currentVault) - const isAllocatorVault = listKind === 'allocator' || listKind === 'strategy' - const isLegacyVault = listKind === 'legacy' - const productTypeLabel = isAllocatorVault ? 'Single Asset' : isLegacyVault ? 'Legacy' : 'LP Token' - - const baseKindType: 'multi' | 'single' | undefined = ((): 'multi' | 'single' | undefined => { - if (currentVault.kind === 'Multi Strategy') return 'multi' - if (currentVault.kind === 'Single Strategy') return 'single' - return undefined - })() - - const fallbackKindType: 'multi' | 'single' | undefined = ((): 'multi' | 'single' | undefined => { - if (listKind === 'allocator') return 'multi' - if (listKind === 'strategy') return 'single' - return undefined - })() - const kindType = baseKindType ?? fallbackKindType - - const kindLabel: string | undefined = ((): string | undefined => { - if (kindType === 'multi') return 'Allocator' - if (kindType === 'single') return 'Strategy' - return currentVault.kind - })() + const productTypeLabel = getVaultProductTypeLabel(listKind) + const kindType = getVaultKindType(currentVault.kind, listKind) + const kindLabel = getVaultKindLabel(kindType, currentVault.kind) const chainDescription = getChainDescription(currentVault.chainID) const categoryDescription = getCategoryDescription(currentVault.category) const productTypeDescription = getProductTypeDescription(listKind) @@ -87,6 +170,8 @@ function VaultHeaderIdentity({ const [isTitleClipped, setIsTitleClipped] = useState(false) const titleRef = useRef(null) const vaultName = getVaultName(currentVault) + const tokenLogoSize = getVaultLogoSize({ isCompressed, isYvUsd }) + const tokenLogoContainerSizeClassName = getVaultLogoContainerSizeClassName({ isCompressed, isYvUsd }) useEffect(() => { // Preload chain logo so it appears instantly when the chip mounts @@ -116,20 +201,20 @@ function VaultHeaderIdentity({ return (
    {isCompressed ? (
    void sectionSelectorRef?: Ref sectionTabs: { key: string; label: string }[] isCompressed: boolean + includeTourAttributes?: boolean }): ReactElement { return (
    void }): ReactElement { const currentVault = getVaultView(currentVaultInput) const totalAssets = toNormalizedBN(currentVault.tvl.totalAssets, currentVault.decimals).normalized const listKind = deriveListKind(currentVault) const isFactoryVault = listKind === 'factory' + const isYvUsd = isYvUsdVault(currentVault) + const [internalYvUsdApyVariant, setInternalYvUsdApyVariant] = useState('locked') + const { metrics: yvUsdMetrics, unlockedVault, lockedVault } = useYvUsdVaults() + const isControlledYvUsdApyVariant = controlledYvUsdApyVariant !== undefined + const yvUsdApyVariant = isControlledYvUsdApyVariant ? controlledYvUsdApyVariant : internalYvUsdApyVariant + const unlockedForwardApy = + yvUsdMetrics?.unlocked.apy ?? (currentVault.apr?.forwardAPR?.netAPR || currentVault.apr?.netAPR || 0) + const lockedForwardApy = yvUsdMetrics?.locked.apy ?? lockedVault?.apr?.forwardAPR?.netAPR ?? 0 + const unlockedMonthly = unlockedVault?.apr?.points?.monthAgo ?? currentVault.apr.points.monthAgo + const unlockedWeekly = unlockedVault?.apr?.points?.weekAgo ?? currentVault.apr.points.weekAgo + const unlockedHistorical = getYvUsdHistoricalValue(unlockedMonthly, unlockedWeekly) + const lockedMonthly = lockedVault?.apr?.points?.monthAgo ?? 0 + const lockedWeekly = lockedVault?.apr?.points?.weekAgo ?? 0 + const lockedHistorical = getYvUsdHistoricalValue(lockedMonthly, lockedWeekly) + const unlockedTvl = unlockedVault?.tvl?.tvl ?? yvUsdMetrics?.unlocked.tvl ?? 0 + const lockedTvl = lockedVault?.tvl?.tvl ?? yvUsdMetrics?.locked.tvl ?? 0 + const combinedTvl = currentVault.tvl?.tvl ?? unlockedTvl + lockedTvl + const isLockedApyVariant = yvUsdApyVariant === 'locked' + const selectedForwardApy = isLockedApyVariant ? lockedForwardApy : unlockedForwardApy + const selectedHistoricalApy = isLockedApyVariant ? lockedHistorical : unlockedHistorical + const hasInfinifiPoints = Boolean(yvUsdMetrics?.locked.hasInfinifiPoints || yvUsdMetrics?.unlocked.hasInfinifiPoints) + const infinifiPointsNote = hasInfinifiPoints ? getYvUsdInfinifiPointsNote() : undefined + const selectedApyIcon = isLockedApyVariant ? ( + + ) : ( + + ) + const apyToggleLabel = isLockedApyVariant ? 'Switch to unlocked APY display' : 'Switch to locked APY display' + const toggleApyVariant = (): void => { + const nextVariant = yvUsdApyVariant === 'locked' ? 'unlocked' : 'locked' + if (isControlledYvUsdApyVariant) { + onYvUsdApyVariantChange?.(nextVariant) + return + } + setInternalYvUsdApyVariant(nextVariant) + } + const renderYvUsdApyValue = (value: number): ReactElement => ( + + + {hasInfinifiPoints ? : null} + {formatApyDisplay(value)} + + ) + const yvUsdEstApyTooltip = isYvUsd ? ( + + ) : undefined + const yvUsdHistoricalApyTooltip = isYvUsd ? ( + + ) : undefined + const yvUsdTvlTooltip = isYvUsd ? ( + + ) : undefined const metrics: TMetricBlock[] = [ { key: 'est-apy', header: , - value: ( + value: isYvUsd ? ( + + {renderYvUsdApyValue(selectedForwardApy)} + + ) : ( , - value: ( + value: isYvUsd ? ( + + {renderYvUsdApyValue(selectedHistoricalApy)} + + ) : ( , - value: , - footnote: ( + value: isYvUsd ? ( + + + + ) : ( + + ), + footnote: isYvUsd ? ( + yvUsdTvlTooltip + ) : (

    +

    + ), + value: ( + + {formatUSD(totalValueUsd)} + + ), + footnote: ( +
    +
    + + + {'Locked Deposits'} + + +
    +
    + + + {'Unlocked Deposits'} + + +
    +
    + ) + } + ] + + return ( +
    + +
    + ) +} + function UserHoldingsCard({ currentVault: currentVaultInput, depositedValue, tokenPrice, - isCompressed + isCompressed, + includeTourAttributes = true }: { currentVault: TKongVaultInput depositedValue: bigint tokenPrice: number isCompressed: boolean + includeTourAttributes?: boolean }): ReactElement { const currentVault = getVaultView(currentVaultInput) + if (isYvUsdVault(currentVault)) { + return + } + const depositedAmount = toNormalizedBN(depositedValue, currentVault.token.decimals) const depositedValueUSD = depositedAmount.normalized * tokenPrice const sections: TMetricBlock[] = [ @@ -422,7 +725,7 @@ function UserHoldingsCard({ ] return ( -
    +
    void @@ -461,30 +749,42 @@ export function VaultDetailsHeader({ widgetActions?: WidgetActionType[] widgetMode?: WidgetActionType onWidgetModeChange?: (mode: WidgetActionType) => void - onCompressionChange?: (isCompressed: boolean) => void + onYvUsdApyVariantChange?: (variant: TYvUsdVariant) => void onWidgetWalletOpen?: () => void isWidgetWalletOpen?: boolean onWidgetCloseOverlays?: () => void -}): ReactElement { - const currentVault = getVaultView(currentVaultInput) - const [forceCompressed, setForceCompressed] = useState(false) - const { isCompressed } = useHeaderCompression({ enabled: isCollapsibleMode, forceCompressed }) - - useEffect(() => { - if (typeof window === 'undefined') return - const updateViewport = (): void => { - setForceCompressed(window.innerHeight < 890) - } - updateViewport() - window.addEventListener('resize', updateViewport) - return (): void => window.removeEventListener('resize', updateViewport) - }, []) +} - useEffect(() => { - onCompressionChange?.(isCompressed) - }, [isCompressed, onCompressionChange]) +type TVaultDetailsHeaderPresentationProps = TVaultDetailsHeaderBaseProps & { + isCompressed: boolean + includeTourAttributes?: boolean +} +export function VaultDetailsHeaderPresentation({ + currentVault: currentVaultInput, + depositedValue, + yvUsdApyVariant, + sectionTabs = [], + activeSectionKey, + onSelectSection, + sectionSelectorRef, + widgetActions = [], + widgetMode, + onWidgetModeChange, + onYvUsdApyVariantChange, + onWidgetWalletOpen, + isWidgetWalletOpen, + onWidgetCloseOverlays, + isCompressed, + includeTourAttributes = true +}: TVaultDetailsHeaderPresentationProps): ReactElement { + const currentVault = getVaultView(currentVaultInput) const tokenPrice = currentVault.tvl.price || 0 + const isYvUsd = isYvUsdVault(currentVault) + const handleSelectSection = onSelectSection ?? noopSelectSection + const handleWidgetModeChange = onWidgetModeChange ?? noopWidgetModeChange + const handleWidgetWalletOpen = onWidgetWalletOpen ?? noop + const handleWidgetCloseOverlays = onWidgetCloseOverlays ?? noop return (
    - +
    {sectionTabs.length > 0 ? (
    ) : null} @@ -534,25 +842,47 @@ export function VaultDetailsHeader({
    ) : ( <> - + {isYvUsd ? ( +
    + +
    + +
    +
    + ) : ( + + )}
    {' '} {/* step 2 should be here*/}
    - +
    {sectionTabs.length > 0 ? ( ) : null}
    @@ -573,20 +903,50 @@ export function VaultDetailsHeader({ depositedValue={depositedValue} tokenPrice={tokenPrice} isCompressed={isCompressed} + includeTourAttributes={includeTourAttributes} /> {widgetActions.length > 0 && widgetMode && onWidgetModeChange ? ( ) : null}
    ) } + +export function VaultDetailsHeader({ + isCollapsibleMode = true, + onCompressionChange, + ...presentationProps +}: TVaultDetailsHeaderBaseProps & { + isCollapsibleMode?: boolean + onCompressionChange?: (isCompressed: boolean) => void +}): ReactElement { + const [forceCompressed, setForceCompressed] = useState(false) + const { isCompressed } = useHeaderCompression({ enabled: isCollapsibleMode, forceCompressed }) + + useEffect(() => { + if (typeof window === 'undefined') return + const updateViewport = (): void => { + setForceCompressed(window.innerHeight < 890) + } + updateViewport() + window.addEventListener('resize', updateViewport) + return (): void => window.removeEventListener('resize', updateViewport) + }, []) + + useEffect(() => { + onCompressionChange?.(isCompressed) + }, [isCompressed, onCompressionChange]) + + return +} diff --git a/src/components/pages/vaults/components/detail/VaultInfoSection.tsx b/src/components/pages/vaults/components/detail/VaultInfoSection.tsx index bac7f71a3..a91e7a8dc 100644 --- a/src/components/pages/vaults/components/detail/VaultInfoSection.tsx +++ b/src/components/pages/vaults/components/detail/VaultInfoSection.tsx @@ -9,7 +9,9 @@ import { isAutomatedVault, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import { KONG_REST_BASE } from '@pages/vaults/utils/kongRest' +import { isYvUsdAddress, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' import { IconCopy } from '@shared/icons/IconCopy' import { IconLinkOut } from '@shared/icons/IconLinkOut' import { baseFetcher, isCurveHostUrl, isZeroAddress, normalizeCurveUrl, toAddress, truncateHex } from '@shared/utils' @@ -33,34 +35,73 @@ type TCurvePoolsApiResponse = { const CURVE_POOLS_CACHE_TTL_MS = 30 * 60 * 1000 const CURVE_POOLS_CACHE_GC_MS = 60 * 60 * 1000 const CURVE_POOLS_ENDPOINT = 'https://api.curve.finance/v1/getPools/all' +const INFO_LABEL_CLASS = 'w-full text-sm text-text-secondary md:w-auto md:pr-4' -export const extractCurvePools = (payload: unknown): TCurvePoolEntry[] => { +export function extractCurvePools(payload: unknown): TCurvePoolEntry[] { const poolData = (payload as TCurvePoolsApiResponse | null)?.data?.poolData return Array.isArray(poolData) ? (poolData as TCurvePoolEntry[]) : [] } -export const resolveCurveDepositUrl = (pools: TCurvePoolEntry[], tokenAddress: string): string => { +function normalizeCurvePoolAddress(address?: string): string | null { + return typeof address === 'string' ? toAddress(address) : null +} + +export function resolveCurveDepositUrl(pools: TCurvePoolEntry[], tokenAddress: string): string { const normalizedTarget = toAddress(tokenAddress) if (isZeroAddress(normalizedTarget)) { return '' } for (const pool of pools) { - const poolAddress = typeof pool?.address === 'string' ? toAddress(pool.address) : null - const poolLpAddress = typeof pool?.lpTokenAddress === 'string' ? toAddress(pool.lpTokenAddress) : null + const poolAddress = normalizeCurvePoolAddress(pool.address) + const poolLpAddress = normalizeCurvePoolAddress(pool.lpTokenAddress) if (poolAddress !== normalizedTarget && poolLpAddress !== normalizedTarget) { continue } - const urls = pool.poolUrls?.deposit ?? [] - if (Array.isArray(urls) && typeof urls[0] === 'string') { - return normalizeCurveUrl(urls[0]) + const [depositUrl] = pool.poolUrls?.deposit ?? [] + if (typeof depositUrl === 'string') { + return normalizeCurveUrl(depositUrl) } } return '' } +function getLiquidityUrl({ + isVelodrome, + isAerodrome, + tokenAddress +}: { + isVelodrome: boolean + isAerodrome: boolean + tokenAddress: string +}): string { + if (isVelodrome) { + return `https://velodrome.finance/liquidity?query=${tokenAddress}` + } + + if (isAerodrome) { + return `https://aerodrome.finance/liquidity?query=${tokenAddress}` + } + + return '' +} + +function getDeployedLabel(inceptTime?: number | null): string | null { + if (typeof inceptTime !== 'number' || !Number.isFinite(inceptTime) || inceptTime <= 0) { + return null + } + + const timestampMs = inceptTime > 1_000_000_000_000 ? inceptTime : inceptTime * 1000 + const deployedDate = new Date(timestampMs) + if (Number.isNaN(deployedDate.getTime())) { + return null + } + + return deployedDate.toLocaleString(undefined, { day: 'numeric', month: 'long', year: 'numeric' }) +} + function AddressLink({ address, explorerUrl, @@ -72,7 +113,7 @@ function AddressLink({ }): ReactElement { return (
    -

    {label}

    +

    {label}

    +
    +

    {'Unlocked Price Per Share'}

    +

    + {unlockedPricePerShare} +

    +
    +
    +

    {'Locked Price Per Share'}

    +

    + {lockedPricePerShare} +

    +
    + + ) +} + export function VaultInfoSection({ currentVault, inceptTime @@ -106,6 +170,7 @@ export function VaultInfoSection({ }): ReactElement { const chainID = getVaultChainID(currentVault) const vaultAddress = getVaultAddress(currentVault) + const isYvUsd = isYvUsdAddress(vaultAddress) const token = getVaultToken(currentVault) const staking = getVaultStaking(currentVault) const info = getVaultInfo(currentVault) @@ -113,6 +178,7 @@ export function VaultInfoSection({ const category = getVaultCategory(currentVault) const blockExplorer = getNetwork(chainID).blockExplorers?.etherscan?.url || getNetwork(chainID).blockExplorers?.default.url + const explorerUrl = blockExplorer || '' const sourceUrl = String(info?.sourceURL || '') const sourceUrlLower = sourceUrl.toLowerCase() const isVelodrome = category?.toLowerCase() === 'velodrome' || sourceUrlLower.includes('velodrome.finance') @@ -134,38 +200,39 @@ export function VaultInfoSection({ }) const curveSourceUrl = isCurveCategory && isCurveHostUrl(sourceUrl) ? normalizeCurveUrl(sourceUrl) : '' const resolvedCurvePoolUrl = curvePoolUrl || curveSourceUrl - const liquidityUrl = isVelodrome - ? `https://velodrome.finance/liquidity?query=${token.address}` - : isAerodrome - ? `https://aerodrome.finance/liquidity?query=${token.address}` - : '' + const liquidityUrl = getLiquidityUrl({ isVelodrome, isAerodrome, tokenAddress: token.address }) const powergloveUrl = `https://powerglove.yearn.fi/vaults/${chainID}/${vaultAddress}` - const deployedLabel = (() => { - if (typeof inceptTime !== 'number' || !Number.isFinite(inceptTime) || inceptTime <= 0) { - return null - } - const ms = inceptTime > 1_000_000_000_000 ? inceptTime : inceptTime * 1000 - const date = new Date(ms) - if (Number.isNaN(date.getTime())) { - return null - } - return date.toLocaleString(undefined, { day: 'numeric', month: 'long', year: 'numeric' }) - })() + const deployedLabel = getDeployedLabel(inceptTime) return (
    - + {isYvUsd ? ( + <> + + + + ) : ( + + )} - + {staking.available ? ( - + ) : null} {resolvedCurvePoolUrl ? (
    -

    {'Curve Pool URL'}

    +

    {'Curve Pool URL'}

    -

    {'Gamma Pair'}

    +

    {'Gamma Pair'}

    -

    - {isVelodrome ? 'Velodrome Pool URL' : 'Aerodrome Pool URL'} -

    +

    {isVelodrome ? 'Velodrome Pool URL' : 'Aerodrome Pool URL'}

    ) : null} -
    -

    {'Current Price Per Share'}

    -

    - {apr.pricePerShare.today} -

    -
    + {isYvUsd ? ( + + ) : ( +
    +

    {'Current Price Per Share'}

    +

    + {apr.pricePerShare.today} +

    +
    + )} {deployedLabel ? (
    -

    {'Deployed on'}

    +

    {'Deployed on'}

    {deployedLabel}

    @@ -240,7 +309,7 @@ export function VaultInfoSection({ ) : null}
    -

    {'Powerglove Analytics Page'}

    +

    {'Powerglove Analytics Page'}

    -

    {'Vault Snapshot Data'}

    +

    {'Vault Snapshot Data'}

    void @@ -17,12 +19,15 @@ type TRiskScoreItem = { function RiskScoreItem({ label, score, + scoreSuffix = ' / 5', explanation, isOpen, onToggle, isOverall = false, rightContent = null }: TRiskScoreItem): ReactElement { + const hasScore = score !== undefined && score !== null && score !== '' + return (
    @@ -35,10 +40,12 @@ function RiskScoreItem({

    {label}

    -
    -

    {score}

    - {' / 5'} -
    + {hasScore ? ( +
    +

    {score}

    + {scoreSuffix ? {scoreSuffix} : null} +
    + ) : null} {rightContent ?
    {rightContent}
    : null}
    {isOpen && ( @@ -52,11 +59,42 @@ function RiskScoreItem({ export function VaultRiskSection({ currentVault }: { currentVault: TKongVaultInput }): ReactElement { const info = getVaultInfo(currentVault) - const hasRiskScore = useMemo(() => (info.riskScore || []).reduce((sum, score) => sum + score, 0), [info.riskScore]) + const hasRiskScore = (info.riskScore || []).reduce((sum, score) => sum + score, 0) + + if (isYvUsdVault(currentVault)) { + return + } return } +function YvUsdRiskScore(): ReactElement { + const [openIndex, setOpenIndex] = useState(null) + + const toggleItem = (index: number): void => { + setOpenIndex((current) => (current === index ? null : index)) + } + + return ( +
    +
    + {YVUSD_RISK_SCORE_ITEMS.map((item, index) => ( + toggleItem(index)} + isOverall={item.isOverall} + /> + ))} +
    +
    + ) +} + function SimpleRiskScore({ hasRiskScore, currentVault diff --git a/src/components/pages/vaults/components/detail/YvUsdChartsSection.tsx b/src/components/pages/vaults/components/detail/YvUsdChartsSection.tsx new file mode 100644 index 000000000..bc1ced688 --- /dev/null +++ b/src/components/pages/vaults/components/detail/YvUsdChartsSection.tsx @@ -0,0 +1,160 @@ +import { type TYvUsdSeriesPoint, useYvUsdCharts } from '@pages/vaults/hooks/useYvUsdCharts' +import { cl, SELECTOR_BAR_STYLES } from '@shared/utils' +import type { ReactElement } from 'react' +import { useState } from 'react' +import { ChartErrorBoundary } from './charts/ChartErrorBoundary' +import ChartSkeleton from './charts/ChartSkeleton' +import ChartsLoader from './charts/ChartsLoader' +import { FixedHeightChartContainer } from './charts/FixedHeightChartContainer' +import { YvUsdApyChart, YvUsdChartLegend, YvUsdPerformanceChart, YvUsdTvlChart } from './charts/YvUsdDualLineChart' +import { VAULT_CHART_TABS, VAULT_CHART_TIMEFRAME_OPTIONS } from './VaultChartsSection' + +export type TYvUsdChartTab = (typeof VAULT_CHART_TABS)[number]['id'] +export type TYvUsdChartTimeframe = (typeof VAULT_CHART_TIMEFRAME_OPTIONS)[number]['value'] + +type YvUsdChartsSectionProps = { + chartTab?: TYvUsdChartTab + onChartTabChange?: (tab: TYvUsdChartTab) => void + timeframe?: TYvUsdChartTimeframe + onTimeframeChange?: (timeframe: TYvUsdChartTimeframe) => void + shouldRenderSelectors?: boolean + chartHeightPx?: number + chartHeightMdPx?: number +} + +function getActiveChartData({ + activeTab, + apyData, + performanceData, + tvlData +}: { + activeTab: TYvUsdChartTab + apyData?: TYvUsdSeriesPoint[] + performanceData?: TYvUsdSeriesPoint[] + tvlData?: TYvUsdSeriesPoint[] +}): TYvUsdSeriesPoint[] | undefined { + switch (activeTab) { + case 'historical-pps': + return performanceData + case 'historical-tvl': + return tvlData + default: + return apyData + } +} + +function renderActiveChart({ + activeTab, + activeTimeframe, + apyData, + performanceData, + tvlData +}: { + activeTab: TYvUsdChartTab + activeTimeframe: TYvUsdChartTimeframe + apyData?: TYvUsdSeriesPoint[] + performanceData?: TYvUsdSeriesPoint[] + tvlData?: TYvUsdSeriesPoint[] +}): ReactElement | null { + switch (activeTab) { + case 'historical-pps': + return performanceData ? : null + case 'historical-tvl': + return tvlData ? : null + default: + return apyData ? : null + } +} + +export function YvUsdChartsSection({ + chartTab, + onChartTabChange, + timeframe, + onTimeframeChange, + shouldRenderSelectors = true, + chartHeightPx, + chartHeightMdPx +}: YvUsdChartsSectionProps): ReactElement { + const { apyData, performanceData, tvlData, isLoading, error } = useYvUsdCharts() + + const chartsLoading = isLoading || !apyData || !performanceData || !tvlData + const hasError = Boolean(error) + + const [uncontrolledTab, setUncontrolledTab] = useState('historical-apy') + const [uncontrolledTimeframe, setUncontrolledTimeframe] = useState('1y') + + const activeTab = chartTab ?? uncontrolledTab + const activeTimeframe = timeframe ?? uncontrolledTimeframe + const setActiveTab = onChartTabChange ?? setUncontrolledTab + const setActiveTimeframe = onTimeframeChange ?? setUncontrolledTimeframe + const activeChartData = getActiveChartData({ activeTab, apyData, performanceData, tvlData }) + + return ( +
    + {shouldRenderSelectors ? ( +
    +
    +
    + {VAULT_CHART_TABS.map((tab) => ( + + ))} +
    +
    +
    +
    + {VAULT_CHART_TIMEFRAME_OPTIONS.map((option) => ( + + ))} +
    +
    +
    + ) : null} + + {hasError ? ( +
    + {'Unable to load chart data right now.'} +
    + ) : chartsLoading ? ( +
    + + +
    + ) : ( +
    + + + {renderActiveChart({ activeTab, activeTimeframe, apyData, performanceData, tvlData })} + + + {activeChartData ? : null} +
    + )} +
    + ) +} diff --git a/src/components/pages/vaults/components/detail/charts/YvUsdDualLineChart.tsx b/src/components/pages/vaults/components/detail/charts/YvUsdDualLineChart.tsx new file mode 100644 index 000000000..7e19faac8 --- /dev/null +++ b/src/components/pages/vaults/components/detail/charts/YvUsdDualLineChart.tsx @@ -0,0 +1,251 @@ +import type { TYvUsdSeriesPoint } from '@pages/vaults/hooks/useYvUsdCharts' +import { + formatChartMonthYearLabel, + formatChartTooltipDate, + formatChartWeekLabel, + getChartMonthlyTicks, + getChartWeeklyTicks, + getTimeframeLimit +} from '@pages/vaults/utils/charts' +import { useChartStyle } from '@shared/contexts/useChartStyle' +import { getChartStyleVariables } from '@shared/utils/chartStyles' +import type { CSSProperties, ReactElement } from 'react' +import { useMemo } from 'react' +import { CartesianGrid, Line, LineChart, XAxis, YAxis } from 'recharts' +import type { ChartConfig } from './ChartPrimitives' +import { ChartContainer, ChartTooltip } from './ChartPrimitives' +import { + CHART_WITH_AXES_MARGIN, + CHART_Y_AXIS_TICK_MARGIN, + CHART_Y_AXIS_TICK_STYLE, + CHART_Y_AXIS_WIDTH +} from './chartLayout' + +type TYvUsdDualLineChartProps = { + chartData: TYvUsdSeriesPoint[] + timeframe: string + hideTooltip?: boolean + allowNegativeValues?: boolean + formatValue: (value: number) => string + formatTick: (value: number | string) => string +} + +type TYvUsdSeriesKey = 'unlocked' | 'locked' + +const SERIES_CONFIG: ChartConfig = { + unlocked: { + label: 'Unlocked', + color: 'var(--chart-1)' + }, + locked: { + label: 'Locked', + color: 'var(--chart-2)' + } +} + +function getFilteredYvUsdChartData(chartData: TYvUsdSeriesPoint[], timeframe: string): TYvUsdSeriesPoint[] { + const limit = getTimeframeLimit(timeframe) + if (!Number.isFinite(limit) || limit >= chartData.length) { + return chartData + } + return chartData.slice(-limit) +} + +function getVisibleSeriesKeys(chartData: TYvUsdSeriesPoint[], timeframe: string): TYvUsdSeriesKey[] { + const filteredData = getFilteredYvUsdChartData(chartData, timeframe) + return (Object.keys(SERIES_CONFIG) as TYvUsdSeriesKey[]).filter((seriesKey) => + filteredData.some((point) => typeof point[seriesKey] === 'number' && Number.isFinite(point[seriesKey])) + ) +} + +function getSeriesLabel(name: string): string { + return name === 'locked' ? 'Locked' : 'Unlocked' +} + +export function YvUsdDualLineChart({ + chartData, + timeframe, + hideTooltip, + allowNegativeValues = false, + formatValue, + formatTick +}: TYvUsdDualLineChartProps): ReactElement { + const filteredData = useMemo(() => getFilteredYvUsdChartData(chartData, timeframe), [chartData, timeframe]) + const hasNegativeValues = useMemo( + () => + filteredData.some((point) => + (Object.keys(SERIES_CONFIG) as TYvUsdSeriesKey[]).some((seriesKey) => { + const value = point[seriesKey] + return typeof value === 'number' && Number.isFinite(value) && value < 0 + }) + ), + [filteredData] + ) + const isShortTimeframe = timeframe === '30d' || timeframe === '90d' + const ticks = useMemo( + () => (isShortTimeframe ? getChartWeeklyTicks(filteredData) : getChartMonthlyTicks(filteredData)), + [filteredData, isShortTimeframe] + ) + const tickFormatter = isShortTimeframe ? formatChartWeekLabel : formatChartMonthYearLabel + + return ( + + + + + + {!hideTooltip && ( + { + const numericValue = Number(value ?? 0) + return [formatValue(numericValue), getSeriesLabel(name)] + }} + labelFormatter={formatChartTooltipDate} + contentStyle={{ + backgroundColor: 'var(--chart-tooltip-bg)', + borderRadius: 'var(--chart-tooltip-radius)', + border: '1px solid var(--chart-tooltip-border)', + boxShadow: 'var(--chart-tooltip-shadow)' + }} + /> + )} + + + + + ) +} + +export function YvUsdChartLegend({ + chartData, + timeframe +}: Pick): ReactElement | null { + const { chartStyle } = useChartStyle() + const chartStyleVars = getChartStyleVariables(chartStyle) + const visibleSeries = useMemo(() => getVisibleSeriesKeys(chartData, timeframe), [chartData, timeframe]) + + if (visibleSeries.length <= 1) { + return null + } + + return ( +
    +
    + {visibleSeries.map((seriesKey) => ( +
    + + {SERIES_CONFIG[seriesKey].label} +
    + ))} +
    +
    + ) +} + +function formatPercentTick(value: number | string): string { + const numericValue = Number(value) + if (!Number.isFinite(numericValue) || numericValue === 0) return '' + return `${numericValue.toFixed(1)}%` +} + +function formatPpsTick(value: number | string): string { + const numericValue = Number(value) + if (!Number.isFinite(numericValue) || numericValue === 0) return '' + return numericValue.toFixed(2) +} + +function formatTvlTick(value: number | string): string { + const numericValue = Number(value) + if (!Number.isFinite(numericValue) || numericValue === 0) return '' + return `$${(numericValue / 1_000_000).toFixed(1)}M` +} + +export function YvUsdApyChart({ + chartData, + timeframe, + hideTooltip +}: Omit): ReactElement { + return ( + `${value.toFixed(2)}%`} + formatTick={formatPercentTick} + /> + ) +} + +export function YvUsdPerformanceChart({ + chartData, + timeframe, + hideTooltip +}: Omit): ReactElement { + return ( + value.toFixed(4)} + formatTick={formatPpsTick} + /> + ) +} + +export function YvUsdTvlChart({ + chartData, + timeframe, + hideTooltip +}: Omit): ReactElement { + return ( + + `$${value.toLocaleString(undefined, { + maximumFractionDigits: 0 + })}` + } + formatTick={formatTvlTick} + /> + ) +} diff --git a/src/components/pages/vaults/components/detail/desktopWidgetSizing.test.ts b/src/components/pages/vaults/components/detail/desktopWidgetSizing.test.ts new file mode 100644 index 000000000..7d86483cc --- /dev/null +++ b/src/components/pages/vaults/components/detail/desktopWidgetSizing.test.ts @@ -0,0 +1,33 @@ +import { describe, expect, it } from 'vitest' +import { + DESKTOP_WIDGET_OFFSET_CSS_VAR, + getDesktopWidgetHeightClassNames, + resolveDesktopWidgetHeaderOffset +} from './desktopWidgetSizing' + +describe('resolveDesktopWidgetHeaderOffset', () => { + it('rounds the combined base offset, measured header height, and widget padding', () => { + expect(resolveDesktopWidgetHeaderOffset({ baseOffset: 72.2, headerHeight: 180.6 })).toBe(269) + }) + + it('returns null until a positive header height is available', () => { + expect(resolveDesktopWidgetHeaderOffset({ baseOffset: 72, headerHeight: 0 })).toBeNull() + }) +}) + +describe('getDesktopWidgetHeightClassNames', () => { + it('uses the compressed header offset by default for both container and stack sizing', () => { + expect(getDesktopWidgetHeightClassNames()).toEqual({ + container: `md:h-[calc(100vh-var(${DESKTOP_WIDGET_OFFSET_CSS_VAR})-16px)] max-h-[calc(100vh-var(${DESKTOP_WIDGET_OFFSET_CSS_VAR})-16px)]`, + stack: `max-h-[calc(100vh-16px-var(${DESKTOP_WIDGET_OFFSET_CSS_VAR}))]` + }) + }) + + it('supports an alternate offset variable when the layout needs a different measurement source', () => { + expect(getDesktopWidgetHeightClassNames('--vault-header-expanded-offset')).toEqual({ + container: + 'md:h-[calc(100vh-var(--vault-header-expanded-offset)-16px)] max-h-[calc(100vh-var(--vault-header-expanded-offset)-16px)]', + stack: 'max-h-[calc(100vh-16px-var(--vault-header-expanded-offset))]' + }) + }) +}) diff --git a/src/components/pages/vaults/components/detail/desktopWidgetSizing.ts b/src/components/pages/vaults/components/detail/desktopWidgetSizing.ts new file mode 100644 index 000000000..595736ed1 --- /dev/null +++ b/src/components/pages/vaults/components/detail/desktopWidgetSizing.ts @@ -0,0 +1,29 @@ +export const DESKTOP_WIDGET_BOTTOM_PADDING_PX = 16 +const DESKTOP_WIDGET_VIEWPORT_PADDING_PX = 16 +export const DESKTOP_WIDGET_OFFSET_CSS_VAR = '--vault-header-compressed-offset' + +export function resolveDesktopWidgetHeaderOffset({ + baseOffset, + headerHeight, + bottomPadding = DESKTOP_WIDGET_BOTTOM_PADDING_PX +}: { + baseOffset: number + headerHeight: number + bottomPadding?: number +}): number | null { + if (!Number.isFinite(baseOffset) || !Number.isFinite(headerHeight) || headerHeight <= 0) { + return null + } + + return Math.round(baseOffset + headerHeight + bottomPadding) +} + +export function getDesktopWidgetHeightClassNames(offsetCssVar: string = DESKTOP_WIDGET_OFFSET_CSS_VAR): { + container: string + stack: string +} { + return { + container: `md:h-[calc(100vh-var(${offsetCssVar})-${DESKTOP_WIDGET_VIEWPORT_PADDING_PX}px)] max-h-[calc(100vh-var(${offsetCssVar})-${DESKTOP_WIDGET_VIEWPORT_PADDING_PX}px)]`, + stack: `max-h-[calc(100vh-${DESKTOP_WIDGET_VIEWPORT_PADDING_PX}px-var(${offsetCssVar}))]` + } +} diff --git a/src/components/pages/vaults/components/list/VaultsAuxiliaryList.tsx b/src/components/pages/vaults/components/list/VaultsAuxiliaryList.tsx index bdf4d6770..cea4fff6c 100644 --- a/src/components/pages/vaults/components/list/VaultsAuxiliaryList.tsx +++ b/src/components/pages/vaults/components/list/VaultsAuxiliaryList.tsx @@ -2,7 +2,7 @@ import { VaultsListRow } from '@pages/vaults/components/list/VaultsListRow' import { VirtualizedVaultsList } from '@pages/vaults/components/list/VirtualizedVaultsList' import type { TVaultForwardAPYVariant } from '@pages/vaults/components/table/VaultForwardAPY' import { getVaultAddress, getVaultChainID, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' -import { toAddress } from '@shared/utils' +import { cl, toAddress } from '@shared/utils' import type { ReactElement } from 'react' @@ -36,6 +36,10 @@ type TVaultsAuxiliaryListProps = { onExpandedChange?: (vaultKey: string, next: boolean) => void } +function getVaultListKey(vault: TKongVaultInput): string { + return `${getVaultChainID(vault)}_${toAddress(getVaultAddress(vault))}` +} + // TODO: the contents of this component override the type filers. This should only happen for HOLDINGS and not AVAILABLE TO DEPOSIT export function VaultsAuxiliaryList({ title, @@ -62,7 +66,7 @@ export function VaultsAuxiliaryList({ } return ( -
    +
    {title ? (

    {title}

    ) : null} @@ -70,9 +74,9 @@ export function VaultsAuxiliaryList({ items={vaults} estimateSize={81} itemSpacingClassName={'pb-px'} - getItemKey={(vault): string => `${getVaultChainID(vault)}_${toAddress(getVaultAddress(vault))}`} + getItemKey={getVaultListKey} renderItem={(vault): ReactElement => { - const key = `${getVaultChainID(vault)}_${toAddress(getVaultAddress(vault))}` + const key = getVaultListKey(vault) const rowApyDisplayVariant = resolveApyDisplayVariant?.(vault) ?? apyDisplayVariant const isExpanded = expandedVaultKeys ? Boolean(expandedVaultKeys[key]) : undefined const handleExpandedChange = onExpandedChange diff --git a/src/components/pages/vaults/components/list/VaultsListRow.test.tsx b/src/components/pages/vaults/components/list/VaultsListRow.test.tsx index aa0ab9b44..f215458d8 100644 --- a/src/components/pages/vaults/components/list/VaultsListRow.test.tsx +++ b/src/components/pages/vaults/components/list/VaultsListRow.test.tsx @@ -1,35 +1,89 @@ -// @vitest-environment jsdom - import type { TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' -import { fireEvent, render } from '@testing-library/react' -import { act } from 'react' +import { YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { renderToStaticMarkup } from 'react-dom/server' import { MemoryRouter } from 'react-router' -import { describe, expect, it, vi } from 'vitest' +import { beforeEach, describe, expect, it, vi } from 'vitest' import { VaultsListRow } from './VaultsListRow' -vi.mock('@vaults/components/table/VaultForwardAPY', () => ({ +const { mockUseMediaQuery, mockUseYvUsdVaults } = vi.hoisted(() => ({ + mockUseMediaQuery: vi.fn(() => false), + mockUseYvUsdVaults: vi.fn((): any => ({ + metrics: undefined, + unlockedVault: undefined, + lockedVault: undefined + })) +})) + +vi.mock('@react-hookz/web', () => ({ + useMediaQuery: mockUseMediaQuery +})) + +vi.mock('@shared/contexts/useWallet', () => ({ + useWallet: () => ({ + getBalance: () => ({ raw: 0n, normalized: 0 }), + getToken: () => ({ value: 0 }) + }) +})) + +vi.mock('@shared/contexts/useWeb3', () => ({ + useWeb3: () => ({ + address: undefined + }) +})) + +vi.mock('@hooks/usePlausible', () => ({ + usePlausible: () => vi.fn() +})) + +vi.mock('@pages/vaults/hooks/useYvUsdVaults', () => ({ + useYvUsdVaults: mockUseYvUsdVaults +})) + +vi.mock('@pages/vaults/components/table/VaultForwardAPY', () => ({ VaultForwardAPY: () =>
    {'APY'}
    , VaultForwardAPYInlineDetails: () =>
    {'APY details'}
    })) -vi.mock('@vaults/components/table/VaultHistoricalAPY', () => ({ +vi.mock('@pages/vaults/components/table/VaultHistoricalAPY', () => ({ VaultHistoricalAPY: () =>
    {'Historical APY'}
    })) -vi.mock('@vaults/components/table/VaultHoldingsAmount', () => ({ +vi.mock('@pages/vaults/components/table/VaultHoldingsAmount', () => ({ VaultHoldingsAmount: () =>
    {'Holdings'}
    })) -vi.mock('@vaults/components/table/VaultRiskScoreTag', () => ({ +vi.mock('@pages/vaults/components/table/VaultRiskScoreTag', () => ({ VaultRiskScoreTag: () =>
    {'Risk'}
    , RiskScoreInlineDetails: () =>
    {'Risk details'}
    })) +function renderRowHtml(vault: TKongVaultInput): string { + const queryClient = new QueryClient() + + return renderToStaticMarkup( + + + + + + ) +} + describe('VaultsListRow', () => { - it('shows TVL native units tooltip when hovering the value', () => { - vi.useFakeTimers() + beforeEach(() => { + mockUseMediaQuery.mockReturnValue(false) + mockUseYvUsdVaults.mockReturnValue({ + metrics: undefined, + unlockedVault: undefined, + lockedVault: undefined + }) + }) + + it('renders the desktop TVL tooltip trigger for standard vault rows', () => { const vault = { + version: '3.0.0', chainID: 1, address: '0x0000000000000000000000000000000000000001', name: 'Test Vault', @@ -49,23 +103,283 @@ describe('VaultsListRow', () => { } } as unknown as TKongVaultInput - const { container, queryByText } = render( - - - - ) + const html = renderRowHtml(vault) - const trigger = container.querySelector('.tvl-subline-tooltip') + expect(html).toContain('tvl-subline-tooltip') + }) - expect(trigger).not.toBeNull() - expect(queryByText('TKN')).toBeNull() + it('stacks the yvUSD mobile up-to label above the APY value', () => { + mockUseMediaQuery.mockReturnValue(true) + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: false }, + locked: { apy: 0.09, tvl: 250, hasInfinifiPoints: false } + }, + unlockedVault: undefined, + lockedVault: undefined + }) - fireEvent.mouseEnter(trigger as Element) - act(() => { - vi.advanceTimersByTime(150) + const vault = { + version: '3.0.0', + chainID: 1, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + category: 'Stablecoin', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'USDC', + decimals: 6 + }, + apr: { + forwardAPR: { + netAPR: 0.05 + }, + netAPR: 0.05 + }, + tvl: { + tvl: 350, + totalAssets: 350_000_000 + }, + info: { + riskLevel: 2 + }, + staking: { + address: '0x0000000000000000000000000000000000000000' + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).toContain('Up to') + expect(html).toContain('9.00%') + expect(html).toContain('inline-flex flex-col items-start') + }) + + it('formats yvUSD locked APY with shared significant-digit rounding in the list row', () => { + mockUseMediaQuery.mockReturnValue(true) + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: false }, + locked: { apy: 1.1777, tvl: 250, hasInfinifiPoints: false } + }, + unlockedVault: undefined, + lockedVault: undefined + }) + + const vault = { + version: '3.0.0', + chainID: 1, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + category: 'Stablecoin', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'USDC', + decimals: 6 + }, + apr: { + forwardAPR: { + netAPR: 0.05 + }, + netAPR: 0.05 + }, + tvl: { + tvl: 350, + totalAssets: 350_000_000 + }, + info: { + riskLevel: 2 + }, + staking: { + address: '0x0000000000000000000000000000000000000000' + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).toContain('118%') + expect(html).not.toContain('117.77%') + expect(html).toContain('flex items-center justify-center gap-2 whitespace-nowrap') + }) + + it('positions the desktop yvUSD up-to label above the APY value without changing row flow', () => { + mockUseMediaQuery.mockReturnValue(false) + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: false }, + locked: { apy: 0.09, tvl: 250, hasInfinifiPoints: false } + }, + unlockedVault: undefined, + lockedVault: undefined }) - expect(queryByText('TKN')).not.toBeNull() - vi.useRealTimers() + const vault = { + version: '3.0.0', + chainID: 1, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + category: 'Stablecoin', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'USDC', + decimals: 6 + }, + apr: { + forwardAPR: { + netAPR: 0.05 + }, + netAPR: 0.05 + }, + tvl: { + tvl: 350, + totalAssets: 350_000_000 + }, + info: { + riskLevel: 2 + }, + staking: { + address: '0x0000000000000000000000000000000000000000' + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).toContain('inline-flex items-center gap-2 text-right') + expect(html).toContain('relative inline-flex') + expect(html).toContain('absolute bottom-full left-0 mb-0.5') + }) + + it('shows the Infinifi points icon for yvUSD when either variant has points', () => { + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: false }, + locked: { apy: 0.09, tvl: 250, hasInfinifiPoints: true } + }, + unlockedVault: undefined, + lockedVault: undefined + }) + + const vault = { + version: '3.0.0', + chainID: 1, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + category: 'Stablecoin', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'USDC', + decimals: 6 + }, + apr: { + forwardAPR: { + netAPR: 0.05 + }, + netAPR: 0.05 + }, + tvl: { + tvl: 350, + totalAssets: 350_000_000 + }, + info: { + riskLevel: 2 + }, + staking: { + address: '0x0000000000000000000000000000000000000000' + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).toContain('aria-label="Infinifi points"') + }) + + it('does not show the Infinifi points icon for yvUSD without points', () => { + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: false }, + locked: { apy: 0.09, tvl: 250, hasInfinifiPoints: false } + }, + unlockedVault: undefined, + lockedVault: undefined + }) + + const vault = { + version: '3.0.0', + chainID: 1, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + category: 'Stablecoin', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'USDC', + decimals: 6 + }, + apr: { + forwardAPR: { + netAPR: 0.05 + }, + netAPR: 0.05 + }, + tvl: { + tvl: 350, + totalAssets: 350_000_000 + }, + info: { + riskLevel: 2 + }, + staking: { + address: '0x0000000000000000000000000000000000000000' + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).not.toContain('aria-label="Infinifi points"') + }) + + it('does not show the Infinifi points icon for non-yvUSD rows', () => { + mockUseYvUsdVaults.mockReturnValue({ + metrics: { + unlocked: { apy: 0.05, tvl: 100, hasInfinifiPoints: true }, + locked: { apy: 0.09, tvl: 250, hasInfinifiPoints: true } + }, + unlockedVault: undefined, + lockedVault: undefined + }) + + const vault = { + version: '3.0.0', + chainID: 1, + address: '0x0000000000000000000000000000000000000001', + name: 'Test Vault', + category: 'Test Category', + kind: 'Multi Strategy', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'TKN', + decimals: 6 + }, + tvl: { + tvl: 1234, + totalAssets: 1234567 + }, + info: { + riskLevel: 3 + } + } as unknown as TKongVaultInput + + const html = renderRowHtml(vault) + + expect(html).not.toContain('aria-label="Infinifi points"') }) }) diff --git a/src/components/pages/vaults/components/list/VaultsListRow.tsx b/src/components/pages/vaults/components/list/VaultsListRow.tsx index b08f6ba11..f796d463e 100755 --- a/src/components/pages/vaults/components/list/VaultsListRow.tsx +++ b/src/components/pages/vaults/components/list/VaultsListRow.tsx @@ -1,8 +1,14 @@ import Link from '@components/Link' import { usePlausible } from '@hooks/usePlausible' +import { APYDetailsModal } from '@pages/vaults/components/table/APYDetailsModal' import { type TVaultForwardAPYVariant, VaultForwardAPY } from '@pages/vaults/components/table/VaultForwardAPY' import { VaultHoldingsAmount } from '@pages/vaults/components/table/VaultHoldingsAmount' import { VaultTVL } from '@pages/vaults/components/table/VaultTVL' +import { + YvUsdApyDetailsContent, + YvUsdApyTooltipContent, + YvUsdTvlTooltipContent +} from '@pages/vaults/components/yvUSD/YvUsdBreakdown' import { getVaultAddress, getVaultAPR, @@ -13,10 +19,13 @@ import { getVaultStaking, getVaultSymbol, getVaultToken, + getVaultTVL, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import { KONG_REST_BASE } from '@pages/vaults/utils/kongRest' import { deriveListKind } from '@pages/vaults/utils/vaultListFacets' +import { getVaultPrimaryLogoSrc } from '@pages/vaults/utils/vaultLogo' import { getCategoryDescription, getChainDescription, @@ -26,19 +35,38 @@ import { MIGRATABLE_TAG_DESCRIPTION, RETIRED_TAG_DESCRIPTION } from '@pages/vaults/utils/vaultTagCopy' +import { + getYvUsdInfinifiPointsNote, + getYvUsdSharePrice, + isYvUsdAddress, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { useMediaQuery } from '@react-hookz/web' +import { RenderAmount } from '@shared/components/RenderAmount' import { TokenLogo } from '@shared/components/TokenLogo' +import { Tooltip } from '@shared/components/Tooltip' import { useWallet } from '@shared/contexts/useWallet' import { useWeb3 } from '@shared/contexts/useWeb3' import { fetchWithSchema, getFetchQueryKey } from '@shared/hooks/useFetch' import { IconChevron } from '@shared/icons/IconChevron' import { IconEyeOff } from '@shared/icons/IconEyeOff' -import { cl, formatAmount, formatTvlDisplay, getVaultName, isZeroAddress, toAddress } from '@shared/utils' +import { IconInfinifiPoints } from '@shared/icons/IconInfinifiPoints' +import { + cl, + formatAmount, + formatApyDisplay, + formatTvlDisplay, + getVaultName, + isZeroAddress, + toAddress +} from '@shared/utils' import { PLAUSIBLE_EVENTS } from '@shared/utils/plausible' import { kongVaultSnapshotSchema } from '@shared/utils/schemas/kongVaultSnapshotSchema' import { getNetwork } from '@shared/utils/wagmi' import { useQueryClient } from '@tanstack/react-query' -import type { ReactElement } from 'react' +import type { MouseEvent, ReactElement } from 'react' import { lazy, Suspense, useCallback, useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' import type { TVaultsExpandedView } from './VaultsExpandedSelector' @@ -46,15 +74,17 @@ import { VaultsListChip } from './VaultsListChip' const VaultsListRowExpandedContent = lazy(() => import('./VaultsListRowExpandedContent')) -const ExpandedRowFallback = (): ReactElement => ( -
    -
    -
    - +function ExpandedRowFallback(): ReactElement { + return ( +
    +
    +
    + +
    -
    -) + ) +} type TVaultRowFlags = { hasHoldings?: boolean @@ -63,10 +93,127 @@ type TVaultRowFlags = { isHidden?: boolean } +type TVaultKindType = 'multi' | 'single' | undefined +type TVaultProductType = 'v3' | 'lp' +type TVaultProductTypePresentation = { + productType: TVaultProductType + label: string + ariaLabel: string + isLegacy: boolean +} + +type TYvUsdListMetrics = { + unlockedApy: number + lockedApy: number + unlockedTvl: number + lockedTvl: number + combinedTvl: number + hasInfinifiPointsNote: boolean +} + +const YVUSD_HOLDINGS_FORMAT_OPTIONS = { + minimumFractionDigits: 2, + maximumFractionDigits: 2 +} as const + const prefetchedSnapshotEndpoints = new Set() -const buildSnapshotEndpoint = (chainId: number, address: string): string => - `${KONG_REST_BASE}/snapshot/${chainId}/${toAddress(address)}` +function buildSnapshotEndpoint(chainId: number, address: string): string { + return `${KONG_REST_BASE}/snapshot/${chainId}/${toAddress(address)}` +} + +function getVaultProductTypePresentation(listKind: ReturnType): TVaultProductTypePresentation { + if (listKind === 'allocator' || listKind === 'strategy') { + return { + productType: 'v3', + label: 'Single Asset', + ariaLabel: 'Show single asset vaults', + isLegacy: false + } + } + + if (listKind === 'legacy') { + return { + productType: 'lp', + label: 'Legacy', + ariaLabel: 'Legacy vault', + isLegacy: true + } + } + + return { + productType: 'lp', + label: 'LP Token', + ariaLabel: 'Show LP token vaults', + isLegacy: false + } +} + +function getVaultKindType( + kind: string | null | undefined, + listKind: ReturnType +): TVaultKindType { + if (kind === 'Multi Strategy') { + return 'multi' + } + + if (kind === 'Single Strategy') { + return 'single' + } + + if (listKind === 'allocator') { + return 'multi' + } + + if (listKind === 'strategy') { + return 'single' + } + + return undefined +} + +function getVaultKindLabel(kindType: TVaultKindType, fallbackKind: string | null | undefined): string | undefined { + if (kindType === 'multi') { + return 'Allocator' + } + + if (kindType === 'single') { + return 'Strategy' + } + + return fallbackKind ?? undefined +} + +function getYvUsdListMetrics({ + currentVault, + apr, + isYvUsd, + yvUsdMetrics +}: { + currentVault: TKongVaultInput + apr: ReturnType + isYvUsd: boolean + yvUsdMetrics: ReturnType['metrics'] +}): TYvUsdListMetrics | null { + if (!isYvUsd) { + return null + } + + const vaultTvl = getVaultTVL(currentVault) + const unlockedApy = yvUsdMetrics?.unlocked.apy ?? (apr?.forwardAPR?.netAPR || apr?.netAPR || 0) + const unlockedTvl = yvUsdMetrics?.unlocked.tvl ?? vaultTvl.tvl ?? 0 + const lockedApy = yvUsdMetrics?.locked.apy ?? 0 + const lockedTvl = yvUsdMetrics?.locked.tvl ?? 0 + + return { + unlockedApy, + lockedApy, + unlockedTvl, + lockedTvl, + combinedTvl: vaultTvl.tvl ?? unlockedTvl + lockedTvl, + hasInfinifiPointsNote: Boolean(yvUsdMetrics?.locked.hasInfinifiPoints || yvUsdMetrics?.unlocked.hasInfinifiPoints) + } +} export function VaultsListRow({ currentVault, @@ -129,29 +276,24 @@ export function VaultsListRow({ const href = hrefOverride ?? `/vaults/${chainID}/${toAddress(vaultAddress)}` const network = getNetwork(chainID) const chainLogoSrc = `${import.meta.env.VITE_BASE_YEARN_ASSETS_URI}/chains/${chainID}/logo-32.png` + const isYvUsd = isYvUsdAddress(vaultAddress) + const tokenLogoSrc = getVaultPrimaryLogoSrc(currentVault) const { address } = useWeb3() - const { getToken } = useWallet() + const { getBalance, getToken } = useWallet() const isMobile = useMediaQuery('(max-width: 767px)', { initializeWithValue: false }) ?? false const [isExpandedState, setIsExpandedState] = useState(false) const isExpanded = isExpandedProp ?? isExpandedState const [expandedView, setExpandedView] = useState('strategies') const [interactiveHoverCount, setInteractiveHoverCount] = useState(0) + const [isYvUsdModalOpen, setIsYvUsdModalOpen] = useState(false) const queryClient = useQueryClient() const listKind = deriveListKind(currentVault) - const isAllocatorVault = listKind === 'allocator' || listKind === 'strategy' - const isLegacyVault = listKind === 'legacy' - const productType = isAllocatorVault ? 'v3' : 'lp' - const productTypeLabel = (() => { - if (isAllocatorVault) return 'Single Asset' - if (isLegacyVault) return 'Legacy' - return 'LP Token' - })() - - const productTypeAriaLabel = (() => { - if (isAllocatorVault) return 'Show single asset vaults' - if (isLegacyVault) return 'Legacy vault' - return 'Show LP token vaults' - })() + const { + productType, + label: productTypeLabel, + ariaLabel: productTypeAriaLabel, + isLegacy: isLegacyVault + } = getVaultProductTypePresentation(listKind) const showProductTypeChip = showProductTypeChipOverride ?? (Boolean(activeProductType) || Boolean(onToggleVaultType)) const isProductTypeActive = activeProductType === productType const shouldCollapseProductTypeChip = @@ -173,6 +315,41 @@ export function VaultsListRow({ const handleInteractiveHoverChange = (isHovering: boolean): void => { setInteractiveHoverCount((count) => Math.max(0, count + (isHovering ? 1 : -1))) } + const { metrics: yvUsdMetrics, unlockedVault: yvUsdUnlockedVault, lockedVault: yvUsdLockedVault } = useYvUsdVaults() + const resolvedYvUsdMetrics = useMemo( + () => getYvUsdListMetrics({ currentVault, apr, isYvUsd, yvUsdMetrics }), + [apr, currentVault, isYvUsd, yvUsdMetrics] + ) + + const yvUsdApyTooltip = resolvedYvUsdMetrics ? ( + + ) : undefined + + const yvUsdApyValue = resolvedYvUsdMetrics ? ( + <> + {resolvedYvUsdMetrics.hasInfinifiPointsNote ? ( + + ) : null} + {formatApyDisplay(resolvedYvUsdMetrics.lockedApy)} + + ) : null + + const yvUsdTvlTooltip = resolvedYvUsdMetrics ? ( + + ) : undefined + + const handleYvUsdApyClick = (event: MouseEvent): void => { + event.stopPropagation() + event.preventDefault() + setIsYvUsdModalOpen(true) + } const handleExpandedChange = (next: boolean): void => { if (onExpandedChange) { onExpandedChange(next) @@ -201,24 +378,8 @@ export function VaultsListRow({ }, [vaultAddress, chainID, queryClient]) const isHiddenVault = Boolean(flags?.isHidden) - const baseKindType: 'multi' | 'single' | undefined = (() => { - if (vaultKind === 'Multi Strategy') return 'multi' - if (vaultKind === 'Single Strategy') return 'single' - return undefined - })() - - const fallbackKindType: 'multi' | 'single' | undefined = (() => { - if (listKind === 'allocator') return 'multi' - if (listKind === 'strategy') return 'single' - return undefined - })() - - const kindType = baseKindType ?? fallbackKindType - const kindLabel: string | undefined = (() => { - if (kindType === 'multi') return 'Allocator' - if (kindType === 'single') return 'Strategy' - return vaultKind - })() + const kindType = getVaultKindType(vaultKind, listKind) + const kindLabel = getVaultKindLabel(kindType, vaultKind) const activeChainIds = activeChains ?? [] const activeCategoryLabels = activeCategories ?? [] const showKindChip = showStrategies && Boolean(kindType) && (showAllocatorChip || kindType !== 'multi') @@ -259,10 +420,19 @@ export function VaultsListRow({ const hasHoldings = Boolean(flags?.hasHoldings) const showHoldingsChip = showHoldingsChipOverride ?? hasHoldings const showHoldingsValue = hasHoldings + const holdingsFormatOptions = isYvUsd ? YVUSD_HOLDINGS_FORMAT_OPTIONS : undefined const holdingsValue = useMemo(() => { if (!showHoldingsChip && mobileSecondaryMetric !== 'holdings') { return 0 } + if (isYvUsd) { + const unlockedBalance = getBalance({ address: YVUSD_UNLOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).normalized + const lockedBalance = getBalance({ address: YVUSD_LOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).normalized + const unlockedSharePrice = getYvUsdSharePrice(yvUsdUnlockedVault) + const lockedSharePrice = getYvUsdSharePrice(yvUsdLockedVault) + return unlockedBalance * unlockedSharePrice + lockedBalance * lockedSharePrice + } + const vaultToken = getToken({ chainID, address: vaultAddress @@ -277,7 +447,18 @@ export function VaultsListRow({ : 0 return vaultValue + stakingValue - }, [showHoldingsChip, vaultAddress, chainID, staking?.address, getToken, mobileSecondaryMetric, showHoldingsChip]) + }, [ + chainID, + getBalance, + getToken, + isYvUsd, + mobileSecondaryMetric, + showHoldingsChip, + staking?.address, + vaultAddress, + yvUsdLockedVault, + yvUsdUnlockedVault + ]) useEffect(() => { if (isExpanded) { @@ -288,7 +469,7 @@ export function VaultsListRow({ return (
    + + ) : ( + + )}
    -
    +
    {mobileSecondaryMetric === 'holdings' ? 'Holdings:' : 'TVL:'} {mobileSecondaryMetric === 'holdings' ? ( - {showHoldingsValue ? formatTvlDisplay(holdingsValue) : '—'} + {showHoldingsValue ? formatTvlDisplay(holdingsValue, holdingsFormatOptions) : '—'} + ) : resolvedYvUsdMetrics ? ( + + + + + ) : ( )} @@ -575,25 +816,92 @@ export function VaultsListRow({ className={cl(rightColumnSpan, 'z-10 gap-4 mt-4', 'hidden md:mt-0 md:grid md:items-center', rightGridColumns)} >
    - + {resolvedYvUsdMetrics ? ( +
    handleInteractiveHoverChange(true)} + onMouseLeave={() => handleInteractiveHoverChange(false)} + > + + + +
    + ) : ( + + )}
    {/* TVL */}
    -
    - -
    + {resolvedYvUsdMetrics ? ( +
    handleInteractiveHoverChange(true)} + onMouseLeave={() => handleInteractiveHoverChange(false)} + > + +

    + +

    +
    +
    + ) : ( +
    + +
    + )}
    {!showHoldingsColumn ?
    : null} {showHoldingsColumn ? (
    - +
    ) : null}
    @@ -612,6 +920,14 @@ export function VaultsListRow({ /> ) : null} + {isYvUsd && resolvedYvUsdMetrics ? ( + setIsYvUsdModalOpen(false)} title={'yvUSD APY'}> + + + ) : null}
    ) } diff --git a/src/components/pages/vaults/components/list/VaultsListRowExpandedContent.tsx b/src/components/pages/vaults/components/list/VaultsListRowExpandedContent.tsx index a93ee9448..af287bbe7 100644 --- a/src/components/pages/vaults/components/list/VaultsListRowExpandedContent.tsx +++ b/src/components/pages/vaults/components/list/VaultsListRowExpandedContent.tsx @@ -5,6 +5,7 @@ import { type TVaultChartTimeframe, VaultChartsSection } from '@pages/vaults/components/detail/VaultChartsSection' +import { YvUsdChartsSection } from '@pages/vaults/components/detail/YvUsdChartsSection' import { getVaultAddress, getVaultChainID, @@ -18,6 +19,7 @@ import { type TKongVaultStrategy } from '@pages/vaults/domain/kongVaultSelectors' import { useVaultSnapshot } from '@pages/vaults/hooks/useVaultSnapshot' +import { isYvUsdAddress } from '@pages/vaults/utils/yvUsd' import { AllocationChart, DARK_MODE_COLORS, @@ -30,7 +32,7 @@ import { useYearnTokenPrice } from '@shared/hooks/useYearnTokenPrice' import { formatCounterValue, toAddress, toBigInt, toNormalizedBN } from '@shared/utils' import { PLAUSIBLE_EVENTS } from '@shared/utils/plausible' import type { TKongVaultSnapshot } from '@shared/utils/schemas/kongVaultSnapshotSchema' -import type { ReactElement } from 'react' +import type { MouseEvent, ReactElement } from 'react' import { useMemo } from 'react' import { type TVaultsExpandedView, VaultsExpandedSelector } from './VaultsExpandedSelector' @@ -43,6 +45,13 @@ const EXPANDED_VIEW_TO_CHART_TAB: Record< tvl: 'historical-tvl' } +type TExpandedChartView = keyof typeof EXPANDED_VIEW_TO_CHART_TAB +type TMergedStrategy = TKongVaultStrategy & { name: string } + +function isExpandedChartView(view: TVaultsExpandedView): view is TExpandedChartView { + return view in EXPANDED_VIEW_TO_CHART_TAB +} + type TVaultsListRowExpandedContentProps = { currentVault: TKongVaultInput expandedView: TVaultsExpandedView @@ -66,13 +75,15 @@ export default function VaultsListRowExpandedContent({ const chartTimeframe: TVaultChartTimeframe = '1y' const chainID = getVaultChainID(currentVault) const vaultAddress = getVaultAddress(currentVault) + const isYvUsd = isYvUsdAddress(vaultAddress) const { data: snapshotVault } = useVaultSnapshot({ chainId: chainID, address: vaultAddress }) const snapshotMergedVault = useMemo(() => getVaultView(currentVault, snapshotVault), [currentVault, snapshotVault]) + const chartTab = isExpandedChartView(expandedView) ? EXPANDED_VIEW_TO_CHART_TAB[expandedView] : undefined - const handleGoToVault = (event: React.MouseEvent): void => { + const handleGoToVault = (event: MouseEvent): void => { event.stopPropagation() trackEvent(PLAUSIBLE_EVENTS.VAULT_CLICK_LIST_ROW_EXPANDED, { props: { @@ -114,16 +125,26 @@ export default function VaultsListRowExpandedContent({ } /> - {expandedView in EXPANDED_VIEW_TO_CHART_TAB ? ( - + {chartTab ? ( + isYvUsd ? ( + + ) : ( + + ) ) : ( )} @@ -150,18 +171,17 @@ function VaultStrategyAllocationPreview({ }) const isDark = useDarkMode() - type TMergedStrategy = TKongVaultStrategy & { name: string } - const mergedList = useMemo(() => { - const list: TMergedStrategy[] = [] - for (const strategy of strategies) { - const linkedVault = vaults[toAddress(strategy.address)] - list.push({ - ...strategy, - name: strategy.name || (linkedVault ? getVaultName(linkedVault) : `Strategy ${list.length + 1}`) - }) - } - return list - }, [strategies, vaults]) + const mergedList = useMemo( + () => + strategies.map((strategy, index): TMergedStrategy => { + const linkedVault = vaults[toAddress(strategy.address)] + return { + ...strategy, + name: strategy.name || (linkedVault ? getVaultName(linkedVault) : `Strategy ${index + 1}`) + } + }), + [strategies, vaults] + ) const filteredVaultList = useMemo( () => mergedList.filter((strategy) => strategy.status !== 'not_active'), diff --git a/src/components/pages/vaults/components/notifications/Notification.tsx b/src/components/pages/vaults/components/notifications/Notification.tsx index 3f768ff6f..0d59d2cc0 100644 --- a/src/components/pages/vaults/components/notifications/Notification.tsx +++ b/src/components/pages/vaults/components/notifications/Notification.tsx @@ -119,6 +119,64 @@ function ApproveNotificationContent({ notification }: { notification: TNotificat ) } +function CooldownNotificationContent({ notification }: { notification: TNotification }): ReactElement { + const chainName = NETWORK_BY_CHAIN_ID.get(notification.chainId)?.name || 'Unknown' + + const explorerBaseURI = useMemo(() => { + const chain = NETWORK_BY_CHAIN_ID.get(notification.chainId) + return chain?.blockExplorers?.default?.url || 'https://etherscan.io' + }, [notification.chainId]) + + return ( +
    +
    + +
    +
    +
    +

    {'Address:'}

    +

    + + + +

    +

    {'Locked shares:'}

    +

    + + + +

    +

    {'Chain:'}

    +

    {chainName}

    +
    +
    +
    + ) +} + function DepositNotificationContent({ notification }: { notification: TNotification }): ReactElement { const fromChainName = NETWORK_BY_CHAIN_ID.get(notification.chainId)?.name || 'Unknown' const toChainName = notification.toChainId @@ -441,6 +499,10 @@ function NotificationContent({ notification }: { notification: TNotification }): return } + if (['start cooldown', 'cancel cooldown'].includes(notification.type)) { + return + } + if (['deposit', 'stake', 'zap', 'crosschain zap', 'deposit and stake'].includes(notification.type)) { return } @@ -500,6 +562,10 @@ export const Notification = memo(function Notification({ return 'Deposit' case 'withdraw': return 'Withdraw' + case 'start cooldown': + return 'Start Cooldown' + case 'cancel cooldown': + return 'Cancel Cooldown' case 'zap': return 'Zap' case 'crosschain zap': diff --git a/src/components/pages/vaults/components/table/VaultHoldingsAmount.tsx b/src/components/pages/vaults/components/table/VaultHoldingsAmount.tsx index e3972d750..3c8ee6992 100644 --- a/src/components/pages/vaults/components/table/VaultHoldingsAmount.tsx +++ b/src/components/pages/vaults/components/table/VaultHoldingsAmount.tsx @@ -4,10 +4,15 @@ import type { ReactElement } from 'react' export function VaultHoldingsAmount({ value, - valueClassName + valueClassName, + formatOptions }: { value: number valueClassName?: string + formatOptions?: { + minimumFractionDigits?: number + maximumFractionDigits?: number + } }): ReactElement { const { address } = useWeb3() const isWalletActive = !!address @@ -24,7 +29,7 @@ export function VaultHoldingsAmount({ valueClassName )} > - {shouldShowDash ? '-' : formatTvlDisplay(isDusty ? 0 : value)} + {shouldShowDash ? '-' : formatTvlDisplay(isDusty ? 0 : value, formatOptions)}

    ) diff --git a/src/components/pages/vaults/components/widget/InputTokenAmount.tsx b/src/components/pages/vaults/components/widget/InputTokenAmount.tsx index 789e79505..efda02d6b 100644 --- a/src/components/pages/vaults/components/widget/InputTokenAmount.tsx +++ b/src/components/pages/vaults/components/widget/InputTokenAmount.tsx @@ -78,7 +78,7 @@ export const InputTokenAmount: FC = ({ const handleInputChange = (event: ChangeEvent) => { handleChangeInput(event) - onInputChange?.(simpleToExact(event.target.value)) + onInputChange?.(simpleToExact(event.target.value, decimals ?? input[0].decimals)) } const handleTokenButtonClick = () => { @@ -122,7 +122,7 @@ export const InputTokenAmount: FC = ({ } return ( -
    +
    {/* Top row - Title and percentage buttons */}
    diff --git a/src/components/pages/vaults/components/widget/TokenSelector.tsx b/src/components/pages/vaults/components/widget/TokenSelector.tsx index b469eb9c6..8b29f78b2 100644 --- a/src/components/pages/vaults/components/widget/TokenSelector.tsx +++ b/src/components/pages/vaults/components/widget/TokenSelector.tsx @@ -16,6 +16,7 @@ interface TokenSelectorProps { limitTokens?: `0x${string}`[] excludeTokens?: `0x${string}`[] priorityTokens?: Record // chainId -> addresses to always show + extraTokens?: TToken[] onClose?: () => void assetAddress?: `0x${string}` vaultAddress?: `0x${string}` @@ -85,6 +86,7 @@ export const TokenSelector: FC = ({ limitTokens, excludeTokens, priorityTokens, + extraTokens, onClose, assetAddress, vaultAddress, @@ -155,8 +157,16 @@ export const TokenSelector: FC = ({ } } + // Include explicit extra tokens (used by custom widget flows) + const chainExtraTokens = (extraTokens || []).filter((token) => token.chainID === selectedChainId) + for (const extraToken of chainExtraTokens) { + if (!tokenList.some((t) => t.address?.toLowerCase() === extraToken.address?.toLowerCase())) { + tokenList.push(extraToken) + } + } + return tokenList - }, [balances, selectedChainId, value, customAddress, getToken, priorityTokens]) + }, [balances, selectedChainId, value, customAddress, getToken, priorityTokens, extraTokens]) // Filter tokens based on search and limits const filteredTokens = useMemo(() => { diff --git a/src/components/pages/vaults/components/widget/WalletPanel.tsx b/src/components/pages/vaults/components/widget/WalletPanel.tsx index 76e4853a2..0bd6a457e 100644 --- a/src/components/pages/vaults/components/widget/WalletPanel.tsx +++ b/src/components/pages/vaults/components/widget/WalletPanel.tsx @@ -4,17 +4,23 @@ import { getVaultTVL, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' -import type { VaultUserData } from '@pages/vaults/hooks/useVaultUserData' -import { TokenLogo } from '@shared/components/TokenLogo' +import { useVaultUserData, type VaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { + getYvUsdSharePrice, + isYvUsdVault, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { useNotifications } from '@shared/contexts/useNotifications' -import { useWallet } from '@shared/contexts/useWallet' import { useWeb3 } from '@shared/contexts/useWeb3' import { useYearn } from '@shared/contexts/useYearn' +import { yvUsdLockedVaultAbi } from '@shared/contracts/abi/yvUsdLockedVault.abi' import { IconCheck } from '@shared/icons/IconCheck' import { IconCross } from '@shared/icons/IconCross' import { IconLoader } from '@shared/icons/IconLoader' import { IconWallet } from '@shared/icons/IconWallet' -import type { TToken } from '@shared/types' import type { TNotification, TNotificationStatus } from '@shared/types/notifications' import { cl, @@ -25,10 +31,11 @@ import { toNormalizedBN, truncateHex } from '@shared/utils' -import { getVaultName } from '@shared/utils/helpers' import { getNetwork } from '@shared/utils/wagmi/utils' -import { type FC, type ReactElement, useCallback, useMemo, useState } from 'react' +import { type FC, type ReactElement, useCallback, useEffect, useMemo, useState } from 'react' import { useNavigate } from 'react-router' +import { useReadContract } from 'wagmi' +import { formatDuration, parseCooldownStatus } from './yvUSD/cooldownUtils' type WalletPanelProps = { isActive: boolean @@ -37,8 +44,6 @@ type WalletPanelProps = { stakingAddress?: `0x${string}` chainId: number vaultUserData: VaultUserData - onSelectZapToken?: (token: TToken) => void - showZapTokens?: boolean } const WALLET_TABS = [ @@ -59,24 +64,168 @@ const STATUS_STYLES: Record } } +function YvUsdVaultBalances({ account }: { account?: `0x${string}` }): ReactElement { + const { getPrice } = useYearn() + const { unlockedVault, lockedVault, isLoading: isLoadingYvUsd } = useYvUsdVaults() + const [nowTimestamp, setNowTimestamp] = useState(() => Math.floor(Date.now() / 1000)) + + const unlockedAssetAddress = toAddress(unlockedVault?.token.address ?? YVUSD_UNLOCKED_ADDRESS) + const unlockedUserData = useVaultUserData({ + vaultAddress: toAddress(unlockedVault?.address ?? YVUSD_UNLOCKED_ADDRESS), + assetAddress: unlockedAssetAddress, + chainId: YVUSD_CHAIN_ID, + account + }) + const lockedUserData = useVaultUserData({ + vaultAddress: toAddress(lockedVault?.address ?? YVUSD_LOCKED_ADDRESS), + assetAddress: YVUSD_UNLOCKED_ADDRESS, + chainId: YVUSD_CHAIN_ID, + account + }) + const { data: rawCooldownStatus, isLoading: isLoadingCooldownStatus } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'getCooldownStatus', + args: account ? [toAddress(account)] : undefined, + chainId: YVUSD_CHAIN_ID, + query: { + enabled: !!account, + refetchInterval: account ? 30_000 : false + } + }) + const { data: rawAvailableWithdrawLimit, isLoading: isLoadingAvailableWithdrawLimit } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'availableWithdrawLimit', + args: account ? [toAddress(account)] : undefined, + chainId: YVUSD_CHAIN_ID, + query: { + enabled: !!account, + refetchInterval: account ? 30_000 : false + } + }) + const cooldownStatus = useMemo(() => parseCooldownStatus(rawCooldownStatus), [rawCooldownStatus]) + const hasActiveCooldown = cooldownStatus.shares > 0n + const isCooldownActive = hasActiveCooldown && nowTimestamp < cooldownStatus.cooldownEnd + const isWithdrawalWindowOpen = + hasActiveCooldown && nowTimestamp >= cooldownStatus.cooldownEnd && nowTimestamp <= cooldownStatus.windowEnd + const cooldownRemainingSeconds = isCooldownActive ? cooldownStatus.cooldownEnd - nowTimestamp : 0 + const windowRemainingSeconds = isWithdrawalWindowOpen ? cooldownStatus.windowEnd - nowTimestamp : 0 + const availableWithdrawLimit = typeof rawAvailableWithdrawLimit === 'bigint' ? rawAvailableWithdrawLimit : 0n + const sharesUnderCooldown = hasActiveCooldown ? cooldownStatus.shares : 0n + const assetsUnderCooldown = useMemo(() => { + if (!hasActiveCooldown || lockedUserData.pricePerShare <= 0n) return 0n + const vaultDecimals = lockedUserData.vaultToken?.decimals ?? 18 + return (sharesUnderCooldown * lockedUserData.pricePerShare) / 10n ** BigInt(vaultDecimals) + }, [hasActiveCooldown, lockedUserData.pricePerShare, lockedUserData.vaultToken?.decimals, sharesUnderCooldown]) + + const unlockedSymbol = unlockedUserData.assetToken?.symbol ?? 'USDC' + const lockedSymbol = lockedUserData.assetToken?.symbol ?? 'yvUSD' + const unlockedDecimals = unlockedUserData.assetToken?.decimals ?? 6 + const lockedDecimals = lockedUserData.assetToken?.decimals ?? 18 + const unlockedAssetPrice = + unlockedUserData.assetToken?.address && unlockedUserData.assetToken?.chainID + ? getPrice({ + address: toAddress(unlockedUserData.assetToken.address), + chainID: unlockedUserData.assetToken.chainID + }).normalized + : unlockedVault?.tvl.price || 0 + const unlockedSharePrice = getYvUsdSharePrice(unlockedVault, unlockedAssetPrice) + const unlockedNormalized = toNormalizedBN(unlockedUserData.depositedValue, unlockedDecimals).normalized + const lockedNormalized = toNormalizedBN(lockedUserData.depositedValue, lockedDecimals).normalized + const unlockedUsd = unlockedNormalized * unlockedAssetPrice + const lockedUsd = lockedNormalized * unlockedSharePrice + const totalUsd = unlockedUsd + lockedUsd + + useEffect(() => { + if (!account) return + setNowTimestamp(Math.floor(Date.now() / 1000)) + const interval = window.setInterval(() => { + setNowTimestamp(Math.floor(Date.now() / 1000)) + }, 1_000) + return () => window.clearInterval(interval) + }, [account]) + + if (isLoadingYvUsd || unlockedUserData.isLoading || lockedUserData.isLoading) { + return

    {'Loading yvUSD position data...'}

    + } + + return ( + <> +
    + Deposited value + {formatUSD(totalUsd)} +
    +
    + Unlocked position + + {`${formatTAmount({ value: unlockedUserData.depositedValue, decimals: unlockedDecimals })} ${unlockedSymbol}`} + ({formatUSD(unlockedUsd)}) + +
    +
    + Locked position + + {`${formatTAmount({ value: lockedUserData.depositedValue, decimals: lockedDecimals })} ${lockedSymbol}`} + ({formatUSD(lockedUsd)}) + +
    + {account && hasActiveCooldown ? ( +
    +

    {'Cooldown status'}

    + {isLoadingCooldownStatus || isLoadingAvailableWithdrawLimit ? ( +

    {'Loading cooldown status...'}

    + ) : ( + <> +

    + {`Shares in cooldown: ${formatTAmount({ + value: sharesUnderCooldown, + decimals: lockedUserData.vaultToken?.decimals ?? 18 + })}`} +

    +

    + {`Estimated assets in cooldown: ${formatTAmount({ + value: assetsUnderCooldown, + decimals: lockedUserData.assetToken?.decimals ?? 18 + })} ${lockedUserData.assetToken?.symbol ?? 'USDC'}`} +

    +

    + {`Available to withdraw now: ${formatTAmount({ + value: availableWithdrawLimit, + decimals: lockedUserData.assetToken?.decimals ?? 18 + })} ${lockedUserData.assetToken?.symbol ?? 'USDC'}`} +

    +

    + {isCooldownActive + ? `Cooldown remaining: ${formatDuration(cooldownRemainingSeconds)}` + : isWithdrawalWindowOpen + ? `Withdrawal window remaining: ${formatDuration(windowRemainingSeconds)}` + : 'Withdrawal window closed. Start a new cooldown to withdraw.'} +

    + + )} +
    + ) : null} + + ) +} + export const WalletPanel: FC = ({ isActive: isPanelActive, currentVault, vaultAddress, stakingAddress, chainId, - vaultUserData, - onSelectZapToken, - showZapTokens = true + vaultUserData }) => { const { address, isActive: isWalletActive, openLoginModal } = useWeb3() const { cachedEntries } = useNotifications() const navigate = useNavigate() - const { balances } = useWallet() const { getPrice } = useYearn() const [activeTab, setActiveTab] = useState('balances') const { assetToken, vaultToken, stakingToken, depositedValue, depositedShares, pricePerShare, isLoading } = vaultUserData + const isYvUsd = isYvUsdVault(currentVault) const vaultDecimals = getVaultDecimals(currentVault) const vaultTVL = getVaultTVL(currentVault) @@ -91,7 +240,6 @@ export const WalletPanel: FC = ({ const hasVaultShares = vaultBalance > 0n const hasStakedShares = stakingBalance > 0n const showTotalShares = hasVaultShares && hasStakedShares - const vaultName = getVaultName(currentVault) const assetPrice = assetToken?.address ? getPrice({ address: toAddress(assetToken.address), chainID: assetToken.chainID ?? chainId }).normalized : 0 @@ -157,9 +305,10 @@ export const WalletPanel: FC = ({ const availableUsd = (assetToken?.balance.normalized ?? 0) * assetPrice const relatedAddresses = useMemo(() => { - const addresses = [vaultAddress, stakingAddress].filter(Boolean) as `0x${string}`[] + const yvUsdAddresses = isYvUsd ? [YVUSD_UNLOCKED_ADDRESS, YVUSD_LOCKED_ADDRESS] : [] + const addresses = [...yvUsdAddresses, vaultAddress, stakingAddress].filter(Boolean) as `0x${string}`[] return addresses.map((addr) => toAddress(addr).toLowerCase()) - }, [vaultAddress, stakingAddress]) + }, [isYvUsd, vaultAddress, stakingAddress]) const recentEntries = useMemo(() => { const filtered = ( @@ -175,35 +324,6 @@ export const WalletPanel: FC = ({ return filtered.toReversed().slice(0, 3) }, [address, cachedEntries, relatedAddresses, chainId]) - const zapTokens = useMemo(() => { - if (!showZapTokens) { - return [] - } - - const chainBalances = balances[chainId] || {} - const excluded = [vaultAddress, stakingAddress].filter(Boolean).map((addr) => toAddress(addr).toLowerCase()) - const tokens = Object.values(chainBalances).filter((token) => { - if (!token?.address) return false - if (token.balance.raw <= 0n) return false - return !excluded.includes(toAddress(token.address).toLowerCase()) - }) as TToken[] - - const sorted = tokens.toSorted((a, b) => { - const aBalance = a.balance?.raw || 0n - const bBalance = b.balance?.raw || 0n - return bBalance > aBalance ? 1 : -1 - }) - return sorted.map((token) => { - const tokenPrice = getPrice({ address: toAddress(token.address), chainID: token.chainID }).normalized - const tokenUsd = token.balance.normalized * tokenPrice - return { - token, - amountLabel: formatTokenAmount(token.balance.raw, token.decimals, token.symbol, { shouldCompactValue: true }), - usdLabel: formatUSD(tokenUsd) - } - }) - }, [showZapTokens, balances, chainId, vaultAddress, stakingAddress, getPrice, formatTokenAmount]) - return (
    = ({

    Your Vault balances

    -
    - Deposited value -
    - {depositedLabel} - - ({formatUSD(depositedUsd)}) - -
    -
    -
    - - {hasStakedShares && !showTotalShares ? 'Staked shares' : 'Deposited shares'} - - - {hasStakedShares && !showTotalShares ? stakingBalanceLabel : vaultBalanceLabel} - - ({formatUSD(hasStakedShares && !showTotalShares ? stakedSharesUsd : vaultSharesUsd)}) - - -
    - {showTotalShares ? ( + {isYvUsd ? ( + + ) : ( <> -
    - Staked shares - - {stakingBalanceLabel} - - ({formatUSD(stakedSharesUsd)}) +
    + Deposited value +
    + {depositedLabel} + + ({formatUSD(depositedUsd)}) - +
    - Total shares - - {totalSharesLabel} + + {hasStakedShares && !showTotalShares ? 'Staked shares' : 'Deposited shares'} + + + {hasStakedShares && !showTotalShares ? stakingBalanceLabel : vaultBalanceLabel} - ({formatUSD(totalSharesUsd)}) + ({formatUSD(hasStakedShares && !showTotalShares ? stakedSharesUsd : vaultSharesUsd)})
    + {showTotalShares ? ( + <> +
    + Staked shares + + {stakingBalanceLabel} + + ({formatUSD(stakedSharesUsd)}) + + +
    +
    + Total shares + + {totalSharesLabel} + + ({formatUSD(totalSharesUsd)}) + + +
    + + ) : null} - ) : null} + )}
    @@ -316,48 +442,6 @@ export const WalletPanel: FC = ({
    - - {showZapTokens ? ( -
    -

    Zap-ready tokens

    - {zapTokens.length === 0 ? ( -
    No wallet tokens available to zap.
    - ) : ( -
    - {zapTokens.map(({ token, amountLabel, usdLabel }) => ( - - ))} -
    - )} -
    - ) : null} ) : null} diff --git a/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx b/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx index 21704413d..4940c8bc3 100644 --- a/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx +++ b/src/components/pages/vaults/components/widget/deposit/DepositDetails.tsx @@ -24,6 +24,7 @@ interface DepositDetailsProps { pricePerShare: bigint assetUsdPrice: number willReceiveStakedShares: boolean + vaultSharesLabel?: string onShowVaultSharesModal: () => void onShowVaultShareValueModal: () => void // Annual return info @@ -56,6 +57,7 @@ export const DepositDetails: FC = ({ pricePerShare, assetUsdPrice, willReceiveStakedShares, + vaultSharesLabel, onShowVaultSharesModal, onShowVaultShareValueModal, estimatedAnnualReturn, @@ -68,7 +70,7 @@ export const DepositDetails: FC = ({ onShowApprovalOverlay }) => { const isStake = routeType === 'DIRECT_STAKE' - const sharesLabel = willReceiveStakedShares ? 'Staked shares' : 'Vault shares' + const sharesLabel = willReceiveStakedShares ? 'Staked shares' : (vaultSharesLabel ?? 'Vault shares') // Determine action verb based on route type const getActionVerb = () => { @@ -95,7 +97,7 @@ export const DepositDetails: FC = ({ : 0 const hasHighPriceImpact = !isQuoteStale && !isLoadingQuote && priceImpact > 5 return ( -
    +
    {/* You will deposit/swap/stake */}
    diff --git a/src/components/pages/vaults/components/widget/deposit/index.tsx b/src/components/pages/vaults/components/widget/deposit/index.tsx index e3cb0cf70..07ed785db 100644 --- a/src/components/pages/vaults/components/widget/deposit/index.tsx +++ b/src/components/pages/vaults/components/widget/deposit/index.tsx @@ -10,10 +10,12 @@ import { useYearn } from '@shared/contexts/useYearn' import { IconChevron } from '@shared/icons/IconChevron' import { IconCross } from '@shared/icons/IconCross' import { IconSettings } from '@shared/icons/IconSettings' +import type { TToken } from '@shared/types' import { cl, formatTAmount, toAddress } from '@shared/utils' import { ETH_TOKEN_ADDRESS } from '@shared/utils/constants' import { PLAUSIBLE_EVENTS } from '@shared/utils/plausible' -import { type FC, useCallback, useEffect, useMemo, useRef, useState } from 'react' +import type { ReactElement, ReactNode } from 'react' +import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { formatUnits } from 'viem' import { useAccount } from 'wagmi' import { SettingsPanel } from '../SettingsPanel' @@ -25,6 +27,7 @@ import { WidgetHeader } from '../shared/WidgetHeader' import { AnnualReturnOverlay } from './AnnualReturnOverlay' import { ApprovalOverlay } from './ApprovalOverlay' import { DepositDetails } from './DepositDetails' +import type { DepositRouteType } from './types' import { useDepositError } from './useDepositError' import { useDepositFlow } from './useDepositFlow' import { useDepositNotifications } from './useDepositNotifications' @@ -35,6 +38,7 @@ import { VaultShareValueOverlay } from './VaultShareValueOverlay' interface Props { vaultAddress: `0x${string}` assetAddress: `0x${string}` + directDepositTokenAddress?: `0x${string}` stakingAddress?: `0x${string}` chainId: number vaultAPR: number @@ -44,6 +48,8 @@ interface Props { handleDepositSuccess?: () => void onOpenSettings?: () => void isSettingsOpen?: boolean + onAmountChange?: (value: string) => void + onTokenSelectionChange?: (address: `0x${string}`, chainId: number) => void prefill?: { address: `0x${string}` chainId: number @@ -53,11 +59,55 @@ interface Props { hideSettings?: boolean disableBorderRadius?: boolean collapseDetails?: boolean + detailsContent?: ReactNode + contentBelowInput?: ReactNode + vaultSharesLabel?: string + hideDetails?: boolean + hideActionButton?: boolean + hideContainerBorder?: boolean + headerActions?: ReactNode + tokenSelectorExtraTokens?: TToken[] } -export const WidgetDeposit: FC = ({ +type DepositActionCopy = { + actionLabel: string + progressLabel: string + pastTenseLabel: string +} + +function getDepositActionCopy(routeType: DepositRouteType): DepositActionCopy { + if (routeType === 'DIRECT_STAKE') { + return { + actionLabel: 'Stake', + progressLabel: 'Staking', + pastTenseLabel: 'staked' + } + } + + return { + actionLabel: 'Deposit', + progressLabel: 'Depositing', + pastTenseLabel: 'deposited' + } +} + +function getDepositButtonLabel(isLoadingRoute: boolean, needsApproval: boolean, routeType: DepositRouteType): string { + if (isLoadingRoute) { + return 'Fetching quote' + } + + const { actionLabel } = getDepositActionCopy(routeType) + if (needsApproval) { + return `Approve & ${actionLabel}` + } + + return actionLabel +} + +export function WidgetDeposit({ vaultAddress, assetAddress, + directDepositTokenAddress, stakingAddress, chainId, vaultAPR, @@ -67,12 +117,22 @@ export const WidgetDeposit: FC = ({ handleDepositSuccess: onDepositSuccess, onOpenSettings, isSettingsOpen, + onAmountChange, + onTokenSelectionChange, prefill, onPrefillApplied, hideSettings: _hideSettings, disableBorderRadius, - collapseDetails -}) => { + collapseDetails, + detailsContent, + contentBelowInput, + vaultSharesLabel, + hideDetails = false, + hideActionButton = false, + hideContainerBorder = false, + headerActions, + tokenSelectorExtraTokens +}: Props): ReactElement { const { address: account } = useAccount() const { openLoginModal } = useWeb3() const { onRefresh: refreshWalletBalances, getToken } = useWallet() @@ -80,8 +140,8 @@ export const WidgetDeposit: FC = ({ const trackEvent = usePlausible() const ensoEnabled = useEnsoEnabled({ chainId, vaultAddress }) - const [selectedToken, setSelectedToken] = useState<`0x${string}` | undefined>(assetAddress) - const [selectedChainId, setSelectedChainId] = useState() + const [selectedToken, setSelectedToken] = useState<`0x${string}` | undefined>(prefill?.address ?? assetAddress) + const [selectedChainId, setSelectedChainId] = useState(prefill?.chainId) const [showVaultSharesModal, setShowVaultSharesModal] = useState(false) const [showVaultShareValueModal, setShowVaultShareValueModal] = useState(false) const [showAnnualReturnModal, setShowAnnualReturnModal] = useState(false) @@ -104,13 +164,23 @@ export const WidgetDeposit: FC = ({ const depositToken = selectedToken || assetAddress const sourceChainId = selectedChainId || chainId const isNativeToken = toAddress(depositToken) === toAddress(ETH_TOKEN_ADDRESS) + const selectedExtraToken = useMemo( + () => + tokenSelectorExtraTokens?.find( + (token) => token.chainID === sourceChainId && toAddress(token.address) === toAddress(depositToken) + ), + [tokenSelectorExtraTokens, sourceChainId, depositToken] + ) const inputToken = useMemo(() => { if (sourceChainId === chainId && depositToken === assetAddress) { return assetToken } + if (selectedExtraToken) { + return selectedExtraToken + } return getToken({ address: depositToken, chainID: sourceChainId }) - }, [getToken, depositToken, sourceChainId, chainId, assetAddress, assetToken]) + }, [getToken, depositToken, sourceChainId, chainId, assetAddress, assetToken, selectedExtraToken]) const destinationToken = useMemo(() => { if (isAutoStakingEnabled && stakingAddress) return stakingAddress @@ -122,6 +192,15 @@ export const WidgetDeposit: FC = ({ // ============================================================================ const depositInput = useDebouncedInput(inputToken?.decimals ?? 18) const [depositAmount, , setDepositInput] = depositInput + const shouldCollapseDetails = Boolean(collapseDetails && !hideDetails && !hideActionButton) + + useEffect(() => { + onAmountChange?.(depositAmount.formValue) + }, [depositAmount.formValue, onAmountChange]) + + useEffect(() => { + onTokenSelectionChange?.(depositToken, sourceChainId) + }, [depositToken, onTokenSelectionChange, sourceChainId]) useEffect(() => { if (!prefill) return @@ -153,14 +232,15 @@ export const WidgetDeposit: FC = ({ }) useEffect(() => { - if (!collapseDetails && isDetailsPanelOpen) { + if (!shouldCollapseDetails && isDetailsPanelOpen) { setIsDetailsPanelOpen(false) } - }, [collapseDetails, isDetailsPanelOpen]) + }, [isDetailsPanelOpen, shouldCollapseDetails]) const { routeType, activeFlow } = useDepositFlow({ depositToken, assetAddress, + directDepositTokenAddress, destinationToken, vaultAddress, stakingAddress, @@ -309,16 +389,15 @@ export const WidgetDeposit: FC = ({ } } - const actionVerb = routeType === 'DIRECT_STAKE' ? 'Stake' : 'Deposit' - const actionVerbPast = routeType === 'DIRECT_STAKE' ? 'staked' : 'deposited' + const { actionLabel, progressLabel, pastTenseLabel } = getDepositActionCopy(routeType) if (isCrossChain) { return { prepare: activeFlow.actions.prepareDeposit, - label: actionVerb, - confirmMessage: `${routeType === 'DIRECT_STAKE' ? 'Staking' : 'Depositing'} ${formattedDepositAmount} ${inputToken?.symbol || ''}`, + label: actionLabel, + confirmMessage: `${progressLabel} ${formattedDepositAmount} ${inputToken?.symbol || ''}`, successTitle: 'Transaction Submitted', - successMessage: `Your cross-chain ${actionVerb.toLowerCase()} has been submitted.\nIt may take a few minutes to complete on the destination chain.`, + successMessage: `Your cross-chain ${actionLabel.toLowerCase()} has been submitted.\nIt may take a few minutes to complete on the destination chain.`, showConfetti: true, notification: depositNotificationParams } @@ -326,10 +405,10 @@ export const WidgetDeposit: FC = ({ return { prepare: activeFlow.actions.prepareDeposit, - label: actionVerb, - confirmMessage: `${routeType === 'DIRECT_STAKE' ? 'Staking' : 'Depositing'} ${formattedDepositAmount} ${inputToken?.symbol || ''}`, - successTitle: `${actionVerb} successful!`, - successMessage: `You have ${actionVerbPast} ${formattedDepositAmount} ${inputToken?.symbol || ''} into ${vaultSymbol}.`, + label: actionLabel, + confirmMessage: `${progressLabel} ${formattedDepositAmount} ${inputToken?.symbol || ''}`, + successTitle: `${actionLabel} successful!`, + successMessage: `You have ${pastTenseLabel} ${formattedDepositAmount} ${inputToken?.symbol || ''} into ${vaultSymbol}.`, showConfetti: true, notification: depositNotificationParams } @@ -361,11 +440,8 @@ export const WidgetDeposit: FC = ({ const handleDepositSuccess = useCallback(() => { const amountToDeposit = formatUnits(depositAmount.bn, inputToken?.decimals ?? 18) - const priceUsd = - inputToken?.address && inputToken?.chainID - ? getPrice({ address: toAddress(inputToken.address), chainID: inputToken.chainID }).normalized - : 0 - const valueUsd = Number(amountToDeposit) * priceUsd + const priceUsd = inputTokenPrice + const valueUsd = Number(amountToDeposit) * inputTokenPrice trackEvent(PLAUSIBLE_EVENTS.DEPOSIT, { props: { @@ -396,10 +472,8 @@ export const WidgetDeposit: FC = ({ }, [ depositAmount.bn, inputToken?.decimals, - inputToken?.address, - inputToken?.chainID, inputToken?.symbol, - getPrice, + inputTokenPrice, trackEvent, chainId, vaultAddress, @@ -427,7 +501,7 @@ export const WidgetDeposit: FC = ({ if (isLoadingVaultData) { return (
    - +
    @@ -439,8 +513,17 @@ export const WidgetDeposit: FC = ({ // Render // ============================================================================ const isSettingsVisible = !!account && !!isSettingsOpen + const approvalSpenderName = !isNativeToken ? (routeType === 'ENSO' ? 'Enso' : 'Vault') : undefined + const onAllowanceClick = + !isNativeToken && activeFlow.periphery.allowance > 0n + ? (): void => { + setDepositInput(formatUnits(activeFlow.periphery.allowance, inputToken?.decimals ?? 18)) + } + : undefined - const detailsSection = ( + const detailsSection = detailsContent ? ( + detailsContent + ) : hideDetails ? null : ( = ({ pricePerShare={pricePerShare || 0n} assetUsdPrice={assetTokenPrice} willReceiveStakedShares={willReceiveStakedShares} + vaultSharesLabel={vaultSharesLabel} onShowVaultSharesModal={() => setShowVaultSharesModal(true)} onShowVaultShareValueModal={() => setShowVaultShareValueModal(true)} estimatedAnnualReturn={estimatedAnnualReturn} @@ -466,12 +550,8 @@ export const WidgetDeposit: FC = ({ allowance={!isNativeToken ? activeFlow.periphery.allowance : undefined} allowanceTokenDecimals={!isNativeToken ? (inputToken?.decimals ?? 18) : undefined} allowanceTokenSymbol={!isNativeToken ? inputToken?.symbol : undefined} - approvalSpenderName={!isNativeToken ? (routeType === 'ENSO' ? 'Enso' : 'Vault') : undefined} - onAllowanceClick={ - !isNativeToken && activeFlow.periphery.allowance > 0n - ? () => setDepositInput(formatUnits(activeFlow.periphery.allowance, inputToken?.decimals ?? 18)) - : undefined - } + approvalSpenderName={approvalSpenderName} + onAllowanceClick={onAllowanceClick} onShowApprovalOverlay={!isNativeToken ? () => setShowApprovalOverlay(true) : undefined} /> ) @@ -498,12 +578,24 @@ export const WidgetDeposit: FC = ({
    ) - const actionRow = ( + const showActionRow = !hideActionButton || !!onOpenSettings + const depositButtonLabel = getDepositButtonLabel(activeFlow.periphery.isLoadingRoute, needsApproval, routeType) + const isDepositButtonDisabled = + !!depositError || + depositAmount.bn === 0n || + activeFlow.periphery.isLoadingRoute || + depositAmount.isDebouncing || + (!activeFlow.periphery.isAllowanceSufficient && !activeFlow.periphery.prepareApproveEnabled) || + (activeFlow.periphery.isAllowanceSufficient && !activeFlow.periphery.prepareDepositEnabled) || + (priceImpactInfo.isHigh && !hasAcceptedPriceImpact) + const showSettingsButton = !!account && !!onOpenSettings + + const actionRow = showActionRow ? (
    {priceImpactWarning}
    - {!account ? ( + {hideActionButton ? null : !account ? ( )}
    - {account && onOpenSettings ? ( + {showSettingsButton ? (
    - ) + ) : null return (
    - -
    + +
    {/* Amount Section */} = ({ onTokenSelectorClick={() => setShowTokenSelector(true)} /> - {collapseDetails ? ( + {contentBelowInput} + + {shouldCollapseDetails ? ( <>
    - {collapseDetails && isDetailsPanelOpen ? ( + {shouldCollapseDetails && isDetailsPanelOpen ? (
    Your Transaction Details @@ -708,6 +791,7 @@ export const WidgetDeposit: FC = ({ value={selectedToken} priorityTokens={{ [chainId]: [assetAddress] }} excludeTokens={stakingAddress ? [stakingAddress] : [vaultAddress]} + extraTokens={tokenSelectorExtraTokens} assetAddress={assetAddress} vaultAddress={vaultAddress} stakingAddress={stakingAddress} diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts b/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts index d181b84ee..aa6d24ddc 100644 --- a/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts +++ b/src/components/pages/vaults/components/widget/deposit/useDepositFlow.ts @@ -1,6 +1,9 @@ import { useDirectDeposit } from '@pages/vaults/hooks/actions/useDirectDeposit' import { useDirectStake } from '@pages/vaults/hooks/actions/useDirectStake' import { useEnsoDeposit } from '@pages/vaults/hooks/actions/useEnsoDeposit' +import { useYvUsdLockedZapDeposit } from '@pages/vaults/hooks/actions/useYvUsdLockedZapDeposit' +import { YVUSD_LOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' +import { toAddress } from '@shared/utils' import { useMemo } from 'react' import type { Address } from 'viem' import type { DepositRouteType } from './types' @@ -10,6 +13,7 @@ interface UseDepositFlowProps { // Token addresses depositToken: Address assetAddress: Address + directDepositTokenAddress?: Address destinationToken: Address vaultAddress: Address stakingAddress?: Address @@ -53,6 +57,7 @@ export interface DepositFlowResult { export const useDepositFlow = ({ depositToken, assetAddress, + directDepositTokenAddress, destinationToken, vaultAddress, stakingAddress, @@ -72,11 +77,21 @@ export const useDepositFlow = ({ chainId, depositToken, assetAddress, + directDepositTokenAddress, destinationToken, vaultAddress, stakingAddress }) + const isYvUsdLockedZapDeposit = useMemo( + () => + routeType === 'DIRECT_DEPOSIT' && + !!directDepositTokenAddress && + toAddress(vaultAddress) === YVUSD_LOCKED_ADDRESS && + toAddress(depositToken) === toAddress(directDepositTokenAddress), + [routeType, directDepositTokenAddress, vaultAddress, depositToken] + ) + // Direct deposit flow (asset → vault) const directDeposit = useDirectDeposit({ vaultAddress, @@ -85,7 +100,15 @@ export const useDepositFlow = ({ account, chainId, decimals: inputDecimals, - enabled: routeType === 'DIRECT_DEPOSIT' && amount > 0n + enabled: routeType === 'DIRECT_DEPOSIT' && amount > 0n && !isYvUsdLockedZapDeposit + }) + + const yvUsdLockedZapDeposit = useYvUsdLockedZapDeposit({ + depositToken, + amount, + account, + chainId, + enabled: isYvUsdLockedZapDeposit && amount > 0n }) // Direct stake flow (vault → staking) @@ -116,10 +139,12 @@ export const useDepositFlow = ({ // Select active flow based on routing type const activeFlow = useMemo(() => { - if (routeType === 'DIRECT_DEPOSIT') return directDeposit + if (routeType === 'DIRECT_DEPOSIT') { + return isYvUsdLockedZapDeposit ? yvUsdLockedZapDeposit : directDeposit + } if (routeType === 'DIRECT_STAKE') return directStake return ensoFlow - }, [routeType, directDeposit, directStake, ensoFlow]) + }, [routeType, isYvUsdLockedZapDeposit, yvUsdLockedZapDeposit, directDeposit, directStake, ensoFlow]) return { routeType, diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositNotifications.ts b/src/components/pages/vaults/components/widget/deposit/useDepositNotifications.ts index d4725a924..b71596758 100644 --- a/src/components/pages/vaults/components/widget/deposit/useDepositNotifications.ts +++ b/src/components/pages/vaults/components/widget/deposit/useDepositNotifications.ts @@ -64,8 +64,8 @@ export const useDepositNotifications = ({ spenderAddress = stakingAddress || destinationToken spenderName = stakingToken?.symbol || 'Staking Contract' } else if (routeType === 'DIRECT_DEPOSIT') { - spenderAddress = destinationToken - spenderName = vault.symbol || 'Vault' + spenderAddress = (routerAddress as Address) || destinationToken + spenderName = routerAddress ? 'Vault Zap' : vault.symbol || 'Vault' } else { return undefined } diff --git a/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts index 429327aa8..dbf5bcfc8 100644 --- a/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts +++ b/src/components/pages/vaults/components/widget/deposit/useDepositRoute.ts @@ -7,6 +7,7 @@ interface UseDepositRouteProps { chainId: number depositToken: Address assetAddress: Address + directDepositTokenAddress?: Address destinationToken: Address vaultAddress: Address stakingAddress?: Address @@ -19,13 +20,18 @@ interface ResolveDepositRouteTypeProps extends Omit { } } -export const Widget = forwardRef( - ( - { - currentVault, - vaultAddress, - gaugeAddress, - disableDepositStaking, - actions, - chainId, - vaultUserData, - handleSuccess, - mode, - onModeChange, - showTabs = true, - onOpenSettings, - isSettingsOpen, - depositPrefill, - onDepositPrefillConsumed, - hideTabSelector, - disableBorderRadius, - collapseDetails - }, - ref - ) => { - const [internalMode, setInternalMode] = useState(actions[0]) - const currentMode = mode ?? internalMode - const setMode = onModeChange ?? setInternalMode - const assetToken = getVaultToken(currentVault).address - const vaultAPR = getVaultAPR(currentVault) - const vaultSymbol = getVaultSymbol(currentVault) - const vaultStaking = getVaultStaking(currentVault) - const vaultVersion = getVaultVersion(currentVault) - const vaultInfo = getVaultInfo(currentVault) - const vaultMigration = getVaultMigration(currentVault) - const resolvedStakingAddress = isZeroAddress(gaugeAddress) ? undefined : toAddress(gaugeAddress) - - useImperativeHandle(ref, () => ({ - setMode: (newMode: ActionType) => { - if (actions.includes(newMode)) { - setMode(newMode) - } - } - })) +export const Widget = forwardRef(function Widget( + { + currentVault, + vaultAddress, + gaugeAddress, + disableDepositStaking, + actions, + chainId, + vaultUserData, + handleSuccess, + mode, + onModeChange, + showTabs = true, + onOpenSettings, + isSettingsOpen, + depositPrefill, + onDepositPrefillConsumed, + hideTabSelector, + disableBorderRadius, + collapseDetails + }: Props, + ref: ForwardedRef +): ReactElement { + const [internalMode, setInternalMode] = useState(actions[0]) + const currentMode = mode ?? internalMode + const setMode = onModeChange ?? setInternalMode + const assetToken = getVaultToken(currentVault).address + const vaultAPR = getVaultAPR(currentVault) + const vaultSymbol = getVaultSymbol(currentVault) + const vaultStaking = getVaultStaking(currentVault) + const vaultVersion = getVaultVersion(currentVault) + const vaultInfo = getVaultInfo(currentVault) + const vaultMigration = getVaultMigration(currentVault) + const resolvedStakingAddress = isZeroAddress(gaugeAddress) ? undefined : toAddress(gaugeAddress) - useEffect(() => { - if (mode === undefined) { - setInternalMode(actions[0]) + useImperativeHandle(ref, () => ({ + setMode(newMode: ActionType): void { + if (actions.includes(newMode)) { + setMode(newMode) } - }, [actions, mode]) + } + })) - const SelectedComponent = useMemo(() => { - switch (currentMode) { - case ActionType.Deposit: - return ( - - ) - case ActionType.Withdraw: - return ( - - ) - case ActionType.Migrate: - return ( - - ) - } - }, [ - currentMode, - vaultAddress, - disableDepositStaking, - currentVault, - assetToken, - chainId, - vaultUserData, - handleSuccess, - depositPrefill, - onDepositPrefillConsumed, - onOpenSettings, - isSettingsOpen, - hideTabSelector, - disableBorderRadius, - resolvedStakingAddress, - collapseDetails - ]) + useEffect(() => { + if (mode === undefined) { + setInternalMode(actions[0]) + } + }, [actions, mode]) - // Mobile mode: simple layout without tabs - if (hideTabSelector) { - return ( -
    -
    - {SelectedComponent} -
    -
    - ) + function renderSelectedComponent(): ReactElement { + switch (currentMode) { + case ActionType.Deposit: + return ( + + ) + case ActionType.Withdraw: + return ( + + ) + case ActionType.Migrate: + return ( + + ) } + } + const selectedComponent = renderSelectedComponent() + + if (hideTabSelector) { return ( -
    +
    - {showTabs ? ( - - ) : null} -
    {SelectedComponent}
    + {selectedComponent}
    ) } -) -export const WidgetTabs: FC<{ + return ( +
    +
    + {showTabs ? ( + + ) : null} +
    {selectedComponent}
    +
    +
    + ) +}) + +type WidgetTabsProps = { actions: ActionType[] activeAction: ActionType onActionChange: (action: ActionType) => void @@ -231,7 +221,10 @@ export const WidgetTabs: FC<{ onCloseOverlays?: () => void disableBorderRadius?: boolean dataTour?: string -}> = ({ + walletDataTour?: string +} + +export function WidgetTabs({ actions, activeAction, onActionChange, @@ -240,9 +233,11 @@ export const WidgetTabs: FC<{ isWalletOpen, onCloseOverlays, disableBorderRadius, - dataTour -}) => { + dataTour, + walletDataTour +}: WidgetTabsProps): ReactElement { const isWalletTabActive = !!isWalletOpen + return (
    {'My Info'} @@ -278,13 +273,15 @@ export const WidgetTabs: FC<{ ) } -const TabButton: FC<{ +type TabButtonProps = { className?: string - children: React.ReactNode + children: ReactNode onClick: () => void isActive: boolean dataTour?: string -}> = ({ children, onClick, isActive, className, dataTour }) => { +} + +function TabButton({ children, onClick, isActive, className, dataTour }: TabButtonProps): ReactElement { return ( )}
    - {account && onOpenSettings ? ( + {showSettingsButton ? ( - {actionRow} - - ) : ( - <> - {/* Details Section */} - {detailsSection} - - {/* Action Button */} - {actionRow} - - )} + {!hideActionButton ? ( + collapseDetails ? ( + <> + + {!hideActionButton ? actionRow : null} + + ) : ( + <> + {/* Details Section */} + {detailsSection} + + {/* Action Button */} + {!hideActionButton ? actionRow : null} + + ) + ) : null}
    - {collapseDetails && isDetailsPanelOpen ? ( + {collapseDetails && isDetailsPanelOpen && !hideActionButton ? (
    Your Transaction Details @@ -676,7 +827,7 @@ export const WidgetWithdraw: FC<
    {detailsSection}
    -
    {actionRow}
    + {!hideActionButton ?
    {actionRow}
    : null}
    ) : null} @@ -712,7 +863,7 @@ export const WidgetWithdraw: FC< stakingAddress={stakingAddress} withdrawalSource={withdrawalSource} routeType={routeType} - isZap={routeType === 'ENSO' && selectedToken !== assetAddress} + isZap={routeType === 'ENSO' && shouldShowZapUi} isLoadingQuote={activeFlow.periphery.isLoadingRoute} /> @@ -731,7 +882,7 @@ export const WidgetWithdraw: FC< value={selectedToken} excludeTokens={stakingAddress ? [stakingAddress] : undefined} priorityTokens={priorityTokens} - assetAddress={assetAddress} + assetAddress={resolvedDisplayAssetAddress} vaultAddress={vaultAddress} stakingAddress={stakingAddress} /> diff --git a/src/components/pages/vaults/components/widget/withdraw/types.ts b/src/components/pages/vaults/components/widget/withdraw/types.ts index bf9e053b2..6769f0835 100644 --- a/src/components/pages/vaults/components/widget/withdraw/types.ts +++ b/src/components/pages/vaults/components/widget/withdraw/types.ts @@ -1,4 +1,5 @@ import type { VaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import type { ReactNode } from 'react' export type WithdrawRouteType = 'DIRECT_WITHDRAW' | 'DIRECT_UNSTAKE' | 'ENSO' @@ -7,12 +8,29 @@ export type WithdrawalSource = 'vault' | 'staking' | null export interface WithdrawWidgetProps { vaultAddress: `0x${string}` assetAddress: `0x${string}` + displayAssetAddress?: `0x${string}` stakingAddress?: `0x${string}` chainId: number vaultSymbol: string vaultVersion?: string isVaultRetired?: boolean vaultUserData: VaultUserData + maxWithdrawAssets?: bigint + isActionDisabled?: boolean + actionDisabledReason?: string + disableTokenSelector?: boolean + hideZapForTokens?: `0x${string}`[] + disableAmountInput?: boolean + hideActionButton?: boolean + prefill?: { + address: `0x${string}` + chainId: number + amount?: string + } + prefillRequestKey?: string + onPrefillApplied?: () => void + headerActions?: ReactNode + onAmountChange?: (amount: bigint) => void handleWithdrawSuccess?: () => void onOpenSettings?: () => void isSettingsOpen?: boolean diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts index 2c1ba69f9..ced6cdbf2 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts @@ -1,7 +1,10 @@ import { useDirectUnstake } from '@pages/vaults/hooks/actions/useDirectUnstake' import { useDirectWithdraw } from '@pages/vaults/hooks/actions/useDirectWithdraw' import { useEnsoWithdraw } from '@pages/vaults/hooks/actions/useEnsoWithdraw' +import { useYvUsdLockedZapWithdraw } from '@pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw' import type { UseWidgetWithdrawFlowReturn } from '@pages/vaults/types' +import { YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' +import { toAddress } from '@shared/utils' import { useMemo } from 'react' import type { Address } from 'viem' import type { WithdrawalSource, WithdrawRouteType } from './types' @@ -80,6 +83,17 @@ export const useWithdrawFlow = ({ isUnstake }) + const isYvUsdLockedZapFlow = useMemo( + () => + routeType === 'DIRECT_WITHDRAW' && + withdrawalSource === 'vault' && + chainId === outputChainId && + toAddress(vaultAddress) === YVUSD_LOCKED_ADDRESS && + toAddress(assetAddress) !== YVUSD_UNLOCKED_ADDRESS && + toAddress(withdrawToken) === toAddress(assetAddress), + [routeType, withdrawalSource, chainId, outputChainId, vaultAddress, assetAddress, withdrawToken] + ) + // Direct withdraw flow (vault → asset) const directWithdraw = useDirectWithdraw({ vaultAddress, @@ -92,10 +106,18 @@ export const useWithdrawFlow = ({ chainId, decimals: assetDecimals, vaultDecimals, - enabled: routeType === 'DIRECT_WITHDRAW' && amount > 0n, + enabled: routeType === 'DIRECT_WITHDRAW' && amount > 0n && !isYvUsdLockedZapFlow, useErc4626 }) + const yvUsdLockedZapWithdraw = useYvUsdLockedZapWithdraw({ + amount, + requiredShares, + account, + chainId, + enabled: isYvUsdLockedZapFlow && amount > 0n + }) + // Direct unstake flow (staking → vault) const directUnstake = useDirectUnstake({ stakingAddress, @@ -122,10 +144,12 @@ export const useWithdrawFlow = ({ // Select active flow based on routing type const activeFlow = useMemo((): UseWidgetWithdrawFlowReturn => { - if (routeType === 'DIRECT_WITHDRAW') return directWithdraw + if (routeType === 'DIRECT_WITHDRAW') { + return isYvUsdLockedZapFlow ? yvUsdLockedZapWithdraw : directWithdraw + } if (routeType === 'DIRECT_UNSTAKE') return directUnstake return ensoFlow - }, [routeType, directWithdraw, directUnstake, ensoFlow]) + }, [routeType, isYvUsdLockedZapFlow, yvUsdLockedZapWithdraw, directWithdraw, directUnstake, ensoFlow]) return { routeType, diff --git a/src/components/pages/vaults/components/widget/yvUSD/YvUsdDeposit.tsx b/src/components/pages/vaults/components/widget/yvUSD/YvUsdDeposit.tsx new file mode 100644 index 000000000..2ab61a119 --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/YvUsdDeposit.tsx @@ -0,0 +1,275 @@ +import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { + convertYvUsdVariantAmountString, + type TYvUsdVariant, + YVUSD_LOCKED_ADDRESS, + YVUSD_LOCKED_COOLDOWN_DAYS, + YVUSD_UNLOCKED_ADDRESS, + YVUSD_WITHDRAW_WINDOW_DAYS +} from '@pages/vaults/utils/yvUsd' +import { Button } from '@shared/components/Button' +import { IconLock } from '@shared/icons/IconLock' +import { IconLockOpen } from '@shared/icons/IconLockOpen' +import type { TToken } from '@shared/types' +import { toAddress, zeroNormalizedBN } from '@shared/utils' +import type { ReactElement } from 'react' +import { useState } from 'react' +import { useAccount } from 'wagmi' +import { WidgetDeposit } from '../deposit' +import { YvUsdVariantToggle } from './YvUsdVariantToggle' + +type Props = { + chainId: number + assetAddress: `0x${string}` + onDepositSuccess?: () => void + collapseDetails?: boolean + onVariantChange?: (variant: TYvUsdVariant) => void +} + +type DepositPrefill = { + address: `0x${string}` + chainId: number + amount?: string +} + +type LockedDepositExtraTokenCandidate = { + address?: string + name?: string + symbol?: string + decimals?: number + chainID?: number + balance?: TToken['balance'] +} + +type TYvUsdAmountUnit = 'underlying' | 'shares' | 'other' + +function getLockedDepositExtraTokens(token?: LockedDepositExtraTokenCandidate): TToken[] { + if (!token?.address || !token.chainID || !token.symbol || !token.name || !token.decimals) { + return [] + } + + return [ + { + address: toAddress(token.address), + name: token.name, + symbol: token.symbol, + decimals: token.decimals, + chainID: token.chainID, + value: 0, + balance: token.balance ?? zeroNormalizedBN + } + ] +} + +function getYvUsdAmountUnit(address: `0x${string}`, underlyingAssetAddress: `0x${string}`): TYvUsdAmountUnit { + if (address === YVUSD_UNLOCKED_ADDRESS) { + return 'shares' + } + if (address === underlyingAssetAddress) { + return 'underlying' + } + return 'other' +} + +function getDepositPrefill( + variant: TYvUsdVariant | null, + unlockedAssetAddress: `0x${string}`, + chainId: number, + pendingPrefillAmount?: string +): DepositPrefill | undefined { + if (variant === 'locked') { + return { + address: unlockedAssetAddress, + chainId, + amount: pendingPrefillAmount + } + } + if (variant === 'unlocked' && pendingPrefillAmount !== undefined) { + return { + address: unlockedAssetAddress, + chainId, + amount: pendingPrefillAmount + } + } + return undefined +} + +function getYvUsdDepositSymbol(variant: TYvUsdVariant | null): string { + switch (variant) { + case 'locked': + return 'yvUSD (Locked)' + case 'unlocked': + return 'yvUSD (Unlocked)' + default: + return 'yvUSD' + } +} + +function getVaultSharesLabel(variant: TYvUsdVariant | null): string | undefined { + switch (variant) { + case 'locked': + return 'Locked Vault Shares' + case 'unlocked': + return 'Unlocked Vault Shares' + default: + return undefined + } +} + +export function YvUsdDeposit({ + chainId, + assetAddress, + onDepositSuccess, + collapseDetails, + onVariantChange +}: Props): ReactElement { + const { address: account } = useAccount() + const { unlockedVault, lockedVault, metrics, isLoading } = useYvUsdVaults() + const [variant, setVariant] = useState(null) + const [draftDepositAmount, setDraftDepositAmount] = useState('') + const [pendingPrefillAmount, setPendingPrefillAmount] = useState(undefined) + const unlockedAssetAddress = toAddress(unlockedVault?.token.address ?? assetAddress) + const lockedAssetAddress = YVUSD_UNLOCKED_ADDRESS + const [selectedDepositTokenAddress, setSelectedDepositTokenAddress] = useState<`0x${string}` | undefined>(undefined) + const unlockedUserData = useVaultUserData({ + vaultAddress: unlockedVault?.address ?? YVUSD_UNLOCKED_ADDRESS, + assetAddress: unlockedAssetAddress, + chainId, + account + }) + const lockedUserData = useVaultUserData({ + vaultAddress: lockedVault?.address ?? YVUSD_LOCKED_ADDRESS, + assetAddress: lockedAssetAddress, + chainId, + account + }) + const isLockedVariant = variant === 'locked' + const selectedAssetAddress = isLockedVariant ? lockedAssetAddress : unlockedAssetAddress + const selectedVaultUserData = isLockedVariant ? lockedUserData : unlockedUserData + const lockedDepositInputToken = isLockedVariant + ? { + address: unlockedUserData.assetToken?.address ?? unlockedAssetAddress, + name: unlockedUserData.assetToken?.name ?? unlockedVault.token.name ?? 'USD Coin', + symbol: unlockedUserData.assetToken?.symbol ?? unlockedVault.token.symbol ?? 'USDC', + decimals: unlockedUserData.assetToken?.decimals ?? unlockedVault.token.decimals ?? 6, + chainID: unlockedUserData.assetToken?.chainID ?? chainId, + balance: unlockedUserData.assetToken?.balance + } + : undefined + const lockedDepositExtraTokens = getLockedDepositExtraTokens(lockedDepositInputToken) + + if (isLoading || !unlockedVault || !lockedVault) { + return ( +
    +
    +
    + ) + } + + const unlockedApr = metrics?.unlocked.apy ?? unlockedVault.apr?.netAPR ?? 0 + const lockedApr = metrics?.locked.apy ?? lockedVault.apr?.netAPR ?? 0 + const selectedVault = isLockedVariant ? lockedVault : unlockedVault + const unlockedAssetDecimals = unlockedUserData.assetToken?.decimals ?? 6 + const lockedAssetDecimals = lockedUserData.assetToken?.decimals ?? unlockedUserData.vaultToken?.decimals ?? 18 + const unlockedVaultDecimals = unlockedUserData.vaultToken?.decimals ?? unlockedVault.decimals ?? 18 + + const handleVariantChange = (nextVariant: TYvUsdVariant): void => { + const currentInputTokenAddress = toAddress(selectedDepositTokenAddress ?? unlockedAssetAddress) + const nextInputTokenAddress = unlockedAssetAddress + const currentAmountUnit = getYvUsdAmountUnit(currentInputTokenAddress, unlockedAssetAddress) + const nextAmountUnit = getYvUsdAmountUnit(nextInputTokenAddress, unlockedAssetAddress) + const canPreserveRawAmount = + currentInputTokenAddress === nextInputTokenAddress || + (currentAmountUnit !== 'other' && nextAmountUnit !== 'other') + const shouldConvertAmount = + draftDepositAmount.length > 0 && canPreserveRawAmount && currentAmountUnit !== nextAmountUnit + const nextAmount = shouldConvertAmount + ? convertYvUsdVariantAmountString({ + amount: draftDepositAmount, + fromVariant: currentAmountUnit === 'shares' ? 'locked' : 'unlocked', + toVariant: nextAmountUnit === 'shares' ? 'locked' : 'unlocked', + fromDecimals: currentAmountUnit === 'shares' ? lockedAssetDecimals : unlockedAssetDecimals, + toDecimals: nextAmountUnit === 'shares' ? lockedAssetDecimals : unlockedAssetDecimals, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : canPreserveRawAmount && draftDepositAmount.length > 0 + ? draftDepositAmount + : undefined + setDraftDepositAmount(nextAmount ?? '') + setPendingPrefillAmount(nextAmount) + setVariant(nextVariant) + onVariantChange?.(nextVariant) + } + const depositPrefill = getDepositPrefill(variant, unlockedAssetAddress, chainId, pendingPrefillAmount) + + const headerToggle = + variant === null ? undefined : + + const depositTypeSection = variant ? ( +
    +

    + {variant === 'locked' + ? `Locked deposits earn additional yield from unlocked positions. Your position will be locked with a ${YVUSD_LOCKED_COOLDOWN_DAYS}-day cooldown and a ${YVUSD_WITHDRAW_WINDOW_DAYS} day withdrawal window.` + : `Unlocked deposits stay liquid but earn less.`} +

    +
    + ) : ( +
    +

    {'You can lock your vault position to earn additional yield. Locking helps manage system liquidity.'}

    +

    {`Locks are subject to a ${YVUSD_LOCKED_COOLDOWN_DAYS}-day cooldown and a ${YVUSD_WITHDRAW_WINDOW_DAYS} day withdrawal window.`}

    +

    {'Please choose your deposit type'}

    +
    + + +
    +
    + ) + + return ( +
    + setPendingPrefillAmount(undefined)} + tokenSelectorExtraTokens={lockedDepositExtraTokens} + vaultSharesLabel={getVaultSharesLabel(variant)} + /> +
    + ) +} diff --git a/src/components/pages/vaults/components/widget/yvUSD/YvUsdVariantToggle.tsx b/src/components/pages/vaults/components/widget/yvUSD/YvUsdVariantToggle.tsx new file mode 100644 index 000000000..d3b6e5015 --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/YvUsdVariantToggle.tsx @@ -0,0 +1,41 @@ +import { IconLock } from '@shared/icons/IconLock' +import { IconLockOpen } from '@shared/icons/IconLockOpen' +import { cl, SELECTOR_BAR_STYLES } from '@shared/utils' +import type { ReactElement } from 'react' + +type TYvUsdVariant = 'locked' | 'unlocked' + +type Props = { + activeVariant: TYvUsdVariant + onChange: (variant: TYvUsdVariant) => void +} + +const VARIANT_OPTIONS: { id: TYvUsdVariant; label: string; icon: ReactElement }[] = [ + { id: 'unlocked', label: 'Unlocked', icon: }, + { id: 'locked', label: 'Locked', icon: } +] + +export function YvUsdVariantToggle({ activeVariant, onChange }: Props): ReactElement { + return ( +
    + {VARIANT_OPTIONS.map((option) => ( + + ))} +
    + ) +} diff --git a/src/components/pages/vaults/components/widget/yvUSD/YvUsdWidget.tsx b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWidget.tsx new file mode 100644 index 000000000..e3532a84f --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWidget.tsx @@ -0,0 +1,124 @@ +import type { TKongVaultView } from '@pages/vaults/domain/kongVaultSelectors' +import { WidgetActionType as ActionType } from '@pages/vaults/types' +import type { TYvUsdVariant } from '@pages/vaults/utils/yvUsd' +import { cl } from '@shared/utils' +import type { ReactElement, ReactNode } from 'react' +import { useState } from 'react' +import { YvUsdDeposit } from './YvUsdDeposit' +import { YvUsdWithdraw } from './YvUsdWithdraw' + +interface Props { + currentVault: TKongVaultView + chainId: number + handleSuccess?: () => void + mode?: ActionType + onModeChange?: (mode: ActionType) => void + showTabs?: boolean + collapseDetails?: boolean + onDepositVariantChange?: (variant: TYvUsdVariant) => void +} + +export function YvUsdWidget({ + currentVault, + chainId, + handleSuccess, + mode: controlledMode, + onModeChange, + showTabs = true, + collapseDetails, + onDepositVariantChange +}: Props): ReactElement { + const [internalMode, setInternalMode] = useState(ActionType.Deposit) + const mode = controlledMode ?? internalMode + const setMode = onModeChange ?? setInternalMode + const selectedComponent = renderSelectedComponent({ + mode, + chainId, + assetAddress: currentVault.token.address, + handleSuccess, + collapseDetails, + onDepositVariantChange + }) + + return ( +
    +
    + {showTabs ? ( +
    + {[ActionType.Deposit, ActionType.Withdraw].map((action) => ( + setMode(action)}> + {action === ActionType.Deposit ? 'Deposit' : 'Withdraw'} + + ))} +
    + ) : null} + {selectedComponent} +
    +
    + ) +} + +type RenderSelectedComponentParams = { + mode: ActionType + chainId: number + assetAddress: `0x${string}` + handleSuccess?: () => void + collapseDetails?: boolean + onDepositVariantChange?: (variant: TYvUsdVariant) => void +} + +function renderSelectedComponent({ + mode, + chainId, + assetAddress, + handleSuccess, + collapseDetails, + onDepositVariantChange +}: RenderSelectedComponentParams): ReactElement | null { + switch (mode) { + case ActionType.Deposit: + return ( + + ) + case ActionType.Withdraw: + return ( + + ) + default: + return null + } +} + +type TabButtonProps = { + children: ReactNode + onClick: () => void + isActive: boolean +} + +function TabButton({ children, onClick, isActive }: TabButtonProps): ReactElement { + return ( + + ) +} diff --git a/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx new file mode 100644 index 000000000..4ddd438de --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx @@ -0,0 +1,877 @@ +import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { + convertYvUsdLockedAssetRawAmountToUnderlying, + convertYvUsdLockedPricePerShareToUnderlying, + convertYvUsdUnderlyingRawAmountToLockedAsset, + getYvUsdLockedWithdrawDisplayMode, + type TYvUsdVariant, + YVUSD_LOCKED_ADDRESS, + YVUSD_LOCKED_COOLDOWN_DAYS, + YVUSD_UNLOCKED_ADDRESS, + YVUSD_WITHDRAW_WINDOW_DAYS +} from '@pages/vaults/utils/yvUsd' +import { Button } from '@shared/components/Button' +import { yvUsdLockedVaultAbi } from '@shared/contracts/abi/yvUsdLockedVault.abi' +import { IconCheck } from '@shared/icons/IconCheck' +import { formatTAmount, toAddress } from '@shared/utils' +import type { ReactElement } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' +import { formatUnits } from 'viem' +import type { UseSimulateContractReturnType } from 'wagmi' +import { useAccount, useReadContract, useSimulateContract } from 'wagmi' +import { InfoOverlay } from '../shared/InfoOverlay' +import { TransactionOverlay, type TransactionStep } from '../shared/TransactionOverlay' +import { WidgetWithdraw } from '../withdraw' +import { formatDays, formatDuration, parseCooldownStatus, resolveDurationSeconds } from './cooldownUtils' +import { YvUsdVariantToggle } from './YvUsdVariantToggle' + +type Props = { + chainId: number + assetAddress: `0x${string}` + onWithdrawSuccess?: () => void + collapseDetails?: boolean +} + +type WithdrawPrefill = { + address: `0x${string}` + chainId: number + amount?: string +} + +type LockedActionDisabledReasonParams = { + isLockedVariant: boolean + account?: `0x${string}` + isCooldownDataLoading: boolean + canWithdrawNow: boolean + hasLocked: boolean + needsCooldownStart: boolean + isCooldownActive: boolean + cooldownRemainingSeconds: number + isWithdrawalWindowOpen: boolean +} + +type TYvUsdAmountUnit = 'underlying' | 'shares' | 'other' + +function getDefaultVariant(hasLocked: boolean, hasUnlocked: boolean): TYvUsdVariant { + if (hasLocked && !hasUnlocked) { + return 'locked' + } + return 'unlocked' +} + +function getWithdrawPrefill( + activeVariant: TYvUsdVariant, + lockedInputAddress: `0x${string}`, + lockedPrefillAddress: `0x${string}` | undefined, + unlockedAssetAddress: `0x${string}`, + chainId: number, + pendingPrefillAmount?: string +): WithdrawPrefill | undefined { + if (activeVariant === 'locked') { + return { + address: lockedPrefillAddress ?? lockedInputAddress, + chainId, + amount: pendingPrefillAmount + } + } + if (pendingPrefillAmount !== undefined) { + return { + address: unlockedAssetAddress, + chainId, + amount: pendingPrefillAmount + } + } + return undefined +} + +function getCooldownRemainingLabel(isCooldownActive: boolean, needsCooldownStart: boolean, seconds: number): string { + if (isCooldownActive) { + return formatDuration(seconds) + } + if (needsCooldownStart) { + return 'Not started' + } + return 'Complete' +} + +function getWithdrawalWindowRemainingLabel( + isWithdrawalWindowOpen: boolean, + isCooldownActive: boolean, + hasActiveCooldown: boolean, + seconds: number +): string { + if (isWithdrawalWindowOpen) { + return formatDuration(seconds) + } + if (isCooldownActive) { + return 'Not open yet' + } + if (hasActiveCooldown) { + return 'Closed' + } + return 'Not started' +} + +function getLockedActionDisabledReason({ + isLockedVariant, + account, + isCooldownDataLoading, + canWithdrawNow, + hasLocked, + needsCooldownStart, + isCooldownActive, + cooldownRemainingSeconds, + isWithdrawalWindowOpen +}: LockedActionDisabledReasonParams): string | undefined { + if (!isLockedVariant || !account) { + return undefined + } + if (isCooldownDataLoading) { + return 'Loading cooldown status...' + } + if (canWithdrawNow || needsCooldownStart) { + return undefined + } + if (!hasLocked) { + return 'No locked yvUSD shares available to withdraw.' + } + if (isCooldownActive) { + return `Cooldown active. Withdrawals open in ${formatDuration(cooldownRemainingSeconds)}.` + } + if (!isWithdrawalWindowOpen) { + return 'Withdrawal window closed. Start a new cooldown to withdraw.' + } + return undefined +} + +function getYvUsdWithdrawSymbol(variant: TYvUsdVariant): string { + return variant === 'locked' ? 'yvUSD (Locked)' : 'yvUSD (Unlocked)' +} + +function getYvUsdAmountUnit(address: `0x${string}`, underlyingAssetAddress: `0x${string}`): TYvUsdAmountUnit { + if (address === YVUSD_UNLOCKED_ADDRESS) { + return 'shares' + } + if (address === underlyingAssetAddress) { + return 'underlying' + } + return 'other' +} + +function convertYvUsdInputAmount({ + amount, + fromUnit, + toUnit, + unlockedPricePerShare, + unlockedVaultDecimals +}: { + amount: bigint + fromUnit: TYvUsdAmountUnit + toUnit: TYvUsdAmountUnit + unlockedPricePerShare: bigint + unlockedVaultDecimals: number +}): bigint { + if (amount <= 0n || fromUnit === toUnit || fromUnit === 'other' || toUnit === 'other') { + return amount + } + + if (fromUnit === 'shares' && toUnit === 'underlying') { + return convertYvUsdLockedAssetRawAmountToUnderlying({ + amount, + unlockedPricePerShare, + unlockedVaultDecimals + }) + } + + if (fromUnit === 'underlying' && toUnit === 'shares') { + return convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount, + unlockedPricePerShare, + unlockedVaultDecimals + }) + } + + return amount +} + +export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collapseDetails }: Props): ReactElement { + const { address: account } = useAccount() + const { unlockedVault, lockedVault, assetAddress: yvUsdAssetAddress, isLoading } = useYvUsdVaults() + const [variant, setVariant] = useState(null) + const [showCooldownOverlay, setShowCooldownOverlay] = useState(false) + const [showCancelCooldownOverlay, setShowCancelCooldownOverlay] = useState(false) + const [showCooldownInfoOverlay, setShowCooldownInfoOverlay] = useState(false) + const [draftWithdrawAmount, setDraftWithdrawAmount] = useState(0n) + const [pendingPrefillAmount, setPendingPrefillAmount] = useState(undefined) + const [pendingPrefillAddress, setPendingPrefillAddress] = useState<`0x${string}` | undefined>(undefined) + const [prefillRequestKey, setPrefillRequestKey] = useState(0) + const [lockedRequestedAssets, setLockedRequestedAssets] = useState(0n) + const [selectedWithdrawTokenAddress, setSelectedWithdrawTokenAddress] = useState<`0x${string}` | undefined>(undefined) + const [nowTimestamp, setNowTimestamp] = useState(() => Math.floor(Date.now() / 1000)) + const activeVariant = variant ?? 'unlocked' + const isLockedVariant = activeVariant === 'locked' + + const unlockedAssetAddress = toAddress(yvUsdAssetAddress ?? unlockedVault?.token.address ?? assetAddress) + const lockedAssetAddress = YVUSD_UNLOCKED_ADDRESS + const lockedWithdrawDisplayMode = getYvUsdLockedWithdrawDisplayMode() + const lockedInputAddress = lockedWithdrawDisplayMode === 'underlying' ? unlockedAssetAddress : lockedAssetAddress + + const unlockedUserData = useVaultUserData({ + vaultAddress: unlockedVault?.address ?? YVUSD_UNLOCKED_ADDRESS, + assetAddress: unlockedAssetAddress, + chainId, + account + }) + const lockedUserData = useVaultUserData({ + vaultAddress: lockedVault?.address ?? YVUSD_LOCKED_ADDRESS, + assetAddress: lockedAssetAddress, + chainId, + account + }) + + const lockedWalletShares = lockedUserData.vaultToken?.balance.raw ?? 0n + const lockedAssetDecimals = lockedUserData.assetToken?.decimals ?? 18 + const unlockedAssetDecimals = unlockedUserData.assetToken?.decimals ?? 6 + const unlockedVaultDecimals = unlockedUserData.vaultToken?.decimals ?? unlockedVault?.decimals ?? 18 + const isLockedUnderlyingDisplay = lockedWithdrawDisplayMode === 'underlying' + const hasUnlocked = unlockedUserData.depositedShares > 0n + const hasLocked = lockedWalletShares > 0n + + const { data: rawCooldownDuration } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'cooldownDuration', + chainId, + query: { + enabled: isLockedVariant, + refetchInterval: isLockedVariant ? 60_000 : false + } + }) + const { data: rawWithdrawalWindow } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'withdrawalWindow', + chainId, + query: { + enabled: isLockedVariant, + refetchInterval: isLockedVariant ? 60_000 : false + } + }) + const { + data: rawCooldownStatus, + isLoading: isLoadingCooldownStatus, + refetch: refetchCooldownStatus + } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'getCooldownStatus', + args: account ? [toAddress(account)] : undefined, + chainId, + query: { + enabled: !!account && isLockedVariant, + refetchInterval: isLockedVariant ? 30_000 : false + } + }) + const { + data: rawAvailableWithdrawLimit, + isLoading: isLoadingAvailableWithdrawLimit, + refetch: refetchAvailableWithdrawLimit + } = useReadContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'availableWithdrawLimit', + args: account ? [toAddress(account)] : undefined, + chainId, + query: { + enabled: !!account && isLockedVariant, + refetchInterval: isLockedVariant ? 30_000 : false + } + }) + + const cooldownStatus = useMemo(() => parseCooldownStatus(rawCooldownStatus), [rawCooldownStatus]) + const cooldownDurationSeconds = resolveDurationSeconds(rawCooldownDuration, YVUSD_LOCKED_COOLDOWN_DAYS) + const withdrawalWindowSeconds = resolveDurationSeconds(rawWithdrawalWindow, YVUSD_WITHDRAW_WINDOW_DAYS) + const cooldownDurationLabel = useMemo( + () => formatDays(cooldownDurationSeconds, YVUSD_LOCKED_COOLDOWN_DAYS), + [cooldownDurationSeconds] + ) + const withdrawalWindowLabel = useMemo( + () => formatDays(withdrawalWindowSeconds, YVUSD_WITHDRAW_WINDOW_DAYS), + [withdrawalWindowSeconds] + ) + const availableWithdrawLimit = typeof rawAvailableWithdrawLimit === 'bigint' ? rawAvailableWithdrawLimit : 0n + const availableWithdrawLimitForInput = isLockedUnderlyingDisplay + ? unlockedUserData.isLoading + ? 0n + : convertYvUsdLockedAssetRawAmountToUnderlying({ + amount: availableWithdrawLimit, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : availableWithdrawLimit + + const hasActiveCooldown = cooldownStatus.shares > 0n + const isCooldownActive = hasActiveCooldown && nowTimestamp < cooldownStatus.cooldownEnd + const isWithdrawalWindowOpen = + hasActiveCooldown && nowTimestamp >= cooldownStatus.cooldownEnd && nowTimestamp <= cooldownStatus.windowEnd + const isCooldownWindowExpired = hasActiveCooldown && nowTimestamp > cooldownStatus.windowEnd + const needsCooldownStart = hasLocked && (!hasActiveCooldown || isCooldownWindowExpired) + + const cooldownRemainingSeconds = isCooldownActive ? cooldownStatus.cooldownEnd - nowTimestamp : 0 + const windowRemainingSeconds = isWithdrawalWindowOpen ? cooldownStatus.windowEnd - nowTimestamp : 0 + const sharesUnderCooldown = hasActiveCooldown ? cooldownStatus.shares : 0n + const assetsUnderCooldown = useMemo(() => { + if (sharesUnderCooldown <= 0n || lockedUserData.pricePerShare <= 0n) return 0n + const vaultDecimals = lockedUserData.vaultToken?.decimals ?? 18 + return (sharesUnderCooldown * lockedUserData.pricePerShare) / 10n ** BigInt(vaultDecimals) + }, [sharesUnderCooldown, lockedUserData.pricePerShare, lockedUserData.vaultToken?.decimals]) + const lockedDisplayAssetDecimals = isLockedUnderlyingDisplay ? unlockedAssetDecimals : lockedAssetDecimals + const lockedDisplayAssetSymbol = isLockedUnderlyingDisplay + ? (unlockedUserData.assetToken?.symbol ?? 'USDC') + : (lockedUserData.assetToken?.symbol ?? 'yvUSD') + const lockedDisplayPricePerShare = useMemo( + () => + isLockedUnderlyingDisplay + ? convertYvUsdLockedPricePerShareToUnderlying({ + lockedPricePerShare: lockedUserData.pricePerShare, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : lockedUserData.pricePerShare, + [isLockedUnderlyingDisplay, lockedUserData.pricePerShare, unlockedUserData.pricePerShare, unlockedVaultDecimals] + ) + const displayAssetsUnderCooldown = useMemo( + () => + isLockedUnderlyingDisplay + ? convertYvUsdLockedAssetRawAmountToUnderlying({ + amount: assetsUnderCooldown, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : assetsUnderCooldown, + [isLockedUnderlyingDisplay, assetsUnderCooldown, unlockedUserData.pricePerShare, unlockedVaultDecimals] + ) + + const formattedSharesUnderCooldown = formatTAmount({ + value: sharesUnderCooldown, + decimals: lockedUserData.vaultToken?.decimals ?? 18 + }) + const formattedAssetsUnderCooldown = formatTAmount({ + value: displayAssetsUnderCooldown, + decimals: lockedDisplayAssetDecimals + }) + const formattedAvailableWithdrawLimit = formatTAmount({ + value: availableWithdrawLimitForInput, + decimals: lockedDisplayAssetDecimals + }) + const canWithdrawNow = availableWithdrawLimit > 0n + const isCooldownDataLoading = + isLoadingCooldownStatus || + isLoadingAvailableWithdrawLimit || + (isLockedUnderlyingDisplay && unlockedUserData.isLoading) + const lockedVaultTokenDecimals = lockedUserData.vaultToken?.decimals ?? 18 + const lockedVaultTokenSymbol = lockedUserData.vaultToken?.symbol ?? 'yvUSD (Locked)' + + const cooldownSharesToStart = useMemo(() => { + if (!needsCooldownStart || lockedRequestedAssets <= 0n) return 0n + if (lockedUserData.pricePerShare <= 0n) return 0n + + const vaultDecimals = lockedUserData.vaultToken?.decimals ?? 18 + const numerator = lockedRequestedAssets * 10n ** BigInt(vaultDecimals) + const requiredShares = (numerator + lockedUserData.pricePerShare - 1n) / lockedUserData.pricePerShare + return requiredShares > lockedWalletShares ? lockedWalletShares : requiredShares + }, [ + needsCooldownStart, + lockedRequestedAssets, + lockedUserData.pricePerShare, + lockedUserData.vaultToken?.decimals, + lockedWalletShares + ]) + const selectedCooldownAssets = useMemo(() => { + if (cooldownSharesToStart <= 0n || lockedUserData.pricePerShare <= 0n) { + return 0n + } + const vaultDecimals = lockedUserData.vaultToken?.decimals ?? 18 + return (cooldownSharesToStart * lockedUserData.pricePerShare) / 10n ** BigInt(vaultDecimals) + }, [cooldownSharesToStart, lockedUserData.pricePerShare, lockedUserData.vaultToken?.decimals]) + const selectedCooldownDisplayAssets = useMemo( + () => + isLockedUnderlyingDisplay + ? convertYvUsdLockedAssetRawAmountToUnderlying({ + amount: selectedCooldownAssets, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : selectedCooldownAssets, + [isLockedUnderlyingDisplay, selectedCooldownAssets, unlockedUserData.pricePerShare, unlockedVaultDecimals] + ) + const formattedSelectedCooldownAmount = formatTAmount({ + value: selectedCooldownDisplayAssets, + decimals: lockedDisplayAssetDecimals + }) + const cooldownRemainingLabel = getCooldownRemainingLabel( + isCooldownActive, + needsCooldownStart, + cooldownRemainingSeconds + ) + const withdrawalWindowRemainingLabel = getWithdrawalWindowRemainingLabel( + isWithdrawalWindowOpen, + isCooldownActive, + hasActiveCooldown, + windowRemainingSeconds + ) + + const prepareStartCooldown: UseSimulateContractReturnType = useSimulateContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'startCooldown', + args: cooldownSharesToStart > 0n ? [cooldownSharesToStart] : undefined, + account: account ? toAddress(account) : undefined, + chainId, + query: { + enabled: !!account && isLockedVariant && needsCooldownStart && cooldownSharesToStart > 0n + } + }) + const prepareCancelCooldown: UseSimulateContractReturnType = useSimulateContract({ + address: YVUSD_LOCKED_ADDRESS, + abi: yvUsdLockedVaultAbi, + functionName: 'cancelCooldown', + account: account ? toAddress(account) : undefined, + chainId, + query: { + enabled: !!account && isLockedVariant && hasActiveCooldown + } + }) + + const cooldownStep = useMemo((): TransactionStep | undefined => { + if (!prepareStartCooldown.isSuccess || !prepareStartCooldown.data?.request) return undefined + + const formattedCooldownShares = formatTAmount({ + value: cooldownSharesToStart, + decimals: lockedUserData.vaultToken?.decimals ?? 18 + }) + const cooldownConfirmMessage = isLockedUnderlyingDisplay + ? `Starting cooldown for ${formattedSelectedCooldownAmount} ${lockedDisplayAssetSymbol}` + : `Starting cooldown for ${formattedCooldownShares} locked shares` + + return { + prepare: prepareStartCooldown as unknown as UseSimulateContractReturnType, + label: 'Start Cooldown', + confirmMessage: cooldownConfirmMessage, + successTitle: 'Cooldown started', + successMessage: `Cooldown has started. Withdrawals become available in ${cooldownDurationLabel}.`, + notification: + account && cooldownSharesToStart > 0n + ? { + type: 'start cooldown', + amount: formatTAmount({ value: cooldownSharesToStart, decimals: lockedVaultTokenDecimals }), + fromAddress: YVUSD_LOCKED_ADDRESS, + fromSymbol: lockedVaultTokenSymbol, + fromChainId: chainId + } + : undefined + } + }, [ + account, + chainId, + prepareStartCooldown, + cooldownDurationLabel, + cooldownSharesToStart, + formattedSelectedCooldownAmount, + isLockedUnderlyingDisplay, + lockedDisplayAssetSymbol, + lockedVaultTokenDecimals, + lockedVaultTokenSymbol + ]) + + const handleCooldownSuccess = useCallback((): void => { + setShowCooldownOverlay(false) + void refetchCooldownStatus() + void refetchAvailableWithdrawLimit() + void lockedUserData.refetch() + }, [lockedUserData, refetchCooldownStatus, refetchAvailableWithdrawLimit]) + + const cancelCooldownStep = useMemo((): TransactionStep | undefined => { + if (!prepareCancelCooldown.isSuccess || !prepareCancelCooldown.data?.request) return undefined + + return { + prepare: prepareCancelCooldown as unknown as UseSimulateContractReturnType, + label: 'Cancel Cooldown', + confirmMessage: 'Canceling active cooldown for locked yvUSD shares', + successTitle: 'Cooldown canceled', + successMessage: 'Cooldown canceled. Start a new cooldown to withdraw from the locked vault.', + notification: + account && sharesUnderCooldown > 0n + ? { + type: 'cancel cooldown', + amount: formatTAmount({ value: sharesUnderCooldown, decimals: lockedVaultTokenDecimals }), + fromAddress: YVUSD_LOCKED_ADDRESS, + fromSymbol: lockedVaultTokenSymbol, + fromChainId: chainId + } + : undefined + } + }, [account, chainId, lockedVaultTokenDecimals, lockedVaultTokenSymbol, prepareCancelCooldown, sharesUnderCooldown]) + + const handleCancelCooldownSuccess = useCallback((): void => { + setShowCancelCooldownOverlay(false) + void refetchCooldownStatus() + void refetchAvailableWithdrawLimit() + void lockedUserData.refetch() + }, [lockedUserData, refetchCooldownStatus, refetchAvailableWithdrawLimit]) + + const handleLockedWithdrawSuccess = useCallback((): void => { + void refetchCooldownStatus() + void refetchAvailableWithdrawLimit() + onWithdrawSuccess?.() + }, [onWithdrawSuccess, refetchCooldownStatus, refetchAvailableWithdrawLimit]) + + const lockedActionDisabledReason = useMemo(() => { + return getLockedActionDisabledReason({ + isLockedVariant, + account, + isCooldownDataLoading, + canWithdrawNow, + hasLocked, + needsCooldownStart, + isCooldownActive, + cooldownRemainingSeconds, + isWithdrawalWindowOpen + }) + }, [ + isLockedVariant, + account, + isCooldownDataLoading, + canWithdrawNow, + hasLocked, + needsCooldownStart, + isCooldownActive, + cooldownRemainingSeconds, + isWithdrawalWindowOpen + ]) + + useEffect(() => { + if ( + variant === null || + (variant === 'locked' && !hasLocked) || + (variant === 'unlocked' && !hasUnlocked && hasLocked) + ) { + setVariant(getDefaultVariant(hasLocked, hasUnlocked)) + } + }, [hasLocked, hasUnlocked, variant]) + + useEffect(() => { + if (!isLockedVariant) return + + setNowTimestamp(Math.floor(Date.now() / 1000)) + const interval = window.setInterval(() => { + setNowTimestamp(Math.floor(Date.now() / 1000)) + }, 1_000) + + return () => window.clearInterval(interval) + }, [isLockedVariant]) + + const lockedDisplayUserData = useMemo(() => { + if (!isLockedUnderlyingDisplay) { + return lockedUserData + } + + return { + ...lockedUserData, + assetToken: unlockedUserData.assetToken, + availableToDeposit: unlockedUserData.availableToDeposit, + depositedValue: convertYvUsdLockedAssetRawAmountToUnderlying({ + amount: lockedUserData.depositedValue, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }), + pricePerShare: lockedDisplayPricePerShare, + isLoading: lockedUserData.isLoading || unlockedUserData.isLoading, + refetch: (): void => { + lockedUserData.refetch() + unlockedUserData.refetch() + } + } + }, [ + isLockedUnderlyingDisplay, + lockedUserData, + unlockedUserData, + unlockedUserData.assetToken, + unlockedUserData.availableToDeposit, + unlockedUserData.pricePerShare, + unlockedVaultDecimals, + lockedDisplayPricePerShare + ]) + + const handleFillAvailableWithdrawAmount = useCallback((): void => { + if (!canWithdrawNow || availableWithdrawLimitForInput <= 0n) { + return + } + setPendingPrefillAddress(selectedWithdrawTokenAddress ?? lockedInputAddress) + setPendingPrefillAmount(formatUnits(availableWithdrawLimitForInput, lockedDisplayAssetDecimals)) + setPrefillRequestKey((current) => current + 1) + }, [ + canWithdrawNow, + availableWithdrawLimitForInput, + lockedDisplayAssetDecimals, + selectedWithdrawTokenAddress, + lockedInputAddress + ]) + + if (isLoading || !unlockedVault || !lockedVault) { + return ( +
    +
    +
    + ) + } + + const selectedVault = isLockedVariant ? lockedVault : unlockedVault + const selectedRouteAssetAddress = + isLockedVariant && isLockedUnderlyingDisplay + ? unlockedAssetAddress + : isLockedVariant + ? lockedAssetAddress + : unlockedAssetAddress + const selectedDisplayAssetAddress = isLockedVariant ? lockedInputAddress : unlockedAssetAddress + const selectedVaultUserData = isLockedVariant ? lockedDisplayUserData : unlockedUserData + const showToggle = hasUnlocked && hasLocked + const disableLockedAmountInput = isLockedVariant && isCooldownActive + const hideLockedWithdrawAction = isLockedVariant && !!account && !canWithdrawNow + const effectiveLockedActionDisabledReason = + isLockedVariant && !hideLockedWithdrawAction ? lockedActionDisabledReason : undefined + + const handleVariantChange = (nextVariant: TYvUsdVariant): void => { + const currentInputTokenAddress = toAddress(selectedWithdrawTokenAddress ?? selectedDisplayAssetAddress) + const nextInputTokenAddress = nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress + const currentAmountUnit = getYvUsdAmountUnit(currentInputTokenAddress, unlockedAssetAddress) + const nextAmountUnit = getYvUsdAmountUnit(nextInputTokenAddress, unlockedAssetAddress) + const canPreserveRawAmount = + currentInputTokenAddress === nextInputTokenAddress || + (currentAmountUnit !== 'other' && nextAmountUnit !== 'other') + const shouldConvertAmount = draftWithdrawAmount > 0n && canPreserveRawAmount && currentAmountUnit !== nextAmountUnit + const nextRawAmount = shouldConvertAmount + ? convertYvUsdInputAmount({ + amount: draftWithdrawAmount, + fromUnit: currentAmountUnit, + toUnit: nextAmountUnit, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : canPreserveRawAmount + ? draftWithdrawAmount + : 0n + const nextInputDecimals = nextAmountUnit === 'shares' ? lockedAssetDecimals : unlockedAssetDecimals + setDraftWithdrawAmount(nextRawAmount) + setPendingPrefillAmount(nextRawAmount > 0n ? formatUnits(nextRawAmount, nextInputDecimals) : undefined) + setPendingPrefillAddress(nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress) + setLockedRequestedAssets( + nextVariant === 'locked' + ? nextAmountUnit === 'shares' + ? nextRawAmount + : convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount: nextRawAmount, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : 0n + ) + setVariant(nextVariant) + } + + const handleAmountChange = (amount: bigint): void => { + setDraftWithdrawAmount(amount) + if (isLockedVariant) { + setLockedRequestedAssets( + isLockedUnderlyingDisplay + ? convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : amount + ) + } + } + + const withdrawPrefill = getWithdrawPrefill( + activeVariant, + lockedInputAddress, + pendingPrefillAddress, + unlockedAssetAddress, + chainId, + pendingPrefillAmount + ) + const headerToggle = showToggle ? ( + + ) : undefined + + let cooldownStatusContent: ReactElement + if (!account) { + cooldownStatusContent =

    {'Connect wallet to view cooldown status.'}

    + } else if (!hasLocked) { + cooldownStatusContent =

    {'No locked balance found in this wallet.'}

    + } else if (isCooldownDataLoading) { + cooldownStatusContent =

    {'Loading cooldown status...'}

    + } else { + cooldownStatusContent = ( + <> + {canWithdrawNow ? ( +

    + {'Available to withdraw now:'} + +

    + ) : hasActiveCooldown ? ( + isLockedUnderlyingDisplay ? ( +

    {`Amount in cooldown: ${formattedAssetsUnderCooldown} ${lockedDisplayAssetSymbol}`}

    + ) : ( + <> +

    {`Shares in cooldown: ${formattedSharesUnderCooldown}`}

    +

    {`Estimated assets in cooldown: ${formattedAssetsUnderCooldown} ${lockedDisplayAssetSymbol}`}

    + + ) + ) : null} + {needsCooldownStart ? ( +

    {`Selected cooldown amount: ${formattedSelectedCooldownAmount} ${lockedDisplayAssetSymbol}`}

    + ) : null} +

    + {'Cooldown remaining:'} + {isWithdrawalWindowOpen ? ( + + {'Complete'} + + + ) : ( + {cooldownRemainingLabel} + )} +

    +

    {`Withdrawal window remaining: ${withdrawalWindowRemainingLabel}`}

    + + ) + } + + const showStartCooldownActions = + !!account && hasLocked && !isCooldownDataLoading && needsCooldownStart && !canWithdrawNow + const showCancelCooldownAction = + !!account && hasLocked && hasActiveCooldown && !isCooldownDataLoading && !canWithdrawNow + const isStartCooldownPending = prepareStartCooldown.isLoading || prepareStartCooldown.isFetching + const isCancelCooldownPending = prepareCancelCooldown.isLoading || prepareCancelCooldown.isFetching + + const withdrawTypeSection = isLockedVariant ? ( +
    +
    +
    +

    {'Locked withdrawal cooldown'}

    + +
    +

    + {`Cooldown: ${cooldownDurationLabel} | Withdrawal window: ${withdrawalWindowLabel}`} +

    +
    +
    {cooldownStatusContent}
    + {showStartCooldownActions || showCancelCooldownAction ? ( +
    + {showStartCooldownActions ? ( + + ) : null} + {showCancelCooldownAction ? ( + + ) : null} +
    + ) : null} +
    + ) : undefined + + return ( +
    + { + setPendingPrefillAmount(undefined) + setPendingPrefillAddress(undefined) + }} + /> + setShowCooldownOverlay(false)} + step={cooldownStep} + isLastStep + onAllComplete={handleCooldownSuccess} + /> + setShowCancelCooldownOverlay(false)} + step={cancelCooldownStep} + isLastStep + onAllComplete={handleCancelCooldownSuccess} + /> + setShowCooldownInfoOverlay(false)} + title="Cooldown info" + > +
    +

    {'Locked yvUSD withdrawals use a cooldown period before the withdrawal window opens.'}

    +

    {'Interest continues to accrue while your position is in cooldown.'}

    +

    + { + 'If only part of your deposited amount is in cooldown and you want to include more funds, cancel the current cooldown and restart it with the larger amount.' + } +

    +

    {`Cooldown period: ${cooldownDurationLabel}. Withdrawal window: ${withdrawalWindowLabel}.`}

    +
    +
    +
    + ) +} diff --git a/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.test.ts b/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.test.ts new file mode 100644 index 000000000..b264fb5f7 --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from 'vitest' +import { formatDays, resolveDurationSeconds } from './cooldownUtils' + +describe('resolveDurationSeconds', () => { + it('uses the contract-provided duration when available', () => { + expect(resolveDurationSeconds(7n * 86_400n, 5)).toBe(604800) + }) + + it('falls back to the configured number of days when contract data is unavailable', () => { + expect(resolveDurationSeconds(undefined, 5)).toBe(432000) + }) +}) + +describe('formatDays', () => { + it('formats the 5-day withdrawal fallback label correctly', () => { + expect(formatDays(resolveDurationSeconds(undefined, 5), 5)).toBe('5 days') + }) + + it('formats contract-provided withdrawal windows without forcing the fallback value', () => { + expect(formatDays(resolveDurationSeconds(7n * 86_400n, 5), 5)).toBe('7 days') + }) +}) diff --git a/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.ts b/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.ts new file mode 100644 index 000000000..43676e51d --- /dev/null +++ b/src/components/pages/vaults/components/widget/yvUSD/cooldownUtils.ts @@ -0,0 +1,76 @@ +export type TYvUsdCooldownStatus = { + cooldownEnd: number + windowEnd: number + shares: bigint +} + +export const EMPTY_COOLDOWN_STATUS: TYvUsdCooldownStatus = { + cooldownEnd: 0, + windowEnd: 0, + shares: 0n +} + +function parseCooldownTimestamp(value: unknown): number { + return typeof value === 'bigint' ? Number(value) : 0 +} + +function parseCooldownShares(value: unknown): bigint { + return typeof value === 'bigint' ? value : 0n +} + +export function parseCooldownStatus(status: unknown): TYvUsdCooldownStatus { + if (!status) return EMPTY_COOLDOWN_STATUS + + if (Array.isArray(status)) { + const [cooldownEnd, windowEnd, shares] = status + return { + cooldownEnd: parseCooldownTimestamp(cooldownEnd), + windowEnd: parseCooldownTimestamp(windowEnd), + shares: parseCooldownShares(shares) + } + } + + if (typeof status === 'object' && status !== null) { + const parsed = status as { + cooldownEnd?: unknown + windowEnd?: unknown + shares?: unknown + } + return { + cooldownEnd: parseCooldownTimestamp(parsed.cooldownEnd), + windowEnd: parseCooldownTimestamp(parsed.windowEnd), + shares: parseCooldownShares(parsed.shares) + } + } + + return EMPTY_COOLDOWN_STATUS +} + +export const formatDuration = (seconds: number): string => { + if (!Number.isFinite(seconds) || seconds <= 0) return '0s' + const totalSeconds = Math.floor(seconds) + const days = Math.floor(totalSeconds / 86_400) + const hours = Math.floor((totalSeconds % 86_400) / 3_600) + const minutes = Math.floor((totalSeconds % 3_600) / 60) + const secs = totalSeconds % 60 + + if (days > 0) return `${days}d ${hours}h ${minutes}m ${secs}s` + if (hours > 0) return `${hours}h ${minutes}m ${secs}s` + if (minutes > 0) return `${minutes}m ${secs}s` + return `${secs}s` +} + +export const formatDays = (seconds: number, fallbackDays: number): string => { + if (!Number.isFinite(seconds) || seconds <= 0) return `${fallbackDays} days` + const days = seconds / 86_400 + const rounded = Math.round(days * 100) / 100 + return `${Number.isInteger(rounded) ? rounded.toFixed(0) : rounded} days` +} + +export const resolveDurationSeconds = (rawDuration: unknown, fallbackDays: number): number => { + if (typeof rawDuration === 'bigint') { + return Number(rawDuration) + } + + return fallbackDays * 86_400 +} diff --git a/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.test.tsx b/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.test.tsx new file mode 100644 index 000000000..739b6312b --- /dev/null +++ b/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.test.tsx @@ -0,0 +1,11 @@ +import { renderToStaticMarkup } from 'react-dom/server' +import { describe, expect, it } from 'vitest' +import { YvUsdApyDetailsContent } from './YvUsdBreakdown' + +describe('YvUsdApyDetailsContent', () => { + it('describes the locked withdrawal window as 5 days', () => { + const html = renderToStaticMarkup() + + expect(html).toContain('Withdrawals are open for 5 days once the cooldown ends.') + }) +}) diff --git a/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.tsx b/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.tsx new file mode 100644 index 000000000..6ffac5e30 --- /dev/null +++ b/src/components/pages/vaults/components/yvUSD/YvUsdBreakdown.tsx @@ -0,0 +1,145 @@ +import { YVUSD_DESCRIPTION, YVUSD_LOCKED_COOLDOWN_DAYS, YVUSD_WITHDRAW_WINDOW_DAYS } from '@pages/vaults/utils/yvUsd' +import { RenderAmount } from '@shared/components/RenderAmount' +import { IconInfinifiPoints } from '@shared/icons/IconInfinifiPoints' +import { IconLock } from '@shared/icons/IconLock' +import { IconLockOpen } from '@shared/icons/IconLockOpen' +import { cl, formatAmount } from '@shared/utils' +import type { ReactElement } from 'react' + +type TYvUsdTooltipProps = { + lockedValue: number + unlockedValue: number + className?: string + iconClassName?: string + infinifiPointsNote?: string +} + +const YvUsdTooltipRow = ({ + icon, + label, + value, + symbol, + options +}: { + icon: ReactElement + label: string + value: number + symbol: 'percent' | 'USD' + options?: { + maximumFractionDigits?: number + minimumFractionDigits?: number + shouldCompactValue?: boolean + } +}) => { + const decimals = symbol === 'percent' ? 6 : 0 + return ( +
    + + {icon} + {label} + + +
    + ) +} + +export function YvUsdApyTooltipContent({ + lockedValue, + unlockedValue, + className, + iconClassName = 'size-3', + infinifiPointsNote +}: TYvUsdTooltipProps): ReactElement { + return ( +
    +
    + } + label="Locked APY" + value={lockedValue} + symbol="percent" + options={{ maximumFractionDigits: 2, minimumFractionDigits: 2 }} + /> + } + label="Unlocked APY" + value={unlockedValue} + symbol="percent" + options={{ maximumFractionDigits: 2, minimumFractionDigits: 2 }} + /> + {infinifiPointsNote ? ( +
    +

    + + {infinifiPointsNote} +

    +
    + ) : null} +
    +
    + ) +} + +export function YvUsdTvlTooltipContent({ + lockedValue, + unlockedValue, + className, + iconClassName = 'size-3' +}: TYvUsdTooltipProps): ReactElement { + return ( +
    +
    + } + label="Locked TVL" + value={lockedValue} + symbol="USD" + options={{ shouldCompactValue: true, maximumFractionDigits: 2, minimumFractionDigits: 0 }} + /> + } + label="Unlocked TVL" + value={unlockedValue} + symbol="USD" + options={{ shouldCompactValue: true, maximumFractionDigits: 2, minimumFractionDigits: 0 }} + /> +
    +
    + ) +} + +export function YvUsdApyDetailsContent({ + lockedValue, + unlockedValue, + infinifiPointsNote +}: { + lockedValue: number + unlockedValue: number + infinifiPointsNote?: string +}): ReactElement { + const upliftPercent = formatAmount(Math.max(0, (lockedValue - unlockedValue) * 100), 0, 2) + + return ( +
    +

    {YVUSD_DESCRIPTION}

    +
    +

    {'Current estimates'}

    +
    + +
    +
    +

    + {`Locked deposits currently show about ${upliftPercent}% APY uplift and require a ${YVUSD_LOCKED_COOLDOWN_DAYS}-day cooldown. Withdrawals are open for ${YVUSD_WITHDRAW_WINDOW_DAYS} days once the cooldown ends.`} +

    +
    + ) +} diff --git a/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx new file mode 100644 index 000000000..916f93b0d --- /dev/null +++ b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx @@ -0,0 +1,15 @@ +import { YVUSD_LEARN_MORE_URL } from '@pages/vaults/utils/yvUsd' +import { renderToStaticMarkup } from 'react-dom/server' +import { describe, expect, it } from 'vitest' +import { YvUsdHeaderBanner } from './YvUsdHeaderBanner' + +describe('YvUsdHeaderBanner', () => { + it('renders the mockup copy, links, and shipped banner assets', () => { + const html = renderToStaticMarkup() + + expect(html).toContain('The anti black box vault') + expect(html).toContain(`href="${YVUSD_LEARN_MORE_URL}"`) + expect(html).toContain('yvusd-banner-bg.png') + expect(html).toContain('Learn more') + }) +}) diff --git a/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.tsx b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.tsx new file mode 100644 index 000000000..3e0fd914d --- /dev/null +++ b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.tsx @@ -0,0 +1,37 @@ +import { YVUSD_LEARN_MORE_URL } from '@pages/vaults/utils/yvUsd' +import { cl } from '@shared/utils' +import type { CSSProperties, ReactElement } from 'react' + +const BANNER_BACKGROUND_STYLE: CSSProperties = { + backgroundImage: `url(${import.meta.env.BASE_URL || '/'}yvusd-banner-bg.png)`, + backgroundPosition: 'center', + backgroundRepeat: 'no-repeat', + backgroundSize: 'cover' +} + +export function YvUsdHeaderBanner({ className }: { className?: string }): ReactElement { + return ( + + ) +} diff --git a/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapDeposit.ts b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapDeposit.ts new file mode 100644 index 000000000..13d924e96 --- /dev/null +++ b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapDeposit.ts @@ -0,0 +1,78 @@ +import type { UseWidgetDepositFlowReturn } from '@pages/vaults/types' +import { YVUSD_LOCKED_ZAP_ADDRESS } from '@pages/vaults/utils/yvUsd' +import { yvUsdLockedZapAbi } from '@shared/contracts/abi/yvUsdLockedZap.abi' +import { toAddress } from '@shared/utils' +import type { Address } from 'viem' +import { erc20Abi } from 'viem' +import type { UseSimulateContractReturnType } from 'wagmi' +import { useReadContract, useSimulateContract } from 'wagmi' +import { useTokenAllowance } from '../useTokenAllowance' + +interface UseYvUsdLockedZapDepositParams { + depositToken: Address + amount: bigint + account?: Address + chainId: number + enabled: boolean +} + +export function useYvUsdLockedZapDeposit(params: UseYvUsdLockedZapDepositParams): UseWidgetDepositFlowReturn { + const { allowance = 0n } = useTokenAllowance({ + account: params.account, + token: params.depositToken, + spender: YVUSD_LOCKED_ZAP_ADDRESS, + watch: true, + chainId: params.chainId + }) + + const isValidInput = params.amount > 0n + const isAllowanceSufficient = allowance >= params.amount + const prepareApproveEnabled = !!params.account && params.enabled && isValidInput && !isAllowanceSufficient + const prepareDepositEnabled = !!params.account && params.enabled && isValidInput && isAllowanceSufficient + + const { data: expectedOut = 0n } = useReadContract({ + address: YVUSD_LOCKED_ZAP_ADDRESS, + abi: yvUsdLockedZapAbi, + functionName: 'previewZapIn', + args: [params.amount], + chainId: params.chainId, + query: { enabled: params.enabled && isValidInput } + }) + + const prepareApprove: UseSimulateContractReturnType = useSimulateContract({ + abi: erc20Abi, + functionName: 'approve', + address: params.depositToken, + args: params.amount > 0n ? [YVUSD_LOCKED_ZAP_ADDRESS, params.amount] : undefined, + chainId: params.chainId, + query: { enabled: prepareApproveEnabled } + }) + + const prepareDeposit: UseSimulateContractReturnType = useSimulateContract({ + address: YVUSD_LOCKED_ZAP_ADDRESS, + abi: yvUsdLockedZapAbi, + functionName: 'zapIn', + args: params.account && params.amount > 0n ? [params.amount, toAddress(params.account)] : undefined, + account: params.account ? toAddress(params.account) : undefined, + chainId: params.chainId, + query: { enabled: prepareDepositEnabled } + }) + + return { + actions: { + prepareApprove, + prepareDeposit + }, + periphery: { + prepareApproveEnabled, + prepareDepositEnabled, + isAllowanceSufficient, + allowance, + expectedOut, + isLoadingRoute: false, + isCrossChain: false, + routerAddress: YVUSD_LOCKED_ZAP_ADDRESS, + error: undefined + } + } +} diff --git a/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts new file mode 100644 index 000000000..5d14d21ee --- /dev/null +++ b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts @@ -0,0 +1,70 @@ +import type { UseWidgetWithdrawFlowReturn } from '@pages/vaults/types' +import { YVUSD_LOCKED_ADDRESS, YVUSD_LOCKED_ZAP_ADDRESS } from '@pages/vaults/utils/yvUsd' +import { yvUsdLockedZapAbi } from '@shared/contracts/abi/yvUsdLockedZap.abi' +import { toAddress } from '@shared/utils' +import type { Address } from 'viem' +import { erc20Abi, maxUint256 } from 'viem' +import type { UseSimulateContractReturnType } from 'wagmi' +import { useSimulateContract } from 'wagmi' +import { useTokenAllowance } from '../useTokenAllowance' + +interface UseYvUsdLockedZapWithdrawParams { + amount: bigint + requiredShares: bigint + account?: Address + chainId: number + enabled: boolean +} + +export function useYvUsdLockedZapWithdraw(params: UseYvUsdLockedZapWithdrawParams): UseWidgetWithdrawFlowReturn { + const { allowance = 0n } = useTokenAllowance({ + account: params.account, + token: YVUSD_LOCKED_ADDRESS, + spender: YVUSD_LOCKED_ZAP_ADDRESS, + watch: true, + chainId: params.chainId + }) + + const isAllowanceSufficient = allowance >= params.requiredShares + const prepareApproveEnabled = + !!params.account && params.enabled && params.amount > 0n && params.requiredShares > 0n && !isAllowanceSufficient + const prepareWithdrawEnabled = + !!params.account && params.enabled && params.amount > 0n && params.requiredShares > 0n && isAllowanceSufficient + + const prepareApprove: UseSimulateContractReturnType = useSimulateContract({ + abi: erc20Abi, + functionName: 'approve', + address: YVUSD_LOCKED_ADDRESS, + args: params.requiredShares > 0n ? [YVUSD_LOCKED_ZAP_ADDRESS, params.requiredShares] : undefined, + chainId: params.chainId, + query: { enabled: prepareApproveEnabled } + }) + + const prepareWithdraw: UseSimulateContractReturnType = useSimulateContract({ + address: YVUSD_LOCKED_ZAP_ADDRESS, + abi: yvUsdLockedZapAbi, + functionName: 'zapOut', + args: params.account && params.requiredShares > 0n ? [params.requiredShares, toAddress(params.account)] : undefined, + account: params.account ? toAddress(params.account) : undefined, + chainId: params.chainId, + query: { enabled: prepareWithdrawEnabled } + }) + + return { + actions: { + prepareApprove, + prepareWithdraw + }, + periphery: { + prepareApproveEnabled, + prepareWithdrawEnabled, + isAllowanceSufficient, + allowance: isAllowanceSufficient ? maxUint256 : allowance, + expectedOut: params.amount, + isLoadingRoute: false, + isCrossChain: false, + routerAddress: YVUSD_LOCKED_ZAP_ADDRESS, + error: undefined + } + } +} diff --git a/src/components/pages/vaults/hooks/useSortVaults.ts b/src/components/pages/vaults/hooks/useSortVaults.ts index e32808a2c..acc67cfc2 100644 --- a/src/components/pages/vaults/hooks/useSortVaults.ts +++ b/src/components/pages/vaults/hooks/useSortVaults.ts @@ -11,6 +11,14 @@ import { type TKongVaultInput, type TKongVaultStrategy } from '@pages/vaults/domain/kongVaultSelectors' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { + getYvUsdSharePrice, + isYvUsdVault, + YVUSD_CHAIN_ID, + YVUSD_LOCKED_ADDRESS, + YVUSD_UNLOCKED_ADDRESS +} from '@pages/vaults/utils/yvUsd' import { useWallet } from '@shared/contexts/useWallet' import type { TSortDirection } from '@shared/types' import { isZeroAddress, normalizeApyDisplayValue, toAddress, toNormalizedBN } from '@shared/utils' @@ -37,6 +45,22 @@ export function useSortVaults { + const unlockedBalance = getBalance({ address: YVUSD_UNLOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).normalized + const lockedBalance = getBalance({ address: YVUSD_LOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).normalized + const unlockedSharePrice = getYvUsdSharePrice(yvUsdUnlockedVault) + const lockedSharePrice = getYvUsdSharePrice(yvUsdLockedVault) + return unlockedBalance * unlockedSharePrice + lockedBalance * lockedSharePrice + }, [getBalance, yvUsdLockedVault, yvUsdUnlockedVault]) + + const yvUsdDisplayedApy = useMemo((): number => { + const lockedApy = yvUsdMetrics.locked.apy + if (lockedApy > 0 || yvUsdMetrics.unlocked.apy === 0) { + return lockedApy + } + return yvUsdMetrics.unlocked.apy + }, [yvUsdMetrics.locked.apy, yvUsdMetrics.unlocked.apy]) const isFeaturingScoreSortedDesc = useMemo((): boolean => { if (sortBy !== 'featuringScore' || sortDirection !== 'desc') { @@ -58,6 +82,10 @@ export function useSortVaults { + if (isYvUsdVault(vault)) { + return yvUsdDepositedValue + } + const chainID = getVaultChainID(vault) const address = getVaultAddress(vault) const staking = getVaultStaking(vault) @@ -72,6 +100,20 @@ export function useSortVaults { + if (isYvUsdVault(vault)) { + return yvUsdDisplayedApy + } + return getVaultAPR(vault).netAPR || 0 + } + + const getEstimatedApySortValue = (vault: TKongVaultInput): number => { + if (isYvUsdVault(vault)) { + return yvUsdDisplayedApy + } + return calculateVaultEstimatedAPY(vault) + } + switch (sortBy) { case 'name': return vaultList.toSorted((a, b): number => @@ -84,17 +126,17 @@ export function useSortVaults sortWithFallback( - normalizeApyDisplayValue(calculateVaultEstimatedAPY(a)), - normalizeApyDisplayValue(calculateVaultEstimatedAPY(b)), - calculateVaultEstimatedAPY(a), - calculateVaultEstimatedAPY(b), + normalizeApyDisplayValue(getEstimatedApySortValue(a)), + normalizeApyDisplayValue(getEstimatedApySortValue(b)), + getEstimatedApySortValue(a), + getEstimatedApySortValue(b), sortDirection ) ) case 'APY': { return vaultList.toSorted((a, b): number => { - const aprA = getVaultAPR(a).netAPR || 0 - const aprB = getVaultAPR(b).netAPR || 0 + const aprA = getApySortValue(a) + const aprB = getApySortValue(b) return sortWithFallback( normalizeApyDisplayValue(aprA), normalizeApyDisplayValue(aprB), @@ -167,7 +209,16 @@ export function useSortVaults underlyingAssetVaults: Record pinnedSections: TVaultsPinnedSection[] - pinnedVaults: TKongVault[] - mainVaults: TKongVault[] + pinnedVaults: TKongVaultInput[] + mainVaults: TKongVaultInput[] suggestedVaults: TKongVault[] totalMatchingVaults: number totalHoldingsMatching: number isLoadingVaultList: boolean } +function matchesYvUsdFilters({ + isV3View, + listChains, + listCategories, + listMinTvl, + searchValue, + yvUsdVault +}: { + isV3View: boolean + listChains: number[] | null + listCategories: string[] + listMinTvl: number + searchValue: string + yvUsdVault?: TKongVaultView +}): boolean { + if (!yvUsdVault || !isV3View) { + return false + } + + const matchesChain = !listChains?.length || listChains.includes(yvUsdVault.chainID) + const matchesCategory = listCategories.length === 0 || listCategories.includes(yvUsdVault.category) + const trimmedSearch = searchValue.trim().toLowerCase() + const matchesSearch = + trimmedSearch.length === 0 || + `${yvUsdVault.name} ${yvUsdVault.symbol} ${yvUsdVault.token.symbol} ${yvUsdVault.token.name} ${yvUsdVault.address}` + .toLowerCase() + .includes(trimmedSearch) + const minTvlValue = Number.isFinite(listMinTvl) ? Math.max(0, listMinTvl || 0) : 0 + const meetsMinTvl = (yvUsdVault.tvl?.tvl ?? 0) >= minTvlValue + + return matchesChain && matchesCategory && matchesSearch && meetsMinTvl +} + +function isYvUsdVariantVault(vault: TKongVaultInput): boolean { + const chainID = getVaultChainID(vault) + if (chainID !== YVUSD_CHAIN_ID) { + return false + } + + const address = getVaultAddress(vault) + return address === YVUSD_UNLOCKED_ADDRESS || address === YVUSD_LOCKED_ADDRESS +} + +function removeRawYvUsdVariants(vaults: TVault[]): TVault[] { + return vaults.filter((vault) => !isYvUsdVariantVault(vault)) +} + +function appendUniqueVault(vaults: TKongVaultInput[], vaultToAppend?: TKongVaultInput): TKongVaultInput[] { + if (!vaultToAppend) { + return vaults + } + + const nextKey = getVaultKey(vaultToAppend) + if (vaults.some((vault) => getVaultKey(vault) === nextKey)) { + return vaults + } + + return [...vaults, vaultToAppend] +} + export function useVaultsListModel({ enabled = true, listVaultType, @@ -73,8 +142,11 @@ export function useVaultsListModel({ isAvailablePinned }: TVaultsListModelArgs): TVaultsListModel { const isAllVaults = listVaultType === 'all' + const isV3View = enabled && (listVaultType === 'v3' || isAllVaults) const isV2View = enabled && (listVaultType === 'factory' || isAllVaults) + const { listVault: yvUsdVault } = useYvUsdVaults() + const { getBalance } = useWallet() const listV2Types = useMemo( () => (listShowLegacyVaults ? ['factory', 'legacy'] : ['factory']), @@ -93,6 +165,24 @@ export function useVaultsListModel({ ) }, [listAggressiveness]) + const shouldShowYvUsd = useMemo( + () => + matchesYvUsdFilters({ + isV3View, + listChains, + listCategories: listCategoriesSanitized, + listMinTvl, + searchValue, + yvUsdVault + }), + [isV3View, listChains, listCategoriesSanitized, listMinTvl, searchValue, yvUsdVault] + ) + + const yvUsdHasHoldings = useMemo(() => { + const unlockedBalance = getBalance({ address: YVUSD_UNLOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).raw + const lockedBalance = getBalance({ address: YVUSD_LOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).raw + return unlockedBalance > 0n || lockedBalance > 0n + }, [getBalance]) const v3FilterResult = useV3VaultFilter( isV3View ? listV3Types : null, listChains, @@ -129,26 +219,74 @@ export function useVaultsListModel({ isV2View ) - const filteredVaults = useMemo( - () => selectVaultsByType(listVaultType, v3FilterResult.filteredVaults, v2FilterResult.filteredVaults, true), - [listVaultType, v3FilterResult.filteredVaults, v2FilterResult.filteredVaults] + const sanitizedV3FilteredVaults = useMemo( + () => removeRawYvUsdVariants(v3FilterResult.filteredVaults), + [v3FilterResult.filteredVaults] + ) + + const sanitizedV3HoldingsVaults = useMemo( + () => removeRawYvUsdVariants(v3FilterResult.holdingsVaults), + [v3FilterResult.holdingsVaults] + ) + + const sanitizedV3AvailableVaults = useMemo( + () => removeRawYvUsdVariants(v3FilterResult.availableVaults), + [v3FilterResult.availableVaults] ) - const holdingsVaults = useMemo( - () => selectVaultsByType(listVaultType, v3FilterResult.holdingsVaults, v2FilterResult.holdingsVaults, true), - [listVaultType, v3FilterResult.holdingsVaults, v2FilterResult.holdingsVaults] + const filteredVaults = useMemo( + () => + selectVaultsByType( + listVaultType, + shouldShowYvUsd ? appendUniqueVault(sanitizedV3FilteredVaults, yvUsdVault) : sanitizedV3FilteredVaults, + v2FilterResult.filteredVaults, + true + ), + [listVaultType, sanitizedV3FilteredVaults, shouldShowYvUsd, v2FilterResult.filteredVaults, yvUsdVault] ) - const availableVaults = useMemo( - () => selectVaultsByType(listVaultType, v3FilterResult.availableVaults, v2FilterResult.availableVaults, true), - [listVaultType, v3FilterResult.availableVaults, v2FilterResult.availableVaults] + const holdingsVaults = useMemo( + () => + selectVaultsByType( + listVaultType, + shouldShowYvUsd && yvUsdHasHoldings + ? appendUniqueVault(sanitizedV3HoldingsVaults, yvUsdVault) + : sanitizedV3HoldingsVaults, + v2FilterResult.holdingsVaults, + true + ), + [ + listVaultType, + sanitizedV3HoldingsVaults, + shouldShowYvUsd, + yvUsdHasHoldings, + v2FilterResult.holdingsVaults, + yvUsdVault + ] ) - const vaultFlags = useMemo( - () => selectVaultsByType(listVaultType, v3FilterResult.vaultFlags, v2FilterResult.vaultFlags), - [listVaultType, v3FilterResult.vaultFlags, v2FilterResult.vaultFlags] + const availableVaults = useMemo( + () => selectVaultsByType(listVaultType, sanitizedV3AvailableVaults, v2FilterResult.availableVaults, true), + [listVaultType, sanitizedV3AvailableVaults, v2FilterResult.availableVaults] ) + const vaultFlags = useMemo(() => { + const baseFlags = selectVaultsByType(listVaultType, v3FilterResult.vaultFlags, v2FilterResult.vaultFlags) + if (!yvUsdVault) { + return baseFlags + } + const yvUsdKey = getVaultKey(yvUsdVault) + return { + ...baseFlags, + [yvUsdKey]: { + hasHoldings: yvUsdHasHoldings, + isMigratable: false, + isRetired: false, + isHidden: false + } + } + }, [listVaultType, v3FilterResult.vaultFlags, v2FilterResult.vaultFlags, yvUsdHasHoldings, yvUsdVault]) + const isLoadingVaultList = listVaultType === 'all' ? v3FilterResult.isLoading || v2FilterResult.isLoading @@ -157,28 +295,12 @@ export function useVaultsListModel({ : v2FilterResult.isLoading const totalMatchingVaults = useMemo(() => { - const v3Total = v3FilterResult.totalMatchingVaults ?? 0 - const v2Total = v2FilterResult.filteredVaults.length - if (listVaultType === 'v3') { - return v3Total - } - if (listVaultType === 'factory') { - return v2Total - } - return v3Total + v2Total - }, [listVaultType, v3FilterResult.totalMatchingVaults, v2FilterResult.filteredVaults.length]) + return filteredVaults.length + }, [filteredVaults.length]) const totalHoldingsMatching = useMemo(() => { - const v3Total = v3FilterResult.totalHoldingsMatching ?? 0 - const v2Total = v2FilterResult.holdingsVaults.length - if (listVaultType === 'v3') { - return v3Total - } - if (listVaultType === 'factory') { - return v2Total - } - return v3Total + v2Total - }, [listVaultType, v3FilterResult.totalHoldingsMatching, v2FilterResult.holdingsVaults.length]) + return holdingsVaults.length + }, [holdingsVaults.length]) const allocatorTypesForTrending = useMemo(() => (isV3View ? ['multi'] : null), [isV3View]) @@ -216,15 +338,18 @@ export function useVaultsListModel({ [sortedVaults, availableKeySet] ) - const sortedSuggestedV3Candidates = useSortVaults(filteredVaultsAllChains, 'featuringScore', 'desc') + const sortedSuggestedV3Candidates = useSortVaults( + removeRawYvUsdVariants(filteredVaultsAllChains), + 'featuringScore', + 'desc' + ) const sortedSuggestedV2Candidates = useSortVaults(filteredV2VaultsAllChains, 'featuringScore', 'desc') const pinnedSections = useMemo(() => { const sections: TVaultsPinnedSection[] = [] const seen = new Set() - - if (isAvailablePinned) { - const availableSectionVaults = sortedAvailableVaults.filter((vault) => { + const takeUnseenVaults = (vaults: TKongVaultInput[]): TKongVaultInput[] => + vaults.filter((vault) => { const key = getVaultKey(vault) if (seen.has(key)) { return false @@ -233,6 +358,18 @@ export function useVaultsListModel({ return true }) + if (shouldShowYvUsd && yvUsdVault) { + const yvUsdSectionVaults = takeUnseenVaults([yvUsdVault]) + if (yvUsdSectionVaults.length > 0) { + sections.push({ + key: 'yvUSD', + vaults: yvUsdSectionVaults + }) + } + } + + if (isAvailablePinned) { + const availableSectionVaults = takeUnseenVaults(sortedAvailableVaults) if (availableSectionVaults.length > 0) { sections.push({ key: AVAILABLE_TOGGLE_VALUE, @@ -244,15 +381,7 @@ export function useVaultsListModel({ if (isHoldingsPinned) { const holdingsSourceVaults = holdingsPinnedSortDirection === '' ? sortedHoldingsVaults : sortedHoldingsVaultsByDeposited - const holdingsSectionVaults = holdingsSourceVaults.filter((vault) => { - const key = getVaultKey(vault) - if (seen.has(key)) { - return false - } - seen.add(key) - return true - }) - + const holdingsSectionVaults = takeUnseenVaults(holdingsSourceVaults) if (holdingsSectionVaults.length > 0) { sections.push({ key: HOLDINGS_TOGGLE_VALUE, @@ -264,11 +393,13 @@ export function useVaultsListModel({ return sections }, [ isAvailablePinned, - sortedAvailableVaults, - isHoldingsPinned, holdingsPinnedSortDirection, + isHoldingsPinned, sortedHoldingsVaults, - sortedHoldingsVaultsByDeposited + sortedHoldingsVaultsByDeposited, + sortedAvailableVaults, + shouldShowYvUsd, + yvUsdVault ]) const pinnedVaults = useMemo(() => pinnedSections.flatMap((section) => section.vaults), [pinnedSections]) diff --git a/src/components/pages/vaults/hooks/useVaultsPageModel.ts b/src/components/pages/vaults/hooks/useVaultsPageModel.ts index f0a9ab112..6fb29d30e 100644 --- a/src/components/pages/vaults/hooks/useVaultsPageModel.ts +++ b/src/components/pages/vaults/hooks/useVaultsPageModel.ts @@ -70,7 +70,7 @@ const VAULTS_FILTERS_STORAGE_KEY = 'yearn.fi/vaults-filters@1' type TVaultsPinnedSection = { key: string - vaults: TKongVault[] + vaults: TKongVaultInput[] } type TVaultsBlockingFilterActionKey = @@ -162,8 +162,8 @@ type TVaultsFiltersBarModel = { type TVaultsListData = { isLoading: boolean pinnedSections: TVaultsPinnedSection[] - pinnedVaults: TKongVault[] - mainVaults: TKongVault[] + pinnedVaults: TKongVaultInput[] + mainVaults: TKongVaultInput[] vaultFlags: Record listChains: number[] | null totalMatchingVaults: number diff --git a/src/components/pages/vaults/hooks/useYvUsdAprService.ts b/src/components/pages/vaults/hooks/useYvUsdAprService.ts new file mode 100644 index 000000000..eb0248b6d --- /dev/null +++ b/src/components/pages/vaults/hooks/useYvUsdAprService.ts @@ -0,0 +1,44 @@ +import { useFetch } from '@shared/hooks/useFetch' +import { toAddress } from '@shared/utils' +import { + type TYvUsdAprServiceResponse, + type TYvUsdAprServiceVault, + yvUsdAprServiceSchema +} from '@shared/utils/schemas/yvUsdAprServiceSchema' +import { YVUSD_APR_SERVICE_ENDPOINT, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '../utils/yvUsd' + +type TYvUsdAprServiceData = { + unlocked?: TYvUsdAprServiceVault + locked?: TYvUsdAprServiceVault + isLoading: boolean + error?: Error +} + +function getAprServiceVault( + data: TYvUsdAprServiceResponse | undefined, + address: string +): TYvUsdAprServiceVault | undefined { + return Object.values(data ?? {}).find((vault) => toAddress(vault.address) === address) +} + +export function useYvUsdAprService(): TYvUsdAprServiceData { + const { data, isLoading, error } = useFetch({ + endpoint: YVUSD_APR_SERVICE_ENDPOINT, + schema: yvUsdAprServiceSchema, + config: { + cacheDuration: 30 * 1000, + shouldEnableRefreshInterval: true, + refreshInterval: 30 * 1000 + } + }) + + const unlocked = getAprServiceVault(data, YVUSD_UNLOCKED_ADDRESS) + const locked = getAprServiceVault(data, YVUSD_LOCKED_ADDRESS) + + return { + unlocked, + locked, + isLoading, + error: error ?? undefined + } +} diff --git a/src/components/pages/vaults/hooks/useYvUsdCharts.ts b/src/components/pages/vaults/hooks/useYvUsdCharts.ts new file mode 100644 index 000000000..6503864bd --- /dev/null +++ b/src/components/pages/vaults/hooks/useYvUsdCharts.ts @@ -0,0 +1,125 @@ +import { transformVaultChartData } from '@pages/vaults/utils/charts' +import { useMemo } from 'react' +import { YVUSD_CHAIN_ID, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '../utils/yvUsd' +import { useVaultChartTimeseries } from './useVaultChartTimeseries' + +export type TYvUsdSeriesPoint = { + date: string + unlocked: number | null + locked: number | null +} + +type TYvUsdCharts = { + apyData?: TYvUsdSeriesPoint[] + performanceData?: TYvUsdSeriesPoint[] + tvlData?: TYvUsdSeriesPoint[] + isLoading: boolean + error?: Error +} + +type TSeriesPointWithDate = { + date: string +} + +type TApyPointValue = { + thirtyDayApy?: number | null + sevenDayApy?: number | null + derivedApy?: number | null + derivedApr?: number | null +} + +function getApyPointValue(point: TApyPointValue | undefined): number | null { + return point?.thirtyDayApy ?? point?.sevenDayApy ?? point?.derivedApy ?? point?.derivedApr ?? null +} + +function getNullableSeriesValue(value: number | null | undefined): number | null { + return value ?? null +} + +function mergeByDate({ + unlockedSeries, + lockedSeries, + getUnlockedValue, + getLockedValue +}: { + unlockedSeries: TUnlocked[] | null + lockedSeries: TLocked[] | null + getUnlockedValue: (point: TUnlocked | undefined) => number | null + getLockedValue: (point: TLocked | undefined) => number | null +}): TYvUsdSeriesPoint[] | undefined { + const unlockedList = unlockedSeries ?? [] + const lockedList = lockedSeries ?? [] + if (unlockedList.length === 0 && lockedList.length === 0) { + return undefined + } + + const unlockedByDate = new Map(unlockedList.map((point) => [point.date, point])) + const lockedByDate = new Map(lockedList.map((point) => [point.date, point])) + const orderedDates = [ + ...new Set([...unlockedList.map((point) => point.date), ...lockedList.map((point) => point.date)]) + ] + + return orderedDates.map((date) => ({ + date, + unlocked: getUnlockedValue(unlockedByDate.get(date)), + locked: getLockedValue(lockedByDate.get(date)) + })) +} + +export function useYvUsdCharts(): TYvUsdCharts { + const { + data: unlockedData, + isLoading: isLoadingUnlocked, + error: unlockedError + } = useVaultChartTimeseries({ + chainId: YVUSD_CHAIN_ID, + address: YVUSD_UNLOCKED_ADDRESS + }) + + const { + data: lockedData, + isLoading: isLoadingLocked, + error: lockedError + } = useVaultChartTimeseries({ + chainId: YVUSD_CHAIN_ID, + address: YVUSD_LOCKED_ADDRESS + }) + + const unlockedTransformed = useMemo(() => transformVaultChartData(unlockedData), [unlockedData]) + const lockedTransformed = useMemo(() => transformVaultChartData(lockedData), [lockedData]) + + const apyData = useMemo(() => { + return mergeByDate({ + unlockedSeries: unlockedTransformed.aprApyData, + lockedSeries: lockedTransformed.aprApyData, + getUnlockedValue: getApyPointValue, + getLockedValue: getApyPointValue + }) + }, [lockedTransformed.aprApyData, unlockedTransformed.aprApyData]) + + const performanceData = useMemo(() => { + return mergeByDate({ + unlockedSeries: unlockedTransformed.ppsData, + lockedSeries: lockedTransformed.ppsData, + getUnlockedValue: (point) => getNullableSeriesValue(point?.PPS), + getLockedValue: (point) => getNullableSeriesValue(point?.PPS) + }) + }, [lockedTransformed.ppsData, unlockedTransformed.ppsData]) + + const tvlData = useMemo(() => { + return mergeByDate({ + unlockedSeries: unlockedTransformed.tvlData, + lockedSeries: lockedTransformed.tvlData, + getUnlockedValue: (point) => getNullableSeriesValue(point?.TVL), + getLockedValue: (point) => getNullableSeriesValue(point?.TVL) + }) + }, [lockedTransformed.tvlData, unlockedTransformed.tvlData]) + + return { + apyData, + performanceData, + tvlData, + isLoading: isLoadingUnlocked || isLoadingLocked || !apyData || !performanceData || !tvlData, + error: (unlockedError ?? lockedError) as Error | undefined + } +} diff --git a/src/components/pages/vaults/hooks/useYvUsdVaults.ts b/src/components/pages/vaults/hooks/useYvUsdVaults.ts new file mode 100644 index 000000000..2c49b625e --- /dev/null +++ b/src/components/pages/vaults/hooks/useYvUsdVaults.ts @@ -0,0 +1,528 @@ +import { + getVaultView, + type TKongVaultInput, + type TKongVaultStrategy, + type TKongVaultView +} from '@pages/vaults/domain/kongVaultSelectors' +import { useYearn } from '@shared/contexts/useYearn' +import { toAddress, toBigInt, toNormalizedBN } from '@shared/utils' +import type { TKongVaultListItem } from '@shared/utils/schemas/kongVaultListSchema' +import type { TKongVaultSnapshot } from '@shared/utils/schemas/kongVaultSnapshotSchema' +import type { TYvUsdAprServiceStrategy, TYvUsdAprServiceVault } from '@shared/utils/schemas/yvUsdAprServiceSchema' +import { useMemo } from 'react' +import { YVUSD_CHAIN_ID, YVUSD_DESCRIPTION, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '../utils/yvUsd' +import { useVaultSnapshot } from './useVaultSnapshot' +import { useYvUsdAprService } from './useYvUsdAprService' + +type TYvUsdMetrics = { + apy: number + tvl: number + hasInfinifiPoints: boolean +} + +type TYvUsdVaults = { + assetAddress: `0x${string}` + baseVault: TKongVaultView + listVault: TKongVaultView + unlockedVault: TKongVaultView + lockedVault: TKongVaultView + metrics: { + unlocked: TYvUsdMetrics + locked: TYvUsdMetrics + } + isLoading: boolean +} + +const MAX_REASONABLE_FORWARD_APY = 1 +const APR_RAW_DECIMALS = 18 + +function toFiniteNumber(value: number | null | undefined): number | undefined { + if (typeof value !== 'number' || !Number.isFinite(value)) { + return undefined + } + return value +} + +function getVaultApy(vault: TKongVaultView): number { + return toFiniteNumber(vault.apr.forwardAPR.netAPR) ?? toFiniteNumber(vault.apr.netAPR) ?? 0 +} + +function getVaultTvl(vault: TKongVaultView): number { + return vault.tvl.tvl ?? 0 +} + +type TSnapshotApyMetric = 'net' | 'weeklyNet' | 'monthlyNet' +type TYvUsdVariantDefaults = { + forwardApy: number + netApy: number + weeklyApy: number + monthlyApy: number + tvl: number + totalAssets: bigint + price: number +} + +function resolveSnapshotHistoricalApy( + snapshot: TKongVaultSnapshot | undefined, + metric: TSnapshotApyMetric +): number | undefined { + return toFiniteNumber(snapshot?.apy?.[metric]) ?? toFiniteNumber(snapshot?.performance?.historical?.[metric]) +} + +function resolveSnapshotNetApy(snapshot?: TKongVaultSnapshot): number | undefined { + return resolveSnapshotHistoricalApy(snapshot, 'net') +} + +function resolveSnapshotWeeklyApy(snapshot?: TKongVaultSnapshot): number | undefined { + return resolveSnapshotHistoricalApy(snapshot, 'weeklyNet') +} + +function resolveSnapshotMonthlyApy(snapshot?: TKongVaultSnapshot): number | undefined { + return resolveSnapshotHistoricalApy(snapshot, 'monthlyNet') +} + +function resolveSnapshotForwardApy(snapshot?: TKongVaultSnapshot): number | undefined { + const estimatedApy = toFiniteNumber(snapshot?.performance?.estimated?.apy) + if (estimatedApy !== undefined) { + return estimatedApy + } + + const estimatedApr = toFiniteNumber(snapshot?.performance?.estimated?.apr) + if (estimatedApr !== undefined) { + return estimatedApr + } + + for (const oracleValue of [ + toFiniteNumber(snapshot?.performance?.oracle?.apy), + toFiniteNumber(snapshot?.performance?.oracle?.apr) + ]) { + if (oracleValue !== undefined && Math.abs(oracleValue) <= MAX_REASONABLE_FORWARD_APY) { + return oracleValue + } + } + + return resolveSnapshotNetApy(snapshot) +} + +function resolveSnapshotTvl(snapshot?: TKongVaultSnapshot): number | undefined { + return toFiniteNumber(snapshot?.tvl?.close) +} + +function normalizedToRawAmount(value: number, decimals: number): bigint { + if (!Number.isFinite(value) || value <= 0) { + return 0n + } + + const precision = Math.min(decimals, 12) + const fixed = value.toFixed(precision) + const [wholePart, fractionalPart = ''] = fixed.split('.') + const rawString = `${wholePart}${fractionalPart.padEnd(precision, '0')}` + const scaled = BigInt(rawString) + + if (precision === decimals) { + return scaled + } + + return scaled * 10n ** BigInt(decimals - precision) +} + +type TYvUsdAprOverlay = { + apr?: number + apy?: number + strategies?: TKongVaultStrategy[] +} + +function normalizeAprRaw(value: string | null | undefined): number | null { + if (!value) return null + try { + const normalized = toNormalizedBN(value, APR_RAW_DECIMALS).normalized + if (!Number.isFinite(normalized)) { + return null + } + return normalized + } catch { + return null + } +} + +function normalizeWeightToDebtRatio(weight: number | undefined): number { + if (weight === undefined || !Number.isFinite(weight)) { + return 0 + } + return Math.max(0, Math.min(10_000, Math.round(weight * 10_000))) +} + +function hasDebt(debt: string): boolean { + try { + return toBigInt(debt) > 0n + } catch { + return false + } +} + +function mapApiStrategy(strategy: TYvUsdAprServiceStrategy, index: number): TKongVaultStrategy { + const netApr = normalizeAprRaw(strategy.net_apr_raw || strategy.apr_raw) + const debt = strategy.debt || '0' + const debtRatio = normalizeWeightToDebtRatio(strategy.weight) + const strategyName = strategy.meta?.name?.trim() || `Strategy ${index + 1}` + const isAllocated = hasDebt(debt) && debtRatio > 0 + + return { + address: toAddress(strategy.address), + name: strategyName, + description: '', + netAPR: netApr, + estimatedAPY: netApr ?? undefined, + status: isAllocated ? 'active' : 'unallocated', + details: { + totalDebt: debt, + totalLoss: '0', + totalGain: '0', + performanceFee: 0, + lastReport: 0, + debtRatio + } + } +} + +function buildAprOverlay(vault?: TYvUsdAprServiceVault): TYvUsdAprOverlay | undefined { + if (!vault) { + return undefined + } + + const strategies = (vault.meta?.strategies || []).map(mapApiStrategy) + const apr = toFiniteNumber(vault.apr ?? undefined) + const apy = toFiniteNumber(vault.apy ?? undefined) + const resolvedStrategies = strategies.length > 0 ? strategies : undefined + + if (apr === undefined && apy === undefined && !resolvedStrategies) { + return undefined + } + + return { + apr, + apy, + strategies: resolvedStrategies + } +} + +function hasInfinifiPoints(vault?: TYvUsdAprServiceVault): boolean { + return (vault?.meta?.strategies || []).some((strategy) => strategy.points === true) +} + +function resolveAddress(value?: string): `0x${string}` | undefined { + if (!value) return undefined + try { + return toAddress(value) + } catch { + return undefined + } +} + +const FALLBACK_ASSET = { + address: toAddress('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'), + name: 'USD Coin', + symbol: 'USDC', + decimals: 6 +} as const + +function buildSyntheticBaseVault(snapshot?: TKongVaultSnapshot): TKongVaultListItem { + const token = snapshot?.meta?.token + const asset = snapshot?.asset + const resolvedAsset = { + address: toAddress(token?.address ?? asset?.address ?? FALLBACK_ASSET.address), + name: token?.name || asset?.name || FALLBACK_ASSET.name, + symbol: token?.symbol || asset?.symbol || FALLBACK_ASSET.symbol, + decimals: token?.decimals ?? asset?.decimals ?? FALLBACK_ASSET.decimals + } + + return { + chainId: YVUSD_CHAIN_ID, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + symbol: 'yvUSD', + apiVersion: snapshot?.apiVersion ?? '3.0.0', + decimals: snapshot?.decimals ?? 18, + asset: resolvedAsset, + tvl: toFiniteNumber(snapshot?.tvl?.close) ?? null, + performance: null, + fees: { + managementFee: toFiniteNumber(snapshot?.fees?.managementFee) ?? 0, + performanceFee: toFiniteNumber(snapshot?.fees?.performanceFee) ?? 0 + }, + category: 'Stablecoin', + type: snapshot?.meta?.type || 'Automated Yearn Vault', + kind: snapshot?.meta?.kind || 'Multi Strategy', + v3: true, + yearn: true, + isRetired: Boolean(snapshot?.meta?.isRetired), + isHidden: Boolean(snapshot?.meta?.isHidden), + isBoosted: Boolean(snapshot?.meta?.isBoosted), + isHighlighted: true, + inclusion: { isYearn: true }, + migration: false, + origin: 'synthetic-yvusd', + strategiesCount: snapshot?.composition?.length ?? snapshot?.debts?.length ?? 0, + riskLevel: toFiniteNumber(snapshot?.risk?.riskLevel) ?? null, + staking: null + } +} + +function getVariantDefaults(baseVariant: TKongVaultView, fallbackToBase: boolean): TYvUsdVariantDefaults { + if (!fallbackToBase) { + return { + forwardApy: 0, + netApy: 0, + weeklyApy: 0, + monthlyApy: 0, + tvl: 0, + totalAssets: 0n, + price: 0 + } + } + + return { + forwardApy: baseVariant.apr.forwardAPR.netAPR, + netApy: baseVariant.apr.netAPR, + weeklyApy: baseVariant.apr.points.weekAgo, + monthlyApy: baseVariant.apr.points.monthAgo, + tvl: baseVariant.tvl.tvl, + totalAssets: baseVariant.tvl.totalAssets, + price: baseVariant.tvl.price + } +} + +function getVariantPrice(resolvedTvl: number, normalizedAssets: number, fallbackPrice: number): number { + if (resolvedTvl > 0 && normalizedAssets > 0) { + return resolvedTvl / normalizedAssets + } + + return fallbackPrice +} + +function buildVariantVault({ + baseVault, + snapshot, + address, + name, + fallbackToBase, + aprOverlay +}: { + baseVault: TKongVaultInput + snapshot?: TKongVaultSnapshot + address: string + name: string + fallbackToBase: boolean + aprOverlay?: TYvUsdAprOverlay +}): TKongVaultView { + const normalizedAddress = toAddress(address) + const baseVariant = getVaultView(baseVault, snapshot) + const defaults = getVariantDefaults(baseVariant, fallbackToBase) + + const resolvedNetApy = resolveSnapshotNetApy(snapshot) ?? aprOverlay?.apr ?? defaults.netApy + const resolvedWeeklyApy = resolveSnapshotWeeklyApy(snapshot) ?? defaults.weeklyApy + const resolvedMonthlyApy = resolveSnapshotMonthlyApy(snapshot) ?? defaults.monthlyApy + const resolvedForwardApy = aprOverlay?.apy ?? resolveSnapshotForwardApy(snapshot) ?? defaults.forwardApy + const resolvedTvl = resolveSnapshotTvl(snapshot) ?? defaults.tvl + const resolvedTotalAssets = snapshot?.totalAssets ? toBigInt(snapshot.totalAssets) : defaults.totalAssets + const normalizedAssets = toNormalizedBN(resolvedTotalAssets, baseVariant.token.decimals).normalized + const resolvedPrice = getVariantPrice(resolvedTvl, normalizedAssets, defaults.price) + const resolvedStrategies = aprOverlay?.strategies ?? baseVariant.strategies + const forwardAprType = aprOverlay?.apy !== undefined ? 'yvusd-apr-service' : baseVariant.apr.forwardAPR.type + + return { + ...baseVariant, + address: normalizedAddress, + chainID: YVUSD_CHAIN_ID, + name, + symbol: 'yvUSD', + description: YVUSD_DESCRIPTION, + category: 'Stablecoin', + apr: { + ...baseVariant.apr, + netAPR: resolvedNetApy, + points: { + ...baseVariant.apr.points, + weekAgo: resolvedWeeklyApy, + monthAgo: resolvedMonthlyApy + }, + forwardAPR: { + ...baseVariant.apr.forwardAPR, + type: forwardAprType, + netAPR: resolvedForwardApy + } + }, + tvl: { + ...baseVariant.tvl, + totalAssets: resolvedTotalAssets, + tvl: resolvedTvl, + price: resolvedPrice + }, + strategies: resolvedStrategies + } +} + +function getCombinedListPrice( + baseAssetPrice: number, + combinedTvl: number, + combinedAssetsNormalized: number, + fallbackPrice: number +): number { + if (baseAssetPrice > 0) { + return baseAssetPrice + } + + if (combinedTvl > 0 && combinedAssetsNormalized > 0) { + return combinedTvl / combinedAssetsNormalized + } + + return fallbackPrice +} + +function buildListVault({ + baseVault, + unlocked, + locked +}: { + baseVault: TKongVaultInput + unlocked: TKongVaultView + locked: TKongVaultView +}): TKongVaultView { + const baseView = getVaultView(baseVault) + const combinedTvl = (unlocked.tvl.tvl ?? 0) + (locked.tvl.tvl ?? 0) + const baseAssetPrice = unlocked.tvl.price || baseView.tvl.price + const unlockedAssetsNormalized = toNormalizedBN(unlocked.tvl.totalAssets, baseView.token.decimals).normalized + const lockedAssetsNormalized = baseAssetPrice > 0 ? locked.tvl.tvl / baseAssetPrice : 0 + const combinedAssetsNormalized = unlockedAssetsNormalized + lockedAssetsNormalized + const combinedTotalAssets = normalizedToRawAmount(combinedAssetsNormalized, baseView.token.decimals) + const combinedPrice = getCombinedListPrice(baseAssetPrice, combinedTvl, combinedAssetsNormalized, baseView.tvl.price) + + return { + ...baseView, + address: YVUSD_UNLOCKED_ADDRESS, + chainID: YVUSD_CHAIN_ID, + name: 'yvUSD', + symbol: 'yvUSD', + description: YVUSD_DESCRIPTION, + category: 'Stablecoin', + tvl: { + ...baseView.tvl, + totalAssets: combinedTotalAssets, + tvl: combinedTvl, + price: combinedPrice + }, + apr: { + ...baseView.apr, + netAPR: unlocked.apr.netAPR, + forwardAPR: { + ...baseView.apr.forwardAPR, + netAPR: unlocked.apr.forwardAPR.netAPR + } + }, + info: { + ...baseView.info, + isHighlighted: true, + uiNotice: YVUSD_DESCRIPTION + }, + strategies: unlocked.strategies ?? baseView.strategies, + featuringScore: Math.max(baseView.featuringScore ?? 0, 9_999) + } +} + +export function useYvUsdVaults(): TYvUsdVaults { + const { vaults, isLoadingVaultList } = useYearn() + const { unlocked: unlockedAprServiceVault, locked: lockedAprServiceVault } = useYvUsdAprService() + + const { data: unlockedSnapshot, isLoading: isLoadingUnlocked } = useVaultSnapshot({ + chainId: YVUSD_CHAIN_ID, + address: YVUSD_UNLOCKED_ADDRESS + }) + + const { data: lockedSnapshot, isLoading: isLoadingLocked } = useVaultSnapshot({ + chainId: YVUSD_CHAIN_ID, + address: YVUSD_LOCKED_ADDRESS + }) + + const baseVault = useMemo(() => { + const baseCandidates = [YVUSD_UNLOCKED_ADDRESS, YVUSD_LOCKED_ADDRESS] + const listVaultCandidate = baseCandidates.map((address) => vaults[toAddress(address)]).find(Boolean) + if (listVaultCandidate) { + return listVaultCandidate + } + return buildSyntheticBaseVault(unlockedSnapshot ?? lockedSnapshot) + }, [lockedSnapshot, unlockedSnapshot, vaults]) + const baseVaultView = useMemo((): TKongVaultView => getVaultView(baseVault), [baseVault]) + + const unlockedAprOverlay = useMemo( + (): TYvUsdAprOverlay | undefined => buildAprOverlay(unlockedAprServiceVault), + [unlockedAprServiceVault] + ) + const lockedAprOverlay = useMemo( + (): TYvUsdAprOverlay | undefined => buildAprOverlay(lockedAprServiceVault), + [lockedAprServiceVault] + ) + const assetAddress = useMemo((): `0x${string}` => { + const baseAssetAddress = 'asset' in baseVault ? baseVault.asset?.address : undefined + return ( + resolveAddress(unlockedAprServiceVault?.meta?.asset) || + resolveAddress(lockedAprServiceVault?.meta?.asset) || + resolveAddress(baseAssetAddress) || + FALLBACK_ASSET.address + ) + }, [baseVault, lockedAprServiceVault, unlockedAprServiceVault]) + + const unlockedVault = useMemo((): TKongVaultView => { + return buildVariantVault({ + baseVault, + snapshot: unlockedSnapshot, + address: YVUSD_UNLOCKED_ADDRESS, + name: 'yvUSD', + fallbackToBase: true, + aprOverlay: unlockedAprOverlay + }) + }, [baseVault, unlockedAprOverlay, unlockedSnapshot]) + + const lockedVault = useMemo((): TKongVaultView => { + return buildVariantVault({ + baseVault, + snapshot: lockedSnapshot, + address: YVUSD_LOCKED_ADDRESS, + name: 'yvUSD (Locked)', + fallbackToBase: false, + aprOverlay: lockedAprOverlay + }) + }, [baseVault, lockedAprOverlay, lockedSnapshot]) + + const listVault = useMemo((): TKongVaultView => { + return buildListVault({ + baseVault, + unlocked: unlockedVault, + locked: lockedVault + }) + }, [baseVault, unlockedVault, lockedVault]) + + const metrics = useMemo(() => { + return { + unlocked: { + apy: getVaultApy(unlockedVault), + tvl: getVaultTvl(unlockedVault), + hasInfinifiPoints: hasInfinifiPoints(unlockedAprServiceVault) + }, + locked: { + apy: getVaultApy(lockedVault), + tvl: getVaultTvl(lockedVault), + hasInfinifiPoints: hasInfinifiPoints(lockedAprServiceVault) + } + } + }, [unlockedVault, lockedVault, unlockedAprServiceVault, lockedAprServiceVault]) + + return { + assetAddress, + baseVault: baseVaultView, + listVault, + unlockedVault, + lockedVault, + metrics, + isLoading: isLoadingVaultList || isLoadingUnlocked || isLoadingLocked + } +} diff --git a/src/components/pages/vaults/utils/vaultLogo.test.ts b/src/components/pages/vaults/utils/vaultLogo.test.ts new file mode 100644 index 000000000..685695f12 --- /dev/null +++ b/src/components/pages/vaults/utils/vaultLogo.test.ts @@ -0,0 +1,39 @@ +import type { TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { describe, expect, it } from 'vitest' +import { getVaultPrimaryLogoSrc } from './vaultLogo' +import { YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from './yvUsd' + +const STANDARD_VAULT = { + version: '3.0.0', + chainID: 1, + address: '0x0000000000000000000000000000000000000001', + token: { + address: '0x0000000000000000000000000000000000000002', + symbol: 'TKN', + decimals: 18 + } +} + +describe('getVaultPrimaryLogoSrc', () => { + it('returns the yvUSD seal logo for the unlocked vault', () => { + expect( + getVaultPrimaryLogoSrc({ + ...STANDARD_VAULT, + address: YVUSD_UNLOCKED_ADDRESS + } as unknown as TKongVaultInput) + ).toMatch(/yvUSD-seal\.png$/) + }) + + it('returns the yvUSD seal logo for the locked vault', () => { + expect( + getVaultPrimaryLogoSrc({ + ...STANDARD_VAULT, + address: YVUSD_LOCKED_ADDRESS + } as unknown as TKongVaultInput) + ).toMatch(/yvUSD-seal\.png$/) + }) + + it('returns the standard token asset logo for non-yvUSD vaults', () => { + expect(getVaultPrimaryLogoSrc(STANDARD_VAULT as unknown as TKongVaultInput)).toContain('logo-128.png') + }) +}) diff --git a/src/components/pages/vaults/utils/vaultLogo.ts b/src/components/pages/vaults/utils/vaultLogo.ts new file mode 100644 index 000000000..72501a535 --- /dev/null +++ b/src/components/pages/vaults/utils/vaultLogo.ts @@ -0,0 +1,21 @@ +import { getVaultChainID, getVaultToken, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { toAddress } from '@shared/utils' +import { isYvUsdVault } from './yvUsd' + +function getBaseUrl(): string { + return import.meta.env.BASE_URL || '/' +} + +function getAssetsBaseUrl(): string { + return import.meta.env.VITE_BASE_YEARN_ASSETS_URI || '' +} + +export function getVaultPrimaryLogoSrc(vault: TKongVaultInput): string { + if (isYvUsdVault(vault)) { + return `${getBaseUrl()}yvUSD-seal.png` + } + + const chainID = getVaultChainID(vault) + const token = getVaultToken(vault) + return `${getAssetsBaseUrl()}/tokens/${chainID}/${toAddress(token.address).toLowerCase()}/logo-128.png` +} diff --git a/src/components/pages/vaults/utils/yvUsd.test.ts b/src/components/pages/vaults/utils/yvUsd.test.ts new file mode 100644 index 000000000..cf05d32bc --- /dev/null +++ b/src/components/pages/vaults/utils/yvUsd.test.ts @@ -0,0 +1,168 @@ +import { describe, expect, it } from 'vitest' +import { + convertYvUsdLockedAssetRawAmountToUnderlying, + convertYvUsdLockedPricePerShareToUnderlying, + convertYvUsdUnderlyingRawAmountToLockedAsset, + convertYvUsdVariantAmountString, + convertYvUsdVariantRawAmount, + getWeightedYvUsdApy, + getYvUsdLockedWithdrawDisplayMode, + YVUSD_CUSTOM_RISK_SCORE, + YVUSD_RISK_SCORE_ITEMS +} from './yvUsd' + +describe('getWeightedYvUsdApy', () => { + it('returns the unlocked APY when only unlocked value is present', () => { + expect( + getWeightedYvUsdApy({ + unlockedValue: 100, + lockedValue: 0, + unlockedApy: 0.05, + lockedApy: 0.09 + }) + ).toBeCloseTo(0.05, 6) + }) + + it('returns the locked APY when only locked value is present', () => { + expect( + getWeightedYvUsdApy({ + unlockedValue: 0, + lockedValue: 200, + unlockedApy: 0.05, + lockedApy: 0.09 + }) + ).toBeCloseTo(0.09, 6) + }) + + it('weights unlocked and locked APYs by position value', () => { + expect( + getWeightedYvUsdApy({ + unlockedValue: 100, + lockedValue: 100, + unlockedApy: 0.05, + lockedApy: 0.09 + }) + ).toBeCloseTo(0.07, 6) + }) + + it('keeps missing-APY value in the denominator for conservative weighting', () => { + expect( + getWeightedYvUsdApy({ + unlockedValue: 100, + lockedValue: 100, + unlockedApy: null, + lockedApy: 0.09 + }) + ).toBeCloseTo(0.045, 6) + }) + + it('returns null when there is no value to weight', () => { + expect( + getWeightedYvUsdApy({ + unlockedValue: 0, + lockedValue: 0, + unlockedApy: 0.05, + lockedApy: 0.09 + }) + ).toBeNull() + }) +}) + +describe('yvUSD risk override', () => { + it('uses the provisional custom score for the detail risk section', () => { + expect(YVUSD_CUSTOM_RISK_SCORE).toBe('2/5') + expect(YVUSD_RISK_SCORE_ITEMS[0]?.score).toBe('2/5') + }) + + it('keeps the current published risk sections intact', () => { + expect(YVUSD_RISK_SCORE_ITEMS.map((item) => item.label)).toEqual([ + 'Overall Risk Score', + 'Leverage Looping', + 'Duration and PT Strategies', + 'Cross-Chain Routing' + ]) + }) +}) + +describe('yvUSD variant amount conversion', () => { + const unlockedPricePerShare = 1_050_000n + const unlockedVaultDecimals = 18 + + it('converts unlocked underlying assets into locked yvUSD shares', () => { + expect( + convertYvUsdVariantRawAmount({ + amount: 100_000_000n, + fromVariant: 'unlocked', + toVariant: 'locked', + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe(95_238_095_238_095_238_095n) + }) + + it('converts locked yvUSD shares into unlocked underlying assets', () => { + expect( + convertYvUsdVariantRawAmount({ + amount: 95_238_095_238_095_238_095n, + fromVariant: 'locked', + toVariant: 'unlocked', + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe(99_999_999n) + }) + + it('formats converted variant amounts with the destination decimals', () => { + expect( + convertYvUsdVariantAmountString({ + amount: '100', + fromVariant: 'unlocked', + toVariant: 'locked', + fromDecimals: 6, + toDecimals: 18, + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe('95.238095238095238095') + }) + + it('converts locked asset amounts into unlocked underlying amounts with the helper alias', () => { + expect( + convertYvUsdLockedAssetRawAmountToUnderlying({ + amount: 95_238_095_238_095_238_095n, + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe(99_999_999n) + }) + + it('converts unlocked underlying amounts into locked asset amounts with the helper alias', () => { + expect( + convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount: 100_000_000n, + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe(95_238_095_238_095_238_095n) + }) + + it('converts locked price per share into underlying asset terms', () => { + expect( + convertYvUsdLockedPricePerShareToUnderlying({ + lockedPricePerShare: 1_100_000_000_000_000_000n, + unlockedPricePerShare, + unlockedVaultDecimals + }) + ).toBe(1_155_000n) + }) +}) + +describe('yvUSD locked withdraw display mode', () => { + it('uses underlying display mode when the helper is called with Enso enabled', () => { + expect(getYvUsdLockedWithdrawDisplayMode(true)).toBe('underlying') + }) + + it('keeps underlying display mode even when Enso is unavailable', () => { + expect(getYvUsdLockedWithdrawDisplayMode(false)).toBe('underlying') + }) +}) diff --git a/src/components/pages/vaults/utils/yvUsd.ts b/src/components/pages/vaults/utils/yvUsd.ts new file mode 100644 index 000000000..5523eed3f --- /dev/null +++ b/src/components/pages/vaults/utils/yvUsd.ts @@ -0,0 +1,284 @@ +import { getVaultView, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { toAddress } from '@shared/utils' +import { type Address, formatUnits, parseUnits } from 'viem' + +export const YVUSD_CHAIN_ID = 1 +export const YVUSD_UNLOCKED_ADDRESS = toAddress('0x696d02Db93291651ED510704c9b286841d506987') as Address +export const YVUSD_LOCKED_ADDRESS = toAddress('0xAaaFEa48472f77563961Cdb53291DEDfB46F9040') as Address +export const YVUSD_LOCKED_ZAP_ADDRESS = toAddress('0x7ba61c8e19414dcB8fe769a7Be63B508C8062bbA') as Address + +export const YVUSD_LOCKED_COOLDOWN_DAYS = 14 +export const YVUSD_WITHDRAW_WINDOW_DAYS = 5 +export const YVUSD_CUSTOM_RISK_SCORE = '3/5' +export const YVUSD_ANNOUNCEMENT_URL = '#' +export const YVUSD_LEARN_MORE_URL = '#' + +function getYvUsdAprServiceEndpoint(): string { + const configuredEndpoint = import.meta.env.VITE_YVUSD_APR_SERVICE_API?.trim().replace(/\/$/, '') + if (configuredEndpoint?.startsWith('/')) { + return configuredEndpoint + } + return '/api/yvusd/aprs' +} + +export const YVUSD_APR_SERVICE_ENDPOINT = getYvUsdAprServiceEndpoint() + +export const YVUSD_DESCRIPTION = + 'USD denominated, cross-chain, cross asset vault. Optionally lock shares to earn a higher yield by allowing the vault to take on longer duration positions.' + +export type TYvUsdVariant = 'locked' | 'unlocked' +export type TYvUsdLockedWithdrawDisplayMode = 'underlying' | 'shares' +export type TYvUsdRiskScoreItem = { + label: string + explanation: string + score?: number | string | null + isOverall?: boolean +} + +export const YVUSD_RISK_SCORE_ITEMS: TYvUsdRiskScoreItem[] = [ + { + label: 'Overall Risk Score', + score: YVUSD_CUSTOM_RISK_SCORE, + isOverall: true, + explanation: + 'yvUSD combines leverage looping, fixed-term and principal-token strategies, cross-chain capital routing, and a locked-share wrapper, so its risks are better described as a strategy stack rather than a single standard vault profile.' + }, + { + label: 'Leverage Looping', + explanation: + 'Some yvUSD strategies use leverage loops to amplify supply yield. That adds borrow-rate risk, deleveraging and liquidation-path risk, and dependence on collateral efficiency, market depth, and the health of the underlying lending venue.' + }, + { + label: 'Duration and PT Strategies', + explanation: + 'yvUSD can allocate into duration trades and Pendle principal-token strategies. Those positions depend on fixed-term market pricing, yield-curve assumptions, basis convergence into expiry, and the ability to exit or rebalance without meaningful slippage.' + }, + { + label: 'Cross-Chain Routing', + explanation: + 'Capital may be deployed to remote vaults and bridged back through native bridges such as CCTP. That introduces bridge availability risk, remote chain execution risk, settlement delays, and additional operational dependencies beyond a single-chain vault.' + } + // { + // label: 'Locked / Unlocked Dynamics', + // explanation: `Locked yvUSD earns the base yvUSD APR plus a locker bonus, but withdrawals require a ${YVUSD_LOCKED_COOLDOWN_DAYS}-day cooldown and must be completed within a ${YVUSD_WITHDRAW_WINDOW_DAYS}-day window. Unlocked depositors stay liquid but fund part of that bonus, so yield and liquidity can diverge between the two variants during stress or large flow changes.` + // }, + // { + // label: 'External Dependencies', + // explanation: + // 'The strategy set relies on external protocols, bridge rails, pricing assumptions, and active management across multiple venues. Smart contract failures, governance actions, liquidity shocks, or oracle issues in any of those layers can reduce returns or impair withdrawals.' + // } +] + +export function getYvUsdInfinifiPointsNote(variant?: TYvUsdVariant): string { + if (!variant) { + return 'This vault earns Infinifi points through the sIUSD looper strategy.' + } + + return `This ${variant} variant earns Infinifi points through the sIUSD looper strategy.` +} + +export function isYvUsdAddress(address?: string | null): boolean { + if (!address) return false + const normalized = toAddress(address) + return normalized === YVUSD_UNLOCKED_ADDRESS || normalized === YVUSD_LOCKED_ADDRESS +} + +export function isYvUsdVault(vault?: TKongVaultInput | null): boolean { + if (!vault) return false + return isYvUsdAddress(vault.address) +} + +export function getYvUsdAssetPrice(vault?: TKongVaultInput | null): number { + if (!vault) return 0 + const view = getVaultView(vault) + return view.tvl.price || 0 +} + +export function getYvUsdSharePrice(vault?: TKongVaultInput | null, fallbackAssetPrice = 0): number { + if (!vault) return 0 + const view = getVaultView(vault) + const assetPrice = view.tvl.price || fallbackAssetPrice + const pricePerShare = view.apr.pricePerShare.today || 0 + + if (assetPrice > 0 && pricePerShare > 0) { + return assetPrice * pricePerShare + } + + return assetPrice +} + +function normalizeWeightedValue(value: number | null | undefined): number { + if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) { + return 0 + } + return value +} + +function isFiniteApy(value: number | null | undefined): value is number { + return typeof value === 'number' && Number.isFinite(value) +} + +export function getWeightedYvUsdApy({ + unlockedValue, + lockedValue, + unlockedApy, + lockedApy +}: { + unlockedValue?: number | null + lockedValue?: number | null + unlockedApy?: number | null + lockedApy?: number | null +}): number | null { + const normalizedUnlockedValue = normalizeWeightedValue(unlockedValue) + const normalizedLockedValue = normalizeWeightedValue(lockedValue) + const totalValue = normalizedUnlockedValue + normalizedLockedValue + + if (totalValue <= 0) { + return null + } + + let weightedApy = 0 + let hasFiniteApy = false + + if (isFiniteApy(unlockedApy)) { + weightedApy += normalizedUnlockedValue * unlockedApy + hasFiniteApy = true + } + + if (isFiniteApy(lockedApy)) { + weightedApy += normalizedLockedValue * lockedApy + hasFiniteApy = true + } + + if (!hasFiniteApy) { + return null + } + + return weightedApy / totalValue +} + +export function convertYvUsdVariantRawAmount({ + amount, + fromVariant, + toVariant, + unlockedPricePerShare, + unlockedVaultDecimals = 18 +}: { + amount: bigint + fromVariant: TYvUsdVariant + toVariant: TYvUsdVariant + unlockedPricePerShare: bigint + unlockedVaultDecimals?: number +}): bigint { + if (amount <= 0n || fromVariant === toVariant || unlockedPricePerShare <= 0n) { + return amount + } + + const vaultScale = 10n ** BigInt(unlockedVaultDecimals) + if (fromVariant === 'unlocked' && toVariant === 'locked') { + return (amount * vaultScale) / unlockedPricePerShare + } + + if (fromVariant === 'locked' && toVariant === 'unlocked') { + return (amount * unlockedPricePerShare) / vaultScale + } + + return amount +} + +export function convertYvUsdVariantAmountString({ + amount, + fromVariant, + toVariant, + fromDecimals, + toDecimals, + unlockedPricePerShare, + unlockedVaultDecimals = 18 +}: { + amount?: string + fromVariant: TYvUsdVariant + toVariant: TYvUsdVariant + fromDecimals: number + toDecimals: number + unlockedPricePerShare: bigint + unlockedVaultDecimals?: number +}): string | undefined { + if (amount === undefined) { + return undefined + } + + const trimmedAmount = amount.trim() + if (trimmedAmount.length === 0 || fromVariant === toVariant || unlockedPricePerShare <= 0n) { + return amount + } + + try { + const rawAmount = parseUnits(trimmedAmount, fromDecimals) + const convertedRawAmount = convertYvUsdVariantRawAmount({ + amount: rawAmount, + fromVariant, + toVariant, + unlockedPricePerShare, + unlockedVaultDecimals + }) + return formatUnits(convertedRawAmount, toDecimals) + } catch { + return amount + } +} + +export function convertYvUsdLockedAssetRawAmountToUnderlying({ + amount, + unlockedPricePerShare, + unlockedVaultDecimals = 18 +}: { + amount: bigint + unlockedPricePerShare: bigint + unlockedVaultDecimals?: number +}): bigint { + return convertYvUsdVariantRawAmount({ + amount, + fromVariant: 'locked', + toVariant: 'unlocked', + unlockedPricePerShare, + unlockedVaultDecimals + }) +} + +export function convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount, + unlockedPricePerShare, + unlockedVaultDecimals = 18 +}: { + amount: bigint + unlockedPricePerShare: bigint + unlockedVaultDecimals?: number +}): bigint { + return convertYvUsdVariantRawAmount({ + amount, + fromVariant: 'unlocked', + toVariant: 'locked', + unlockedPricePerShare, + unlockedVaultDecimals + }) +} + +export function convertYvUsdLockedPricePerShareToUnderlying({ + lockedPricePerShare, + unlockedPricePerShare, + unlockedVaultDecimals = 18 +}: { + lockedPricePerShare: bigint + unlockedPricePerShare: bigint + unlockedVaultDecimals?: number +}): bigint { + if (lockedPricePerShare <= 0n || unlockedPricePerShare <= 0n) { + return 0n + } + + return (lockedPricePerShare * unlockedPricePerShare) / 10n ** BigInt(unlockedVaultDecimals) +} + +export function getYvUsdLockedWithdrawDisplayMode(_ensoEnabled?: boolean): TYvUsdLockedWithdrawDisplayMode { + return 'underlying' +} diff --git a/src/components/shared/contexts/useWallet.tsx b/src/components/shared/contexts/useWallet.tsx index 97076e233..2256fcbd3 100644 --- a/src/components/shared/contexts/useWallet.tsx +++ b/src/components/shared/contexts/useWallet.tsx @@ -1,4 +1,6 @@ import { getVaultStaking, getVaultVersion, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { getYvUsdSharePrice, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' import { useDeepCompareMemo } from '@react-hookz/web' import type { ReactElement } from 'react' import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef } from 'react' @@ -49,6 +51,7 @@ export const WalletContextApp = memo(function WalletContextApp(props: { shouldWorkOnTestnet?: boolean }): ReactElement { const { vaults, isLoadingVaultList } = useYearn() + const { unlockedVault: yvUsdUnlockedVault, lockedVault: yvUsdLockedVault } = useYvUsdVaults() const { address: userAddress } = useWeb3() const allTokens = useYearnTokens({ @@ -124,6 +127,9 @@ export const WalletContextApp = memo(function WalletContextApp(props: { [balances] ) + const yvUsdUnlockedSharePrice = getYvUsdSharePrice(yvUsdUnlockedVault) + const yvUsdLockedSharePrice = getYvUsdSharePrice(yvUsdLockedVault) + const [cumulatedValueInV2Vaults, cumulatedValueInV3Vaults] = useMemo((): [number, number] => { // Build staking address → vault address lookup const stakingToVault = new Map() @@ -141,6 +147,14 @@ export const WalletContextApp = memo(function WalletContextApp(props: { for (const [tokenAddress, tokenData] of Object.entries(perChain)) { const normalizedAddress = toAddress(tokenAddress) + if (normalizedAddress === YVUSD_UNLOCKED_ADDRESS || normalizedAddress === YVUSD_LOCKED_ADDRESS) { + const sharePrice = + normalizedAddress === YVUSD_UNLOCKED_ADDRESS ? yvUsdUnlockedSharePrice : yvUsdLockedSharePrice + const tokenValue = tokenData.value || tokenData.balance.normalized * sharePrice + cumulatedValueInV3Vaults += tokenValue + continue + } + // Resolve vault details (direct vault or via staking lookup) let vaultDetails = vaults?.[normalizedAddress] if (!vaultDetails && stakingToVault.has(normalizedAddress)) { @@ -161,7 +175,7 @@ export const WalletContextApp = memo(function WalletContextApp(props: { } } return [cumulatedValueInV2Vaults, cumulatedValueInV3Vaults] - }, [balances, vaults]) + }, [balances, vaults, yvUsdLockedSharePrice, yvUsdUnlockedSharePrice]) /*************************************************************************** ** Setup and render the Context provider to use in the app. diff --git a/src/components/shared/contexts/useYearn.helper.tsx b/src/components/shared/contexts/useYearn.helper.tsx index 2d6396bf0..7aa0688d5 100644 --- a/src/components/shared/contexts/useYearn.helper.tsx +++ b/src/components/shared/contexts/useYearn.helper.tsx @@ -8,6 +8,7 @@ import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { YVUSD_CHAIN_ID, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' import { useDeepCompareMemo } from '@react-hookz/web' import { useTokenList } from '@shared/contexts/WithTokenList' import type { TUseBalancesTokens } from '@shared/hooks/useBalances.multichains' @@ -80,7 +81,15 @@ export function useYearnTokens({ { chainID: 250, address: ETH_TOKEN_ADDRESS, decimals: 18, name: 'Fantom', symbol: 'FTM' }, { chainID: 8453, address: ETH_TOKEN_ADDRESS, decimals: 18, name: 'Ether', symbol: 'ETH' }, { chainID: 42161, address: ETH_TOKEN_ADDRESS, decimals: 18, name: 'Ether', symbol: 'ETH' }, - { chainID: 747474, address: ETH_TOKEN_ADDRESS, decimals: 18, name: 'Ether', symbol: 'ETH' } + { chainID: 747474, address: ETH_TOKEN_ADDRESS, decimals: 18, name: 'Ether', symbol: 'ETH' }, + { chainID: YVUSD_CHAIN_ID, address: YVUSD_UNLOCKED_ADDRESS, decimals: 18, name: 'yvUSD', symbol: 'yvUSD' }, + { + chainID: YVUSD_CHAIN_ID, + address: YVUSD_LOCKED_ADDRESS, + decimals: 18, + name: 'yvUSD (Locked)', + symbol: 'yvUSD' + } ] ) diff --git a/src/components/shared/contracts/abi/yvUsdLockedVault.abi.ts b/src/components/shared/contracts/abi/yvUsdLockedVault.abi.ts new file mode 100644 index 000000000..316d8ee07 --- /dev/null +++ b/src/components/shared/contracts/abi/yvUsdLockedVault.abi.ts @@ -0,0 +1,48 @@ +export const yvUsdLockedVaultAbi = [ + { + stateMutability: 'view', + type: 'function', + name: 'availableWithdrawLimit', + inputs: [{ name: '_owner', type: 'address' }], + outputs: [{ name: '', type: 'uint256' }] + }, + { + stateMutability: 'view', + type: 'function', + name: 'cooldownDuration', + inputs: [], + outputs: [{ name: '', type: 'uint256' }] + }, + { + stateMutability: 'view', + type: 'function', + name: 'withdrawalWindow', + inputs: [], + outputs: [{ name: '', type: 'uint256' }] + }, + { + stateMutability: 'view', + type: 'function', + name: 'getCooldownStatus', + inputs: [{ name: 'user', type: 'address' }], + outputs: [ + { name: 'cooldownEnd', type: 'uint256' }, + { name: 'windowEnd', type: 'uint256' }, + { name: 'shares', type: 'uint256' } + ] + }, + { + stateMutability: 'nonpayable', + type: 'function', + name: 'startCooldown', + inputs: [{ name: 'shares', type: 'uint256' }], + outputs: [] + }, + { + stateMutability: 'nonpayable', + type: 'function', + name: 'cancelCooldown', + inputs: [], + outputs: [] + } +] as const diff --git a/src/components/shared/contracts/abi/yvUsdLockedZap.abi.ts b/src/components/shared/contracts/abi/yvUsdLockedZap.abi.ts new file mode 100644 index 000000000..8a9582647 --- /dev/null +++ b/src/components/shared/contracts/abi/yvUsdLockedZap.abi.ts @@ -0,0 +1,112 @@ +export const yvUsdLockedZapAbi = [ + { + inputs: [{ internalType: 'address', name: '_lockedYvUSD', type: 'address' }], + stateMutability: 'nonpayable', + type: 'constructor' + }, + { + inputs: [{ internalType: 'address', name: 'token', type: 'address' }], + name: 'SafeERC20FailedOperation', + type: 'error' + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'user', type: 'address' }, + { indexed: true, internalType: 'uint256', name: 'assetAmount', type: 'uint256' }, + { indexed: true, internalType: 'uint256', name: 'lockedShares', type: 'uint256' } + ], + name: 'ZapIn', + type: 'event' + }, + { + anonymous: false, + inputs: [ + { indexed: true, internalType: 'address', name: 'user', type: 'address' }, + { indexed: true, internalType: 'uint256', name: 'lockedShares', type: 'uint256' }, + { indexed: true, internalType: 'uint256', name: 'assetAmount', type: 'uint256' } + ], + name: 'ZapOut', + type: 'event' + }, + { + inputs: [], + name: 'asset', + outputs: [{ internalType: 'contract IERC20', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function' + }, + { + inputs: [], + name: 'lockedYvUSD', + outputs: [{ internalType: 'contract IERC4626', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function' + }, + { + inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }], + name: 'previewZapIn', + outputs: [{ internalType: 'uint256', name: 'lockedShares', type: 'uint256' }], + stateMutability: 'view', + type: 'function' + }, + { + inputs: [{ internalType: 'uint256', name: '_shares', type: 'uint256' }], + name: 'previewZapOut', + outputs: [{ internalType: 'uint256', name: 'assetAmount', type: 'uint256' }], + stateMutability: 'view', + type: 'function' + }, + { + inputs: [], + name: 'yvUSD', + outputs: [{ internalType: 'contract IERC4626', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function' + }, + { + inputs: [ + { internalType: 'uint256', name: '_amount', type: 'uint256' }, + { internalType: 'address', name: '_receiver', type: 'address' } + ], + name: 'zapIn', + outputs: [{ internalType: 'uint256', name: 'lockedShares', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function' + }, + { + inputs: [{ internalType: 'uint256', name: '_amount', type: 'uint256' }], + name: 'zapIn', + outputs: [{ internalType: 'uint256', name: 'lockedShares', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function' + }, + { + inputs: [ + { internalType: 'uint256', name: '_shares', type: 'uint256' }, + { internalType: 'address', name: '_receiver', type: 'address' } + ], + name: 'zapOut', + outputs: [{ internalType: 'uint256', name: 'assetAmount', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function' + }, + { + inputs: [ + { internalType: 'uint256', name: '_shares', type: 'uint256' }, + { internalType: 'address', name: '_receiver', type: 'address' }, + { internalType: 'uint256', name: '_minAssetAmount', type: 'uint256' } + ], + name: 'zapOut', + outputs: [{ internalType: 'uint256', name: 'assetAmount', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function' + }, + { + inputs: [{ internalType: 'uint256', name: '_shares', type: 'uint256' }], + name: 'zapOut', + outputs: [{ internalType: 'uint256', name: 'assetAmount', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function' + } +] as const diff --git a/src/components/shared/icons/IconInfinifiPoints.tsx b/src/components/shared/icons/IconInfinifiPoints.tsx new file mode 100644 index 000000000..565185c03 --- /dev/null +++ b/src/components/shared/icons/IconInfinifiPoints.tsx @@ -0,0 +1,56 @@ +import type { ReactElement, SVGProps } from 'react' +import { useId } from 'react' + +export function IconInfinifiPoints(props: SVGProps): ReactElement { + const clipPathId = useId() + const paint0Id = useId() + const paint1Id = useId() + + return ( + + + + + + + + + + + + + + + + + + + + + + ) +} diff --git a/src/components/shared/icons/IconLock.tsx b/src/components/shared/icons/IconLock.tsx new file mode 100644 index 000000000..e1d3cc18a --- /dev/null +++ b/src/components/shared/icons/IconLock.tsx @@ -0,0 +1,10 @@ +import type { ReactElement } from 'react' + +type TProps = { + className?: string + size?: number +} + +export function IconLock({ className, size = 16 }: TProps): ReactElement { + return +} diff --git a/src/components/shared/icons/IconLockOpen.tsx b/src/components/shared/icons/IconLockOpen.tsx new file mode 100644 index 000000000..d520d0a6c --- /dev/null +++ b/src/components/shared/icons/IconLockOpen.tsx @@ -0,0 +1,19 @@ +import type { ReactElement } from 'react' + +type TProps = { + className?: string + size?: number +} + +export function IconLockOpen({ className, size = 16 }: TProps): ReactElement { + return ( + + ) +} diff --git a/src/components/shared/icons/IconSpectra.tsx b/src/components/shared/icons/IconSpectra.tsx index 8103d186c..f3232b98f 100644 --- a/src/components/shared/icons/IconSpectra.tsx +++ b/src/components/shared/icons/IconSpectra.tsx @@ -1,7 +1,9 @@ import type React from 'react' -import type { ReactElement } from 'react' +import { type ReactElement, useId } from 'react' export function IconSpectra(props: React.SVGProps): ReactElement { + const clipPathId = `spectra-clip-${useId().replace(/:/g, '')}` + return ( ): ReactElement } fill={'#00F99B'} /> - + ): ReactElement /> - + diff --git a/src/components/shared/types/notifications.ts b/src/components/shared/types/notifications.ts index fbc5ccc17..93824a85e 100644 --- a/src/components/shared/types/notifications.ts +++ b/src/components/shared/types/notifications.ts @@ -7,6 +7,8 @@ export type TNotificationType = | 'approve' | 'deposit' | 'withdraw' + | 'start cooldown' + | 'cancel cooldown' | 'zap' | 'crosschain zap' | 'withdraw zap' diff --git a/src/components/shared/utils/format.ts b/src/components/shared/utils/format.ts index 4c658b67f..f8b62c5f7 100755 --- a/src/components/shared/utils/format.ts +++ b/src/components/shared/utils/format.ts @@ -586,7 +586,14 @@ function resolveApyFractionDigits(value: number): number { return resolveSignificantFractionDigits(value) } -export function formatTvlDisplay(value: number, options?: { locales?: string[] }): string { +export function formatTvlDisplay( + value: number, + options?: { + locales?: string[] + minimumFractionDigits?: number + maximumFractionDigits?: number + } +): string { if (value === Infinity || value === -Infinity) { return '$∞' } @@ -603,18 +610,23 @@ export function formatTvlDisplay(value: number, options?: { locales?: string[] } return `$${formatter.format(safeValue)}` } - let minimumFractionDigits = 0 - let maximumFractionDigits = 0 + let minimumFractionDigits = options?.minimumFractionDigits + let maximumFractionDigits = options?.maximumFractionDigits + + if (minimumFractionDigits === undefined || maximumFractionDigits === undefined) { + minimumFractionDigits = 0 + maximumFractionDigits = 0 - if (absValue < 1) { - minimumFractionDigits = 2 - maximumFractionDigits = 2 - } else if (absValue < 10) { - minimumFractionDigits = 2 - maximumFractionDigits = 2 - } else if (absValue < 100) { - minimumFractionDigits = 1 - maximumFractionDigits = 2 + if (absValue < 1) { + minimumFractionDigits = 2 + maximumFractionDigits = 2 + } else if (absValue < 10) { + minimumFractionDigits = 2 + maximumFractionDigits = 2 + } else if (absValue < 100) { + minimumFractionDigits = 1 + maximumFractionDigits = 2 + } } const formatter = new Intl.NumberFormat(locales, { diff --git a/src/components/shared/utils/schemas/yvUsdAprServiceSchema.ts b/src/components/shared/utils/schemas/yvUsdAprServiceSchema.ts new file mode 100644 index 000000000..925e47961 --- /dev/null +++ b/src/components/shared/utils/schemas/yvUsdAprServiceSchema.ts @@ -0,0 +1,66 @@ +import { addressSchema } from '@shared/types' +import * as z from 'zod' + +const numberSchema = z.union([z.number(), z.string()]).transform((value) => Number(value)) +const nullableNumberSchema = z + .union([z.number(), z.string(), z.null(), z.undefined()]) + .transform((value) => (value === null || value === undefined ? null : Number(value))) +const bigNumberishSchema = z.union([z.number(), z.string()]).transform((value) => String(value)) + +const yvUsdAprServiceComponentSchema = z + .object({ + label: z.string().optional().default('').catch(''), + apr: numberSchema.optional().default(0).catch(0), + apy: numberSchema.optional().default(0).catch(0), + source: z.string().optional().default('').catch(''), + meta: z.record(z.string(), z.unknown()).optional().default({}) + }) + .passthrough() + +const yvUsdAprServiceStrategyMetaSchema = z + .object({ + name: z.string().optional().default('').catch(''), + type: z.string().optional().default('').catch('') + }) + .passthrough() + +const yvUsdAprServiceStrategySchema = z + .object({ + address: addressSchema, + apr_source: z.string().optional().default('').catch(''), + offchain: z.record(z.string(), z.unknown()).optional().default({}), + meta: yvUsdAprServiceStrategyMetaSchema.optional().default({ name: '', type: '' }), + points: z.boolean().optional().default(false).catch(false), + apr_raw: bigNumberishSchema.optional().default('0').catch('0'), + net_apr_raw: bigNumberishSchema.optional().default('0').catch('0'), + weighted_apr_raw: bigNumberishSchema.optional().default('0').catch('0'), + weight: numberSchema.optional().default(0).catch(0), + debt: bigNumberishSchema.optional().default('0').catch('0') + }) + .passthrough() + +const yvUsdAprServiceMetaSchema = z + .object({ + strategies: z.array(yvUsdAprServiceStrategySchema).optional().default([]).catch([]), + asset: addressSchema.optional().catch(undefined) + }) + .passthrough() + +const yvUsdAprServiceVaultSchema = z + .object({ + name: z.string().optional().default('').catch(''), + symbol: z.string().optional().default('').catch(''), + address: addressSchema, + chain_id: numberSchema.optional().default(1).catch(1), + apr: nullableNumberSchema.optional().default(null).catch(null), + apy: nullableNumberSchema.optional().default(null).catch(null), + components: z.array(yvUsdAprServiceComponentSchema).optional().default([]).catch([]), + meta: yvUsdAprServiceMetaSchema.optional().default({ strategies: [] }) + }) + .passthrough() + +export const yvUsdAprServiceSchema = z.record(z.string(), yvUsdAprServiceVaultSchema) + +export type TYvUsdAprServiceResponse = z.infer +export type TYvUsdAprServiceVault = z.infer +export type TYvUsdAprServiceStrategy = z.infer From 285e78dd75bd44c68932a28573071da23edf46d8 Mon Sep 17 00:00:00 2001 From: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Thu, 12 Mar 2026 10:54:30 -0400 Subject: [PATCH 8/9] feat: integrate staking withdraw path with yvUSD (#1104) * feat: integrate staking withdraw path with yvUSD * test: sync yvUSD expectations on integration branch * fix locked withdraw flow issues * style: format merged withdraw widget --- .../hooks/portfolioVisibility.test.ts | 107 +++ .../portfolio/hooks/portfolioVisibility.ts | 9 + .../portfolio/hooks/usePortfolioModel.ts | 102 +-- .../hooks/useVaultWithStakingRewards.ts | 3 +- src/components/pages/portfolio/index.tsx | 6 +- .../pages/vaults/[chainID]/[address].tsx | 71 +- .../vaults/components/list/VaultsListRow.tsx | 58 +- .../components/widget/deposit/index.tsx | 4 + .../pages/vaults/components/widget/index.tsx | 1 + .../components/widget/migrate/index.tsx | 4 + .../widget/shared/TransactionOverlay.test.ts | 52 ++ .../widget/shared/TransactionOverlay.tsx | 655 ++++++++++++------ .../shared/transactionOverlay.helpers.ts | 36 + .../widget/withdraw/WithdrawDetails.tsx | 31 +- .../withdraw/WithdrawDetailsOverlay.tsx | 12 + .../components/widget/withdraw/index.tsx | 524 ++++++++------ .../components/widget/withdraw/types.ts | 5 +- .../widget/withdraw/useWithdrawFlow.ts | 94 ++- .../withdraw/useWithdrawNotifications.ts | 45 +- .../widget/withdraw/useWithdrawRoute.ts | 13 +- .../withdraw/withdrawStepHelpers.test.ts | 181 +++++ .../widget/withdraw/withdrawStepHelpers.ts | 203 ++++++ .../components/widget/yvUSD/YvUsdWithdraw.tsx | 326 ++++++--- .../yvUSD/YvUsdHeaderBanner.test.tsx | 3 +- .../vaults/domain/kongVaultSelectors.test.ts | 227 +++--- .../pages/vaults/domain/kongVaultSelectors.ts | 16 +- .../vaults/domain/normalizeVault.test.ts | 19 + .../pages/vaults/domain/normalizeVault.ts | 20 +- .../pages/vaults/domain/vaultWarnings.test.ts | 66 ++ .../pages/vaults/domain/vaultWarnings.ts | 23 + .../hooks/actions/stakingAdapter.test.ts | 188 +++++ .../vaults/hooks/actions/stakingAdapter.ts | 349 ++++++++++ .../vaults/hooks/actions/useDirectStake.ts | 78 +-- .../vaults/hooks/actions/useDirectUnstake.ts | 40 +- .../vaults/hooks/actions/useDirectWithdraw.ts | 117 +++- .../vaults/hooks/actions/useEnsoDeposit.ts | 2 +- .../actions/useYvUsdLockedZapWithdraw.ts | 16 +- .../pages/vaults/hooks/useEnsoOrder.ts | 3 +- .../pages/vaults/hooks/useSortVaults.ts | 69 +- .../pages/vaults/hooks/useTokens.ts | 52 +- .../pages/vaults/hooks/useVaultUserData.ts | 109 ++- .../pages/vaults/hooks/useVaultsPageModel.ts | 2 +- .../vaults/hooks/vaultsFiltersStorage.ts | 15 + .../pages/vaults/utils/holdingsValue.ts | 53 ++ .../pages/vaults/utils/vaultTagCopy.ts | 1 + .../pages/vaults/utils/yvUsd.test.ts | 4 +- src/components/shared/contexts/useWallet.tsx | 83 ++- .../shared/contexts/useYearn.helper.tsx | 141 ++-- src/components/shared/contexts/useYearn.tsx | 5 +- .../shared/hooks/balanceDiscoveryFallback.ts | 9 + .../shared/hooks/useBalances.multichains.ts | 25 + .../shared/hooks/useBalancesCombined.test.ts | 40 ++ .../shared/hooks/useBalancesCombined.ts | 221 ++++-- .../shared/hooks/useBalancesRouting.test.ts | 127 ++++ .../shared/hooks/useBalancesRouting.ts | 94 +++ .../shared/hooks/useEnsoBalances.ts | 9 +- .../shared/hooks/useFetchYearnVaults.test.ts | 37 + .../shared/hooks/useFetchYearnVaults.ts | 55 +- .../hooks/useStakingAssetConversions.ts | 130 ++++ .../shared/hooks/useV2VaultFilter.ts | 369 +++++++++- .../shared/hooks/useV3VaultFilter.ts | 407 ++++++++++- .../shared/hooks/useVaultFilterUtils.test.ts | 71 ++ .../shared/hooks/useVaultFilterUtils.ts | 168 ++++- src/components/shared/utils/format.ts | 22 +- .../utils/schemas/kongVaultListSchema.ts | 26 +- src/components/shared/utils/vaultApy.test.ts | 4 +- 66 files changed, 4896 insertions(+), 1161 deletions(-) create mode 100644 src/components/pages/portfolio/hooks/portfolioVisibility.test.ts create mode 100644 src/components/pages/portfolio/hooks/portfolioVisibility.ts create mode 100644 src/components/pages/vaults/components/widget/shared/TransactionOverlay.test.ts create mode 100644 src/components/pages/vaults/components/widget/shared/transactionOverlay.helpers.ts create mode 100644 src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.test.ts create mode 100644 src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.ts create mode 100644 src/components/pages/vaults/domain/normalizeVault.test.ts create mode 100644 src/components/pages/vaults/domain/vaultWarnings.test.ts create mode 100644 src/components/pages/vaults/domain/vaultWarnings.ts create mode 100644 src/components/pages/vaults/hooks/actions/stakingAdapter.test.ts create mode 100644 src/components/pages/vaults/hooks/actions/stakingAdapter.ts create mode 100644 src/components/pages/vaults/hooks/vaultsFiltersStorage.ts create mode 100644 src/components/pages/vaults/utils/holdingsValue.ts create mode 100644 src/components/shared/hooks/balanceDiscoveryFallback.ts create mode 100644 src/components/shared/hooks/useBalancesCombined.test.ts create mode 100644 src/components/shared/hooks/useBalancesRouting.test.ts create mode 100644 src/components/shared/hooks/useBalancesRouting.ts create mode 100644 src/components/shared/hooks/useFetchYearnVaults.test.ts create mode 100644 src/components/shared/hooks/useStakingAssetConversions.ts create mode 100644 src/components/shared/hooks/useVaultFilterUtils.test.ts diff --git a/src/components/pages/portfolio/hooks/portfolioVisibility.test.ts b/src/components/pages/portfolio/hooks/portfolioVisibility.test.ts new file mode 100644 index 000000000..cfeb80708 --- /dev/null +++ b/src/components/pages/portfolio/hooks/portfolioVisibility.test.ts @@ -0,0 +1,107 @@ +import { describe, expect, it } from 'vitest' +import { filterVisiblePortfolioHoldings } from './portfolioVisibility' + +function makeVault(address: string, isHidden: boolean) { + return { + chainID: 1, + address, + name: `Vault ${address.slice(-4)}`, + symbol: 'yvTEST', + version: '3.0.0', + type: 'Standard', + kind: 'Single Strategy', + decimals: 18, + token: { + address, + name: 'Vault Token', + symbol: 'yvTEST', + description: '', + decimals: 18 + }, + tvl: { + totalAssets: 0n, + tvl: 0, + price: 0 + }, + apr: { + type: 'oracle', + netAPR: 0, + fees: { + performance: 0, + withdrawal: 0, + management: 0 + }, + extra: { + stakingRewardsAPR: 0, + gammaRewardAPR: 0 + }, + points: { + weekAgo: 0, + monthAgo: 0, + inception: 0 + }, + pricePerShare: { + today: 1, + weekAgo: 1, + monthAgo: 1 + }, + forwardAPR: { + type: 'oracle', + netAPR: 0, + composite: { + boost: 0, + poolAPY: 0, + boostedAPR: 0, + baseAPR: 0, + cvxAPR: 0, + rewardsAPR: 0, + v3OracleCurrentAPR: 0, + v3OracleStratRatioAPR: 0, + keepCRV: 0, + keepVELO: 0, + cvxKeepCRV: 0 + } + } + }, + featuringScore: 0, + strategies: [], + staking: { + address: null, + available: false, + source: '', + rewards: [] + }, + migration: { + available: false, + address: '0x0000000000000000000000000000000000000000', + contract: '0x0000000000000000000000000000000000000000' + }, + info: { + sourceURL: '', + riskLevel: 1, + riskScore: [], + riskScoreComment: '', + uiNotice: '', + isRetired: false, + isBoosted: false, + isHighlighted: false, + isHidden + } + } as any +} + +describe('filterVisiblePortfolioHoldings', () => { + it('hides hidden vaults when the persisted hidden-vault filter is off', () => { + const visible = makeVault('0x1111111111111111111111111111111111111111', false) + const hidden = makeVault('0x2222222222222222222222222222222222222222', true) + + expect(filterVisiblePortfolioHoldings([visible, hidden], false)).toEqual([visible]) + }) + + it('keeps hidden vaults when the persisted hidden-vault filter is on', () => { + const visible = makeVault('0x1111111111111111111111111111111111111111', false) + const hidden = makeVault('0x2222222222222222222222222222222222222222', true) + + expect(filterVisiblePortfolioHoldings([visible, hidden], true)).toEqual([visible, hidden]) + }) +}) diff --git a/src/components/pages/portfolio/hooks/portfolioVisibility.ts b/src/components/pages/portfolio/hooks/portfolioVisibility.ts new file mode 100644 index 000000000..944d683c5 --- /dev/null +++ b/src/components/pages/portfolio/hooks/portfolioVisibility.ts @@ -0,0 +1,9 @@ +import { getVaultInfo, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' + +export function filterVisiblePortfolioHoldings(vaults: T[], showHiddenVaults: boolean): T[] { + if (showHiddenVaults) { + return vaults + } + + return vaults.filter((vault) => !Boolean(getVaultInfo(vault)?.isHidden)) +} diff --git a/src/components/pages/portfolio/hooks/usePortfolioModel.ts b/src/components/pages/portfolio/hooks/usePortfolioModel.ts index e1c17bd82..9f481011d 100644 --- a/src/components/pages/portfolio/hooks/usePortfolioModel.ts +++ b/src/components/pages/portfolio/hooks/usePortfolioModel.ts @@ -10,8 +10,11 @@ import { type TKongVault, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' +import { getCanonicalHoldingsVaultAddress } from '@pages/vaults/domain/normalizeVault' +import { isNonYearnErc4626Vault } from '@pages/vaults/domain/vaultWarnings' import { type TPossibleSortBy, useSortVaults } from '@pages/vaults/hooks/useSortVaults' import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' +import { usePersistedShowHiddenVaults } from '@pages/vaults/hooks/vaultsFiltersStorage' import { deriveListKind, isAllocatorVaultOverride } from '@pages/vaults/utils/vaultListFacets' import { getWeightedYvUsdApy, @@ -27,9 +30,10 @@ import { useWeb3 } from '@shared/contexts/useWeb3' import { useYearn } from '@shared/contexts/useYearn' import { getVaultKey, isV3Vault, type TVaultFlags } from '@shared/hooks/useVaultFilterUtils' import type { TSortDirection } from '@shared/types' -import { toAddress } from '@shared/utils' +import { isZeroAddress, toAddress } from '@shared/utils' import { calculateVaultEstimatedAPY, calculateVaultHistoricalAPY } from '@shared/utils/vaultApy' import { useCallback, useMemo, useState } from 'react' +import { filterVisiblePortfolioHoldings } from './portfolioVisibility' type THoldingsRow = { key: string @@ -95,11 +99,13 @@ export function usePortfolioModel(): TPortfolioModel { cumulatedValueInV3Vaults, isLoading: isWalletLoading, getBalance, + getVaultHoldingsUsd, balances } = useWallet() const { isActive, openLoginModal, isUserConnecting, isIdentityLoading } = useWeb3() - const { getPrice, vaults, isLoadingVaultList } = useYearn() + const { vaults, allVaults, isLoadingVaultList } = useYearn() const { listVault: yvUsdVault, unlockedVault: yvUsdUnlockedVault, lockedVault: yvUsdLockedVault } = useYvUsdVaults() + const showHiddenVaults = usePersistedShowHiddenVaults() const [sortBy, setSortBy] = useState('deposited') const [sortDirection, setSortDirection] = useState('desc') @@ -130,22 +136,33 @@ export function usePortfolioModel(): TPortfolioModel { const vaultLookup = useMemo(() => { const map = new Map() - Object.values(vaults).forEach((vault) => { + Object.values(allVaults).forEach((vault) => { if (isYvUsdAddress(getVaultAddress(vault))) { return } - const vaultKey = getVaultKey(vault) - map.set(vaultKey, vault) + const canonicalVaultAddress = getCanonicalHoldingsVaultAddress(getVaultAddress(vault)) + const canonicalVault = allVaults[canonicalVaultAddress] ?? vault + const vaultKey = getVaultKey(canonicalVault) + if (!map.has(vaultKey)) { + map.set(vaultKey, canonicalVault) + } const staking = getVaultStaking(vault) - if (staking?.available && staking.address) { - const stakingKey = getChainAddressKey(getVaultChainID(vault), staking.address) - map.set(stakingKey, vault) + if (!isZeroAddress(staking.address)) { + const stakingKey = getChainAddressKey(getVaultChainID(canonicalVault), staking.address) + if (!map.has(stakingKey)) { + map.set(stakingKey, canonicalVault) + } + } + + const directKey = getChainAddressKey(getVaultChainID(canonicalVault), getVaultAddress(vault)) + if (!map.has(directKey)) { + map.set(directKey, canonicalVault) } }) return map - }, [vaults]) + }, [allVaults]) const holdingsVaults = useMemo(() => { const result: TKongVaultInput[] = [] @@ -177,29 +194,37 @@ export function usePortfolioModel(): TPortfolioModel { }) if (yvUsdVault && yvUsdPosition.hasHoldings) { - result.push(yvUsdVault) + const yvUsdKey = getVaultKey(yvUsdVault) + if (!seen.has(yvUsdKey)) { + seen.add(yvUsdKey) + result.push(yvUsdVault) + } } return result }, [balances, vaultLookup, yvUsdPosition.hasHoldings, yvUsdVault]) + const visibleHoldingsVaults = useMemo( + () => filterVisiblePortfolioHoldings(holdingsVaults, showHiddenVaults), + [holdingsVaults, showHiddenVaults] + ) + const vaultFlags = useMemo(() => { const flags: Record = {} - holdingsVaults.forEach((vault) => { + visibleHoldingsVaults.forEach((vault) => { const key = getVaultKey(vault) - const info = getVaultInfo(vault) - const migration = getVaultMigration(vault) flags[key] = { hasHoldings: true, - isMigratable: Boolean(migration?.available), - isRetired: Boolean(info?.isRetired), - isHidden: Boolean(info?.isHidden) + isMigratable: Boolean(getVaultMigration(vault)?.available), + isRetired: Boolean(getVaultInfo(vault)?.isRetired), + isHidden: Boolean(getVaultInfo(vault)?.isHidden), + isNotYearn: isYvUsdVault(vault) ? false : isNonYearnErc4626Vault({ vault: vault as TKongVault }) } }) return flags - }, [holdingsVaults]) + }, [visibleHoldingsVaults]) const isSearchingBalances = (isActive || isUserConnecting) && (isWalletLoading || isUserConnecting || isIdentityLoading) @@ -212,19 +237,17 @@ export function usePortfolioModel(): TPortfolioModel { return false } - const info = getVaultInfo(vault) - const migration = getVaultMigration(vault) - const isHidden = Boolean(info?.isHidden) - const isRetired = Boolean(info?.isRetired) - const isMigratable = Boolean(migration?.available) - const isHighlighted = Boolean(info?.isHighlighted) + const isHidden = Boolean(getVaultInfo(vault)?.isHidden) + const isRetired = Boolean(getVaultInfo(vault)?.isRetired) + const isMigratable = Boolean(getVaultMigration(vault)?.available) + const isHighlighted = Boolean(getVaultInfo(vault)?.isHighlighted) return !isHidden && !isRetired && !isMigratable && isHighlighted }), [vaults] ) - const sortedHoldings = useSortVaults(holdingsVaults, sortBy, sortDirection) + const sortedHoldings = useSortVaults(visibleHoldingsVaults, sortBy, sortDirection) const sortedCandidates = useSortVaults(suggestedVaultCandidates, 'tvl', 'desc') const holdingsKeySet = useMemo(() => new Set(sortedHoldings.map((vault) => getVaultKey(vault))), [sortedHoldings]) @@ -299,7 +322,8 @@ export function usePortfolioModel(): TPortfolioModel { } const apy = calculateVaultEstimatedAPY(vault) - return apy === 0 ? null : apy + const hasHistoricalNet = 'performance' in vault && Boolean(vault.performance?.historical?.net) + return apy === 0 && !hasHistoricalNet ? null : apy }, [yvUsdPosition.blendedCurrentApy] ) @@ -321,33 +345,9 @@ export function usePortfolioModel(): TPortfolioModel { return yvUsdPosition.combinedValue } - const chainID = getVaultChainID(vault) - const address = getVaultAddress(vault) - const staking = getVaultStaking(vault) - - const shareBalance = getBalance({ - address, - chainID - }) - const price = getPrice({ - address, - chainID - }) - const baseValue = shareBalance.normalized * price.normalized - - if (!staking?.available || !staking.address) { - return baseValue - } - - const stakingValue = - getBalance({ - address: staking.address, - chainID - }).normalized * price.normalized - - return baseValue + stakingValue + return getVaultHoldingsUsd(vault) }, - [getBalance, getPrice, yvUsdPosition.combinedValue] + [getVaultHoldingsUsd, yvUsdPosition.combinedValue] ) const blendedMetrics = useMemo(() => { diff --git a/src/components/pages/portfolio/hooks/useVaultWithStakingRewards.ts b/src/components/pages/portfolio/hooks/useVaultWithStakingRewards.ts index 5b600fd5e..0103e7f10 100644 --- a/src/components/pages/portfolio/hooks/useVaultWithStakingRewards.ts +++ b/src/components/pages/portfolio/hooks/useVaultWithStakingRewards.ts @@ -6,6 +6,7 @@ import { type TKongVaultStaking } from '@pages/vaults/domain/kongVaultSelectors' import { useVaultSnapshot } from '@pages/vaults/hooks/useVaultSnapshot' +import { isZeroAddress } from '@shared/utils' type UseVaultWithStakingRewardsReturn = { vault: TKongVault @@ -20,7 +21,7 @@ export function useVaultWithStakingRewards( const baseStaking = getVaultStaking(originalVault) const chainId = getVaultChainID(originalVault) const address = getVaultAddress(originalVault) - const needsFetch = enabled && baseStaking.available + const needsFetch = enabled && !isZeroAddress(baseStaking.address) const { data: snapshot, isLoading } = useVaultSnapshot({ chainId: needsFetch ? chainId : undefined, diff --git a/src/components/pages/portfolio/index.tsx b/src/components/pages/portfolio/index.tsx index 592af2fcc..1c74f4f3f 100644 --- a/src/components/pages/portfolio/index.tsx +++ b/src/components/pages/portfolio/index.tsx @@ -29,7 +29,7 @@ import { useYearn } from '@shared/contexts/useYearn' import { getVaultKey } from '@shared/hooks/useVaultFilterUtils' import { IconSpinner } from '@shared/icons/IconSpinner' import type { TSortDirection } from '@shared/types' -import { cl, formatPercent, SUPPORTED_NETWORKS } from '@shared/utils' +import { cl, formatPercent, isZeroAddress, SUPPORTED_NETWORKS } from '@shared/utils' import { formatUSD } from '@shared/utils/format' import { PLAUSIBLE_EVENTS } from '@shared/utils/plausible' import type { CSSProperties, ReactElement } from 'react' @@ -337,7 +337,7 @@ function ChainStakingRewardsFetcher({ }): null { const { vault, staking, isLoading: isLoadingVault } = useVaultWithStakingRewards(originalVault, isActive) - const stakingAddress = staking.available ? staking.address : undefined + const stakingAddress = !isZeroAddress(staking.address) ? staking.address : undefined const rewardTokens = useMemo( () => (staking.rewards ?? []).map((reward) => ({ @@ -420,7 +420,7 @@ function PortfolioClaimRewardsSection({ isActive, openLoginModal }: TPortfolioCl const { vaults } = useYearn() const trackEvent = usePlausible() const stakingVaults = useMemo( - () => Object.values(vaults).filter((vault) => getVaultStaking(vault).available), + () => Object.values(vaults).filter((vault) => !isZeroAddress(getVaultStaking(vault).address)), [vaults] ) const [selectedChainId, setSelectedChainId] = useState(null) diff --git a/src/components/pages/vaults/[chainID]/[address].tsx b/src/components/pages/vaults/[chainID]/[address].tsx index 9fd367103..f0dd73702 100644 --- a/src/components/pages/vaults/[chainID]/[address].tsx +++ b/src/components/pages/vaults/[chainID]/[address].tsx @@ -23,13 +23,19 @@ import { WidgetRewards } from '@pages/vaults/components/widget/rewards' import { WalletPanel } from '@pages/vaults/components/widget/WalletPanel' import { YvUsdWidget } from '@pages/vaults/components/widget/yvUSD/YvUsdWidget' import { YvUsdHeaderBanner } from '@pages/vaults/components/yvUSD/YvUsdHeaderBanner' -import { getVaultView, type TKongVault, type TKongVaultView } from '@pages/vaults/domain/kongVaultSelectors' +import { + getVaultChainID, + getVaultView, + type TKongVault, + type TKongVaultView +} from '@pages/vaults/domain/kongVaultSelectors' import { mergeYBoldSnapshot, mergeYBoldVault, YBOLD_STAKING_ADDRESS, YBOLD_VAULT_ADDRESS } from '@pages/vaults/domain/normalizeVault' +import { isNonYearnErc4626Vault, NON_YEARN_ERC4626_WARNING_MESSAGE } from '@pages/vaults/domain/vaultWarnings' import { useVaultSnapshot } from '@pages/vaults/hooks/useVaultSnapshot' import { useVaultUserData } from '@pages/vaults/hooks/useVaultUserData' import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' @@ -194,13 +200,19 @@ const buildSnapshotBackedVault = (snapshot: TKongVaultSnapshot): TKongVault => { staking: snapshot.staking ? { address: snapshot.staking.address ?? null, - available: snapshot.staking.available + available: snapshot.staking.available, + source: snapshot.staking.source ?? '', + rewards: (snapshot.staking.rewards ?? []).map((reward) => ({ + ...reward, + decimals: reward.decimals ?? 18, + isFinished: reward.isFinished ?? false + })) } : null } } -function RetiredVaultAlert({ message, className }: { message: string; className: string }): ReactElement { +function VaultWarningAlert({ message, className }: { message: string; className: string }): ReactElement { const { title, body } = splitFirstSentence(message) return ( @@ -307,7 +319,7 @@ function Index(): ReactElement | null { const chainId = Number(params.chainID) const { getBalance, onRefresh } = useWallet() const { address } = useWeb3() - const { vaults, isLoadingVaultList, enableVaultListFetch } = useYearn() + const { vaults, allVaults, isLoadingVaultList, enableVaultListFetch } = useYearn() const { listVault: yvUsdVault, unlockedVault: yvUsdUnlockedVault, @@ -396,6 +408,11 @@ function Index(): ReactElement | null { return vaults[resolvedAddress] }, [params.address, vaults]) + const metadataVault = useMemo(() => { + if (!params.address) return undefined + return allVaults[toAddress(params.address)] + }, [allVaults, params.address]) + const hasVaultList = Object.keys(vaults).length > 0 const { @@ -450,7 +467,9 @@ function Index(): ReactElement | null { const vaultViewInput = useMemo(() => { if (!mergedBaseVault) return snapshotBackedVault if (!snapshotBackedVault) return mergedBaseVault - return mergedBaseVault.chainId === snapshotBackedVault.chainId ? mergedBaseVault : snapshotBackedVault + return getVaultChainID(mergedBaseVault) === getVaultChainID(snapshotBackedVault) + ? mergedBaseVault + : snapshotBackedVault }, [mergedBaseVault, snapshotBackedVault]) const isFactoryVault = useMemo(() => { @@ -478,11 +497,16 @@ function Index(): ReactElement | null { const isLoadingVault = isYvUsd ? isLoadingYvUsd || shouldBootstrapYvUsdVaultList : !currentVault && (isLoadingSnapshotVault || (isLoadingVaultList && !isSnapshotNotFound)) + const stakingAddress = !isZeroAddress(currentVault?.staking?.address) + ? toAddress(currentVault?.staking?.address) + : undefined + const disableDepositStaking = shouldDisableStakingForDeposit || !currentVault?.staking?.available const vaultUserData = useVaultUserData({ vaultAddress: toAddress(currentVault?.address ?? '0x'), assetAddress: toAddress(currentVault?.token?.address ?? '0x'), - stakingAddress: currentVault?.staking?.available ? toAddress(currentVault.staking.address) : undefined, + stakingAddress, + stakingSource: currentVault?.staking?.source, chainId, account: address }) @@ -505,11 +529,8 @@ function Index(): ReactElement | null { : 0n const stakingShareBalance = - !!address && - currentVault?.staking.available && - !isZeroAddress(currentVault?.staking.address) && - Number.isInteger(currentVault?.chainID) - ? getBalance({ address: toAddress(currentVault.staking.address), chainID: currentVault.chainID }).raw + !!address && !!stakingAddress && Number.isInteger(currentVault?.chainID) && !!currentVault + ? getBalance({ address: stakingAddress, chainID: currentVault.chainID }).raw : 0n const isMigratable = Boolean(currentVault?.migration?.available) @@ -520,6 +541,12 @@ function Index(): ReactElement | null { if (!isRetired || !currentVault) return null return getRetiredVaultAlertMessage({ vault: currentVault, hasUserFundsInVault }) }, [currentVault, hasUserFundsInVault, isRetired]) + const shouldShowNonYearnVaultAlert = useMemo(() => { + return isNonYearnErc4626Vault({ + vault: metadataVault, + snapshot: mergedSnapshot + }) + }, [metadataVault, mergedSnapshot]) const widgetActions = useMemo(() => { if (isRetired || isMigratable) { return canShowMigrateAction ? [WidgetActionType.Migrate, WidgetActionType.Withdraw] : [WidgetActionType.Withdraw] @@ -1154,7 +1181,7 @@ function Index(): ReactElement | null { vaultAddress={resolvedCurrentVault.address} currentVault={resolvedCurrentVault} gaugeAddress={resolvedCurrentVault.staking.address} - disableDepositStaking={shouldDisableStakingForDeposit} + disableDepositStaking={disableDepositStaking} actions={widgetActions} chainId={chainId} vaultUserData={vaultUserData} @@ -1187,7 +1214,7 @@ function Index(): ReactElement | null { vaultAddress={resolvedCurrentVault.address} currentVault={resolvedCurrentVault} gaugeAddress={resolvedCurrentVault.staking.address} - disableDepositStaking={shouldDisableStakingForDeposit} + disableDepositStaking={disableDepositStaking} actions={widgetActions} chainId={chainId} vaultUserData={vaultUserData} @@ -1324,7 +1351,11 @@ function Index(): ReactElement | null { )} {isRetired && retiredVaultAlertMessage ? ( - + + ) : null} + + {shouldShowNonYearnVaultAlert ? ( + ) : null} {Number.isInteger(chainId) && ( @@ -1413,9 +1444,7 @@ function Index(): ReactElement | null { isActive={isWidgetWalletOpen && !isWidgetRewardsOpen} currentVault={currentVault} vaultAddress={toAddress(currentVault.address)} - stakingAddress={ - isZeroAddress(currentVault.staking.address) ? undefined : toAddress(currentVault.staking.address) - } + stakingAddress={stakingAddress} chainId={chainId} vaultUserData={vaultUserData} /> @@ -1423,7 +1452,7 @@ function Index(): ReactElement | null { {shouldShowWidgetRewards ? (
    ({ address: r.address, @@ -1445,7 +1474,11 @@ function Index(): ReactElement | null {
    {isRetired && retiredVaultAlertMessage ? ( - + + ) : null} + + {shouldShowNonYearnVaultAlert ? ( + ) : null} {renderableSections.map((section) => { diff --git a/src/components/pages/vaults/components/list/VaultsListRow.tsx b/src/components/pages/vaults/components/list/VaultsListRow.tsx index f796d463e..ed3b45e35 100755 --- a/src/components/pages/vaults/components/list/VaultsListRow.tsx +++ b/src/components/pages/vaults/components/list/VaultsListRow.tsx @@ -16,7 +16,6 @@ import { getVaultChainID, getVaultName as getVaultDisplayName, getVaultKind, - getVaultStaking, getVaultSymbol, getVaultToken, getVaultTVL, @@ -33,6 +32,7 @@ import { getProductTypeDescription, HIDDEN_TAG_DESCRIPTION, MIGRATABLE_TAG_DESCRIPTION, + NOT_YEARN_TAG_DESCRIPTION, RETIRED_TAG_DESCRIPTION } from '@pages/vaults/utils/vaultTagCopy' import { @@ -53,15 +53,7 @@ import { fetchWithSchema, getFetchQueryKey } from '@shared/hooks/useFetch' import { IconChevron } from '@shared/icons/IconChevron' import { IconEyeOff } from '@shared/icons/IconEyeOff' import { IconInfinifiPoints } from '@shared/icons/IconInfinifiPoints' -import { - cl, - formatAmount, - formatApyDisplay, - formatTvlDisplay, - getVaultName, - isZeroAddress, - toAddress -} from '@shared/utils' +import { cl, formatAmount, formatApyDisplay, formatTvlDisplay, getVaultName, toAddress } from '@shared/utils' import { PLAUSIBLE_EVENTS } from '@shared/utils/plausible' import { kongVaultSnapshotSchema } from '@shared/utils/schemas/kongVaultSnapshotSchema' import { getNetwork } from '@shared/utils/wagmi' @@ -91,6 +83,7 @@ type TVaultRowFlags = { isMigratable?: boolean isRetired?: boolean isHidden?: boolean + isNotYearn?: boolean } type TVaultKindType = 'multi' | 'single' | undefined @@ -269,7 +262,6 @@ export function VaultsListRow({ const vaultSymbol = getVaultSymbol(currentVault) const vaultName = getVaultDisplayName(currentVault) const vaultToken = getVaultToken(currentVault) - const staking = getVaultStaking(currentVault) const apr = getVaultAPR(currentVault) const vaultKind = getVaultKind(currentVault) const vaultCategory = getVaultCategory(currentVault) @@ -279,7 +271,8 @@ export function VaultsListRow({ const isYvUsd = isYvUsdAddress(vaultAddress) const tokenLogoSrc = getVaultPrimaryLogoSrc(currentVault) const { address } = useWeb3() - const { getBalance, getToken } = useWallet() + const { getVaultHoldingsUsd } = useWallet() + const { getBalance } = useWallet() const isMobile = useMediaQuery('(max-width: 767px)', { initializeWithValue: false }) ?? false const [isExpandedState, setIsExpandedState] = useState(false) const isExpanded = isExpandedProp ?? isExpandedState @@ -432,32 +425,16 @@ export function VaultsListRow({ const lockedSharePrice = getYvUsdSharePrice(yvUsdLockedVault) return unlockedBalance * unlockedSharePrice + lockedBalance * lockedSharePrice } - - const vaultToken = getToken({ - chainID, - address: vaultAddress - }) - const vaultValue = vaultToken.value || 0 - - const stakingValue = !isZeroAddress(staking?.address) - ? getToken({ - chainID, - address: staking.address - }).value || 0 - : 0 - - return vaultValue + stakingValue + return getVaultHoldingsUsd(currentVault) }, [ - chainID, - getBalance, - getToken, - isYvUsd, - mobileSecondaryMetric, showHoldingsChip, - staking?.address, - vaultAddress, + mobileSecondaryMetric, + isYvUsd, + getBalance, yvUsdLockedVault, - yvUsdUnlockedVault + yvUsdUnlockedVault, + currentVault, + getVaultHoldingsUsd ]) useEffect(() => { @@ -474,7 +451,7 @@ export function VaultsListRow({ > )} diff --git a/src/components/pages/vaults/components/widget/shared/transactionOverlay.helpers.ts b/src/components/pages/vaults/components/widget/shared/transactionOverlay.helpers.ts new file mode 100644 index 000000000..4e52a0196 --- /dev/null +++ b/src/components/pages/vaults/components/widget/shared/transactionOverlay.helpers.ts @@ -0,0 +1,36 @@ +export type OverlayState = 'idle' | 'confirming' | 'pending' | 'success' | 'error' + +export function shouldAutoContinuePermitSuccess(params: { + overlayState: OverlayState + executedStepIsPermit?: boolean + executedStepAutoContinues: boolean + executedStepCompletesFlow: boolean + currentStepLabel?: string + executedStepLabel?: string + isStepReady: boolean + hasAdvancedFromStep?: string | null + hasAutoContinuedFromStep?: string | null +}): boolean { + const { + overlayState, + executedStepIsPermit, + executedStepAutoContinues, + executedStepCompletesFlow, + currentStepLabel, + executedStepLabel, + isStepReady, + hasAdvancedFromStep, + hasAutoContinuedFromStep + } = params + + if (overlayState !== 'success') return false + if (!executedStepIsPermit) return false + if (!executedStepAutoContinues) return false + if (executedStepCompletesFlow) return false + if (!currentStepLabel || currentStepLabel === executedStepLabel) return false + if (!isStepReady) return false + if (hasAdvancedFromStep === executedStepLabel) return false + if (hasAutoContinuedFromStep === executedStepLabel) return false + + return true +} diff --git a/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx b/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx index 223449f75..f899af62f 100644 --- a/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx +++ b/src/components/pages/vaults/components/widget/withdraw/WithdrawDetails.tsx @@ -1,4 +1,4 @@ -import type { FC } from 'react' +import type { ReactElement } from 'react' import { formatUnits } from 'viem' import { formatWidgetAllowance, formatWidgetValue } from '../shared/valueDisplay' import type { WithdrawRouteType } from './types' @@ -32,10 +32,16 @@ interface WithdrawDetailsProps { allowance?: bigint allowanceTokenDecimals?: number allowanceTokenSymbol?: string + approvalSpenderName?: string onAllowanceClick?: () => void + onShowApprovalOverlay?: () => void } -export const WithdrawDetails: FC = ({ +function getApprovalLabel(approvalSpenderName?: string): string { + return approvalSpenderName ? `Existing Approval (${approvalSpenderName})` : 'Existing Approval' +} + +export function WithdrawDetails({ actionLabel, requiredShares, sharesDecimals, @@ -56,11 +62,12 @@ export const WithdrawDetails: FC = ({ allowance, allowanceTokenDecimals, allowanceTokenSymbol, - onAllowanceClick -}) => { + approvalSpenderName, + onAllowanceClick, + onShowApprovalOverlay +}: WithdrawDetailsProps): ReactElement { const allowanceDisplay = formatWidgetAllowance(allowance, allowanceTokenDecimals) - - // Calculate price impact (withdraw amount USD vs expected output USD) + const approvalLabel = getApprovalLabel(approvalSpenderName) const withdrawUsdValue = Number(formatUnits(withdrawAmountBn, assetDecimals)) * assetUsdPrice const expectedOutUsdValue = Number(formatUnits(expectedOut, outputDecimals)) * outputUsdPrice const priceImpact = @@ -131,7 +138,17 @@ export const WithdrawDetails: FC = ({ {/* Approved allowance (for zap withdrawals) */} {allowanceDisplay && (
    -

    Existing Approval

    + {onShowApprovalOverlay ? ( + + ) : ( +

    {approvalLabel}

    + )} {onAllowanceClick && allowanceDisplay !== 'Unlimited' ? ( ) : ( )}
    @@ -840,9 +932,10 @@ export function WidgetWithdraw({ isOpen={showTransactionOverlay} onClose={() => setShowTransactionOverlay(false)} step={currentStep} - isLastStep={!needsApproval} + isLastStep={isLastStep} autoContinueToNextStep - autoContinueStepLabels={['Approve', 'Sign Permit']} + autoContinueStepLabels={['Approve', 'Sign Permit', 'Unstake']} + onStepSuccess={handleTransactionStepSuccess} onAllComplete={handleWithdrawSuccess} /> @@ -853,18 +946,31 @@ export function WidgetWithdraw({ sourceTokenSymbol={withdrawalSource === 'staking' ? stakingToken?.symbol || vaultSymbol : vaultSymbol} vaultAssetSymbol={assetToken?.symbol || ''} outputTokenSymbol={outputToken?.symbol || ''} - withdrawAmount={requiredShares > 0n ? formatWidgetValue(requiredShares, sharesDecimals) : '0'} + withdrawAmount={effectiveRequiredShares > 0n ? formatWidgetValue(effectiveRequiredShares, sharesDecimals) : '0'} expectedOutput={ - activeFlow.periphery.expectedOut > 0n - ? formatWidgetValue(activeFlow.periphery.expectedOut, outputToken?.decimals ?? 18) - : undefined + effectiveExpectedOut > 0n ? formatWidgetValue(effectiveExpectedOut, outputToken?.decimals ?? 18) : undefined } hasInputValue={withdrawAmount.bn > 0n} stakingAddress={stakingAddress} withdrawalSource={withdrawalSource} routeType={routeType} isZap={routeType === 'ENSO' && shouldShowZapUi} - isLoadingQuote={activeFlow.periphery.isLoadingRoute} + isLoadingQuote={isFetchingQuote} + /> + + { + setShowApprovalOverlay(false) + setOptimisticApprovedShares(null) + }} + tokenSymbol={approvalState.tokenSymbol || ''} + tokenAddress={toAddress(sourceToken)} + tokenDecimals={approvalState.tokenDecimals} + spenderAddress={approvalState.spenderAddress} + spenderName={approvalState.spenderName || 'Vault'} + chainId={chainId} + currentAllowance={formatWidgetAllowance(activeFlow.periphery.allowance, approvalState.tokenDecimals) || '0'} /> {/* Full-screen Token Selector Overlay */} diff --git a/src/components/pages/vaults/components/widget/withdraw/types.ts b/src/components/pages/vaults/components/widget/withdraw/types.ts index 6769f0835..bee0233b7 100644 --- a/src/components/pages/vaults/components/widget/withdraw/types.ts +++ b/src/components/pages/vaults/components/widget/withdraw/types.ts @@ -1,7 +1,7 @@ import type { VaultUserData } from '@pages/vaults/hooks/useVaultUserData' import type { ReactNode } from 'react' -export type WithdrawRouteType = 'DIRECT_WITHDRAW' | 'DIRECT_UNSTAKE' | 'ENSO' +export type WithdrawRouteType = 'DIRECT_WITHDRAW' | 'DIRECT_UNSTAKE' | 'DIRECT_UNSTAKE_WITHDRAW' | 'ENSO' export type WithdrawalSource = 'vault' | 'staking' | null @@ -12,10 +12,13 @@ export interface WithdrawWidgetProps { stakingAddress?: `0x${string}` chainId: number vaultSymbol: string + stakingSource?: string vaultVersion?: string isVaultRetired?: boolean vaultUserData: VaultUserData maxWithdrawAssets?: bigint + requiredSharesOverride?: bigint + expectedOutOverride?: bigint isActionDisabled?: boolean actionDisabledReason?: string disableTokenSelector?: boolean diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts index ced6cdbf2..6bdcfa6ae 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawFlow.ts @@ -17,19 +17,22 @@ interface UseWithdrawFlowProps { vaultAddress: Address sourceToken: Address stakingAddress?: Address + stakingSource?: string // Amounts amount: bigint currentAmount: bigint requiredShares: bigint maxShares: bigint + redeemSharesOverride?: bigint isMaxWithdraw: boolean + unstakeMaxRedeemShares: bigint + allowDirectWithdrawStep?: boolean + optimisticApprovedShares?: bigint | null // Account & chain account?: Address chainId: number destinationChainId: number outputChainId: number - // Decimals - assetDecimals: number vaultDecimals: number outputDecimals: number // Price per share @@ -45,24 +48,30 @@ interface UseWithdrawFlowProps { export interface WithdrawFlowResult { routeType: WithdrawRouteType activeFlow: UseWidgetWithdrawFlowReturn + directWithdrawFlow: UseWidgetWithdrawFlowReturn + directUnstakeFlow: UseWidgetWithdrawFlowReturn } -export const useWithdrawFlow = ({ +export function useWithdrawFlow({ withdrawToken, assetAddress, vaultAddress, sourceToken, stakingAddress, + stakingSource, amount, currentAmount, requiredShares, maxShares, + redeemSharesOverride, isMaxWithdraw, + unstakeMaxRedeemShares, + allowDirectWithdrawStep = true, + optimisticApprovedShares, account, chainId, destinationChainId, outputChainId, - assetDecimals, vaultDecimals, outputDecimals, pricePerShare, @@ -71,8 +80,7 @@ export const useWithdrawFlow = ({ isUnstake, isDebouncing, useErc4626 -}: UseWithdrawFlowProps): WithdrawFlowResult => { - // Determine routing type +}: UseWithdrawFlowProps): WithdrawFlowResult { const routeType = useWithdrawRoute({ vaultAddress, withdrawToken, @@ -82,52 +90,63 @@ export const useWithdrawFlow = ({ outputChainId, isUnstake }) + const isDirectWithdrawRoute = routeType === 'DIRECT_WITHDRAW' + const isDirectUnstakeRoute = routeType === 'DIRECT_UNSTAKE' + const isDirectUnstakeWithdrawRoute = routeType === 'DIRECT_UNSTAKE_WITHDRAW' + const isEnsoRoute = routeType === 'ENSO' const isYvUsdLockedZapFlow = useMemo( () => - routeType === 'DIRECT_WITHDRAW' && + isDirectWithdrawRoute && withdrawalSource === 'vault' && chainId === outputChainId && toAddress(vaultAddress) === YVUSD_LOCKED_ADDRESS && toAddress(assetAddress) !== YVUSD_UNLOCKED_ADDRESS && toAddress(withdrawToken) === toAddress(assetAddress), - [routeType, withdrawalSource, chainId, outputChainId, vaultAddress, assetAddress, withdrawToken] + [isDirectWithdrawRoute, withdrawalSource, chainId, outputChainId, vaultAddress, assetAddress, withdrawToken] ) + const directWithdrawEnabled = + allowDirectWithdrawStep && + (isDirectWithdrawRoute || isDirectUnstakeWithdrawRoute) && + amount > 0n && + !isYvUsdLockedZapFlow + const directUnstakeEnabled = (isDirectUnstakeRoute || isDirectUnstakeWithdrawRoute) && currentAmount > 0n + const ensoEnabled = isEnsoRoute && !!withdrawToken && !isDebouncing && requiredShares > 0n && currentAmount > 0n - // Direct withdraw flow (vault → asset) const directWithdraw = useDirectWithdraw({ vaultAddress, - assetAddress, amount, maxShares, + redeemSharesOverride, redeemAll: isMaxWithdraw, pricePerShare, account, chainId, - decimals: assetDecimals, vaultDecimals, - enabled: routeType === 'DIRECT_WITHDRAW' && amount > 0n && !isYvUsdLockedZapFlow, + enabled: directWithdrawEnabled, useErc4626 }) const yvUsdLockedZapWithdraw = useYvUsdLockedZapWithdraw({ amount, requiredShares, + optimisticApprovedShares, account, chainId, enabled: isYvUsdLockedZapFlow && amount > 0n }) - // Direct unstake flow (staking → vault) const directUnstake = useDirectUnstake({ stakingAddress, + stakingSource, amount: requiredShares, + redeemAll: isMaxWithdraw, + maxRedeemShares: unstakeMaxRedeemShares, account, chainId, - enabled: routeType === 'DIRECT_UNSTAKE' && currentAmount > 0n + enabled: directUnstakeEnabled }) - // Enso flow (zaps, cross-chain, etc.) const ensoFlow = useEnsoWithdraw({ vaultAddress: sourceToken, withdrawToken, @@ -138,21 +157,54 @@ export const useWithdrawFlow = ({ chainId, destinationChainId, decimalsOut: outputDecimals, - enabled: routeType === 'ENSO' && !!withdrawToken && !isDebouncing && requiredShares > 0n && currentAmount > 0n, + enabled: ensoEnabled, slippage: slippage * 100 }) - // Select active flow based on routing type const activeFlow = useMemo((): UseWidgetWithdrawFlowReturn => { - if (routeType === 'DIRECT_WITHDRAW') { + if (isDirectWithdrawRoute) { return isYvUsdLockedZapFlow ? yvUsdLockedZapWithdraw : directWithdraw } - if (routeType === 'DIRECT_UNSTAKE') return directUnstake + if (isDirectUnstakeRoute) { + return directUnstake + } + if (isDirectUnstakeWithdrawRoute) { + return { + actions: { + prepareWithdraw: directUnstake.actions.prepareWithdraw + }, + periphery: { + prepareApproveEnabled: false, + prepareWithdrawEnabled: directUnstake.periphery.prepareWithdrawEnabled, + isAllowanceSufficient: true, + allowance: directWithdraw.periphery.allowance, + expectedOut: directWithdraw.periphery.expectedOut, + isLoadingRoute: + directUnstake.actions.prepareWithdraw.isLoading || + directUnstake.actions.prepareWithdraw.isFetching || + directWithdraw.actions.prepareWithdraw.isLoading || + directWithdraw.actions.prepareWithdraw.isFetching, + isCrossChain: false, + error: undefined + } + } + } return ensoFlow - }, [routeType, isYvUsdLockedZapFlow, yvUsdLockedZapWithdraw, directWithdraw, directUnstake, ensoFlow]) + }, [ + isDirectWithdrawRoute, + isDirectUnstakeRoute, + isDirectUnstakeWithdrawRoute, + isYvUsdLockedZapFlow, + yvUsdLockedZapWithdraw, + directWithdraw, + directUnstake, + ensoFlow + ]) return { routeType, - activeFlow + activeFlow, + directWithdrawFlow: directWithdraw, + directUnstakeFlow: directUnstake } } diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawNotifications.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawNotifications.ts index b7fee09f1..112898886 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawNotifications.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawNotifications.ts @@ -32,6 +32,7 @@ interface UseWithdrawNotificationsProps { interface WithdrawNotificationsResult { approveNotificationParams?: TCreateNotificationParams + unstakeNotificationParams?: TCreateNotificationParams withdrawNotificationParams?: TCreateNotificationParams } @@ -56,20 +57,21 @@ export const useWithdrawNotifications = ({ const isZap = toAddress(withdrawToken) !== toAddress(assetAddress) const isUnstakeAndWithdraw = withdrawalSource === 'staking' && toAddress(withdrawToken) === toAddress(assetAddress) && !isZap + const shareDecimals = vault?.decimals ?? stakingToken?.decimals ?? 18 // Determine source token info based on withdrawal source const sourceTokenInfo = useMemo(() => { if (withdrawalSource === 'staking' && stakingToken) { return { symbol: stakingToken.symbol || '', - decimals: stakingToken.decimals ?? 18 + decimals: shareDecimals } } return { symbol: vault?.symbol || '', - decimals: vault?.decimals ?? 18 + decimals: shareDecimals } - }, [withdrawalSource, stakingToken, vault]) + }, [withdrawalSource, stakingToken, vault, shareDecimals]) // Approve notification: approving source token (vault/staking shares) to Enso router const approveNotificationParams = useMemo((): TCreateNotificationParams | undefined => { @@ -86,10 +88,36 @@ export const useWithdrawNotifications = ({ } }, [vault, account, routeType, routerAddress, requiredShares, sourceTokenInfo, sourceToken, chainId]) - // Withdraw notification: swapping shares for output token + // Unstake notification: first step of the fallback flow + const unstakeNotificationParams = useMemo((): TCreateNotificationParams | undefined => { + if (!vault || !account || routeType !== 'DIRECT_UNSTAKE_WITHDRAW' || withdrawAmount === 0n) return undefined + + return { + type: 'unstake', + amount: formatTAmount({ value: requiredShares, decimals: sourceTokenInfo.decimals }), + fromAddress: toAddress(sourceToken), + fromSymbol: sourceTokenInfo.symbol, + fromChainId: chainId, + toAddress: toAddress(vault.address), + toSymbol: vault.symbol || '' + } + }, [vault, account, routeType, withdrawAmount, requiredShares, sourceTokenInfo, sourceToken, chainId]) + + // Withdraw notification: final withdrawal step const withdrawNotificationParams = useMemo((): TCreateNotificationParams | undefined => { if (!vault || !outputToken || !account || withdrawAmount === 0n) return undefined + const withdrawFromTokenInfo = + routeType === 'DIRECT_UNSTAKE_WITHDRAW' + ? { + symbol: vault.symbol || '', + decimals: vault.decimals ?? 18 + } + : sourceTokenInfo + + const withdrawFromAddress = + routeType === 'DIRECT_UNSTAKE_WITHDRAW' ? toAddress(vault.address) : toAddress(sourceToken) + let notificationType: 'withdraw' | 'withdraw zap' | 'crosschain withdraw zap' | 'unstake' | 'unstake and withdraw' = 'withdraw' if (routeType === 'ENSO') { @@ -104,13 +132,15 @@ export const useWithdrawNotifications = ({ } } else if (routeType === 'DIRECT_UNSTAKE') { notificationType = 'unstake' + } else if (routeType === 'DIRECT_UNSTAKE_WITHDRAW') { + notificationType = 'withdraw' } return { type: notificationType, - amount: formatTAmount({ value: requiredShares, decimals: sourceTokenInfo.decimals }), - fromAddress: toAddress(sourceToken), - fromSymbol: sourceTokenInfo.symbol, + amount: formatTAmount({ value: requiredShares, decimals: withdrawFromTokenInfo.decimals }), + fromAddress: withdrawFromAddress, + fromSymbol: withdrawFromTokenInfo.symbol, fromChainId: chainId, toAddress: toAddress(withdrawToken), toSymbol: outputToken.symbol || '', @@ -137,6 +167,7 @@ export const useWithdrawNotifications = ({ return { approveNotificationParams, + unstakeNotificationParams, withdrawNotificationParams } } diff --git a/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts index a46310c74..00d43ce83 100644 --- a/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts +++ b/src/components/pages/vaults/components/widget/withdraw/useWithdrawRoute.ts @@ -33,12 +33,20 @@ export const resolveWithdrawRouteType = ({ return 'DIRECT_UNSTAKE' } + const isUnstakeAndWithdrawFallback = + withdrawalSource === 'staking' && toAddress(withdrawToken) === toAddress(assetAddress) && chainId === outputChainId + + // Case 2: Staked shares → asset fallback (unstake then withdraw) + if (isUnstakeAndWithdrawFallback) { + return 'DIRECT_UNSTAKE_WITHDRAW' + } + // When Enso disabled, always use direct withdraw if (!ensoEnabled) { return 'DIRECT_WITHDRAW' } - // Case 2: Direct withdraw (vault → asset, same token, from vault source) + // Case 3: Direct withdraw (vault → asset, same token, from vault source) if ( toAddress(withdrawToken) === toAddress(assetAddress) && withdrawalSource === 'vault' && @@ -47,7 +55,7 @@ export const resolveWithdrawRouteType = ({ return 'DIRECT_WITHDRAW' } - // Case 3: Everything else uses Enso + // Case 4: Everything else uses Enso return 'ENSO' } @@ -55,6 +63,7 @@ export const resolveWithdrawRouteType = ({ * Determines the routing type for a withdraw transaction. * - DIRECT_WITHDRAW: vault → asset (simple redeem) * - DIRECT_UNSTAKE: staking → vault (unstake) + * - DIRECT_UNSTAKE_WITHDRAW: staking → vault → asset (two-step fallback) * - ENSO: all other cases (zaps, cross-chain, etc.) */ export const useWithdrawRoute = ({ diff --git a/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.test.ts b/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.test.ts new file mode 100644 index 000000000..efd0d051a --- /dev/null +++ b/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.test.ts @@ -0,0 +1,181 @@ +import { describe, expect, it } from 'vitest' +import { + buildWithdrawTransactionStep, + getWithdrawCtaLabel, + getWithdrawTransactionName, + isWithdrawCtaDisabled, + isWithdrawLastStep +} from './withdrawStepHelpers' + +const mockPrepare = { isSuccess: true, data: { request: {} } } as any + +describe('withdrawStepHelpers', () => { + it('returns transaction names for route types', () => { + expect(getWithdrawTransactionName('DIRECT_WITHDRAW', false)).toBe('Withdraw') + expect(getWithdrawTransactionName('DIRECT_UNSTAKE', false)).toBe('Unstake') + expect(getWithdrawTransactionName('DIRECT_UNSTAKE_WITHDRAW', false)).toBe('Unstake & Withdraw') + expect(getWithdrawTransactionName('ENSO', true)).toBe('Fetching quote') + }) + + it('builds approval step when approval is required', () => { + const step = buildWithdrawTransactionStep({ + needsApproval: true, + approvePrepare: mockPrepare, + activeWithdrawPrepare: mockPrepare, + fallbackStep: 'unstake', + routeType: 'ENSO', + isCrossChain: false, + formattedApprovalAmount: '1.23', + formattedRequiredShares: '1.23', + formattedWithdrawAmount: '1.23', + approvalTokenSymbol: 'yvUSDC', + withdrawNotificationParams: undefined + }) + + expect(step?.label).toBe('Approve') + expect(step?.confirmMessage).toContain('Approving 1.23 yvUSDC') + }) + + it('builds unstake and withdraw fallback steps', () => { + const unstakeStep = buildWithdrawTransactionStep({ + needsApproval: false, + activeWithdrawPrepare: mockPrepare, + directUnstakePrepare: mockPrepare, + directWithdrawPrepare: mockPrepare, + fallbackStep: 'unstake', + routeType: 'DIRECT_UNSTAKE_WITHDRAW', + isCrossChain: false, + formattedApprovalAmount: '1.00', + formattedRequiredShares: '2.00', + formattedWithdrawAmount: '3.00', + stakingTokenSymbol: 'st-yvUSDC', + assetTokenSymbol: 'USDC', + withdrawNotificationParams: undefined + }) + + const withdrawStep = buildWithdrawTransactionStep({ + needsApproval: false, + activeWithdrawPrepare: mockPrepare, + directUnstakePrepare: mockPrepare, + directWithdrawPrepare: mockPrepare, + fallbackStep: 'withdraw', + routeType: 'DIRECT_UNSTAKE_WITHDRAW', + isCrossChain: false, + formattedApprovalAmount: '1.00', + formattedRequiredShares: '2.00', + formattedWithdrawAmount: '3.00', + stakingTokenSymbol: 'st-yvUSDC', + assetTokenSymbol: 'USDC', + withdrawNotificationParams: undefined + }) + + expect(unstakeStep?.label).toBe('Unstake') + expect(withdrawStep?.label).toBe('Withdraw') + }) + + it('builds cross-chain success messaging for regular routes', () => { + const step = buildWithdrawTransactionStep({ + needsApproval: false, + activeWithdrawPrepare: mockPrepare, + fallbackStep: 'unstake', + routeType: 'ENSO', + isCrossChain: true, + formattedApprovalAmount: '1.00', + formattedRequiredShares: '2.00', + formattedWithdrawAmount: '3.00', + assetTokenSymbol: 'USDC', + withdrawNotificationParams: undefined + }) + + expect(step?.successTitle).toBe('Transaction Submitted') + }) + + it('computes last step state correctly', () => { + expect( + isWithdrawLastStep({ + currentStep: undefined, + needsApproval: false, + routeType: 'ENSO' + }) + ).toBe(true) + + expect( + isWithdrawLastStep({ + currentStep: { + prepare: mockPrepare, + label: 'Approve', + confirmMessage: '', + successTitle: '', + successMessage: '' + }, + needsApproval: true, + routeType: 'ENSO' + }) + ).toBe(false) + + expect( + isWithdrawLastStep({ + currentStep: { + prepare: mockPrepare, + label: 'Unstake', + confirmMessage: '', + successTitle: '', + successMessage: '' + }, + needsApproval: false, + routeType: 'DIRECT_UNSTAKE_WITHDRAW' + }) + ).toBe(false) + + expect( + isWithdrawLastStep({ + currentStep: { + prepare: mockPrepare, + label: 'Withdraw', + confirmMessage: '', + successTitle: '', + successMessage: '' + }, + needsApproval: false, + routeType: 'DIRECT_UNSTAKE_WITHDRAW' + }) + ).toBe(true) + }) + + it('computes CTA disabled state and label', () => { + expect( + isWithdrawCtaDisabled({ + hasError: false, + withdrawAmountRaw: 1n, + isFetchingQuote: false, + isDebouncing: false, + showApprove: true, + isAllowanceSufficient: false, + prepareApproveEnabled: false, + prepareWithdrawEnabled: true + }) + ).toBe(true) + + expect( + isWithdrawCtaDisabled({ + hasError: false, + withdrawAmountRaw: 1n, + isFetchingQuote: false, + isDebouncing: false, + showApprove: false, + isAllowanceSufficient: true, + prepareApproveEnabled: false, + prepareWithdrawEnabled: true + }) + ).toBe(false) + + expect( + getWithdrawCtaLabel({ + isFetchingQuote: false, + showApprove: true, + isAllowanceSufficient: false, + transactionName: 'Withdraw' + }) + ).toBe('Approve & Withdraw') + }) +}) diff --git a/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.ts b/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.ts new file mode 100644 index 000000000..2423c350d --- /dev/null +++ b/src/components/pages/vaults/components/widget/withdraw/withdrawStepHelpers.ts @@ -0,0 +1,203 @@ +import type { TCreateNotificationParams } from '@shared/types/notifications' +import type { TransactionStep } from '../shared/TransactionOverlay' +import type { WithdrawRouteType } from './types' + +type TBuildWithdrawTransactionStepArgs = { + needsApproval: boolean + approvePrepare?: TransactionStep['prepare'] + activeWithdrawPrepare?: TransactionStep['prepare'] + directUnstakePrepare?: TransactionStep['prepare'] + directWithdrawPrepare?: TransactionStep['prepare'] + fallbackStep: 'unstake' | 'withdraw' + routeType: WithdrawRouteType + isCrossChain: boolean + formattedApprovalAmount: string + approvalTokenSymbol?: string + formattedRequiredShares: string + formattedWithdrawAmount: string + assetTokenSymbol?: string + vaultSymbol?: string + stakingTokenSymbol?: string + approveNotificationParams?: TCreateNotificationParams + unstakeNotificationParams?: TCreateNotificationParams + withdrawNotificationParams?: TCreateNotificationParams +} + +type TWithdrawCtaStateArgs = { + hasError: boolean + withdrawAmountRaw: bigint + isFetchingQuote: boolean + isDebouncing: boolean + showApprove: boolean + isAllowanceSufficient: boolean + prepareApproveEnabled: boolean + prepareWithdrawEnabled: boolean +} + +export function getWithdrawTransactionName(routeType: WithdrawRouteType, isFetchingQuote: boolean): string { + if (routeType === 'DIRECT_WITHDRAW') { + return 'Withdraw' + } + if (routeType === 'DIRECT_UNSTAKE') { + return 'Unstake' + } + if (routeType === 'DIRECT_UNSTAKE_WITHDRAW') { + return 'Unstake & Withdraw' + } + return isFetchingQuote ? 'Fetching quote' : 'Withdraw' +} + +export function buildWithdrawTransactionStep({ + needsApproval, + approvePrepare, + activeWithdrawPrepare, + directUnstakePrepare, + directWithdrawPrepare, + fallbackStep, + routeType, + isCrossChain, + formattedApprovalAmount, + approvalTokenSymbol, + formattedRequiredShares, + formattedWithdrawAmount, + assetTokenSymbol, + vaultSymbol, + stakingTokenSymbol, + approveNotificationParams, + unstakeNotificationParams, + withdrawNotificationParams +}: TBuildWithdrawTransactionStepArgs): TransactionStep | undefined { + if (needsApproval && approvePrepare) { + return { + prepare: approvePrepare, + label: 'Approve', + confirmMessage: `Approving ${formattedApprovalAmount} ${approvalTokenSymbol || ''}`, + successTitle: 'Approval successful', + successMessage: `Approved ${formattedApprovalAmount} ${approvalTokenSymbol || ''}.\nReady to withdraw.`, + completesFlow: false, + notification: approveNotificationParams + } + } + + if (routeType === 'DIRECT_UNSTAKE_WITHDRAW') { + const unstakeSymbol = stakingTokenSymbol || vaultSymbol || 'shares' + + if (fallbackStep === 'unstake' && directUnstakePrepare) { + return { + prepare: directUnstakePrepare, + label: 'Unstake', + confirmMessage: `Unstaking ${formattedRequiredShares} ${unstakeSymbol}`, + successTitle: 'Unstake successful!', + successMessage: `You have unstaked ${formattedRequiredShares} ${unstakeSymbol}.\nPreparing your withdraw.`, + completesFlow: false, + notification: unstakeNotificationParams + } + } + + if (!directWithdrawPrepare) { + return undefined + } + + return { + prepare: directWithdrawPrepare, + label: 'Withdraw', + confirmMessage: `Withdrawing ${formattedWithdrawAmount} ${assetTokenSymbol || ''}`, + successTitle: 'Withdraw successful!', + successMessage: `You have withdrawn ${formattedWithdrawAmount} ${assetTokenSymbol || ''}.`, + completesFlow: true, + notification: withdrawNotificationParams + } + } + + if (!activeWithdrawPrepare) { + return undefined + } + + const withdrawLabel = routeType === 'DIRECT_UNSTAKE' ? 'Unstake' : 'Withdraw' + const actionVerb = routeType === 'DIRECT_UNSTAKE' ? 'Unstaking' : 'Withdrawing' + + if (isCrossChain) { + return { + prepare: activeWithdrawPrepare, + label: withdrawLabel, + confirmMessage: `${actionVerb} ${formattedWithdrawAmount} ${assetTokenSymbol || ''}`, + successTitle: 'Transaction Submitted', + successMessage: `Your cross-chain ${withdrawLabel.toLowerCase()} has been submitted.\nIt may take a few minutes to complete on the destination chain.`, + completesFlow: true, + notification: withdrawNotificationParams + } + } + + const successAction = routeType === 'DIRECT_UNSTAKE' ? 'unstaked' : 'withdrawn' + return { + prepare: activeWithdrawPrepare, + label: withdrawLabel, + confirmMessage: `${actionVerb} ${formattedWithdrawAmount} ${assetTokenSymbol || ''}`, + successTitle: `${withdrawLabel} successful!`, + successMessage: `You have ${successAction} ${formattedWithdrawAmount} ${assetTokenSymbol || ''}.`, + completesFlow: true, + notification: withdrawNotificationParams + } +} + +export function isWithdrawLastStep({ + currentStep, + needsApproval, + routeType +}: { + currentStep?: TransactionStep + needsApproval: boolean + routeType: WithdrawRouteType +}): boolean { + if (!currentStep) return true + if (needsApproval) return false + if (routeType === 'DIRECT_UNSTAKE_WITHDRAW') { + return currentStep.label === 'Withdraw' + } + return true +} + +export function isWithdrawCtaDisabled({ + hasError, + withdrawAmountRaw, + isFetchingQuote, + isDebouncing, + showApprove, + isAllowanceSufficient, + prepareApproveEnabled, + prepareWithdrawEnabled +}: TWithdrawCtaStateArgs): boolean { + if (hasError || withdrawAmountRaw === 0n || isFetchingQuote || isDebouncing) { + return true + } + + if (showApprove && !isAllowanceSufficient && !prepareApproveEnabled) { + return true + } + + if ((!showApprove || isAllowanceSufficient) && !prepareWithdrawEnabled) { + return true + } + + return false +} + +export function getWithdrawCtaLabel({ + isFetchingQuote, + showApprove, + isAllowanceSufficient, + transactionName +}: { + isFetchingQuote: boolean + showApprove: boolean + isAllowanceSufficient: boolean + transactionName: string +}): string { + if (isFetchingQuote) { + return 'Fetching quote' + } + if (showApprove && !isAllowanceSufficient) { + return `Approve & ${transactionName}` + } + return transactionName +} diff --git a/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx index 4ddd438de..4a8b2ee93 100644 --- a/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx +++ b/src/components/pages/vaults/components/widget/yvUSD/YvUsdWithdraw.tsx @@ -195,6 +195,65 @@ function convertYvUsdInputAmount({ return amount } +function getAvailableWithdrawSharesCap(sharesUnderCooldown: bigint, sharesCapFromAssets: bigint): bigint { + if (sharesUnderCooldown > 0n && sharesCapFromAssets > 0n) { + return sharesCapFromAssets < sharesUnderCooldown ? sharesCapFromAssets : sharesUnderCooldown + } + if (sharesUnderCooldown > 0n) { + return sharesUnderCooldown + } + return sharesCapFromAssets +} + +function clampLockedRequestedShares( + requestedShares: bigint, + canWithdrawNow: boolean, + availableWithdrawSharesCap: bigint +): bigint { + if (!canWithdrawNow || availableWithdrawSharesCap <= 0n || requestedShares <= availableWithdrawSharesCap) { + return requestedShares + } + return availableWithdrawSharesCap +} + +function resolveLockedRequestedAmountFromInput({ + amount, + inputUnit, + canWithdrawNow, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals, + unlockedPricePerShare, + unlockedVaultDecimals +}: { + amount: bigint + inputUnit: TYvUsdAmountUnit + canWithdrawNow: boolean + lockedDisplayPricePerShare: bigint + lockedVaultTokenDecimals: number + unlockedPricePerShare: bigint + unlockedVaultDecimals: number +}): bigint { + if (inputUnit === 'shares') { + return amount + } + + if (canWithdrawNow) { + if (lockedDisplayPricePerShare <= 0n) { + return 0n + } + + return ( + (amount * 10n ** BigInt(lockedVaultTokenDecimals) + lockedDisplayPricePerShare - 1n) / lockedDisplayPricePerShare + ) + } + + return convertYvUsdUnderlyingRawAmountToLockedAsset({ + amount, + unlockedPricePerShare, + unlockedVaultDecimals + }) +} + export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collapseDetails }: Props): ReactElement { const { address: account } = useAccount() const { unlockedVault, lockedVault, assetAddress: yvUsdAssetAddress, isLoading } = useYvUsdVaults() @@ -205,8 +264,9 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap const [draftWithdrawAmount, setDraftWithdrawAmount] = useState(0n) const [pendingPrefillAmount, setPendingPrefillAmount] = useState(undefined) const [pendingPrefillAddress, setPendingPrefillAddress] = useState<`0x${string}` | undefined>(undefined) + const [pendingPrefillShares, setPendingPrefillShares] = useState(undefined) const [prefillRequestKey, setPrefillRequestKey] = useState(0) - const [lockedRequestedAssets, setLockedRequestedAssets] = useState(0n) + const [lockedRequestedAmountRaw, setLockedRequestedAmountRaw] = useState(0n) const [selectedWithdrawTokenAddress, setSelectedWithdrawTokenAddress] = useState<`0x${string}` | undefined>(undefined) const [nowTimestamp, setNowTimestamp] = useState(() => Math.floor(Date.now() / 1000)) const activeVariant = variant ?? 'unlocked' @@ -301,15 +361,6 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap [withdrawalWindowSeconds] ) const availableWithdrawLimit = typeof rawAvailableWithdrawLimit === 'bigint' ? rawAvailableWithdrawLimit : 0n - const availableWithdrawLimitForInput = isLockedUnderlyingDisplay - ? unlockedUserData.isLoading - ? 0n - : convertYvUsdLockedAssetRawAmountToUnderlying({ - amount: availableWithdrawLimit, - unlockedPricePerShare: unlockedUserData.pricePerShare, - unlockedVaultDecimals - }) - : availableWithdrawLimit const hasActiveCooldown = cooldownStatus.shares > 0n const isCooldownActive = hasActiveCooldown && nowTimestamp < cooldownStatus.cooldownEnd @@ -361,29 +412,56 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap value: displayAssetsUnderCooldown, decimals: lockedDisplayAssetDecimals }) - const formattedAvailableWithdrawLimit = formatTAmount({ - value: availableWithdrawLimitForInput, - decimals: lockedDisplayAssetDecimals - }) const canWithdrawNow = availableWithdrawLimit > 0n + const hasLockedWithdrawPath = hasLocked || hasActiveCooldown || canWithdrawNow const isCooldownDataLoading = isLoadingCooldownStatus || isLoadingAvailableWithdrawLimit || (isLockedUnderlyingDisplay && unlockedUserData.isLoading) const lockedVaultTokenDecimals = lockedUserData.vaultToken?.decimals ?? 18 const lockedVaultTokenSymbol = lockedUserData.vaultToken?.symbol ?? 'yvUSD (Locked)' + const availableWithdrawSharesCapFromAssets = + availableWithdrawLimit > 0n && lockedUserData.pricePerShare > 0n + ? (availableWithdrawLimit * 10n ** BigInt(lockedVaultTokenDecimals)) / lockedUserData.pricePerShare + : 0n + const availableWithdrawSharesCap = getAvailableWithdrawSharesCap( + sharesUnderCooldown, + availableWithdrawSharesCapFromAssets + ) + const availableWithdrawLimitForInput = useMemo(() => { + if (!canWithdrawNow || availableWithdrawSharesCap <= 0n) { + return 0n + } + if (!isLockedUnderlyingDisplay) { + return availableWithdrawSharesCap + } + if (lockedDisplayPricePerShare <= 0n) { + return 0n + } + return (availableWithdrawSharesCap * lockedDisplayPricePerShare) / 10n ** BigInt(lockedVaultTokenDecimals) + }, [ + canWithdrawNow, + availableWithdrawSharesCap, + isLockedUnderlyingDisplay, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals + ]) + const formattedAvailableWithdrawLimit = formatTAmount({ + value: availableWithdrawLimitForInput, + decimals: lockedDisplayAssetDecimals + }) const cooldownSharesToStart = useMemo(() => { - if (!needsCooldownStart || lockedRequestedAssets <= 0n) return 0n + if (!needsCooldownStart || lockedRequestedAmountRaw <= 0n) return 0n if (lockedUserData.pricePerShare <= 0n) return 0n const vaultDecimals = lockedUserData.vaultToken?.decimals ?? 18 - const numerator = lockedRequestedAssets * 10n ** BigInt(vaultDecimals) + const numerator = lockedRequestedAmountRaw * 10n ** BigInt(vaultDecimals) const requiredShares = (numerator + lockedUserData.pricePerShare - 1n) / lockedUserData.pricePerShare return requiredShares > lockedWalletShares ? lockedWalletShares : requiredShares }, [ needsCooldownStart, - lockedRequestedAssets, + lockedRequestedAmountRaw, lockedUserData.pricePerShare, lockedUserData.vaultToken?.decimals, lockedWalletShares @@ -552,14 +630,10 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap ]) useEffect(() => { - if ( - variant === null || - (variant === 'locked' && !hasLocked) || - (variant === 'unlocked' && !hasUnlocked && hasLocked) - ) { - setVariant(getDefaultVariant(hasLocked, hasUnlocked)) + if (variant === null) { + setVariant(getDefaultVariant(hasLockedWithdrawPath, hasUnlocked)) } - }, [hasLocked, hasUnlocked, variant]) + }, [hasLockedWithdrawPath, hasUnlocked, variant]) useEffect(() => { if (!isLockedVariant) return @@ -608,17 +682,123 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap if (!canWithdrawNow || availableWithdrawLimitForInput <= 0n) { return } + setPendingPrefillShares(availableWithdrawSharesCap) + setLockedRequestedAmountRaw(availableWithdrawSharesCap) setPendingPrefillAddress(selectedWithdrawTokenAddress ?? lockedInputAddress) setPendingPrefillAmount(formatUnits(availableWithdrawLimitForInput, lockedDisplayAssetDecimals)) setPrefillRequestKey((current) => current + 1) }, [ canWithdrawNow, + availableWithdrawSharesCap, availableWithdrawLimitForInput, lockedDisplayAssetDecimals, selectedWithdrawTokenAddress, lockedInputAddress ]) + const selectedDisplayAssetAddress = isLockedVariant ? lockedInputAddress : unlockedAssetAddress + + const handleVariantChange = useCallback( + (nextVariant: TYvUsdVariant): void => { + const currentInputTokenAddress = toAddress(selectedWithdrawTokenAddress ?? selectedDisplayAssetAddress) + const nextInputTokenAddress = nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress + const currentAmountUnit = getYvUsdAmountUnit(currentInputTokenAddress, unlockedAssetAddress) + const nextAmountUnit = getYvUsdAmountUnit(nextInputTokenAddress, unlockedAssetAddress) + const canPreserveRawAmount = + currentInputTokenAddress === nextInputTokenAddress || + (currentAmountUnit !== 'other' && nextAmountUnit !== 'other') + const shouldConvertAmount = + draftWithdrawAmount > 0n && canPreserveRawAmount && currentAmountUnit !== nextAmountUnit + const nextRawAmount = shouldConvertAmount + ? convertYvUsdInputAmount({ + amount: draftWithdrawAmount, + fromUnit: currentAmountUnit, + toUnit: nextAmountUnit, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : canPreserveRawAmount + ? draftWithdrawAmount + : 0n + const nextInputDecimals = nextAmountUnit === 'shares' ? lockedAssetDecimals : unlockedAssetDecimals + setDraftWithdrawAmount(nextRawAmount) + setPendingPrefillAmount(nextRawAmount > 0n ? formatUnits(nextRawAmount, nextInputDecimals) : undefined) + setPendingPrefillAddress(nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress) + setPendingPrefillShares(undefined) + const nextLockedRequestedAmount = + nextVariant === 'locked' + ? resolveLockedRequestedAmountFromInput({ + amount: nextRawAmount, + inputUnit: nextAmountUnit, + canWithdrawNow, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + : 0n + setLockedRequestedAmountRaw( + clampLockedRequestedShares(nextLockedRequestedAmount, canWithdrawNow, availableWithdrawSharesCap) + ) + setVariant(nextVariant) + }, + [ + selectedWithdrawTokenAddress, + selectedDisplayAssetAddress, + lockedInputAddress, + unlockedAssetAddress, + draftWithdrawAmount, + unlockedUserData.pricePerShare, + unlockedVaultDecimals, + lockedAssetDecimals, + unlockedAssetDecimals, + canWithdrawNow, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals, + availableWithdrawSharesCap + ] + ) + + const handleAmountChange = useCallback( + (amount: bigint): void => { + setDraftWithdrawAmount(amount) + if (!isLockedVariant) { + return + } + + if (pendingPrefillShares !== undefined) { + setLockedRequestedAmountRaw(canWithdrawNow ? pendingPrefillShares : 0n) + setPendingPrefillShares(undefined) + return + } + + const inputUnit = isLockedUnderlyingDisplay ? 'underlying' : 'shares' + const nextRequestedAmount = resolveLockedRequestedAmountFromInput({ + amount, + inputUnit, + canWithdrawNow, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals, + unlockedPricePerShare: unlockedUserData.pricePerShare, + unlockedVaultDecimals + }) + setLockedRequestedAmountRaw( + clampLockedRequestedShares(nextRequestedAmount, canWithdrawNow, availableWithdrawSharesCap) + ) + }, + [ + isLockedVariant, + pendingPrefillShares, + canWithdrawNow, + isLockedUnderlyingDisplay, + lockedDisplayPricePerShare, + lockedVaultTokenDecimals, + unlockedUserData.pricePerShare, + unlockedVaultDecimals, + availableWithdrawSharesCap + ] + ) + if (isLoading || !unlockedVault || !lockedVault) { return (
    @@ -634,66 +814,20 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap : isLockedVariant ? lockedAssetAddress : unlockedAssetAddress - const selectedDisplayAssetAddress = isLockedVariant ? lockedInputAddress : unlockedAssetAddress const selectedVaultUserData = isLockedVariant ? lockedDisplayUserData : unlockedUserData - const showToggle = hasUnlocked && hasLocked const disableLockedAmountInput = isLockedVariant && isCooldownActive const hideLockedWithdrawAction = isLockedVariant && !!account && !canWithdrawNow const effectiveLockedActionDisabledReason = isLockedVariant && !hideLockedWithdrawAction ? lockedActionDisabledReason : undefined - - const handleVariantChange = (nextVariant: TYvUsdVariant): void => { - const currentInputTokenAddress = toAddress(selectedWithdrawTokenAddress ?? selectedDisplayAssetAddress) - const nextInputTokenAddress = nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress - const currentAmountUnit = getYvUsdAmountUnit(currentInputTokenAddress, unlockedAssetAddress) - const nextAmountUnit = getYvUsdAmountUnit(nextInputTokenAddress, unlockedAssetAddress) - const canPreserveRawAmount = - currentInputTokenAddress === nextInputTokenAddress || - (currentAmountUnit !== 'other' && nextAmountUnit !== 'other') - const shouldConvertAmount = draftWithdrawAmount > 0n && canPreserveRawAmount && currentAmountUnit !== nextAmountUnit - const nextRawAmount = shouldConvertAmount - ? convertYvUsdInputAmount({ - amount: draftWithdrawAmount, - fromUnit: currentAmountUnit, - toUnit: nextAmountUnit, - unlockedPricePerShare: unlockedUserData.pricePerShare, - unlockedVaultDecimals - }) - : canPreserveRawAmount - ? draftWithdrawAmount - : 0n - const nextInputDecimals = nextAmountUnit === 'shares' ? lockedAssetDecimals : unlockedAssetDecimals - setDraftWithdrawAmount(nextRawAmount) - setPendingPrefillAmount(nextRawAmount > 0n ? formatUnits(nextRawAmount, nextInputDecimals) : undefined) - setPendingPrefillAddress(nextVariant === 'locked' ? lockedInputAddress : unlockedAssetAddress) - setLockedRequestedAssets( - nextVariant === 'locked' - ? nextAmountUnit === 'shares' - ? nextRawAmount - : convertYvUsdUnderlyingRawAmountToLockedAsset({ - amount: nextRawAmount, - unlockedPricePerShare: unlockedUserData.pricePerShare, - unlockedVaultDecimals - }) - : 0n - ) - setVariant(nextVariant) - } - - const handleAmountChange = (amount: bigint): void => { - setDraftWithdrawAmount(amount) - if (isLockedVariant) { - setLockedRequestedAssets( - isLockedUnderlyingDisplay - ? convertYvUsdUnderlyingRawAmountToLockedAsset({ - amount, - unlockedPricePerShare: unlockedUserData.pricePerShare, - unlockedVaultDecimals - }) - : amount - ) - } - } + const lockedRequestedShares = clampLockedRequestedShares( + lockedRequestedAmountRaw, + canWithdrawNow, + availableWithdrawSharesCap + ) + const lockedExpectedUnderlyingOut = + lockedDisplayPricePerShare > 0n + ? (lockedRequestedShares * lockedDisplayPricePerShare) / 10n ** BigInt(lockedVaultTokenDecimals) + : 0n const withdrawPrefill = getWithdrawPrefill( activeVariant, @@ -703,14 +837,19 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap chainId, pendingPrefillAmount ) - const headerToggle = showToggle ? ( - - ) : undefined + const showStartCooldownActions = + !!account && hasLocked && !isCooldownDataLoading && needsCooldownStart && !canWithdrawNow + const showCancelCooldownAction = + !!account && hasLocked && hasActiveCooldown && !isCooldownDataLoading && !isWithdrawalWindowOpen + const showInlineResetCooldownAction = + !!account && hasLocked && hasActiveCooldown && !isCooldownDataLoading && isWithdrawalWindowOpen + const isStartCooldownPending = prepareStartCooldown.isLoading || prepareStartCooldown.isFetching + const isCancelCooldownPending = prepareCancelCooldown.isLoading || prepareCancelCooldown.isFetching let cooldownStatusContent: ReactElement if (!account) { cooldownStatusContent =

    {'Connect wallet to view cooldown status.'}

    - } else if (!hasLocked) { + } else if (!hasLockedWithdrawPath) { cooldownStatusContent =

    {'No locked balance found in this wallet.'}

    } else if (isCooldownDataLoading) { cooldownStatusContent =

    {'Loading cooldown status...'}

    @@ -747,6 +886,16 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap {'Complete'} + {showInlineResetCooldownAction ? ( + + ) : null} ) : ( {cooldownRemainingLabel} @@ -757,13 +906,6 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap ) } - const showStartCooldownActions = - !!account && hasLocked && !isCooldownDataLoading && needsCooldownStart && !canWithdrawNow - const showCancelCooldownAction = - !!account && hasLocked && hasActiveCooldown && !isCooldownDataLoading && !canWithdrawNow - const isStartCooldownPending = prepareStartCooldown.isLoading || prepareStartCooldown.isFetching - const isCancelCooldownPending = prepareCancelCooldown.isLoading || prepareCancelCooldown.isFetching - const withdrawTypeSection = isLockedVariant ? (
    @@ -823,12 +965,14 @@ export function YvUsdWithdraw({ chainId, assetAddress, onWithdrawSuccess, collap vaultVersion={selectedVault.version} vaultUserData={selectedVaultUserData} maxWithdrawAssets={isLockedVariant && account && canWithdrawNow ? availableWithdrawLimitForInput : undefined} + requiredSharesOverride={isLockedVariant && canWithdrawNow ? lockedRequestedShares : undefined} + expectedOutOverride={isLockedVariant && canWithdrawNow ? lockedExpectedUnderlyingOut : undefined} isActionDisabled={!!effectiveLockedActionDisabledReason} actionDisabledReason={effectiveLockedActionDisabledReason} disableTokenSelector={isLockedVariant ? !canWithdrawNow : false} disableAmountInput={disableLockedAmountInput} hideActionButton={hideLockedWithdrawAction} - headerActions={headerToggle} + headerActions={} onAmountChange={handleAmountChange} onTokenSelectionChange={setSelectedWithdrawTokenAddress} handleWithdrawSuccess={isLockedVariant ? handleLockedWithdrawSuccess : onWithdrawSuccess} diff --git a/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx index 916f93b0d..12bbc1379 100644 --- a/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx +++ b/src/components/pages/vaults/components/yvUSD/YvUsdHeaderBanner.test.tsx @@ -7,9 +7,10 @@ describe('YvUsdHeaderBanner', () => { it('renders the mockup copy, links, and shipped banner assets', () => { const html = renderToStaticMarkup() - expect(html).toContain('The anti black box vault') + expect(html).toContain('Transparent, Verifiable, Real Yield') expect(html).toContain(`href="${YVUSD_LEARN_MORE_URL}"`) expect(html).toContain('yvusd-banner-bg.png') expect(html).toContain('Learn more') + expect(html).toContain('about Yearn's new cross-chain, cross-asset, delta-neutral vault.') }) }) diff --git a/src/components/pages/vaults/domain/kongVaultSelectors.test.ts b/src/components/pages/vaults/domain/kongVaultSelectors.test.ts index cfc1d246c..13b577c09 100644 --- a/src/components/pages/vaults/domain/kongVaultSelectors.test.ts +++ b/src/components/pages/vaults/domain/kongVaultSelectors.test.ts @@ -1,138 +1,117 @@ -import type { TKongVault } from '@pages/vaults/domain/kongVaultSelectors' -import { getVaultAPR } from '@pages/vaults/domain/kongVaultSelectors' -import type { TKongVaultSnapshot } from '@shared/utils/schemas/kongVaultSnapshotSchema' import { describe, expect, it } from 'vitest' +import { getVaultAPR, getVaultStaking } from './kongVaultSelectors' -const buildVault = (chainId: number): TKongVault => - ({ - chainId, - address: '0x0000000000000000000000000000000000000001', - name: 'Test Vault', - symbol: 'yvTEST', - apiVersion: '3.0.0', - decimals: 18, - asset: { - address: '0x0000000000000000000000000000000000000002', - name: 'USDC', - symbol: 'USDC', - decimals: 6 - }, - tvl: 1_000_000, - performance: { - oracle: { apr: 0.04, apy: 0.04 }, - estimated: { - apr: 0.2, - apy: 0.2, - type: 'estimated', - components: {} - }, - historical: { - net: 0.03, - weeklyNet: 0.03, - monthlyNet: 0.02, - inceptionNet: 0.01 - } - }, - fees: { - managementFee: 0.0025, - performanceFee: 0.1 - }, - category: 'Stablecoin', - type: 'Standard', - kind: 'Single Strategy', - v3: true, - yearn: true, - isRetired: false, - isHidden: false, - isBoosted: false, - isHighlighted: false, - strategiesCount: 1, - riskLevel: 1, - staking: { - address: null, - available: false - } - }) as TKongVault +const LIST_REWARD = { + address: '0x3333333333333333333333333333333333333333', + name: 'List Reward', + symbol: 'LR', + decimals: 18, + price: 1, + isFinished: false, + finishedAt: 0, + apr: 0.5, + perWeek: 10 +} -const SNAPSHOT = { - performance: { - estimated: { - apr: 0.15, - apy: 0.15, - type: 'estimated', - components: {} - }, - oracle: { - apr: 0.07, - apy: 0.07 - }, - historical: { - net: 0.02, - weeklyNet: 0.02, - monthlyNet: 0.02, - inceptionNet: 0.02 - } - }, - apy: { - net: 0.02, - label: 'estimated', - grossApr: 0.02, - weeklyNet: 0.02, - monthlyNet: 0.02, - inceptionNet: 0.02, - pricePerShare: '1000000000000000000', - weeklyPricePerShare: '1000000000000000000', - monthlyPricePerShare: '1000000000000000000' - }, - fees: { - managementFee: 0.0025, - performanceFee: 0.1 - } -} as unknown as TKongVaultSnapshot +const SNAPSHOT_REWARD = { + address: '0x4444444444444444444444444444444444444444', + name: 'Snapshot Reward', + symbol: 'SR', + decimals: 6, + price: 2, + isFinished: true, + finishedAt: 123, + apr: 1.5, + perWeek: 20 +} -describe('getVaultAPR forward base selection', () => { - it('prefers oracle APY for Katana vaults', () => { - const apr = getVaultAPR(buildVault(747474), SNAPSHOT) - expect(apr.forwardAPR.netAPR).toBeCloseTo(0.07, 8) - }) +describe('getVaultStaking', () => { + it('preserves list staking source and rewards when snapshot metadata is missing', () => { + const vault = { + staking: { + address: '0x2222222222222222222222222222222222222222', + available: false, + source: 'yBOLD', + rewards: [LIST_REWARD] + } + } as any - it('keeps estimated APY precedence for non-Katana vaults', () => { - const apr = getVaultAPR(buildVault(1), SNAPSHOT) - expect(apr.forwardAPR.netAPR).toBeCloseTo(0.15, 8) + const staking = getVaultStaking(vault, { + staking: { + address: '0x2222222222222222222222222222222222222222', + available: true + } + } as any) + + expect(staking.source).toBe('yBOLD') + expect(staking.rewards ?? []).toHaveLength(1) + expect(staking.rewards?.[0].symbol).toBe('LR') }) -}) -describe('getVaultAPR Katana component fallbacks', () => { - it('falls back to list estimated components when snapshot components are missing', () => { - const vault = buildVault(747474) - if (vault.performance?.estimated) { - vault.performance.estimated.components = { - baseAPR: 0.11, - katanaBonusAPY: 0.06, - katanaAppRewardsAPR: 0.09, - steerPointsPerDollar: 0.18, - fixedRateKatanaRewards: 0.35 + it('prefers snapshot staking source and rewards when they are present', () => { + const vault = { + staking: { + address: '0x2222222222222222222222222222222222222222', + available: false, + source: 'legacy', + rewards: [LIST_REWARD] } - } + } as any - const snapshotWithoutComponents = { - ...SNAPSHOT, - performance: { - ...SNAPSHOT.performance, - estimated: { - apr: 0.15, - apy: 0.15, - type: 'estimated' - } + const staking = getVaultStaking(vault, { + staking: { + address: '0x2222222222222222222222222222222222222222', + available: true, + source: 'VeYFI', + rewards: [SNAPSHOT_REWARD] } - } as unknown as TKongVaultSnapshot + } as any) - const apr = getVaultAPR(vault, snapshotWithoutComponents) + expect(staking.source).toBe('VeYFI') + expect(staking.rewards ?? []).toHaveLength(1) + expect(staking.rewards?.[0].symbol).toBe('SR') + }) +}) + +describe('getVaultAPR', () => { + it('uses list pricePerShare when snapshot pricePerShare is missing', () => { + const apr = getVaultAPR({ + chainId: 1, + address: '0x1111111111111111111111111111111111111111', + name: 'Vault', + symbol: 'yvTEST', + decimals: 18, + asset: { + address: '0x2222222222222222222222222222222222222222', + name: 'USDC', + symbol: 'USDC', + decimals: 6 + }, + tvl: 1000, + performance: { + oracle: { apr: 0.02, apy: 0.02 }, + estimated: { apr: 0.02, apy: 0.02, type: 'oracle', components: {} }, + historical: { net: 0.01, weeklyNet: 0.01, monthlyNet: 0.01, inceptionNet: 0.01 } + }, + fees: { + managementFee: 0, + performanceFee: 0 + }, + category: 'Stablecoin', + type: 'Standard', + kind: 'Single Strategy', + v3: true, + yearn: true, + isRetired: false, + isHidden: false, + isBoosted: false, + isHighlighted: false, + strategiesCount: 1, + riskLevel: 1, + staking: null, + pricePerShare: '1050000' + } as any) - expect(apr.forwardAPR.composite.baseAPR).toBeCloseTo(0.11, 8) - expect(apr.extra.katanaBonusAPY).toBeCloseTo(0.06, 8) - expect(apr.extra.katanaAppRewardsAPR).toBeCloseTo(0.09, 8) - expect(apr.extra.steerPointsPerDollar).toBeCloseTo(0.18, 8) - expect(apr.extra.fixedRateKatanaRewards).toBeCloseTo(0.35, 8) + expect(apr.pricePerShare.today).toBeCloseTo(1.05, 8) }) }) diff --git a/src/components/pages/vaults/domain/kongVaultSelectors.ts b/src/components/pages/vaults/domain/kongVaultSelectors.ts index d02e7274f..5308cccbc 100644 --- a/src/components/pages/vaults/domain/kongVaultSelectors.ts +++ b/src/components/pages/vaults/domain/kongVaultSelectors.ts @@ -1,6 +1,6 @@ import { normalizeVaultCategory } from '@pages/vaults/utils/normalizeVaultCategory' import { toAddress, toBigInt, toNormalizedBN } from '@shared/utils' -import type { TKongVaultListItem } from '@shared/utils/schemas/kongVaultListSchema' +import type { TKongVaultListItem, TKongVaultListItemStakingReward } from '@shared/utils/schemas/kongVaultListSchema' import type { TKongVaultSnapshot, TKongVaultSnapshotComposition, @@ -306,7 +306,7 @@ export type TKongVaultStaking = { address: `0x${string}` available: boolean source: string - rewards: TKongVaultStakingReward[] + rewards: TKongVaultStakingReward[] | null } export type TKongVaultMigration = { @@ -332,7 +332,7 @@ export type TKongVaultStrategy = { name: string description: string netAPR: number | null - estimatedAPY?: number + estimatedAPY?: number | null status: 'active' | 'not_active' | 'unallocated' details?: { totalDebt: string @@ -644,7 +644,7 @@ export const getVaultAPR = (vault: TKongVaultInput, snapshot?: TKongVaultSnapsho inception: pickNumber(snapshot?.apy?.inceptionNet ?? null, historical?.inceptionNet) }, pricePerShare: { - today: normalizePricePerShare(snapshot?.apy?.pricePerShare, token.decimals), + today: normalizePricePerShare(snapshot?.apy?.pricePerShare ?? vault.pricePerShare, token.decimals), weekAgo: normalizePricePerShare(snapshot?.apy?.weeklyPricePerShare, token.decimals), monthAgo: normalizePricePerShare(snapshot?.apy?.monthlyPricePerShare, token.decimals) }, @@ -656,8 +656,8 @@ export const getVaultAPR = (vault: TKongVaultInput, snapshot?: TKongVaultSnapsho } } -const mapSnapshotStakingRewards = ( - rewards: TKongVaultSnapshotStakingReward[] | undefined +const mapStakingRewards = ( + rewards: TKongVaultSnapshotStakingReward[] | TKongVaultListItemStakingReward[] | undefined ): TKongVaultStakingReward[] => { if (!rewards || rewards.length === 0) { return [] @@ -686,8 +686,8 @@ export const getVaultStaking = (vault: TKongVaultInput, snapshot?: TKongVaultSna return { address: toAddress(snapshotStaking?.address ?? listStaking?.address ?? zeroAddress), available: Boolean(snapshotStaking?.available ?? listStaking?.available ?? false), - source: snapshotStaking?.source ?? '', - rewards: mapSnapshotStakingRewards(snapshotStaking?.rewards) + source: snapshotStaking?.source ?? listStaking?.source ?? '', + rewards: mapStakingRewards(snapshotStaking?.rewards ?? listStaking?.rewards) } } diff --git a/src/components/pages/vaults/domain/normalizeVault.test.ts b/src/components/pages/vaults/domain/normalizeVault.test.ts new file mode 100644 index 000000000..80f46f6ad --- /dev/null +++ b/src/components/pages/vaults/domain/normalizeVault.test.ts @@ -0,0 +1,19 @@ +import { describe, expect, it } from 'vitest' +import { + getCanonicalHoldingsVaultAddress, + getHoldingsAliasVaultAddress, + YBOLD_STAKING_ADDRESS, + YBOLD_VAULT_ADDRESS +} from './normalizeVault' + +describe('holdings alias helpers', () => { + it('maps the yBOLD staking wrapper to the base vault', () => { + expect(getHoldingsAliasVaultAddress(YBOLD_STAKING_ADDRESS)).toBe(YBOLD_VAULT_ADDRESS) + expect(getCanonicalHoldingsVaultAddress(YBOLD_STAKING_ADDRESS)).toBe(YBOLD_VAULT_ADDRESS) + }) + + it('keeps non-aliased vaults canonicalized to themselves', () => { + expect(getHoldingsAliasVaultAddress(YBOLD_VAULT_ADDRESS)).toBeUndefined() + expect(getCanonicalHoldingsVaultAddress(YBOLD_VAULT_ADDRESS)).toBe(YBOLD_VAULT_ADDRESS) + }) +}) diff --git a/src/components/pages/vaults/domain/normalizeVault.ts b/src/components/pages/vaults/domain/normalizeVault.ts index 0d06a36a8..6c13186ac 100644 --- a/src/components/pages/vaults/domain/normalizeVault.ts +++ b/src/components/pages/vaults/domain/normalizeVault.ts @@ -7,12 +7,18 @@ import { type Address, zeroAddress } from 'viem' export const YBOLD_VAULT_ADDRESS: Address = '0x9F4330700a36B29952869fac9b33f45EEdd8A3d8' export const YBOLD_STAKING_ADDRESS: Address = '0x23346B04a7f55b8760E5860AA5A77383D63491cD' +const HOLDINGS_ALIAS_BY_ADDRESS: Record = { + [toAddress(YBOLD_STAKING_ADDRESS)]: YBOLD_VAULT_ADDRESS +} + export function mergeYBoldVault(baseVault: TKongVaultListItem, stakedVault: TKongVaultListItem): TKongVaultListItem { return { ...baseVault, staking: { address: YBOLD_STAKING_ADDRESS, - available: true + available: true, + source: 'yBOLD', + rewards: stakedVault.staking?.rewards ?? baseVault.staking?.rewards ?? [] }, performance: { ...(baseVault.performance ?? {}), @@ -93,3 +99,15 @@ export function patchYBoldVaults(vaults: TDict): TDict { + it('matches the expected copy', () => { + expect(NON_YEARN_ERC4626_WARNING_MESSAGE).toBe( + 'This is a non-Yearn ERC-4626 Vault. Please be careful when interacting with it.' + ) + }) +}) + +describe('isNonYearnErc4626Vault', () => { + it('returns false for catalog Yearn vaults', () => { + expect( + isNonYearnErc4626Vault({ + vault: { + origin: 'yearn', + inclusion: { isYearn: true } + } as any + }) + ).toBe(false) + }) + + it('returns true when the list origin is missing', () => { + expect( + isNonYearnErc4626Vault({ + vault: { + origin: null, + inclusion: {} + } as any + }) + ).toBe(true) + }) + + it('returns true when the list origin is not yearn', () => { + expect( + isNonYearnErc4626Vault({ + vault: { + origin: 'partner', + inclusion: { isYearn: true } + } as any + }) + ).toBe(true) + }) + + it('returns true when inclusion explicitly marks the vault as non-Yearn', () => { + expect( + isNonYearnErc4626Vault({ + vault: { + origin: 'yearn', + inclusion: { isYearn: false } + } as any + }) + ).toBe(true) + }) + + it('returns true from snapshot metadata when list metadata is unavailable', () => { + expect( + isNonYearnErc4626Vault({ + snapshot: { + inclusion: { isYearn: false } + } as any + }) + ).toBe(true) + }) +}) diff --git a/src/components/pages/vaults/domain/vaultWarnings.ts b/src/components/pages/vaults/domain/vaultWarnings.ts new file mode 100644 index 000000000..690e2dba2 --- /dev/null +++ b/src/components/pages/vaults/domain/vaultWarnings.ts @@ -0,0 +1,23 @@ +import type { TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import type { TKongVaultSnapshot } from '@shared/utils/schemas/kongVaultSnapshotSchema' + +export const NON_YEARN_ERC4626_WARNING_MESSAGE = + 'This is a non-Yearn ERC-4626 Vault. Please be careful when interacting with it.' + +export function isNonYearnErc4626Vault({ + vault, + snapshot +}: { + vault?: TKongVault + snapshot?: TKongVaultSnapshot +}): boolean { + if (vault) { + return vault.origin !== 'yearn' || vault.inclusion?.isYearn === false + } + + if (snapshot?.inclusion?.isYearn === false) { + return true + } + + return false +} diff --git a/src/components/pages/vaults/hooks/actions/stakingAdapter.test.ts b/src/components/pages/vaults/hooks/actions/stakingAdapter.test.ts new file mode 100644 index 000000000..12e0933c9 --- /dev/null +++ b/src/components/pages/vaults/hooks/actions/stakingAdapter.test.ts @@ -0,0 +1,188 @@ +import { erc4626Abi } from '@shared/contracts/abi/4626.abi' +import { STAKING_REWARDS_ABI } from '@shared/contracts/abi/stakingRewards.abi' +import { TOKENIZED_STRATEGY_ABI } from '@shared/contracts/abi/tokenizedStrategy.abi' +import { VEYFI_GAUGE_ABI } from '@shared/contracts/abi/veYFIGauge.abi' +import { describe, expect, it } from 'vitest' +import { + getDirectStakeCall, + getDirectUnstakeCalls, + getStakePreviewCall, + getStakingWithdrawableAssets, + normalizeStakingSource +} from './stakingAdapter' + +describe('stakingAdapter', () => { + it('normalizes known and unknown staking sources', () => { + expect(normalizeStakingSource('VeYFI')).toBe('VeYFI') + expect(normalizeStakingSource('yBOLD')).toBe('yBOLD') + expect(normalizeStakingSource('Legacy')).toBe('default') + }) + + it('builds stake preview calls for source-specific ERC4626 staking', () => { + const amount = 42n + expect(getStakePreviewCall('VeYFI', amount)).toMatchObject({ + abi: VEYFI_GAUGE_ABI, + functionName: 'previewDeposit', + args: [amount] + }) + expect(getStakePreviewCall('yBOLD', amount)).toMatchObject({ + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'previewDeposit', + args: [amount] + }) + expect(getStakePreviewCall('Legacy', amount)).toBeUndefined() + }) + + it('builds direct stake calls per staking source', () => { + const amount = 100n + const account = '0x1111111111111111111111111111111111111111' + + expect(getDirectStakeCall({ stakingSource: 'VeYFI', amount, account })).toMatchObject({ + abi: VEYFI_GAUGE_ABI, + functionName: 'deposit', + args: [amount] + }) + + expect(getDirectStakeCall({ stakingSource: 'yBOLD', amount, account })).toMatchObject({ + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'deposit', + args: [amount, account] + }) + + expect(getDirectStakeCall({ stakingSource: 'Legacy', amount, account })).toMatchObject({ + abi: STAKING_REWARDS_ABI, + functionName: 'stake', + args: [amount] + }) + }) + + it('builds direct unstake calls with source-first + fallback behavior', () => { + const amount = 321n + const account = '0x1111111111111111111111111111111111111111' + + const yboldCalls = getDirectUnstakeCalls({ stakingSource: 'yBOLD', amount, account }) + expect(yboldCalls.primary).toMatchObject({ + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'withdraw', + args: [amount, account, account] + }) + expect(yboldCalls.fallback).toMatchObject({ + abi: STAKING_REWARDS_ABI, + functionName: 'withdraw', + args: [amount] + }) + + const defaultCalls = getDirectUnstakeCalls({ stakingSource: 'Legacy', amount, account }) + expect(defaultCalls.primary).toMatchObject({ + abi: STAKING_REWARDS_ABI, + functionName: 'withdraw', + args: [amount] + }) + expect(defaultCalls.fallback).toMatchObject({ + abi: erc4626Abi, + functionName: 'withdraw', + args: [amount, account, account] + }) + }) + + it('falls back to maxWithdraw when maxRedeem conversion is unavailable', async () => { + const account = '0x1111111111111111111111111111111111111111' + const stakingAddress = '0x2222222222222222222222222222222222222222' + const read = async ({ + functionName + }: { + functionName: string + address: `0x${string}` + abi: readonly unknown[] + args?: readonly unknown[] + }) => { + if (functionName === 'maxRedeem') throw new Error('missing') + if (functionName === 'maxWithdraw') return 123n + return 0n + } + + const result = await getStakingWithdrawableAssets({ + read, + stakingAddress, + account, + stakingSource: 'yBOLD', + stakingShareBalance: 99n + }) + + expect(result).toBe(123n) + }) + + it('prefers maxRedeem + convertToAssets for ERC4626 wrappers', async () => { + const account = '0x1111111111111111111111111111111111111111' + const stakingAddress = '0x2222222222222222222222222222222222222222' + const read = async ({ + functionName + }: { + functionName: string + address: `0x${string}` + abi: readonly unknown[] + args?: readonly unknown[] + }) => { + if (functionName === 'maxRedeem') return 99n + if (functionName === 'convertToAssets') return 150n + if (functionName === 'maxWithdraw') return 123n + return 0n + } + + const result = await getStakingWithdrawableAssets({ + read, + stakingAddress, + account, + stakingSource: 'yBOLD', + stakingShareBalance: 99n + }) + + expect(result).toBe(150n) + }) + + it('falls back to convertToAssets and then raw balance for withdrawable assets', async () => { + const account = '0x1111111111111111111111111111111111111111' + const stakingAddress = '0x2222222222222222222222222222222222222222' + + const convertRead = async ({ + functionName + }: { + functionName: string + address: `0x${string}` + abi: readonly unknown[] + args?: readonly unknown[] + }) => { + if (functionName === 'maxRedeem') { + throw new Error('missing') + } + if (functionName === 'maxWithdraw') { + throw new Error('missing') + } + if (functionName === 'convertToAssets') { + return 456n + } + return 0n + } + + const converted = await getStakingWithdrawableAssets({ + read: convertRead, + stakingAddress, + account, + stakingSource: 'yBOLD', + stakingShareBalance: 99n + }) + expect(converted).toBe(456n) + + const failingRead = async () => { + throw new Error('missing') + } + const fallback = await getStakingWithdrawableAssets({ + read: failingRead, + stakingAddress, + account, + stakingSource: 'yBOLD', + stakingShareBalance: 99n + }) + expect(fallback).toBe(99n) + }) +}) diff --git a/src/components/pages/vaults/hooks/actions/stakingAdapter.ts b/src/components/pages/vaults/hooks/actions/stakingAdapter.ts new file mode 100644 index 000000000..e248c6f08 --- /dev/null +++ b/src/components/pages/vaults/hooks/actions/stakingAdapter.ts @@ -0,0 +1,349 @@ +import { erc4626Abi } from '@shared/contracts/abi/4626.abi' +import { STAKING_REWARDS_ABI } from '@shared/contracts/abi/stakingRewards.abi' +import { TOKENIZED_STRATEGY_ABI } from '@shared/contracts/abi/tokenizedStrategy.abi' +import { VEYFI_GAUGE_ABI } from '@shared/contracts/abi/veYFIGauge.abi' +import type { Address } from 'viem' + +export type StakingSourceKind = 'VeYFI' | 'yBOLD' | 'default' + +export type StakingCall = { + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] +} + +type DirectStakeCallInput = { + stakingSource?: string + amount: bigint + account?: Address +} + +type DirectUnstakeCallInput = { + stakingSource?: string + amount: bigint + account?: Address + redeemAll?: boolean + maxRedeemShares?: bigint +} + +type StakingWithdrawableAssetsInput = { + read: (request: { + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] + }) => Promise + stakingAddress: Address + account: Address + stakingSource?: string + stakingShareBalance: bigint +} + +export function normalizeStakingSource(stakingSource?: string): StakingSourceKind { + if (stakingSource === 'VeYFI') return 'VeYFI' + if (stakingSource === 'yBOLD') return 'yBOLD' + return 'default' +} + +export function getStakePreviewCall(stakingSource: string | undefined, amount: bigint): StakingCall | undefined { + const source = normalizeStakingSource(stakingSource) + if (source === 'VeYFI') { + return { + abi: VEYFI_GAUGE_ABI, + functionName: 'previewDeposit', + args: [amount] + } + } + if (source === 'yBOLD') { + return { + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'previewDeposit', + args: [amount] + } + } + return undefined +} + +export function getDirectStakeCall({ stakingSource, amount, account }: DirectStakeCallInput): StakingCall { + const source = normalizeStakingSource(stakingSource) + + if (source === 'VeYFI') { + return { + abi: VEYFI_GAUGE_ABI, + functionName: 'deposit', + args: [amount] + } + } + + if (source === 'yBOLD') { + return { + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'deposit', + args: account ? [amount, account] : undefined + } + } + + return { + abi: STAKING_REWARDS_ABI, + functionName: 'stake', + args: [amount] + } +} + +export function getDirectUnstakeCalls({ + stakingSource, + amount, + account, + redeemAll, + maxRedeemShares +}: DirectUnstakeCallInput): { + primary: StakingCall + fallback?: StakingCall +} { + const source = normalizeStakingSource(stakingSource) + + const erc4626Call: StakingCall | undefined = account + ? { + abi: erc4626Abi, + functionName: 'withdraw', + args: [amount, account, account] + } + : undefined + + const rewardsCall: StakingCall = { + abi: STAKING_REWARDS_ABI, + functionName: 'withdraw', + args: [amount] + } + + const shouldRedeemAll = !!account && !!redeemAll && (maxRedeemShares ?? 0n) > 0n + const redeemShares = maxRedeemShares ?? 0n + + if (source === 'VeYFI') { + return { + primary: shouldRedeemAll + ? { + abi: VEYFI_GAUGE_ABI, + functionName: 'redeem', + args: [redeemShares, account, account] + } + : account + ? { + abi: VEYFI_GAUGE_ABI, + functionName: 'withdraw', + args: [amount, account, account] + } + : rewardsCall, + fallback: rewardsCall + } + } + + if (source === 'yBOLD') { + return { + primary: shouldRedeemAll + ? { + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'redeem', + args: [redeemShares, account, account] + } + : account + ? { + abi: TOKENIZED_STRATEGY_ABI, + functionName: 'withdraw', + args: [amount, account, account] + } + : rewardsCall, + fallback: rewardsCall + } + } + + return { + primary: rewardsCall, + fallback: erc4626Call + } +} + +async function readBigInt({ + read, + address, + abi, + functionName, + args +}: { + read: (request: { + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] + }) => Promise + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] +}): Promise { + try { + const value = await read({ + address, + abi, + functionName, + args + }) + return BigInt(value as bigint) + } catch { + return undefined + } +} + +async function readMaxRedeemConvertedAssets({ + read, + address, + abi, + account +}: { + read: (request: { + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] + }) => Promise + address: Address + abi: readonly unknown[] + account: Address +}): Promise { + const maxRedeem = await readBigInt({ + read, + address, + abi, + functionName: 'maxRedeem', + args: [account] + }) + if (maxRedeem === undefined) { + return undefined + } + + return readBigInt({ + read, + address, + abi, + functionName: 'convertToAssets', + args: [maxRedeem] + }) +} + +export async function getStakingWithdrawableAssets({ + read, + stakingAddress, + account, + stakingSource, + stakingShareBalance +}: StakingWithdrawableAssetsInput): Promise { + const source = normalizeStakingSource(stakingSource) + + const mappedAbi = source === 'VeYFI' ? VEYFI_GAUGE_ABI : source === 'yBOLD' ? TOKENIZED_STRATEGY_ABI : undefined + + if (mappedAbi) { + const mappedRedeemableAssets = await readMaxRedeemConvertedAssets({ + read, + address: stakingAddress, + abi: mappedAbi, + account + }) + if (mappedRedeemableAssets !== undefined) { + return mappedRedeemableAssets + } + + const mappedMaxWithdraw = await readBigInt({ + read, + address: stakingAddress, + abi: mappedAbi, + functionName: 'maxWithdraw', + args: [account] + }) + if (mappedMaxWithdraw !== undefined) { + return mappedMaxWithdraw + } + + const mappedConvertedAssets = await readBigInt({ + read, + address: stakingAddress, + abi: mappedAbi, + functionName: 'convertToAssets', + args: [stakingShareBalance] + }) + if (mappedConvertedAssets !== undefined) { + return mappedConvertedAssets + } + } + + const genericRedeemableAssets = await readMaxRedeemConvertedAssets({ + read, + address: stakingAddress, + abi: erc4626Abi, + account + }) + if (genericRedeemableAssets !== undefined) { + return genericRedeemableAssets + } + + const genericMaxWithdraw = await readBigInt({ + read, + address: stakingAddress, + abi: erc4626Abi, + functionName: 'maxWithdraw', + args: [account] + }) + if (genericMaxWithdraw !== undefined) { + return genericMaxWithdraw + } + + const genericConvertedAssets = await readBigInt({ + read, + address: stakingAddress, + abi: erc4626Abi, + functionName: 'convertToAssets', + args: [stakingShareBalance] + }) + if (genericConvertedAssets !== undefined) { + return genericConvertedAssets + } + + return stakingShareBalance +} + +export async function getStakingRedeemableShares({ + read, + stakingAddress, + account, + stakingSource, + stakingShareBalance +}: StakingWithdrawableAssetsInput): Promise { + const source = normalizeStakingSource(stakingSource) + + const mappedAbi = source === 'VeYFI' ? VEYFI_GAUGE_ABI : source === 'yBOLD' ? TOKENIZED_STRATEGY_ABI : undefined + + if (mappedAbi) { + const mappedMaxRedeem = await readBigInt({ + read, + address: stakingAddress, + abi: mappedAbi, + functionName: 'maxRedeem', + args: [account] + }) + if (mappedMaxRedeem !== undefined) { + return mappedMaxRedeem + } + } + + const genericMaxRedeem = await readBigInt({ + read, + address: stakingAddress, + abi: erc4626Abi, + functionName: 'maxRedeem', + args: [account] + }) + if (genericMaxRedeem !== undefined) { + return genericMaxRedeem + } + + return stakingShareBalance +} diff --git a/src/components/pages/vaults/hooks/actions/useDirectStake.ts b/src/components/pages/vaults/hooks/actions/useDirectStake.ts index e2cd07ddd..3a5fc84ce 100644 --- a/src/components/pages/vaults/hooks/actions/useDirectStake.ts +++ b/src/components/pages/vaults/hooks/actions/useDirectStake.ts @@ -1,11 +1,9 @@ import type { UseWidgetDepositFlowReturn } from '@pages/vaults/types' -import { STAKING_REWARDS_ABI } from '@shared/contracts/abi/stakingRewards.abi' -import { TOKENIZED_STRATEGY_ABI } from '@shared/contracts/abi/tokenizedStrategy.abi' -import { VEYFI_GAUGE_ABI } from '@shared/contracts/abi/veYFIGauge.abi' import type { Address } from 'viem' import { erc20Abi } from 'viem' import { type UseSimulateContractReturnType, useReadContract, useSimulateContract } from 'wagmi' import { useTokenAllowance } from '../useTokenAllowance' +import { getDirectStakeCall, getStakePreviewCall, normalizeStakingSource } from './stakingAdapter' interface UseDirectStakeParams { stakingAddress?: Address @@ -28,43 +26,22 @@ export function useDirectStake(params: UseDirectStakeParams): UseWidgetDepositFl chainId: params.chainId }) - // Fetch expected stake amount based on staking type - // For VeYFI: use previewDeposit - const { data: veYFIExpectedAmount = 0n } = useReadContract({ - address: params.stakingAddress, - abi: VEYFI_GAUGE_ABI, - functionName: 'previewDeposit', - args: [params.amount], - chainId: params.chainId, - query: { - enabled: params.enabled && params.stakingSource === 'VeYFI' && params.amount > 0n && !!params.stakingAddress - } - }) + const stakingSource = normalizeStakingSource(params.stakingSource) + const previewCall = getStakePreviewCall(params.stakingSource, params.amount) - // For yBOLD: use previewDeposit - const { data: yBOLDExpectedAmount = 0n } = useReadContract({ + const { data: previewExpectedAmountData } = useReadContract({ address: params.stakingAddress, - abi: TOKENIZED_STRATEGY_ABI, - functionName: 'previewDeposit', - args: [params.amount], + abi: (previewCall?.abi || []) as any, + functionName: (previewCall?.functionName || 'previewDeposit') as any, + args: previewCall?.args as any, chainId: params.chainId, query: { - enabled: params.enabled && params.stakingSource === 'yBOLD' && params.amount > 0n && !!params.stakingAddress + enabled: params.enabled && params.amount > 0n && !!params.stakingAddress && !!previewCall } }) - // Calculate expected stake amount based on staking source - const expectedOut = (() => { - switch (params.stakingSource) { - case 'VeYFI': - return veYFIExpectedAmount - case 'yBOLD': - return yBOLDExpectedAmount - default: - // 1:1 for default staking - return params.amount - } - })() + const previewExpectedAmount = (previewExpectedAmountData as bigint | undefined) ?? 0n + const expectedOut = stakingSource === 'default' ? params.amount : previewExpectedAmount const isValidInput = params.amount > 0n && !!params.stakingAddress const isAllowanceSufficient = allowance >= params.amount @@ -81,36 +58,17 @@ export function useDirectStake(params: UseDirectStakeParams): UseWidgetDepositFl query: { enabled: prepareApproveEnabled } }) - // Prepare stake transaction (varies by staking source) - mapped to prepareDeposit for unified interface - const { abi, functionName, args } = (() => { - switch (params.stakingSource) { - case 'VeYFI': - return { - abi: VEYFI_GAUGE_ABI, - functionName: 'deposit' as const, - args: [params.amount] as const - } - case 'yBOLD': - return { - abi: TOKENIZED_STRATEGY_ABI, - functionName: 'deposit' as const, - args: [params.amount, params.account] as const - } - default: - // Default staking (OP Boost, V3 Staking, Juiced) - return { - abi: STAKING_REWARDS_ABI, - functionName: 'stake' as const, - args: [params.amount] as const - } - } - })() + const stakeCall = getDirectStakeCall({ + stakingSource: params.stakingSource, + amount: params.amount, + account: params.account + }) const prepareDeposit: UseSimulateContractReturnType = useSimulateContract({ - abi, - functionName, + abi: stakeCall.abi as any, + functionName: stakeCall.functionName as any, address: params.stakingAddress, - args: args as [bigint, Address], + args: stakeCall.args as any, account: params.account, chainId: params.chainId, query: { enabled: prepareDepositEnabled } diff --git a/src/components/pages/vaults/hooks/actions/useDirectUnstake.ts b/src/components/pages/vaults/hooks/actions/useDirectUnstake.ts index d46cf6980..92196fadf 100644 --- a/src/components/pages/vaults/hooks/actions/useDirectUnstake.ts +++ b/src/components/pages/vaults/hooks/actions/useDirectUnstake.ts @@ -1,14 +1,17 @@ import type { UseWidgetWithdrawFlowReturn } from '@pages/vaults/types' -import { gaugeV2Abi } from '@shared/contracts/abi/gaugeV2.abi' import type { Address } from 'viem' import { maxUint256 } from 'viem' import { type UseSimulateContractReturnType, useSimulateContract } from 'wagmi' +import { getDirectUnstakeCalls } from './stakingAdapter' interface UseDirectUnstakeParams { stakingAddress?: Address amount: bigint // vault token amount to unstake + redeemAll?: boolean + maxRedeemShares?: bigint account?: Address chainId: number + stakingSource?: string enabled: boolean } @@ -16,17 +19,40 @@ export function useDirectUnstake(params: UseDirectUnstakeParams): UseWidgetWithd const isValidInput = params.amount > 0n && !!params.stakingAddress const prepareWithdrawEnabled = isValidInput && !!params.account && params.enabled - // Prepare unstake transaction using gauge withdraw function - // withdraw(amount, receiver, owner) - no approval needed when owner == msg.sender - const prepareWithdraw: UseSimulateContractReturnType = useSimulateContract({ - abi: gaugeV2Abi, - functionName: 'withdraw', + const unstakeCalls = getDirectUnstakeCalls({ + stakingSource: params.stakingSource, + amount: params.amount, + account: params.account, + redeemAll: params.redeemAll, + maxRedeemShares: params.maxRedeemShares + }) + + const preparePrimaryWithdraw: UseSimulateContractReturnType = useSimulateContract({ + abi: unstakeCalls.primary.abi as any, + functionName: unstakeCalls.primary.functionName as any, address: params.stakingAddress, - args: params.stakingAddress && params.account ? [params.amount, params.account, params.account] : undefined, + args: unstakeCalls.primary.args as any, chainId: params.chainId, + account: params.account, query: { enabled: prepareWithdrawEnabled } }) + const shouldTryFallback = + prepareWithdrawEnabled && !!unstakeCalls.fallback && !!params.stakingAddress && preparePrimaryWithdraw.isError + + const prepareFallbackWithdraw: UseSimulateContractReturnType = useSimulateContract({ + abi: (unstakeCalls.fallback?.abi || []) as any, + functionName: (unstakeCalls.fallback?.functionName || 'withdraw') as any, + address: params.stakingAddress, + args: unstakeCalls.fallback?.args as any, + chainId: params.chainId, + account: params.account, + query: { enabled: shouldTryFallback } + }) + + const prepareWithdraw: UseSimulateContractReturnType = + unstakeCalls.fallback && preparePrimaryWithdraw.isError ? prepareFallbackWithdraw : preparePrimaryWithdraw + return { actions: { prepareWithdraw diff --git a/src/components/pages/vaults/hooks/actions/useDirectWithdraw.ts b/src/components/pages/vaults/hooks/actions/useDirectWithdraw.ts index dae9e4bf3..60fdb26a0 100644 --- a/src/components/pages/vaults/hooks/actions/useDirectWithdraw.ts +++ b/src/components/pages/vaults/hooks/actions/useDirectWithdraw.ts @@ -2,25 +2,60 @@ import type { UseWidgetWithdrawFlowReturn } from '@pages/vaults/types' import { erc4626Abi } from '@shared/contracts/abi/4626.abi' import { vaultAbi } from '@shared/contracts/abi/vaultV2.abi' import { toAddress } from '@shared/utils' +import { useMemo } from 'react' import type { Address } from 'viem' import { maxUint256 } from 'viem' import { type UseSimulateContractReturnType, useSimulateContract } from 'wagmi' interface UseDirectWithdrawParams { vaultAddress: Address - assetAddress: Address amount: bigint // desired underlying asset amount maxShares?: bigint // full share balance for redeem-all + redeemSharesOverride?: bigint // exact vault shares to redeem in fallback unstake->withdraw flows redeemAll?: boolean pricePerShare: bigint // pre-fetched from component account?: Address chainId: number - decimals: number // asset decimals vaultDecimals: number // vault decimals enabled: boolean useErc4626: boolean } +function computeExpectedOut(params: { + amount: bigint + pricePerShare: bigint + redeemAll: boolean + shouldRedeemExactShares: boolean + redeemShares: bigint + vaultDecimals: number +}): bigint { + if (!params.redeemAll && !params.shouldRedeemExactShares) { + return params.amount + } + + if (params.pricePerShare === 0n) { + return 0n + } + + return (params.redeemShares * params.pricePerShare) / 10n ** BigInt(params.vaultDecimals) +} + +function areContractArgsEqual(actual?: readonly unknown[], expected?: readonly unknown[]): boolean { + if (!actual && !expected) return true + if (!actual || !expected || actual.length !== expected.length) return false + + return actual.every((value, index) => { + const nextValue = expected[index] + if (typeof value === 'bigint' || typeof nextValue === 'bigint') { + return value === nextValue + } + if (typeof value === 'string' && typeof nextValue === 'string') { + return value.toLowerCase() === nextValue.toLowerCase() + } + return value === nextValue + }) +} + export function useDirectWithdraw(params: UseDirectWithdrawParams): UseWidgetWithdrawFlowReturn { // Calculate required vault shares from desired underlying amount // Formula: requiredShares = (desiredUnderlying * 10^vaultDecimals) / pricePerShare @@ -29,24 +64,33 @@ export function useDirectWithdraw(params: UseDirectWithdrawParams): UseWidgetWit ? (params.amount * 10n ** BigInt(params.vaultDecimals) + params.pricePerShare - 1n) / params.pricePerShare : 0n + const redeemSharesOverride = params.redeemSharesOverride ?? 0n + const shouldRedeemExactShares = redeemSharesOverride > 0n const redeemAll = !!params.redeemAll && (params.maxShares ?? 0n) > 0n - const redeemShares = redeemAll ? (params.maxShares ?? 0n) : 0n + const redeemShares = shouldRedeemExactShares ? redeemSharesOverride : redeemAll ? (params.maxShares ?? 0n) : 0n - const isValidInput = redeemAll ? redeemShares > 0n : params.amount > 0n && requiredShares > 0n + const isValidInput = + shouldRedeemExactShares || redeemAll ? redeemShares > 0n : params.amount > 0n && requiredShares > 0n const prepareWithdrawEnabled = isValidInput && !!params.account && params.enabled + const accountAddress = prepareWithdrawEnabled && params.account ? toAddress(params.account) : undefined + const erc4626FunctionName = redeemShares > 0n ? 'redeem' : 'withdraw' + const erc4626Args: readonly [bigint, Address, Address] | undefined = accountAddress + ? redeemShares > 0n + ? [redeemShares, accountAddress, accountAddress] + : [params.amount, accountAddress, accountAddress] + : undefined + const withdrawV2Args: readonly [bigint, Address] | undefined = accountAddress + ? [redeemShares > 0n ? redeemShares : requiredShares, accountAddress] + : undefined // Prepare withdraw transaction using ERC4626 withdraw function // withdraw(assets, receiver, owner) - no approval needed when owner == msg.sender const prepareWithdrawErc4626: UseSimulateContractReturnType = useSimulateContract({ abi: erc4626Abi, - functionName: redeemAll ? 'redeem' : 'withdraw', + functionName: erc4626FunctionName, address: params.vaultAddress, - args: params.account - ? redeemAll - ? [redeemShares, toAddress(params.account), toAddress(params.account)] - : [params.amount, toAddress(params.account), toAddress(params.account)] - : undefined, - account: params.account ? toAddress(params.account) : undefined, + args: erc4626Args, + account: accountAddress, chainId: params.chainId, query: { enabled: prepareWithdrawEnabled && params.useErc4626 } }) @@ -55,19 +99,54 @@ export function useDirectWithdraw(params: UseDirectWithdrawParams): UseWidgetWit abi: vaultAbi, functionName: 'withdraw', address: params.vaultAddress, - args: params.account ? [redeemAll ? redeemShares : requiredShares, toAddress(params.account)] : undefined, - account: params.account ? toAddress(params.account) : undefined, + args: withdrawV2Args, + account: accountAddress, chainId: params.chainId, query: { enabled: prepareWithdrawEnabled && !params.useErc4626 } }) - const prepareWithdraw = params.useErc4626 ? prepareWithdrawErc4626 : prepareWithdrawV2 + const prepareWithdraw = useMemo((): UseSimulateContractReturnType => { + const livePrepare = params.useErc4626 ? prepareWithdrawErc4626 : prepareWithdrawV2 + const expectedArgs = params.useErc4626 ? erc4626Args : withdrawV2Args + const expectedFunctionName = params.useErc4626 ? erc4626FunctionName : 'withdraw' + const request = livePrepare.data?.request as + | { + args?: readonly unknown[] + functionName?: string + } + | undefined + const hasCurrentRequest = + prepareWithdrawEnabled && + request?.functionName === expectedFunctionName && + areContractArgsEqual(request.args, expectedArgs) - const expectedOut = redeemAll - ? params.pricePerShare > 0n - ? (redeemShares * params.pricePerShare) / 10n ** BigInt(params.vaultDecimals) - : 0n - : params.amount + if (hasCurrentRequest) { + return livePrepare + } + + return { + ...livePrepare, + data: undefined, + isSuccess: false + } as UseSimulateContractReturnType + }, [ + prepareWithdrawEnabled, + params.useErc4626, + prepareWithdrawErc4626, + prepareWithdrawV2, + erc4626Args, + withdrawV2Args, + erc4626FunctionName + ]) + + const expectedOut = computeExpectedOut({ + amount: params.amount, + pricePerShare: params.pricePerShare, + redeemAll, + shouldRedeemExactShares, + redeemShares, + vaultDecimals: params.vaultDecimals + }) return { actions: { diff --git a/src/components/pages/vaults/hooks/actions/useEnsoDeposit.ts b/src/components/pages/vaults/hooks/actions/useEnsoDeposit.ts index 2afc98a0d..469f81cd9 100644 --- a/src/components/pages/vaults/hooks/actions/useEnsoDeposit.ts +++ b/src/components/pages/vaults/hooks/actions/useEnsoDeposit.ts @@ -67,7 +67,7 @@ export function useEnsoDeposit(params: UseEnsoDepositParams): UseWidgetDepositFl }, periphery: { prepareApproveEnabled: ensoFlow.periphery.prepareApproveEnabled, - prepareDepositEnabled: !!ensoFlow.periphery.route && params.amount > 0n, + prepareDepositEnabled: Boolean(canDeposit && !ensoFlow.periphery.isLoadingRoute), isAllowanceSufficient: isEnsoAllowanceSufficient, allowance: ensoFlow.periphery.allowance, expectedOut: ensoFlow.periphery.expectedOut.raw, diff --git a/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts index 5d14d21ee..ef2da7b7c 100644 --- a/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts +++ b/src/components/pages/vaults/hooks/actions/useYvUsdLockedZapWithdraw.ts @@ -3,7 +3,7 @@ import { YVUSD_LOCKED_ADDRESS, YVUSD_LOCKED_ZAP_ADDRESS } from '@pages/vaults/ut import { yvUsdLockedZapAbi } from '@shared/contracts/abi/yvUsdLockedZap.abi' import { toAddress } from '@shared/utils' import type { Address } from 'viem' -import { erc20Abi, maxUint256 } from 'viem' +import { erc20Abi } from 'viem' import type { UseSimulateContractReturnType } from 'wagmi' import { useSimulateContract } from 'wagmi' import { useTokenAllowance } from '../useTokenAllowance' @@ -11,11 +11,20 @@ import { useTokenAllowance } from '../useTokenAllowance' interface UseYvUsdLockedZapWithdrawParams { amount: bigint requiredShares: bigint + optimisticApprovedShares?: bigint | null account?: Address chainId: number enabled: boolean } +function getEffectiveApprovedShares(allowance: bigint, optimisticApprovedShares?: bigint | null): bigint { + if (optimisticApprovedShares && optimisticApprovedShares > allowance) { + return optimisticApprovedShares + } + + return allowance +} + export function useYvUsdLockedZapWithdraw(params: UseYvUsdLockedZapWithdrawParams): UseWidgetWithdrawFlowReturn { const { allowance = 0n } = useTokenAllowance({ account: params.account, @@ -25,7 +34,8 @@ export function useYvUsdLockedZapWithdraw(params: UseYvUsdLockedZapWithdrawParam chainId: params.chainId }) - const isAllowanceSufficient = allowance >= params.requiredShares + const effectiveApprovedShares = getEffectiveApprovedShares(allowance, params.optimisticApprovedShares) + const isAllowanceSufficient = effectiveApprovedShares >= params.requiredShares const prepareApproveEnabled = !!params.account && params.enabled && params.amount > 0n && params.requiredShares > 0n && !isAllowanceSufficient const prepareWithdrawEnabled = @@ -59,7 +69,7 @@ export function useYvUsdLockedZapWithdraw(params: UseYvUsdLockedZapWithdrawParam prepareApproveEnabled, prepareWithdrawEnabled, isAllowanceSufficient, - allowance: isAllowanceSufficient ? maxUint256 : allowance, + allowance, expectedOut: params.amount, isLoadingRoute: false, isCrossChain: false, diff --git a/src/components/pages/vaults/hooks/useEnsoOrder.ts b/src/components/pages/vaults/hooks/useEnsoOrder.ts index b189bc1be..949b2f730 100644 --- a/src/components/pages/vaults/hooks/useEnsoOrder.ts +++ b/src/components/pages/vaults/hooks/useEnsoOrder.ts @@ -78,10 +78,11 @@ export const useEnsoOrder = ({ const ensoTx = getEnsoTransaction() useEffect(() => { + if (isExecuting || waitingForTx) return setError(null) setTxHash(undefined) setWaitingForTx(false) - }, [ensoTx?.data, ensoTx?.to, ensoTx?.value]) + }, [ensoTx?.data, ensoTx?.to, ensoTx?.value, isExecuting, waitingForTx]) // Handle receipt useEffect(() => { diff --git a/src/components/pages/vaults/hooks/useSortVaults.ts b/src/components/pages/vaults/hooks/useSortVaults.ts index acc67cfc2..3ed992615 100644 --- a/src/components/pages/vaults/hooks/useSortVaults.ts +++ b/src/components/pages/vaults/hooks/useSortVaults.ts @@ -1,11 +1,9 @@ import { - getVaultAddress, getVaultAPR, getVaultChainID, getVaultFeaturingScore, getVaultInfo, getVaultName, - getVaultStaking, getVaultToken, getVaultTVL, type TKongVaultInput, @@ -21,7 +19,7 @@ import { } from '@pages/vaults/utils/yvUsd' import { useWallet } from '@shared/contexts/useWallet' import type { TSortDirection } from '@shared/types' -import { isZeroAddress, normalizeApyDisplayValue, toAddress, toNormalizedBN } from '@shared/utils' +import { normalizeApyDisplayValue, toAddress, toNormalizedBN } from '@shared/utils' import { ETH_TOKEN_ADDRESS, WETH_TOKEN_ADDRESS, WFTM_TOKEN_ADDRESS } from '@shared/utils/constants' import { numberSort, stringSort } from '@shared/utils/helpers' import { calculateVaultEstimatedAPY } from '@shared/utils/vaultApy' @@ -44,7 +42,7 @@ export function useSortVaults { const unlockedBalance = getBalance({ address: YVUSD_UNLOCKED_ADDRESS, chainID: YVUSD_CHAIN_ID }).normalized @@ -61,7 +59,6 @@ export function useSortVaults { if (sortBy !== 'featuringScore' || sortDirection !== 'desc') { return false @@ -76,7 +73,7 @@ export function useSortVaults { + const sortedVaults = useMemo((): TVault[] => { if (sortDirection === '' || isFeaturingScoreSortedDesc) { return vaultList } @@ -85,19 +82,31 @@ export function useSortVaults { + const token = getVaultToken(vault) const chainID = getVaultChainID(vault) - const address = getVaultAddress(vault) - const staking = getVaultStaking(vault) - - const vaultToken = getToken({ address, chainID }) - const vaultValue = vaultToken.value || 0 - - const stakingValue = !isZeroAddress(toAddress(staking?.address)) - ? getToken({ address: staking.address, chainID }).value || 0 + const baseBalance = Number(getBalance({ address: token.address, chainID }).normalized || 0) + const nativeBalance = [WETH_TOKEN_ADDRESS, WFTM_TOKEN_ADDRESS].includes(toAddress(token.address)) + ? Number(getBalance({ address: ETH_TOKEN_ADDRESS, chainID }).normalized || 0) : 0 + return baseBalance + nativeBalance + } - return vaultValue + stakingValue + const depositedValueByVault = new Map() + if (sortBy === 'deposited') { + vaultList.forEach((vault) => { + depositedValueByVault.set(vault, getDepositedValue(vault)) + }) + } + + const availableValueByVault = new Map() + if (sortBy === 'available') { + vaultList.forEach((vault) => { + availableValueByVault.set(vault, getAvailableValue(vault)) + }) } const getApySortValue = (vault: TKongVaultInput): number => { @@ -133,7 +142,7 @@ export function useSortVaults { const aprA = getApySortValue(a) const aprB = getApySortValue(b) @@ -145,7 +154,6 @@ export function useSortVaults numberSort({ a: getVaultTVL(a).tvl, b: getVaultTVL(b).tvl, sortDirection }) @@ -167,31 +175,16 @@ export function useSortVaults numberSort({ - a: getDepositedValue(a), - b: getDepositedValue(b), + a: depositedValueByVault.get(a) || 0, + b: depositedValueByVault.get(b) || 0, sortDirection }) ) case 'available': return vaultList.toSorted((a, b): number => { - const tokenA = getVaultToken(a) - const tokenB = getVaultToken(b) - const chainA = getVaultChainID(a) - const chainB = getVaultChainID(b) - - const aBaseBalance = Number(getBalance({ address: tokenA.address, chainID: chainA })?.normalized || 0) - const bBaseBalance = Number(getBalance({ address: tokenB.address, chainID: chainB })?.normalized || 0) - const aEthBalance = [WETH_TOKEN_ADDRESS, WFTM_TOKEN_ADDRESS].includes(toAddress(tokenA.address)) - ? Number(getBalance({ address: ETH_TOKEN_ADDRESS, chainID: chainA })?.normalized || 0) - : 0 - const bEthBalance = [WETH_TOKEN_ADDRESS, WFTM_TOKEN_ADDRESS].includes(toAddress(tokenB.address)) - ? Number(getBalance({ address: ETH_TOKEN_ADDRESS, chainID: chainB })?.normalized || 0) - : 0 - const aBalance = aBaseBalance + aEthBalance - const bBalance = bBaseBalance + bEthBalance - - const direction = sortDirection === 'asc' ? 1 : -1 - return direction * (aBalance - bBalance) + const aValue = availableValueByVault.get(a) || 0 + const bValue = availableValueByVault.get(b) || 0 + return numberSort({ a: aValue, b: bValue, sortDirection }) }) case 'featuringScore': return vaultList.toSorted((a, b): number => @@ -215,7 +208,7 @@ export function useSortVaults { - const contract = getContract({ - address, - abi: erc20Abi, - client - }) + try { + const contract = getContract({ + address, + abi: erc20Abi, + client + }) + const [balanceResult, decimalsResult, symbolResult, nameResult] = await Promise.allSettled([ + account ? contract.read.balanceOf([account]) : Promise.resolve(0n), + contract.read.decimals(), + contract.read.symbol(), + contract.read.name() + ]) - const [decimals, symbol, name, balance] = await Promise.all([ - contract.read.decimals(), - contract.read.symbol(), - contract.read.name(), - account ? contract.read.balanceOf([account]) : Promise.resolve(0n) - ]) + const balance = balanceResult.status === 'fulfilled' ? balanceResult.value : 0n + const decimals = decimalsResult.status === 'fulfilled' ? Number(decimalsResult.value) : 18 + const symbol = symbolResult.status === 'fulfilled' ? String(symbolResult.value) : '???' + const name = nameResult.status === 'fulfilled' ? String(nameResult.value) : 'Unknown' - return { - address, - decimals: Number(decimals), - symbol: String(symbol), - name: String(name), - chainID: chainId, - balance: toNormalizedBN(balance, Number(decimals)) + return { + address, + decimals, + symbol, + name, + chainID: chainId, + balance: toNormalizedBN(balance, decimals) + } + } catch (error) { + console.error(`Failed to fetch token ${address}:`, error) + return { + address, + decimals: 18, + symbol: '???', + name: 'Unknown', + chainID: chainId, + balance: toNormalizedBN(0n, 18) + } } }) ) diff --git a/src/components/pages/vaults/hooks/useVaultUserData.ts b/src/components/pages/vaults/hooks/useVaultUserData.ts index ea75f7a1c..75d45d499 100644 --- a/src/components/pages/vaults/hooks/useVaultUserData.ts +++ b/src/components/pages/vaults/hooks/useVaultUserData.ts @@ -1,9 +1,11 @@ import { VAULT_V3_ABI } from '@shared/contracts/abi/vaultV3.abi' +import { toNormalizedBN } from '@shared/utils' import { useQuery } from '@tanstack/react-query' import { useCallback, useMemo } from 'react' import { type Address, getContract } from 'viem' import { useConfig } from 'wagmi' -import { getClient } from 'wagmi/actions' +import { getClient, readContract } from 'wagmi/actions' +import { getStakingRedeemableShares, getStakingWithdrawableAssets } from './actions/stakingAdapter' import { type Token, useTokens } from './useTokens' export interface VaultUserData { @@ -19,6 +21,8 @@ export interface VaultUserData { availableToDeposit: bigint depositedShares: bigint depositedValue: bigint + stakingWithdrawableAssets: bigint + stakingRedeemableShares: bigint // State isLoading: boolean @@ -29,6 +33,7 @@ interface UseVaultUserDataParams { vaultAddress: Address assetAddress: Address stakingAddress?: Address + stakingSource?: string chainId: number account?: Address } @@ -37,6 +42,7 @@ export const useVaultUserData = ({ vaultAddress, assetAddress, stakingAddress, + stakingSource, chainId, account }: UseVaultUserDataParams): VaultUserData => { @@ -76,20 +82,105 @@ export const useVaultUserData = ({ refetchOnReconnect: false }) + // Derive tokens + const [assetToken, vaultToken, rawStakingToken] = tokens + + const stakingToken = useMemo(() => { + if (!rawStakingToken) { + return undefined + } + + const metadataMissing = rawStakingToken.symbol === '???' || rawStakingToken.name === 'Unknown' + if (!metadataMissing) { + return rawStakingToken + } + + const fallbackDecimals = vaultToken?.decimals ?? rawStakingToken.decimals ?? 18 + return { + ...rawStakingToken, + decimals: fallbackDecimals, + symbol: vaultToken?.symbol ?? rawStakingToken.symbol, + name: vaultToken?.name ?? rawStakingToken.name, + balance: toNormalizedBN(rawStakingToken.balance.raw, fallbackDecimals) + } + }, [rawStakingToken, vaultToken?.decimals, vaultToken?.symbol, vaultToken?.name]) + + const stakingShareBalance = stakingToken?.balance.raw ?? 0n + + const { + data: stakingCapacity, + isLoading: isLoadingStakingWithdrawableAssets, + refetch: refetchStakingWithdrawableAssets + } = useQuery({ + queryKey: [ + 'stakingWithdrawableAssets', + stakingAddress?.toLowerCase(), + account?.toLowerCase(), + chainId, + stakingSource || '', + stakingShareBalance.toString() + ], + queryFn: async () => { + if (!stakingAddress || !account) { + return { + withdrawableAssets: stakingShareBalance, + redeemableShares: stakingShareBalance + } + } + + const read = (request: { + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] + }) => + readContract(config, { + chainId, + address: request.address, + abi: request.abi as any, + functionName: request.functionName as any, + args: request.args as any + }) + + const [withdrawableAssets, redeemableShares] = await Promise.all([ + getStakingWithdrawableAssets({ + read, + stakingAddress, + account, + stakingSource, + stakingShareBalance + }), + getStakingRedeemableShares({ + read, + stakingAddress, + account, + stakingSource, + stakingShareBalance + }) + ]) + + return { withdrawableAssets, redeemableShares } + }, + enabled: !!stakingAddress && !!account && !!chainId, + refetchOnMount: false, + refetchOnWindowFocus: false, + refetchOnReconnect: false + }) + // Combined refetch const refetch = useCallback(() => { refetchTokens() refetchPPS() - }, [refetchTokens, refetchPPS]) + refetchStakingWithdrawableAssets() + }, [refetchTokens, refetchPPS, refetchStakingWithdrawableAssets]) - // Derive tokens - const [assetToken, vaultToken, stakingToken] = tokens + const effectiveStakingWithdrawableAssets = stakingCapacity?.withdrawableAssets ?? stakingShareBalance + const effectiveStakingRedeemableShares = stakingCapacity?.redeemableShares ?? stakingShareBalance const depositedShares = useMemo(() => { const vaultBalance = vaultToken?.balance.raw ?? 0n - const stakingBalance = stakingToken?.balance.raw ?? 0n - return vaultBalance + stakingBalance - }, [vaultToken, stakingToken]) + return vaultBalance + effectiveStakingWithdrawableAssets + }, [vaultToken, effectiveStakingWithdrawableAssets]) const depositedValue = useMemo(() => { if (!pricePerShare || depositedShares === 0n) return 0n @@ -105,7 +196,9 @@ export const useVaultUserData = ({ availableToDeposit: assetToken?.balance.raw ?? 0n, depositedShares, depositedValue, - isLoading: isLoadingTokens || isLoadingPPS, + stakingWithdrawableAssets: effectiveStakingWithdrawableAssets, + stakingRedeemableShares: effectiveStakingRedeemableShares, + isLoading: isLoadingTokens || isLoadingPPS || isLoadingStakingWithdrawableAssets, refetch } } diff --git a/src/components/pages/vaults/hooks/useVaultsPageModel.ts b/src/components/pages/vaults/hooks/useVaultsPageModel.ts index 6fb29d30e..3723dd1fd 100644 --- a/src/components/pages/vaults/hooks/useVaultsPageModel.ts +++ b/src/components/pages/vaults/hooks/useVaultsPageModel.ts @@ -63,10 +63,10 @@ import { } from 'react' import { useVaultsListModel } from './useVaultsListModel' import { useVaultsQueryState } from './useVaultsQueryState' +import { VAULTS_FILTERS_STORAGE_KEY } from './vaultsFiltersStorage' const DEFAULT_VAULT_TYPES = ['multi', 'single'] const DEFAULT_SORT_BY: TPossibleSortBy = 'tvl' -const VAULTS_FILTERS_STORAGE_KEY = 'yearn.fi/vaults-filters@1' type TVaultsPinnedSection = { key: string diff --git a/src/components/pages/vaults/hooks/vaultsFiltersStorage.ts b/src/components/pages/vaults/hooks/vaultsFiltersStorage.ts new file mode 100644 index 000000000..d149191ea --- /dev/null +++ b/src/components/pages/vaults/hooks/vaultsFiltersStorage.ts @@ -0,0 +1,15 @@ +import { useLocalStorage } from '@shared/hooks/useLocalStorage' + +export const VAULTS_FILTERS_STORAGE_KEY = 'yearn.fi/vaults-filters@1' + +type TVaultsPersistedFilters = { + showHiddenVaults?: boolean +} + +export function usePersistedShowHiddenVaults(): boolean { + const [snapshot] = useLocalStorage(VAULTS_FILTERS_STORAGE_KEY, { + showHiddenVaults: false + }) + + return Boolean(snapshot?.showHiddenVaults) +} diff --git a/src/components/pages/vaults/utils/holdingsValue.ts b/src/components/pages/vaults/utils/holdingsValue.ts new file mode 100644 index 000000000..84d11b013 --- /dev/null +++ b/src/components/pages/vaults/utils/holdingsValue.ts @@ -0,0 +1,53 @@ +import { + getVaultAddress, + getVaultAPR, + getVaultChainID, + getVaultDecimals, + getVaultStaking, + getVaultToken, + getVaultTVL, + type TKongVaultInput +} from '@pages/vaults/domain/kongVaultSelectors' +import type { TAddress } from '@shared/types/address' +import type { TNormalizedBN } from '@shared/types/mixed' +import { isZeroAddress, toNormalizedBN } from '@shared/utils' + +type TTokenAndChain = { address: TAddress; chainID: number } +type TBalanceGetter = (params: TTokenAndChain) => TNormalizedBN +type TPriceGetter = (params: TTokenAndChain) => { normalized: number } + +export function getVaultSharePriceUsd(vault: TKongVaultInput, getPrice: TPriceGetter): number { + const chainID = getVaultChainID(vault) + const vaultAddress = getVaultAddress(vault) + const directSharePrice = getPrice({ address: vaultAddress, chainID }).normalized + if (directSharePrice > 0) { + return directSharePrice + } + + const assetToken = getVaultToken(vault) + const assetPrice = getPrice({ address: assetToken.address, chainID }).normalized + const pricePerShare = getVaultAPR(vault).pricePerShare.today + if (assetPrice > 0 && pricePerShare > 0) { + return assetPrice * pricePerShare + } + + return getVaultTVL(vault).price +} + +export function getVaultHoldingsUsd( + vault: TKongVaultInput, + getBalance: TBalanceGetter, + getPrice: TPriceGetter +): number { + const chainID = getVaultChainID(vault) + const vaultDecimals = getVaultDecimals(vault) + const vaultAddress = getVaultAddress(vault) + const staking = getVaultStaking(vault) + + const vaultBalanceRaw = getBalance({ address: vaultAddress, chainID }).raw + const stakingBalanceRaw = !isZeroAddress(staking.address) ? getBalance({ address: staking.address, chainID }).raw : 0n + const totalShares = toNormalizedBN(vaultBalanceRaw + stakingBalanceRaw, vaultDecimals).normalized + + const sharePriceUsd = getVaultSharePriceUsd(vault, getPrice) + return totalShares * sharePriceUsd +} diff --git a/src/components/pages/vaults/utils/vaultTagCopy.ts b/src/components/pages/vaults/utils/vaultTagCopy.ts index 8532838e8..fa88b554d 100644 --- a/src/components/pages/vaults/utils/vaultTagCopy.ts +++ b/src/components/pages/vaults/utils/vaultTagCopy.ts @@ -27,6 +27,7 @@ const CHAIN_WEBSITES: Record = { export const RETIRED_TAG_DESCRIPTION = 'Deposits are disabled; withdrawals remain available.' export const MIGRATABLE_TAG_DESCRIPTION = 'A retired vault with a migration path available to a newer vault.' export const HIDDEN_TAG_DESCRIPTION = 'Hidden from the default list. Enable hidden vaults to view.' +export const NOT_YEARN_TAG_DESCRIPTION = 'This vault is not managed by Yearn. Review the issuer and risks carefully.' export function getChainDescription(chainId: number): string { return CHAIN_DESCRIPTIONS[chainId] || `${getNetwork(chainId).name} network.` diff --git a/src/components/pages/vaults/utils/yvUsd.test.ts b/src/components/pages/vaults/utils/yvUsd.test.ts index cf05d32bc..4d011cee3 100644 --- a/src/components/pages/vaults/utils/yvUsd.test.ts +++ b/src/components/pages/vaults/utils/yvUsd.test.ts @@ -70,8 +70,8 @@ describe('getWeightedYvUsdApy', () => { describe('yvUSD risk override', () => { it('uses the provisional custom score for the detail risk section', () => { - expect(YVUSD_CUSTOM_RISK_SCORE).toBe('2/5') - expect(YVUSD_RISK_SCORE_ITEMS[0]?.score).toBe('2/5') + expect(YVUSD_CUSTOM_RISK_SCORE).toBe('3/5') + expect(YVUSD_RISK_SCORE_ITEMS[0]?.score).toBe('3/5') }) it('keeps the current published risk sections intact', () => { diff --git a/src/components/shared/contexts/useWallet.tsx b/src/components/shared/contexts/useWallet.tsx index 2256fcbd3..afdf31c36 100644 --- a/src/components/shared/contexts/useWallet.tsx +++ b/src/components/shared/contexts/useWallet.tsx @@ -1,12 +1,21 @@ -import { getVaultStaking, getVaultVersion, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { + getVaultAddress, + getVaultChainID, + getVaultStaking, + getVaultVersion, + type TKongVaultInput +} from '@pages/vaults/domain/kongVaultSelectors' +import { getCanonicalHoldingsVaultAddress } from '@pages/vaults/domain/normalizeVault' import { useYvUsdVaults } from '@pages/vaults/hooks/useYvUsdVaults' import { getYvUsdSharePrice, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' import { useDeepCompareMemo } from '@react-hookz/web' import type { ReactElement } from 'react' -import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef } from 'react' +import { createContext, memo, useCallback, useContext, useMemo, useRef } from 'react' import type { TUseBalancesTokens } from '../hooks/useBalances.multichains' import { useBalancesCombined } from '../hooks/useBalancesCombined' import { useBalancesWithQuery } from '../hooks/useBalancesWithQuery' +import { useStakingAssetConversions } from '../hooks/useStakingAssetConversions' +import { getVaultHoldingsUsdValue } from '../hooks/useVaultFilterUtils' import type { TAddress, TChainTokens, TDict, TNDict, TNormalizedBN, TToken, TYChainTokens } from '../types' import { DEFAULT_ERC20, isZeroAddress, toAddress, zeroNormalizedBN } from '../utils' import { useWeb3 } from './useWeb3' @@ -20,6 +29,7 @@ type TTokenAndChain = { address: TAddress; chainID: number } type TWalletContext = { getToken: ({ address, chainID }: TTokenAndChain) => TToken getBalance: ({ address, chainID }: TTokenAndChain) => TNormalizedBN + getVaultHoldingsUsd: (vault: TKongVaultInput) => number balances: TChainTokens isLoading: boolean cumulatedValueInV2Vaults: number @@ -34,6 +44,7 @@ type TWalletContext = { const defaultProps = { getToken: (): TToken => DEFAULT_ERC20, getBalance: (): TNormalizedBN => zeroNormalizedBN, + getVaultHoldingsUsd: (): number => 0, balances: {}, isLoading: true, cumulatedValueInV2Vaults: 0, @@ -50,18 +61,17 @@ export const WalletContextApp = memo(function WalletContextApp(props: { children: ReactElement shouldWorkOnTestnet?: boolean }): ReactElement { - const { vaults, isLoadingVaultList } = useYearn() + const { vaults, allVaults, isLoadingVaultList, getPrice } = useYearn() const { unlockedVault: yvUsdUnlockedVault, lockedVault: yvUsdLockedVault } = useYvUsdVaults() const { address: userAddress } = useWeb3() const allTokens = useYearnTokens({ - vaults, + vaults: allVaults, + catalogVaults: vaults, isLoadingVaultList, isEnabled: Boolean(userAddress) }) - const { getToken: getTokenListToken } = useTokenList() - const useBalancesHook = USE_ENSO_BALANCES ? useBalancesCombined : useBalancesWithQuery const { data: tokensRaw, // Expected to be TDict @@ -78,12 +88,6 @@ export const WalletContextApp = memo(function WalletContextApp(props: { return _tokens as TYChainTokens }, [tokensRaw]) - useEffect(() => { - if (Object.keys(balances).length > 0) { - console.log({ balances, source: USE_ENSO_BALANCES ? 'enso' : 'multicall' }) - } - }, [balances]) - const onRefresh = useCallback( async (tokenToUpdate?: TUseBalancesTokens[]): Promise => { if (tokenToUpdate) { @@ -115,7 +119,7 @@ export const WalletContextApp = memo(function WalletContextApp(props: { // If balances is empty (during refetch), return cached token if available return tokenCache.current[cacheKey] || getTokenListToken({ address, chainID }) }, - [balances, userAddress] + [balances, userAddress, getTokenListToken] ) /************************************************************************** @@ -130,22 +134,39 @@ export const WalletContextApp = memo(function WalletContextApp(props: { const yvUsdUnlockedSharePrice = getYvUsdSharePrice(yvUsdUnlockedVault) const yvUsdLockedSharePrice = getYvUsdSharePrice(yvUsdLockedVault) + const stakingConvertedAssets = useStakingAssetConversions({ + allVaults, + getBalance, + userAddress + }) + + const getVaultHoldingsUsd = useCallback( + (vault: TKongVaultInput): number => + getVaultHoldingsUsdValue(vault, getToken, getBalance, getPrice, { + allVaults, + stakingConvertedAssets + }), + [allVaults, getBalance, getPrice, getToken, stakingConvertedAssets] + ) + const [cumulatedValueInV2Vaults, cumulatedValueInV3Vaults] = useMemo((): [number, number] => { // Build staking address → vault address lookup const stakingToVault = new Map() - for (const [vaultAddress, vault] of Object.entries(vaults)) { - const staking = getVaultStaking(vault as TKongVault) - if (staking?.address && !isZeroAddress(toAddress(staking.address))) { + for (const [vaultAddress, vault] of Object.entries(allVaults)) { + const staking = getVaultStaking(vault) + if (!isZeroAddress(toAddress(staking.address))) { stakingToVault.set(toAddress(staking.address), vaultAddress) } } let cumulatedValueInV2Vaults = 0 let cumulatedValueInV3Vaults = 0 + const countedVaults = new Set() for (const [_chainId, perChain] of Object.entries(balances)) { for (const [tokenAddress, tokenData] of Object.entries(perChain)) { const normalizedAddress = toAddress(tokenAddress) + const canonicalAddress = getCanonicalHoldingsVaultAddress(normalizedAddress) if (normalizedAddress === YVUSD_UNLOCKED_ADDRESS || normalizedAddress === YVUSD_LOCKED_ADDRESS) { const sharePrice = @@ -156,16 +177,22 @@ export const WalletContextApp = memo(function WalletContextApp(props: { } // Resolve vault details (direct vault or via staking lookup) - let vaultDetails = vaults?.[normalizedAddress] + let vaultDetails = allVaults?.[canonicalAddress] + if (!vaultDetails && stakingToVault.has(canonicalAddress)) { + vaultDetails = allVaults?.[stakingToVault.get(canonicalAddress)!] + } if (!vaultDetails && stakingToVault.has(normalizedAddress)) { - vaultDetails = vaults?.[stakingToVault.get(normalizedAddress)!] + vaultDetails = allVaults?.[stakingToVault.get(normalizedAddress)!] } if (!vaultDetails) continue + const vaultKey = `${getVaultChainID(vaultDetails)}/${toAddress(getVaultAddress(vaultDetails))}` + if (countedVaults.has(vaultKey)) continue + countedVaults.add(vaultKey) - const tokenValue = tokenData.value || 0 - const version = getVaultVersion(vaultDetails as TKongVault) - const isV3 = version.split('.')?.[0] === '3' || version.split('.')?.[0] === '~3' + const tokenValue = getVaultHoldingsUsd(vaultDetails) + const vaultVersion = getVaultVersion(vaultDetails) + const isV3 = vaultVersion.startsWith('3') || vaultVersion.startsWith('~3') if (isV3) { cumulatedValueInV3Vaults += tokenValue @@ -175,7 +202,7 @@ export const WalletContextApp = memo(function WalletContextApp(props: { } } return [cumulatedValueInV2Vaults, cumulatedValueInV3Vaults] - }, [balances, vaults, yvUsdLockedSharePrice, yvUsdUnlockedSharePrice]) + }, [allVaults, balances, getVaultHoldingsUsd, yvUsdLockedSharePrice, yvUsdUnlockedSharePrice]) /*************************************************************************** ** Setup and render the Context provider to use in the app. @@ -184,13 +211,23 @@ export const WalletContextApp = memo(function WalletContextApp(props: { (): TWalletContext => ({ getToken, getBalance, + getVaultHoldingsUsd, balances, isLoading: isLoading || false, onRefresh, cumulatedValueInV2Vaults, cumulatedValueInV3Vaults }), - [getToken, getBalance, balances, isLoading, onRefresh, cumulatedValueInV2Vaults, cumulatedValueInV3Vaults] + [ + getToken, + getBalance, + getVaultHoldingsUsd, + balances, + isLoading, + onRefresh, + cumulatedValueInV2Vaults, + cumulatedValueInV3Vaults + ] ) return {props.children} diff --git a/src/components/shared/contexts/useYearn.helper.tsx b/src/components/shared/contexts/useYearn.helper.tsx index 7aa0688d5..9fb2d7256 100644 --- a/src/components/shared/contexts/useYearn.helper.tsx +++ b/src/components/shared/contexts/useYearn.helper.tsx @@ -8,23 +8,53 @@ import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { getHoldingsAliasVaultAddress } from '@pages/vaults/domain/normalizeVault' import { YVUSD_CHAIN_ID, YVUSD_LOCKED_ADDRESS, YVUSD_UNLOCKED_ADDRESS } from '@pages/vaults/utils/yvUsd' import { useDeepCompareMemo } from '@react-hookz/web' import { useTokenList } from '@shared/contexts/WithTokenList' import type { TUseBalancesTokens } from '@shared/hooks/useBalances.multichains' import { useChainID } from '@shared/hooks/useChainID' import type { TDict } from '@shared/types' -import { toAddress } from '@shared/utils' +import { isZeroAddress, toAddress } from '@shared/utils' import { ETH_TOKEN_ADDRESS } from '@shared/utils/constants' import { getNetwork } from '@shared/utils/wagmi' import { useMemo } from 'react' +function mergeTokenMetadata(existing: TUseBalancesTokens, incoming: TUseBalancesTokens): TUseBalancesTokens { + return { + address: existing.address || incoming.address, + chainID: existing.chainID || incoming.chainID, + decimals: existing.decimals || incoming.decimals, + name: existing.name || incoming.name, + symbol: existing.symbol || incoming.symbol, + for: existing.for || incoming.for, + isVaultToken: Boolean(existing.isVaultToken || incoming.isVaultToken) || undefined, + isStakingToken: Boolean(existing.isStakingToken || incoming.isStakingToken) || undefined, + isCatalogVault: + existing.isCatalogVault === false || incoming.isCatalogVault === false + ? false + : (existing.isCatalogVault ?? incoming.isCatalogVault), + isStakingOnlyPair: Boolean(existing.isStakingOnlyPair || incoming.isStakingOnlyPair) || undefined, + isVaultBackedStaking: Boolean(existing.isVaultBackedStaking || incoming.isVaultBackedStaking) || undefined, + holdingsAliasVaultAddress: existing.holdingsAliasVaultAddress || incoming.holdingsAliasVaultAddress, + pairedVaultAddress: existing.pairedVaultAddress || incoming.pairedVaultAddress, + pairedStakingAddress: existing.pairedStakingAddress || incoming.pairedStakingAddress + } +} + +function upsertToken(tokens: TDict, key: string, incoming: TUseBalancesTokens): void { + const existing = tokens[key] + tokens[key] = existing ? mergeTokenMetadata(existing, incoming) : incoming +} + export function useYearnTokens({ vaults, + catalogVaults, isLoadingVaultList, isEnabled = true }: { vaults: TDict + catalogVaults?: TDict isLoadingVaultList: boolean isEnabled?: boolean }): TUseBalancesTokens[] { @@ -98,84 +128,93 @@ export function useYearnTokens({ tokens[key] = token } + const tokenListAddressSet = new Set( + availableTokenListTokens.map((token) => `${token.chainID}/${toAddress(token.address)}`) + ) + + const vaultAddressKeys = new Set( + allVaults.map((vault) => `${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}`) + ) + const catalogVaultKeys = new Set( + Object.values(catalogVaults ?? {}).map( + (vault) => `${getVaultChainID(vault)}/${toAddress(getVaultAddress(vault))}` + ) + ) + allVaults.forEach((vault?: TKongVault): void => { if (!vault) { return } const chainID = getVaultChainID(vault) - const address = getVaultAddress(vault) + const address = toAddress(getVaultAddress(vault)) const name = getVaultName(vault) const symbol = getVaultSymbol(vault) const decimals = getVaultDecimals(vault) const token = getVaultToken(vault) const staking = getVaultStaking(vault) + const vaultKey = `${chainID}/${address}` + const holdingsAliasVaultAddress = getHoldingsAliasVaultAddress(address) + const stakingAddress = !isZeroAddress(toAddress(staking.address)) ? toAddress(staking.address) : undefined + const hasStaking = Boolean(stakingAddress) + const isVaultBackedStaking = hasStaking ? vaultAddressKeys.has(`${chainID}/${stakingAddress}`) : false + const isStakingOnlyPair = hasStaking && !isVaultBackedStaking + + upsertToken(tokens, vaultKey, { + address, + chainID, + symbol, + decimals, + name, + for: 'vault-share', + isVaultToken: true, + isCatalogVault: catalogVaultKeys.has(vaultKey), + isStakingOnlyPair: hasStaking ? isStakingOnlyPair : undefined, + isVaultBackedStaking: hasStaking ? isVaultBackedStaking : undefined, + holdingsAliasVaultAddress, + pairedStakingAddress: stakingAddress + }) - if (!tokens[`${chainID}/${toAddress(address)}`]) { - tokens[`${chainID}/${toAddress(address)}`] = { - address, - chainID, - symbol, - decimals, - name - } - } else { - const existingToken = tokens[`${chainID}/${toAddress(address)}`] - - if (existingToken) { - if (!existingToken?.name && name) { - tokens[`${chainID}/${toAddress(address)}`].name = name - } - if (!existingToken?.symbol && symbol) { - tokens[`${chainID}/${toAddress(address)}`].symbol = symbol - } - if (!existingToken?.decimals && decimals) { - tokens[`${chainID}/${toAddress(address)}`].decimals = decimals - } - } - } - - if (token.address && !availableTokenListTokens.some((item) => item.address === token.address)) { - tokens[`${chainID}/${toAddress(token.address)}`] = { - address: token.address, - chainID, - decimals: token.decimals + if (token.address) { + const vaultAssetTokenKey = `${chainID}/${toAddress(token.address)}` + if (!tokenListAddressSet.has(vaultAssetTokenKey)) { + upsertToken(tokens, vaultAssetTokenKey, { + address: token.address, + chainID, + decimals: token.decimals + }) } } - if (staking.available && !tokens[`${chainID}/${toAddress(staking.address)}`]) { - tokens[`${chainID}/${toAddress(staking.address)}`] = { - address: toAddress(staking.address), + if (stakingAddress) { + const stakingKey = `${chainID}/${stakingAddress}` + upsertToken(tokens, stakingKey, { + address: stakingAddress, chainID, symbol, decimals, - name - } - } else { - const existingToken = tokens[`${chainID}/${toAddress(staking.address)}`] - if (existingToken) { - if (!existingToken?.name && name) { - tokens[`${chainID}/${toAddress(staking.address)}`].name = name - } - if (!existingToken?.symbol && symbol) { - tokens[`${chainID}/${toAddress(staking.address)}`].symbol = symbol - } - if (!existingToken?.decimals && decimals) { - tokens[`${chainID}/${toAddress(staking.address)}`].decimals = decimals - } - } + name, + for: 'vault-staking', + isStakingToken: true, + isCatalogVault: catalogVaultKeys.has(stakingKey), + isStakingOnlyPair, + isVaultBackedStaking, + holdingsAliasVaultAddress: getHoldingsAliasVaultAddress(stakingAddress), + pairedVaultAddress: address + }) } }) return tokens - }, [isEnabled, isLoadingVaultList, allVaults, availableTokenListTokens]) + }, [isEnabled, isLoadingVaultList, allVaults, availableTokenListTokens, catalogVaults]) const allTokens = useDeepCompareMemo((): TUseBalancesTokens[] => { if (!isEnabled || isLoadingVaultList) { return [] } const fromAvailableTokens = Object.values(availableTokens) - return [...fromAvailableTokens, ...availableTokenListTokens] + const tokens = [...fromAvailableTokens, ...availableTokenListTokens] + return tokens }, [isEnabled, isLoadingVaultList, availableTokens, availableTokenListTokens]) function cloneForForknet(tokens: TUseBalancesTokens[]): TUseBalancesTokens[] { diff --git a/src/components/shared/contexts/useYearn.tsx b/src/components/shared/contexts/useYearn.tsx index 12f829fe6..b95489b1c 100755 --- a/src/components/shared/contexts/useYearn.tsx +++ b/src/components/shared/contexts/useYearn.tsx @@ -22,6 +22,7 @@ export type TYearnContext = { earned?: TYDaemonEarned prices?: TYDaemonPricesChain vaults: TDict + allVaults: TDict isLoadingVaultList: boolean zapSlippage: number maxLoss: bigint @@ -47,6 +48,7 @@ const YearnContext = createContext({ }, prices: {}, vaults: {}, + allVaults: {}, isLoadingVaultList: false, maxLoss: DEFAULT_MAX_LOSS, zapSlippage: 0.1, @@ -102,7 +104,7 @@ export const YearnContextApp = memo(function YearnContextApp({ children }: { chi const prices = useFetchYearnPrices() //RG this endpoint returns empty objects for retired and migrations - const { vaults, isLoading, refetch } = useFetchYearnVaults(undefined, { + const { vaults, allVaults, isLoading, refetch } = useFetchYearnVaults(undefined, { enabled: isVaultListEnabled }) @@ -127,6 +129,7 @@ export const YearnContextApp = memo(function YearnContextApp({ children }: { chi setZapProvider, setIsAutoStakingEnabled, vaults, + allVaults, isLoadingVaultList: isLoading, mutateVaultList: refetch, enableVaultListFetch, diff --git a/src/components/shared/hooks/balanceDiscoveryFallback.ts b/src/components/shared/hooks/balanceDiscoveryFallback.ts new file mode 100644 index 000000000..f7bbf96f7 --- /dev/null +++ b/src/components/shared/hooks/balanceDiscoveryFallback.ts @@ -0,0 +1,9 @@ +import type { TUseBalancesTokens } from './useBalances.multichains' + +export function shouldUseDiscoveryFallbackToken(params: { + token: TUseBalancesTokens + hasPositiveBalanceCache: boolean +}): boolean { + const { token, hasPositiveBalanceCache } = params + return Boolean(token.isStakingToken || token.isCatalogVault === false || hasPositiveBalanceCache) +} diff --git a/src/components/shared/hooks/useBalances.multichains.ts b/src/components/shared/hooks/useBalances.multichains.ts index 46264a195..0a273ac2e 100644 --- a/src/components/shared/hooks/useBalances.multichains.ts +++ b/src/components/shared/hooks/useBalances.multichains.ts @@ -22,7 +22,19 @@ export type TUseBalancesTokens = { decimals?: number name?: string symbol?: string + // Legacy token hint kept for backward compatibility. for?: string + isVaultToken?: boolean + isStakingToken?: boolean + isCatalogVault?: boolean + // A staking-only pair is a classic rewards contract token (not itself a vault token). + // These pairs should be fully sourced from multicall for deterministic accounting. + isStakingOnlyPair?: boolean + // A vault-backed staking pair means the staking token is also a vault token (e.g. yBOLD style). + isVaultBackedStaking?: boolean + holdingsAliasVaultAddress?: TAddress + pairedVaultAddress?: TAddress + pairedStakingAddress?: TAddress } export type TUseBalancesReq = { key?: string | number @@ -50,6 +62,19 @@ export type TUseBalancesRes = { type TUpdates = TDict const TOKEN_UPDATE: TUpdates = {} +export function hasPositiveCachedBalance(chainID: number, address: TAddress, ownerAddress?: TAddress): boolean { + if (!ownerAddress || isZeroAddress(ownerAddress)) { + return false + } + + const tokenUpdateInfo = TOKEN_UPDATE[`${chainID}/${toAddress(address)}`] + if (!tokenUpdateInfo) { + return false + } + + return toAddress(tokenUpdateInfo.owner) === toAddress(ownerAddress) && tokenUpdateInfo.balance.raw > 0n +} + export async function performCall( chainID: number, chunckCalls: MulticallParameters['contracts'], diff --git a/src/components/shared/hooks/useBalancesCombined.test.ts b/src/components/shared/hooks/useBalancesCombined.test.ts new file mode 100644 index 000000000..3d0390a2c --- /dev/null +++ b/src/components/shared/hooks/useBalancesCombined.test.ts @@ -0,0 +1,40 @@ +import { describe, expect, it } from 'vitest' +import { shouldUseDiscoveryFallbackToken } from './balanceDiscoveryFallback' + +describe('shouldUseDiscoveryFallbackToken', () => { + it('uses discovery fallback for staking tokens', () => { + expect( + shouldUseDiscoveryFallbackToken({ + token: { address: '0x1111111111111111111111111111111111111111', chainID: 1, isStakingToken: true }, + hasPositiveBalanceCache: false + }) + ).toBe(true) + }) + + it('uses discovery fallback for non-catalog vault shares', () => { + expect( + shouldUseDiscoveryFallbackToken({ + token: { address: '0x1111111111111111111111111111111111111111', chainID: 1, isCatalogVault: false }, + hasPositiveBalanceCache: false + }) + ).toBe(true) + }) + + it('uses discovery fallback for previously positive cached balances', () => { + expect( + shouldUseDiscoveryFallbackToken({ + token: { address: '0x1111111111111111111111111111111111111111', chainID: 1, isCatalogVault: true }, + hasPositiveBalanceCache: true + }) + ).toBe(true) + }) + + it('skips discovery fallback for ordinary omitted catalog vault shares', () => { + expect( + shouldUseDiscoveryFallbackToken({ + token: { address: '0x1111111111111111111111111111111111111111', chainID: 1, isCatalogVault: true }, + hasPositiveBalanceCache: false + }) + ).toBe(false) + }) +}) diff --git a/src/components/shared/hooks/useBalancesCombined.ts b/src/components/shared/hooks/useBalancesCombined.ts index da847b862..59a2bb7be 100644 --- a/src/components/shared/hooks/useBalancesCombined.ts +++ b/src/components/shared/hooks/useBalancesCombined.ts @@ -4,11 +4,31 @@ import { useWeb3 } from '../contexts/useWeb3' import type { TChainTokens, TDict, TNDict, TToken } from '../types/mixed' import { toAddress } from '../utils/tools.address' import { isZeroAddress } from '../utils/tools.is' -import type { TChainStatus, TUseBalancesReq, TUseBalancesRes, TUseBalancesTokens } from './useBalances.multichains' +import { shouldUseDiscoveryFallbackToken } from './balanceDiscoveryFallback' +import { + hasPositiveCachedBalance, + type TChainStatus, + type TUseBalancesReq, + type TUseBalancesRes, + type TUseBalancesTokens +} from './useBalances.multichains' import { fetchTokenBalances, useBalancesQueries } from './useBalancesQueries' import { balanceQueryKeys } from './useBalancesQuery' +import { partitionTokensByBalanceSource } from './useBalancesRouting' import { ENSO_UNSUPPORTED_NETWORKS, useEnsoBalances } from './useEnsoBalances' +function mergeChainStatusMaps(...maps: TNDict[]): TNDict { + const merged: TNDict = {} + + maps.forEach((map) => { + Object.entries(map).forEach(([chainId, value]) => { + merged[Number(chainId)] = Boolean(merged[Number(chainId)] || value) + }) + }) + + return merged +} + /******************************************************************************* ** Combined balance hook that uses Enso API for supported chains ** and falls back to multicall (RPC) for unsupported chains like Fantom @@ -26,19 +46,8 @@ export function useBalancesCombined(props?: TUseBalancesReq): TUseBalancesRes { const tokens = useMemo(() => (userAddress ? props?.tokens || [] : []), [props?.tokens, userAddress]) // Split tokens into Enso-supported and multicall-required groups - const { ensoTokens, multicallTokens } = useMemo(() => { - const enso: TUseBalancesTokens[] = [] - const multicall: TUseBalancesTokens[] = [] - - for (const token of tokens) { - if (ENSO_UNSUPPORTED_NETWORKS.includes(token.chainID)) { - multicall.push(token) - } else { - enso.push(token) - } - } - - return { ensoTokens: enso, multicallTokens: multicall } + const { ensoTokens, multicallTokens: requiredMulticallTokens } = useMemo(() => { + return partitionTokensByBalanceSource(tokens, ENSO_UNSUPPORTED_NETWORKS) }, [tokens]) // Fetch from Enso for supported chains @@ -56,25 +65,64 @@ export function useBalancesCombined(props?: TUseBalancesReq): TUseBalancesRes { enabled: ensoTokens.length > 0 }) - // Fetch from multicall for unsupported chains (e.g., Fantom) + const discoveryFallbackTokens = useMemo((): TUseBalancesTokens[] => { + if (ensoTokens.length === 0) { + return [] + } + if (!userAddress) { + return [] + } + if (!ensoError && (!ensoSuccess || !ensoBalances)) { + return [] + } + + return ensoTokens.filter((token) => { + const tokenAddress = toAddress(token.address) + const hasEnsoBalance = Boolean(ensoBalances?.[token.chainID]?.[tokenAddress]) + if (hasEnsoBalance) { + return false + } + + return shouldUseDiscoveryFallbackToken({ + token, + hasPositiveBalanceCache: hasPositiveCachedBalance(token.chainID, tokenAddress, userAddress) + }) + }) + }, [ensoBalances, ensoError, ensoSuccess, ensoTokens, userAddress]) + + const { + data: requiredMulticallBalances, + isLoading: requiredMulticallLoading, + isError: requiredMulticallError, + isSuccess: requiredMulticallSuccess, + error: requiredMulticallErrorObj, + refetch: requiredMulticallRefetch, + chainLoadingStatus: requiredMulticallChainLoading, + chainSuccessStatus: requiredMulticallChainSuccess, + chainErrorStatus: requiredMulticallChainError + } = useBalancesQueries(userAddress, requiredMulticallTokens, { + enabled: requiredMulticallTokens.length > 0 + }) + const { - data: multicallBalances, - isLoading: multicallLoading, - isError: multicallError, - isSuccess: multicallSuccess, - error: multicallErrorObj, - refetch: multicallRefetch, - chainLoadingStatus: multicallChainLoading, - chainSuccessStatus: multicallChainSuccess, - chainErrorStatus: multicallChainError - } = useBalancesQueries(userAddress, multicallTokens, { - enabled: multicallTokens.length > 0 + data: discoveryFallbackBalances, + isLoading: discoveryFallbackLoading, + isError: discoveryFallbackError, + isSuccess: discoveryFallbackSuccess, + error: discoveryFallbackErrorObj, + refetch: discoveryFallbackRefetch, + chainLoadingStatus: discoveryFallbackChainLoading, + chainSuccessStatus: discoveryFallbackChainSuccess, + chainErrorStatus: discoveryFallbackChainError + } = useBalancesQueries(userAddress, discoveryFallbackTokens, { + enabled: discoveryFallbackTokens.length > 0 }) // Merge balances from both sources const balances = useMemo(() => { const hasEnsoData = ensoTokens.length > 0 - const hasMulticallData = multicallTokens.length > 0 + const hasRequiredMulticallData = requiredMulticallTokens.length > 0 + const hasDiscoveryFallbackData = discoveryFallbackTokens.length > 0 const result: TChainTokens = {} @@ -95,9 +143,24 @@ export function useBalancesCombined(props?: TUseBalancesReq): TUseBalancesRes { } } - // Process multicall tokens (unsupported chains) - if (hasMulticallData && multicallBalances) { - for (const token of multicallTokens) { + if (hasRequiredMulticallData && requiredMulticallBalances) { + for (const token of requiredMulticallTokens) { + const chainId = token.chainID + const tokenAddress = toAddress(token.address) + + if (!result[chainId]) { + result[chainId] = {} + } + + const multicallToken = requiredMulticallBalances[chainId]?.[tokenAddress] + if (multicallToken) { + result[chainId][tokenAddress] = multicallToken + } + } + } + + if (hasDiscoveryFallbackData && discoveryFallbackBalances) { + for (const token of discoveryFallbackTokens) { const chainId = token.chainID const tokenAddress = toAddress(token.address) @@ -105,7 +168,7 @@ export function useBalancesCombined(props?: TUseBalancesReq): TUseBalancesRes { result[chainId] = {} } - const multicallToken = multicallBalances[chainId]?.[tokenAddress] + const multicallToken = discoveryFallbackBalances[chainId]?.[tokenAddress] if (multicallToken) { result[chainId][tokenAddress] = multicallToken } @@ -113,54 +176,96 @@ export function useBalancesCombined(props?: TUseBalancesReq): TUseBalancesRes { } return result - }, [ensoBalances, multicallBalances, ensoTokens, multicallTokens]) + }, [ + discoveryFallbackBalances, + discoveryFallbackTokens, + ensoBalances, + ensoTokens, + requiredMulticallBalances, + requiredMulticallTokens + ]) // Combine loading/error/success states const isLoading = useMemo(() => { const ensoRelevant = ensoTokens.length > 0 - const multicallRelevant = multicallTokens.length > 0 - return (ensoRelevant && ensoLoading) || (multicallRelevant && multicallLoading) - }, [ensoTokens.length, multicallTokens.length, ensoLoading, multicallLoading]) + const requiredMulticallRelevant = requiredMulticallTokens.length > 0 + const discoveryRelevant = discoveryFallbackTokens.length > 0 + return ( + (ensoRelevant && ensoLoading) || + (requiredMulticallRelevant && requiredMulticallLoading) || + (discoveryRelevant && discoveryFallbackLoading) + ) + }, [ + discoveryFallbackLoading, + discoveryFallbackTokens.length, + ensoLoading, + ensoTokens.length, + requiredMulticallLoading, + requiredMulticallTokens.length + ]) const isError = useMemo(() => { const ensoRelevant = ensoTokens.length > 0 - const multicallRelevant = multicallTokens.length > 0 - // Only error if both sources that are relevant have errors - const ensoFailed = ensoRelevant && ensoError - const multicallFailed = multicallRelevant && multicallError - // If both are relevant, both must fail. If only one is relevant, that one must fail. - if (ensoRelevant && multicallRelevant) return ensoFailed && multicallFailed - return ensoFailed || multicallFailed - }, [ensoTokens.length, multicallTokens.length, ensoError, multicallError]) + const requiredMulticallRelevant = requiredMulticallTokens.length > 0 + const discoveryRelevant = discoveryFallbackTokens.length > 0 + return ( + (ensoRelevant && ensoError) || + (requiredMulticallRelevant && requiredMulticallError) || + (discoveryRelevant && discoveryFallbackError) + ) + }, [ + discoveryFallbackError, + discoveryFallbackTokens.length, + ensoError, + ensoTokens.length, + requiredMulticallError, + requiredMulticallTokens.length + ]) const isSuccess = useMemo(() => { const ensoRelevant = ensoTokens.length > 0 - const multicallRelevant = multicallTokens.length > 0 - // Success if at least one relevant source succeeds + const requiredMulticallRelevant = requiredMulticallTokens.length > 0 + const discoveryRelevant = discoveryFallbackTokens.length > 0 const ensoOk = !ensoRelevant || ensoSuccess - const multicallOk = !multicallRelevant || multicallSuccess - return ensoOk && multicallOk - }, [ensoTokens.length, multicallTokens.length, ensoSuccess, multicallSuccess]) - - const error = ensoErrorObj || multicallErrorObj || null + const requiredMulticallOk = !requiredMulticallRelevant || requiredMulticallSuccess + const discoveryOk = !discoveryRelevant || discoveryFallbackSuccess + return ensoOk && requiredMulticallOk && discoveryOk + }, [ + discoveryFallbackSuccess, + discoveryFallbackTokens.length, + ensoSuccess, + ensoTokens.length, + requiredMulticallSuccess, + requiredMulticallTokens.length + ]) + + const error = discoveryFallbackErrorObj || requiredMulticallErrorObj || ensoErrorObj || null // Merge chain status maps const chainLoadingStatus = useMemo((): TNDict => { - return { ...ensoChainLoading, ...multicallChainLoading } - }, [ensoChainLoading, multicallChainLoading]) + return mergeChainStatusMaps(ensoChainLoading, requiredMulticallChainLoading, discoveryFallbackChainLoading) + }, [discoveryFallbackChainLoading, ensoChainLoading, requiredMulticallChainLoading]) const chainSuccessStatus = useMemo((): TNDict => { - return { ...ensoChainSuccess, ...multicallChainSuccess } - }, [ensoChainSuccess, multicallChainSuccess]) + return mergeChainStatusMaps(ensoChainSuccess, requiredMulticallChainSuccess, discoveryFallbackChainSuccess) + }, [discoveryFallbackChainSuccess, ensoChainSuccess, requiredMulticallChainSuccess]) const chainErrorStatus = useMemo((): TNDict => { - return { ...ensoChainError, ...multicallChainError } - }, [ensoChainError, multicallChainError]) + return mergeChainStatusMaps(ensoChainError, requiredMulticallChainError, discoveryFallbackChainError) + }, [discoveryFallbackChainError, ensoChainError, requiredMulticallChainError]) const refetch = useCallback(() => { if (ensoTokens.length > 0) ensoRefetch() - if (multicallTokens.length > 0) multicallRefetch() - }, [ensoTokens.length, multicallTokens.length, ensoRefetch, multicallRefetch]) + if (requiredMulticallTokens.length > 0) requiredMulticallRefetch() + if (discoveryFallbackTokens.length > 0) discoveryFallbackRefetch() + }, [ + discoveryFallbackRefetch, + discoveryFallbackTokens.length, + ensoRefetch, + ensoTokens.length, + requiredMulticallRefetch, + requiredMulticallTokens.length + ]) const onUpdate = useCallback( async (shouldForceFetch?: boolean): Promise => { diff --git a/src/components/shared/hooks/useBalancesRouting.test.ts b/src/components/shared/hooks/useBalancesRouting.test.ts new file mode 100644 index 000000000..606529886 --- /dev/null +++ b/src/components/shared/hooks/useBalancesRouting.test.ts @@ -0,0 +1,127 @@ +import { getAddress } from 'viem' +import { describe, expect, it } from 'vitest' +import type { TUseBalancesTokens } from './useBalances.multichains' +import { partitionTokensByBalanceSource } from './useBalancesRouting' + +const VAULT_A = '0x1111111111111111111111111111111111111111' +const STAKING_A = '0x2222222222222222222222222222222222222222' +const VAULT_B = '0x3333333333333333333333333333333333333333' +const STAKING_B = '0x4444444444444444444444444444444444444444' +const VAULT_C = '0x5555555555555555555555555555555555555555' + +function tokenKey(token: TUseBalancesTokens): string { + return `${token.chainID}:${getAddress(token.address)}` +} + +describe('partitionTokensByBalanceSource', () => { + it('routes staking-only pair tokens to multicall', () => { + const tokens: TUseBalancesTokens[] = [ + { + address: VAULT_A, + chainID: 1, + for: 'vault', + isVaultToken: true, + isStakingOnlyPair: true, + pairedStakingAddress: STAKING_A + }, + { + address: STAKING_A, + chainID: 1, + for: 'staking', + isStakingToken: true, + isStakingOnlyPair: true, + pairedVaultAddress: VAULT_A + } + ] + + const { ensoTokens, multicallTokens } = partitionTokensByBalanceSource(tokens, []) + expect(ensoTokens).toHaveLength(0) + expect(multicallTokens.map(tokenKey)).toEqual([`1:${getAddress(VAULT_A)}`, `1:${getAddress(STAKING_A)}`]) + }) + + it('routes vault-backed staking tokens to enso on supported chains', () => { + const tokens: TUseBalancesTokens[] = [ + { + address: VAULT_B, + chainID: 1, + for: 'vault', + isVaultToken: true, + isVaultBackedStaking: true, + pairedStakingAddress: STAKING_B + }, + { + address: STAKING_B, + chainID: 1, + for: 'staking', + isVaultToken: true, + isStakingToken: true, + isVaultBackedStaking: true, + pairedVaultAddress: VAULT_B + } + ] + + const { ensoTokens, multicallTokens } = partitionTokensByBalanceSource(tokens, []) + expect(multicallTokens).toHaveLength(0) + expect(ensoTokens.map(tokenKey)).toEqual([`1:${getAddress(VAULT_B)}`, `1:${getAddress(STAKING_B)}`]) + }) + + it('routes unsupported chains to multicall even for vault-backed staking', () => { + const tokens: TUseBalancesTokens[] = [ + { + address: STAKING_B, + chainID: 250, + for: 'staking', + isStakingToken: true, + isVaultBackedStaking: true + } + ] + + const { ensoTokens, multicallTokens } = partitionTokensByBalanceSource(tokens, [250]) + expect(ensoTokens).toHaveLength(0) + expect(multicallTokens.map(tokenKey)).toEqual([`250:${getAddress(STAKING_B)}`]) + }) + + it('dedupes duplicate entries and never routes same token to both sources', () => { + const tokens: TUseBalancesTokens[] = [ + { address: VAULT_A, chainID: 1, for: 'vault' }, + { address: VAULT_A, chainID: 1 }, + { address: VAULT_C, chainID: 1, for: 'vault', isStakingOnlyPair: true, pairedStakingAddress: STAKING_A }, + { address: STAKING_A, chainID: 1, for: 'staking' }, + { address: STAKING_A, chainID: 1, isStakingToken: true, isStakingOnlyPair: true, pairedVaultAddress: VAULT_C } + ] + + const { ensoTokens, multicallTokens } = partitionTokensByBalanceSource(tokens, []) + const ensoKeys = new Set(ensoTokens.map(tokenKey)) + const multicallKeys = new Set(multicallTokens.map(tokenKey)) + const overlap = [...ensoKeys].filter((key) => multicallKeys.has(key)) + + expect(overlap).toHaveLength(0) + expect([...ensoKeys]).toEqual([`1:${getAddress(VAULT_A)}`]) + expect([...multicallKeys]).toEqual([`1:${getAddress(VAULT_C)}`, `1:${getAddress(STAKING_A)}`]) + }) + + it('preserves discovery metadata when duplicate token entries are merged', () => { + const aliasVault = getAddress(VAULT_B) + const tokens: TUseBalancesTokens[] = [ + { + address: VAULT_A, + chainID: 1, + for: 'vault', + isCatalogVault: true + }, + { + address: VAULT_A, + chainID: 1, + isCatalogVault: false, + holdingsAliasVaultAddress: aliasVault + } + ] + + const { ensoTokens, multicallTokens } = partitionTokensByBalanceSource(tokens, []) + + expect(multicallTokens).toHaveLength(0) + expect(ensoTokens).toHaveLength(1) + expect(ensoTokens[0].isCatalogVault).toBe(false) + expect(ensoTokens[0].holdingsAliasVaultAddress).toBe(aliasVault) + }) +}) diff --git a/src/components/shared/hooks/useBalancesRouting.ts b/src/components/shared/hooks/useBalancesRouting.ts new file mode 100644 index 000000000..99382b49b --- /dev/null +++ b/src/components/shared/hooks/useBalancesRouting.ts @@ -0,0 +1,94 @@ +import { getAddress } from 'viem' +import type { TUseBalancesTokens } from './useBalances.multichains' + +type TBalanceSourcePartition = { + ensoTokens: TUseBalancesTokens[] + multicallTokens: TUseBalancesTokens[] +} + +function normalizeBalanceToken(token: TUseBalancesTokens): TUseBalancesTokens { + return { + ...token, + address: getAddress(token.address), + isVaultToken: Boolean(token.isVaultToken || token.for === 'vault'), + isStakingToken: Boolean(token.isStakingToken || token.for === 'staking') + } +} + +function mergeBalanceTokenMetadata(current: TUseBalancesTokens, next: TUseBalancesTokens): TUseBalancesTokens { + return { + address: current.address, + chainID: current.chainID, + decimals: current.decimals || next.decimals, + name: current.name || next.name, + symbol: current.symbol || next.symbol, + for: current.for || next.for, + isVaultToken: Boolean(current.isVaultToken || next.isVaultToken || current.for === 'vault' || next.for === 'vault'), + isStakingToken: Boolean( + current.isStakingToken || next.isStakingToken || current.for === 'staking' || next.for === 'staking' + ), + isCatalogVault: + current.isCatalogVault === false || next.isCatalogVault === false + ? false + : (current.isCatalogVault ?? next.isCatalogVault), + isStakingOnlyPair: Boolean(current.isStakingOnlyPair || next.isStakingOnlyPair), + isVaultBackedStaking: Boolean(current.isVaultBackedStaking || next.isVaultBackedStaking), + holdingsAliasVaultAddress: current.holdingsAliasVaultAddress || next.holdingsAliasVaultAddress, + pairedVaultAddress: current.pairedVaultAddress || next.pairedVaultAddress, + pairedStakingAddress: current.pairedStakingAddress || next.pairedStakingAddress + } +} + +function dedupeBalanceTokens(tokens: TUseBalancesTokens[]): TUseBalancesTokens[] { + const deduped = new Map() + + for (const rawToken of tokens) { + const token = normalizeBalanceToken(rawToken) + const key = `${token.chainID}:${token.address}` + const existing = deduped.get(key) + + if (!existing) { + deduped.set(key, token) + continue + } + + deduped.set(key, mergeBalanceTokenMetadata(existing, token)) + } + + return [...deduped.values()] +} + +function shouldUseMulticall(token: TUseBalancesTokens, unsupportedChains: Set): boolean { + if (unsupportedChains.has(token.chainID)) { + return true + } + + if (token.isStakingOnlyPair) { + return true + } + + if (token.isStakingToken && !token.isVaultBackedStaking) { + return true + } + + return false +} + +export function partitionTokensByBalanceSource( + tokens: TUseBalancesTokens[], + unsupportedNetworkIds: number[] +): TBalanceSourcePartition { + const unsupportedChains = new Set(unsupportedNetworkIds) + const ensoTokens: TUseBalancesTokens[] = [] + const multicallTokens: TUseBalancesTokens[] = [] + + for (const token of dedupeBalanceTokens(tokens)) { + if (shouldUseMulticall(token, unsupportedChains)) { + multicallTokens.push(token) + } else { + ensoTokens.push(token) + } + } + + return { ensoTokens, multicallTokens } +} diff --git a/src/components/shared/hooks/useEnsoBalances.ts b/src/components/shared/hooks/useEnsoBalances.ts index 73684d66f..aaa0e7693 100644 --- a/src/components/shared/hooks/useEnsoBalances.ts +++ b/src/components/shared/hooks/useEnsoBalances.ts @@ -39,7 +39,14 @@ async function fetchEnsoBalances(address: TAddress): Promise): TKongVaultListItem { + return { + address: '0x1111111111111111111111111111111111111111', + chainId: 1, + origin: 'yearn', + inclusion: undefined, + token: { + address: '0x2222222222222222222222222222222222222222', + name: 'Token', + symbol: 'TKN', + decimals: 18 + }, + staking: undefined, + metadata: { + protocols: [] + }, + ...overrides + } as TKongVaultListItem +} + +describe('isCatalogYearnVault', () => { + it('keeps yearn vaults in the public catalog by default', () => { + expect(isCatalogYearnVault(makeVault({ origin: 'yearn' }))).toBe(true) + }) + + it('excludes explicitly non-yearn catalog entries', () => { + expect(isCatalogYearnVault(makeVault({ origin: 'partner', inclusion: { isYearn: true } as never }))).toBe(false) + }) + + it('excludes yearn vaults that Kong marks as not included', () => { + expect(isCatalogYearnVault(makeVault({ origin: 'yearn', inclusion: { isYearn: false } as never }))).toBe(false) + }) +}) diff --git a/src/components/shared/hooks/useFetchYearnVaults.ts b/src/components/shared/hooks/useFetchYearnVaults.ts index 5c6d273bd..27feaaaab 100644 --- a/src/components/shared/hooks/useFetchYearnVaults.ts +++ b/src/components/shared/hooks/useFetchYearnVaults.ts @@ -11,14 +11,17 @@ import { useQueryClient } from '@tanstack/react-query' import { useEffect, useMemo } from 'react' const DEFAULT_CHAIN_IDS = [1, 10, 137, 146, 250, 8453, 42161, 747474] +const VAULT_LIST_ENDPOINT = `${KONG_REST_BASE}/list/vaults` -const VAULT_LIST_ENDPOINT = `${KONG_REST_BASE}/list/vaults?origin=yearn` +export const isCatalogYearnVault = (item: TKongVaultListItem): boolean => + item.origin === 'yearn' && item.inclusion?.isYearn !== false function useFetchYearnVaults( chainIDs?: number[] | undefined, options?: { enabled?: boolean } ): { vaults: TDict + allVaults: TDict isLoading: boolean refetch: () => Promise> } { @@ -37,27 +40,51 @@ function useFetchYearnVaults( } }) - const vaultsObject = useDeepCompareMemo((): TDict => { + const filteredByChain = useDeepCompareMemo((): TKongVaultListItem[] => { if (!kongVaultList) { - return {} + return [] } const chainIdSet = new Set(resolvedChainIds) - return kongVaultList - .filter((item) => item.inclusion?.isYearn !== false) - .filter((item) => chainIdSet.has(item.chainId)) - .reduce((acc: TDict, item): TDict => { - acc[toAddress(item.address)] = item - return acc - }, {}) + return kongVaultList.filter((item) => chainIdSet.has(item.chainId)) }, [kongVaultList, resolvedChainIds]) - const patchedVaultsObject = useDeepCompareMemo((): TDict => { - return patchYBoldVaults(vaultsObject) - }, [vaultsObject]) + const allVaultsObject = useDeepCompareMemo((): TDict => { + if (!filteredByChain.length) { + return {} + } + + return filteredByChain.reduce((acc: TDict, item): TDict => { + acc[toAddress(item.address)] = item + return acc + }, {}) + }, [filteredByChain]) + + const catalogVaultsObject = useDeepCompareMemo((): TDict => { + if (!filteredByChain.length) { + return {} + } + + return filteredByChain.reduce((acc: TDict, item): TDict => { + if (!isCatalogYearnVault(item)) { + return acc + } + acc[toAddress(item.address)] = item + return acc + }, {}) + }, [filteredByChain]) + + const patchedAllVaultsObject = useDeepCompareMemo((): TDict => { + return patchYBoldVaults(allVaultsObject) + }, [allVaultsObject]) + + const patchedCatalogVaultsObject = useDeepCompareMemo((): TDict => { + return patchYBoldVaults(catalogVaultsObject) + }, [catalogVaultsObject]) return { - vaults: patchedVaultsObject, + vaults: patchedCatalogVaultsObject, + allVaults: patchedAllVaultsObject, isLoading, refetch: refetch as unknown as () => Promise> } diff --git a/src/components/shared/hooks/useStakingAssetConversions.ts b/src/components/shared/hooks/useStakingAssetConversions.ts new file mode 100644 index 000000000..bd673fb8d --- /dev/null +++ b/src/components/shared/hooks/useStakingAssetConversions.ts @@ -0,0 +1,130 @@ +import { getVaultChainID, getVaultStaking, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { getStakingWithdrawableAssets } from '@pages/vaults/hooks/actions/stakingAdapter' +import { useDeepCompareMemo } from '@react-hookz/web' +import type { TAddress, TDict, TNormalizedBN } from '@shared/types' +import { isZeroAddress, toAddress } from '@shared/utils' +import { useQueries } from '@tanstack/react-query' +import { useMemo } from 'react' +import type { Address } from 'viem' +import { useConfig } from 'wagmi' +import { readContract } from 'wagmi/actions' + +type TTokenAndChain = { address: TAddress; chainID: number } +type TBalanceGetter = (params: TTokenAndChain) => TNormalizedBN + +type TStakingPosition = { + key: string + chainID: number + stakingAddress: Address + stakingSource: string + stakingShareBalance: bigint +} + +export function useStakingAssetConversions({ + allVaults, + getBalance, + userAddress +}: { + allVaults: TDict + getBalance: TBalanceGetter + userAddress?: Address +}): Record { + const config = useConfig() + + const stakingPositions = useDeepCompareMemo((): TStakingPosition[] => { + if (!userAddress || isZeroAddress(userAddress)) { + return [] + } + + const positions = new Map() + + Object.values(allVaults).forEach((vault) => { + const chainID = getVaultChainID(vault) + const staking = getVaultStaking(vault) + if (isZeroAddress(staking.address)) { + return + } + + const stakingAddress = toAddress(staking.address) + const stakingShareBalance = getBalance({ address: stakingAddress, chainID }).raw + if (stakingShareBalance <= 0n) { + return + } + + const key = `${chainID}/${stakingAddress}` + if (positions.has(key)) { + return + } + + positions.set(key, { + key, + chainID, + stakingAddress, + stakingSource: staking.source ?? '', + stakingShareBalance + }) + }) + + return [...positions.values()] + }, [allVaults, getBalance, userAddress]) + + const queries = useQueries({ + queries: stakingPositions.map((position) => ({ + queryKey: [ + 'walletStakingConvertedAssets', + userAddress?.toLowerCase(), + position.chainID, + position.stakingAddress.toLowerCase(), + position.stakingSource, + position.stakingShareBalance.toString() + ], + queryFn: async () => { + if (!userAddress) { + return undefined + } + + const read = (request: { + address: Address + abi: readonly unknown[] + functionName: string + args?: readonly unknown[] + }) => + readContract(config, { + chainId: position.chainID, + address: request.address, + abi: request.abi as any, + functionName: request.functionName as any, + args: request.args as any + }) + + return getStakingWithdrawableAssets({ + read, + stakingAddress: position.stakingAddress, + account: userAddress, + stakingSource: position.stakingSource, + stakingShareBalance: position.stakingShareBalance + }) + }, + enabled: Boolean(userAddress && position.stakingShareBalance > 0n), + staleTime: 60_000, + gcTime: 5 * 60_000, + retry: 1, + refetchOnWindowFocus: false + })) + }) + + return useMemo(() => { + const conversions: Record = {} + + queries.forEach((query, index) => { + const position = stakingPositions[index] + if (!position || query.data === undefined) { + return + } + + conversions[position.key] = query.data + }) + + return conversions + }, [queries, stakingPositions]) +} diff --git a/src/components/shared/hooks/useV2VaultFilter.ts b/src/components/shared/hooks/useV2VaultFilter.ts index ca8046a02..60b4dc495 100644 --- a/src/components/shared/hooks/useV2VaultFilter.ts +++ b/src/components/shared/hooks/useV2VaultFilter.ts @@ -1,7 +1,58 @@ -import type { TKongVault } from '@pages/vaults/domain/kongVaultSelectors' -import type { TVaultAggressiveness } from '@pages/vaults/utils/vaultListFacets' -import { type TVaultFilterResult, useVaultFilter } from './useVaultFilter' -import type { TVaultFlags } from './useVaultFilterUtils' +import { useAppSettings } from '@pages/vaults/contexts/useAppSettings' +import { + getVaultAddress, + getVaultChainID, + getVaultInfo, + getVaultMigration, + getVaultName, + getVaultStaking, + getVaultSymbol, + getVaultToken, + getVaultTVL, + type TKongVault +} from '@pages/vaults/domain/kongVaultSelectors' +import { getHoldingsAliasVaultAddress } from '@pages/vaults/domain/normalizeVault' +import { DEFAULT_MIN_TVL } from '@pages/vaults/utils/constants' +import { + deriveAssetCategory, + deriveListKind, + deriveV3Aggressiveness, + expandUnderlyingAssetSelection, + isAllocatorVaultOverride, + normalizeUnderlyingAssetSymbol, + type TVaultAggressiveness +} from '@pages/vaults/utils/vaultListFacets' +import { useDeepCompareMemo } from '@react-hookz/web' +import { useWallet } from '@shared/contexts/useWallet' +import { useYearn } from '@shared/contexts/useYearn' +import { isZeroAddress } from '@shared/utils' +import { useMemo } from 'react' +import { + createCheckHasAvailableBalance, + createCheckHasHoldings, + getVaultKey, + isV3Vault, + type TVaultFlags +} from './useVaultFilterUtils' + +type TVaultIndexEntry = { + key: string + vault: TKongVault + searchableText: string + kind: ReturnType + category: string + aggressiveness: TVaultAggressiveness | null + isHidden: boolean + isActive: boolean + isMigratable: boolean + isRetired: boolean + isBypassedHolding: boolean +} + +type TVaultWalletFlags = { + hasHoldings: boolean + hasAvailableBalance: boolean +} type TOptimizedV2VaultFilterResult = { filteredVaults: TKongVault[] @@ -13,18 +64,6 @@ type TOptimizedV2VaultFilterResult = { isLoading: boolean } -function toV2Result(result: TVaultFilterResult): TOptimizedV2VaultFilterResult { - return { - filteredVaults: result.filteredVaults, - holdingsVaults: result.holdingsVaults, - availableVaults: result.availableVaults, - vaultFlags: result.vaultFlags, - availableUnderlyingAssets: result.availableUnderlyingAssets, - underlyingAssetVaults: result.underlyingAssetVaults, - isLoading: result.isLoading - } -} - export function useV2VaultFilter( types: string[] | null, chains: number[] | null, @@ -36,18 +75,298 @@ export function useV2VaultFilter( showHiddenVaults?: boolean, enabled?: boolean ): TOptimizedV2VaultFilterResult { - const result = useVaultFilter({ - version: 'v2', + const { vaults, allVaults, getPrice, isLoadingVaultList } = useYearn() + const { getBalance } = useWallet() + const { shouldHideDust } = useAppSettings() + const isEnabled = enabled ?? true + const searchValue = search ?? '' + const minTvlValue = Number.isFinite(minTvl) ? Math.max(0, minTvl || 0) : DEFAULT_MIN_TVL + const isSearchEnabled = isEnabled && searchValue !== '' + const searchRegex = useMemo(() => { + if (!isSearchEnabled) { + return null + } + try { + const escapedSearch = searchValue.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + return new RegExp(escapedSearch, 'i') + } catch { + return null + } + }, [isSearchEnabled, searchValue]) + const lowercaseSearch = useMemo( + () => (isSearchEnabled ? searchValue.toLowerCase() : ''), + [isSearchEnabled, searchValue] + ) + const normalizedUnderlyingAssets = useMemo(() => { + if (!underlyingAssets || underlyingAssets.length === 0) { + return new Set() + } + const normalized = underlyingAssets.map((asset) => normalizeUnderlyingAssetSymbol(asset)).filter(Boolean) + return new Set(normalized) + }, [underlyingAssets]) + const expandedUnderlyingAssets = useMemo( + () => expandUnderlyingAssetSelection(normalizedUnderlyingAssets), + [normalizedUnderlyingAssets] + ) + + const checkHasHoldings = useMemo( + () => createCheckHasHoldings(getBalance, getPrice, shouldHideDust), + [getBalance, getPrice, shouldHideDust] + ) + + const checkHasAvailableBalance = useMemo(() => createCheckHasAvailableBalance(getBalance), [getBalance]) + const checkHasRawHoldings = useMemo( + () => + (vault: TKongVault): boolean => { + const chainID = getVaultChainID(vault) + const vaultBalance = getBalance({ + address: getVaultAddress(vault), + chainID + }) + if (vaultBalance.raw > 0n) { + return true + } + + const staking = getVaultStaking(vault) + if (isZeroAddress(staking.address)) { + return false + } + + const stakingBalance = getBalance({ + address: staking.address, + chainID + }) + return stakingBalance.raw > 0n + }, + [getBalance] + ) + + const vaultIndex = useDeepCompareMemo(() => { + if (!isEnabled) { + return new Map() + } + const vaultMap = new Map() + + const shouldIncludeVault = (vault: TKongVault): boolean => + !isAllocatorVaultOverride(vault) && !isV3Vault(vault, false) + + const upsertVault = ( + vault: TKongVault, + updates: Partial> + ): void => { + const key = getVaultKey(vault) + const existing = vaultMap.get(key) + if (existing) { + vaultMap.set(key, { ...existing, ...updates }) + return + } + + const token = getVaultToken(vault) + const kind = deriveListKind(vault) + vaultMap.set(key, { + key, + vault, + searchableText: + `${getVaultName(vault)} ${getVaultSymbol(vault)} ${token.name} ${token.symbol} ${getVaultAddress(vault)} ${token.address}`.toLowerCase(), + kind, + category: deriveAssetCategory(vault), + aggressiveness: deriveV3Aggressiveness(vault), + isHidden: Boolean(getVaultInfo(vault)?.isHidden), + isActive: Boolean(updates.isActive), + isMigratable: Boolean(updates.isMigratable), + isRetired: Boolean(updates.isRetired), + isBypassedHolding: Boolean(updates.isBypassedHolding) + }) + } + + Object.values(vaults).forEach((vault) => { + if (getHoldingsAliasVaultAddress(getVaultAddress(vault))) { + return + } + if (!shouldIncludeVault(vault)) { + return + } + const isRetired = Boolean(getVaultInfo(vault)?.isRetired) + upsertVault(vault, { + isActive: !isRetired, + isRetired, + isMigratable: Boolean(getVaultMigration(vault)?.available) + }) + }) + + Object.values(allVaults).forEach((vault) => { + if (getHoldingsAliasVaultAddress(getVaultAddress(vault))) { + return + } + if (!shouldIncludeVault(vault)) { + return + } + const key = getVaultKey(vault) + if (vaultMap.has(key)) { + return + } + if (!checkHasRawHoldings(vault)) { + return + } + const isRetired = Boolean(getVaultInfo(vault)?.isRetired) + upsertVault(vault, { + isActive: !isRetired, + isRetired, + isMigratable: Boolean(getVaultMigration(vault)?.available), + isBypassedHolding: true + }) + }) + + return vaultMap + }, [isEnabled, isEnabled ? vaults : null, isEnabled ? allVaults : null, checkHasRawHoldings]) + + const walletFlags = useMemo(() => { + const flags = new Map() + vaultIndex.forEach((entry, key) => { + const hasRawHoldings = entry.isBypassedHolding ? checkHasRawHoldings(entry.vault) : false + flags.set(key, { + hasHoldings: hasRawHoldings || checkHasHoldings(entry.vault), + hasAvailableBalance: checkHasAvailableBalance(entry.vault) + }) + }) + return flags + }, [vaultIndex, checkHasHoldings, checkHasAvailableBalance, checkHasRawHoldings]) + + const holdingsVaults = useMemo(() => { + return Array.from(vaultIndex.values()) + .filter(({ key }) => walletFlags.get(key)?.hasHoldings) + .map(({ vault }) => vault) + }, [vaultIndex, walletFlags]) + + const availableVaults = useMemo(() => { + return Array.from(vaultIndex.values()) + .filter(({ key, isActive }) => { + const flags = walletFlags.get(key) + return Boolean(flags?.hasAvailableBalance && (isActive || flags?.hasHoldings)) + }) + .map(({ vault }) => vault) + }, [vaultIndex, walletFlags]) + + const filteredResults = useMemo(() => { + const filteredVaults: TKongVault[] = [] + const vaultFlags: Record = {} + const shouldShowHidden = Boolean(showHiddenVaults) + const hasChainFilter = Boolean(chains?.length) + const hasTypeFilter = Boolean(types?.length) + const hasCategoryFilter = Boolean(categories?.length) + const hasAggressivenessFilter = Boolean(aggressiveness?.length) + const hasUnderlyingAssetFilter = normalizedUnderlyingAssets.size > 0 + const availableUnderlyingAssets = new Set() + const underlyingAssetVaults: Record = {} + + const matchesSearch = (searchableText: string): boolean => { + if (!isSearchEnabled) { + return true + } + if (searchRegex) { + return searchRegex.test(searchableText) + } + return searchableText.includes(lowercaseSearch) + } + + vaultIndex.forEach((entry) => { + const { + key, + vault, + searchableText, + kind, + category, + aggressiveness: aggressivenessScore, + isHidden, + isActive, + isMigratable, + isRetired + } = entry + const walletFlag = walletFlags.get(key) + const hasHoldings = Boolean(walletFlag?.hasHoldings) + const isMigratableVault = Boolean(isMigratable && hasHoldings) + const isRetiredVault = Boolean(isRetired && hasHoldings) + const hasUserHoldings = hasHoldings || isMigratableVault || isRetiredVault + + if (!isActive && !hasHoldings) { + return + } + if (!shouldShowHidden && isHidden) { + return + } + + if (!matchesSearch(searchableText)) { + return + } + + if (!hasUserHoldings && hasChainFilter && !chains?.includes(getVaultChainID(vault))) { + return + } + + const vaultTvl = getVaultTVL(vault)?.tvl || 0 + if (!hasUserHoldings && vaultTvl < minTvlValue) { + return + } + + vaultFlags[key] = { + hasHoldings: hasUserHoldings, + isMigratable: isMigratableVault, + isRetired: isRetiredVault, + isHidden + } + + const matchesKind = hasUserHoldings || !hasTypeFilter || Boolean(types?.includes(kind)) + const matchesCategory = hasUserHoldings || !hasCategoryFilter || Boolean(categories?.includes(category)) + const matchesAggressiveness = + hasUserHoldings || + !hasAggressivenessFilter || + (aggressivenessScore !== null && Boolean(aggressiveness?.includes(aggressivenessScore))) + + if (matchesKind && matchesCategory && matchesAggressiveness) { + const assetKey = normalizeUnderlyingAssetSymbol(getVaultToken(vault)?.symbol) + if (assetKey && !underlyingAssetVaults[assetKey]) { + availableUnderlyingAssets.add(assetKey) + underlyingAssetVaults[assetKey] = vault + } else if (assetKey) { + availableUnderlyingAssets.add(assetKey) + } + + const matchesUnderlyingAsset = + hasUserHoldings || !hasUnderlyingAssetFilter || (assetKey && expandedUnderlyingAssets.has(assetKey)) + if (!matchesUnderlyingAsset) { + return + } + + filteredVaults.push(vault) + } + }) + + return { + filteredVaults, + vaultFlags, + availableUnderlyingAssets: Array.from(availableUnderlyingAssets), + underlyingAssetVaults + } + }, [ + vaultIndex, + walletFlags, types, chains, - search, categories, aggressiveness, - underlyingAssets, - minTvl, - showHiddenVaults, - enabled - }) + normalizedUnderlyingAssets, + expandedUnderlyingAssets, + minTvlValue, + searchRegex, + lowercaseSearch, + isSearchEnabled, + showHiddenVaults + ]) - return toV2Result(result) + return { + ...filteredResults, + holdingsVaults, + availableVaults, + isLoading: isEnabled ? isLoadingVaultList : false + } } diff --git a/src/components/shared/hooks/useV3VaultFilter.ts b/src/components/shared/hooks/useV3VaultFilter.ts index 43bda86a3..ad2763a1b 100644 --- a/src/components/shared/hooks/useV3VaultFilter.ts +++ b/src/components/shared/hooks/useV3VaultFilter.ts @@ -1,7 +1,74 @@ -import type { TVaultAggressiveness } from '@pages/vaults/utils/vaultListFacets' -import { type TVaultFilterResult, useVaultFilter } from './useVaultFilter' +import { useAppSettings } from '@pages/vaults/contexts/useAppSettings' +import { + getVaultAddress, + getVaultChainID, + getVaultInfo, + getVaultMigration, + getVaultName, + getVaultStaking, + getVaultSymbol, + getVaultToken, + getVaultTVL, + type TKongVault +} from '@pages/vaults/domain/kongVaultSelectors' +import { getHoldingsAliasVaultAddress } from '@pages/vaults/domain/normalizeVault' +import { DEFAULT_MIN_TVL } from '@pages/vaults/utils/constants' +import { + deriveAssetCategory, + deriveListKind, + deriveV3Aggressiveness, + expandUnderlyingAssetSelection, + isAllocatorVaultOverride, + normalizeUnderlyingAssetSymbol, + type TVaultAggressiveness +} from '@pages/vaults/utils/vaultListFacets' +import { useDeepCompareMemo } from '@react-hookz/web' +import { useWallet } from '@shared/contexts/useWallet' +import { useYearn } from '@shared/contexts/useYearn' +import { isZeroAddress } from '@shared/utils' +import { useMemo } from 'react' +import { + createCheckHasAvailableBalance, + createCheckHasHoldings, + getVaultKey, + isV3Vault, + type TVaultFlags +} from './useVaultFilterUtils' -type TV3VaultFilterResult = TVaultFilterResult +type TVaultIndexEntry = { + key: string + vault: TKongVault + searchableText: string + kind: ReturnType + category: string + aggressiveness: TVaultAggressiveness | null + isHidden: boolean + isFeatured: boolean + isActive: boolean + isMigratable: boolean + isRetired: boolean + isBypassedHolding: boolean +} + +type TVaultWalletFlags = { + hasHoldings: boolean + hasAvailableBalance: boolean +} + +type TV3VaultFilterResult = { + filteredVaults: TKongVault[] + holdingsVaults: TKongVault[] + availableVaults: TKongVault[] + vaultFlags: Record + availableUnderlyingAssets: string[] + underlyingAssetVaults: Record + totalMatchingVaults: number + totalHoldingsMatching: number + totalAvailableMatching: number + totalMigratableMatching: number + totalRetiredMatching: number + isLoading: boolean +} export function useV3VaultFilter( types: string[] | null, @@ -14,16 +81,336 @@ export function useV3VaultFilter( showHiddenVaults?: boolean, enabled?: boolean ): TV3VaultFilterResult { - return useVaultFilter({ - version: 'v3', + const { vaults, allVaults, getPrice, isLoadingVaultList } = useYearn() + const { getBalance } = useWallet() + const { shouldHideDust } = useAppSettings() + const isEnabled = enabled ?? true + const searchValue = search ?? '' + const minTvlValue = Number.isFinite(minTvl) ? Math.max(0, minTvl || 0) : DEFAULT_MIN_TVL + const isSearchEnabled = isEnabled && searchValue !== '' + const searchRegex = useMemo(() => { + if (!isSearchEnabled) { + return null + } + try { + const escapedSearch = searchValue.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + return new RegExp(escapedSearch, 'i') + } catch { + return null + } + }, [isSearchEnabled, searchValue]) + const lowercaseSearch = useMemo( + () => (isSearchEnabled ? searchValue.toLowerCase() : ''), + [isSearchEnabled, searchValue] + ) + const normalizedUnderlyingAssets = useMemo(() => { + if (!underlyingAssets || underlyingAssets.length === 0) { + return new Set() + } + const normalized = underlyingAssets.map((asset) => normalizeUnderlyingAssetSymbol(asset)).filter(Boolean) + return new Set(normalized) + }, [underlyingAssets]) + const expandedUnderlyingAssets = useMemo( + () => expandUnderlyingAssetSelection(normalizedUnderlyingAssets), + [normalizedUnderlyingAssets] + ) + + const checkHasHoldings = useMemo( + () => createCheckHasHoldings(getBalance, getPrice, shouldHideDust), + [getBalance, getPrice, shouldHideDust] + ) + + const checkHasAvailableBalance = useMemo(() => createCheckHasAvailableBalance(getBalance), [getBalance]) + const checkHasRawHoldings = useMemo( + () => + (vault: TKongVault): boolean => { + const chainID = getVaultChainID(vault) + const vaultBalance = getBalance({ + address: getVaultAddress(vault), + chainID + }) + if (vaultBalance.raw > 0n) { + return true + } + + const staking = getVaultStaking(vault) + if (isZeroAddress(staking.address)) { + return false + } + + const stakingBalance = getBalance({ + address: staking.address, + chainID + }) + return stakingBalance.raw > 0n + }, + [getBalance] + ) + + const vaultIndex = useDeepCompareMemo(() => { + if (!isEnabled) { + return new Map() + } + const vaultMap = new Map() + + const shouldIncludeVault = (vault: TKongVault): boolean => isV3Vault(vault, isAllocatorVaultOverride(vault)) + + const upsertVault = ( + vault: TKongVault, + updates: Partial> + ): void => { + const key = getVaultKey(vault) + const existing = vaultMap.get(key) + if (existing) { + vaultMap.set(key, { ...existing, ...updates }) + return + } + + const token = getVaultToken(vault) + const info = getVaultInfo(vault) + const kind = deriveListKind(vault) + vaultMap.set(key, { + key, + vault, + searchableText: + `${getVaultName(vault)} ${getVaultSymbol(vault)} ${token.name} ${token.symbol} ${getVaultAddress(vault)} ${token.address}`.toLowerCase(), + kind, + category: deriveAssetCategory(vault), + aggressiveness: deriveV3Aggressiveness(vault), + isHidden: Boolean(info?.isHidden), + isFeatured: Boolean(info?.isHighlighted), + isActive: Boolean(updates.isActive), + isMigratable: Boolean(updates.isMigratable), + isRetired: Boolean(updates.isRetired), + isBypassedHolding: Boolean(updates.isBypassedHolding) + }) + } + + Object.values(vaults).forEach((vault) => { + if (getHoldingsAliasVaultAddress(getVaultAddress(vault))) { + return + } + if (!shouldIncludeVault(vault)) { + return + } + const isRetired = Boolean(getVaultInfo(vault)?.isRetired) + upsertVault(vault, { + isActive: !isRetired, + isRetired, + isMigratable: Boolean(getVaultMigration(vault)?.available) + }) + }) + + Object.values(allVaults).forEach((vault) => { + if (getHoldingsAliasVaultAddress(getVaultAddress(vault))) { + return + } + if (!shouldIncludeVault(vault)) { + return + } + const key = getVaultKey(vault) + if (vaultMap.has(key)) { + return + } + if (!checkHasRawHoldings(vault)) { + return + } + const isRetired = Boolean(getVaultInfo(vault)?.isRetired) + upsertVault(vault, { + isActive: !isRetired, + isRetired, + isMigratable: Boolean(getVaultMigration(vault)?.available), + isBypassedHolding: true + }) + }) + + return vaultMap + }, [isEnabled, isEnabled ? vaults : null, isEnabled ? allVaults : null, checkHasRawHoldings]) + + const walletFlags = useMemo(() => { + const flags = new Map() + vaultIndex.forEach((entry, key) => { + const hasRawHoldings = entry.isBypassedHolding ? checkHasRawHoldings(entry.vault) : false + flags.set(key, { + hasHoldings: hasRawHoldings || checkHasHoldings(entry.vault), + hasAvailableBalance: checkHasAvailableBalance(entry.vault) + }) + }) + return flags + }, [vaultIndex, checkHasHoldings, checkHasAvailableBalance, checkHasRawHoldings]) + + const holdingsVaults = useMemo(() => { + return Array.from(vaultIndex.values()) + .filter(({ key }) => walletFlags.get(key)?.hasHoldings) + .map(({ vault }) => vault) + }, [vaultIndex, walletFlags]) + + const availableVaults = useMemo(() => { + return Array.from(vaultIndex.values()) + .filter(({ key, isActive }) => { + const flags = walletFlags.get(key) + return Boolean(flags?.hasAvailableBalance && (isActive || flags?.hasHoldings)) + }) + .map(({ vault }) => vault) + }, [vaultIndex, walletFlags]) + + const filteredResults = useMemo(() => { + const filteredVaults: TKongVault[] = [] + const vaultFlags: Record = {} + + let totalMatchingVaults = 0 + let totalHoldingsMatching = 0 + let totalAvailableMatching = 0 + let totalMigratableMatching = 0 + let totalRetiredMatching = 0 + const availableUnderlyingAssets = new Set() + const underlyingAssetVaults: Record = {} + const hasChainFilter = Boolean(chains?.length) + const hasCategoryFilter = Boolean(categories?.length) + const hasAggressivenessFilter = Boolean(aggressiveness?.length) + const hasTypeFilter = Boolean(types?.length) + const hasUnderlyingAssetFilter = normalizedUnderlyingAssets.size > 0 + + const matchesSearch = (searchableText: string): boolean => { + if (!isSearchEnabled) { + return true + } + if (searchRegex) { + return searchRegex.test(searchableText) + } + return searchableText.includes(lowercaseSearch) + } + + vaultIndex.forEach((entry) => { + const { + key, + vault, + searchableText, + kind, + category, + aggressiveness: aggressivenessScore, + isHidden, + isFeatured, + isActive, + isMigratable, + isRetired + } = entry + const walletFlag = walletFlags.get(key) + const hasHoldings = Boolean(walletFlag?.hasHoldings) + const hasAvailableBalance = Boolean(walletFlag?.hasAvailableBalance) + const isMigratableVault = Boolean(isMigratable && hasHoldings) + const isRetiredVault = Boolean(isRetired && hasHoldings) + const hasUserHoldings = hasHoldings || isMigratableVault || isRetiredVault + + if (!isActive && !hasHoldings) { + return + } + if (!showHiddenVaults && isHidden) { + return + } + if (!matchesSearch(searchableText)) { + return + } + + if (!hasUserHoldings && hasChainFilter && !chains?.includes(getVaultChainID(vault))) { + return + } + + const vaultTvl = getVaultTVL(vault)?.tvl || 0 + if (!hasUserHoldings && vaultTvl < minTvlValue) { + return + } + + vaultFlags[key] = { + hasHoldings: hasUserHoldings, + isMigratable: isMigratableVault, + isRetired: isRetiredVault, + isHidden + } + + totalMatchingVaults++ + if (hasUserHoldings) { + totalHoldingsMatching++ + } + if (hasAvailableBalance) { + totalAvailableMatching++ + } + if (isMigratableVault) { + totalMigratableMatching++ + } + if (isRetiredVault) { + totalRetiredMatching++ + } + + const shouldIncludeByCategory = hasUserHoldings || !hasCategoryFilter || Boolean(categories?.includes(category)) + const isPinnedByUserContext = hasUserHoldings || isMigratableVault || isRetiredVault + const isStrategy = kind === 'strategy' + const shouldIncludeByFeaturedGate = showHiddenVaults || isStrategy || isFeatured || isPinnedByUserContext + const shouldIncludeByKind = + hasUserHoldings || + !hasTypeFilter || + (Boolean(types?.includes('multi')) && kind === 'allocator') || + (Boolean(types?.includes('single')) && kind === 'strategy') + const shouldIncludeByAggressiveness = + hasUserHoldings || + !hasAggressivenessFilter || + (aggressivenessScore !== null && Boolean(aggressiveness?.includes(aggressivenessScore))) + + if ( + shouldIncludeByCategory && + shouldIncludeByFeaturedGate && + shouldIncludeByKind && + shouldIncludeByAggressiveness + ) { + const assetKey = normalizeUnderlyingAssetSymbol(getVaultToken(vault)?.symbol) + if (assetKey && !underlyingAssetVaults[assetKey]) { + availableUnderlyingAssets.add(assetKey) + underlyingAssetVaults[assetKey] = vault + } else if (assetKey) { + availableUnderlyingAssets.add(assetKey) + } + + const matchesUnderlyingAsset = + hasUserHoldings || !hasUnderlyingAssetFilter || (assetKey && expandedUnderlyingAssets.has(assetKey)) + + if (matchesUnderlyingAsset) { + filteredVaults.push(vault) + } + } + }) + + return { + filteredVaults, + holdingsVaults, + vaultFlags, + availableUnderlyingAssets: Array.from(availableUnderlyingAssets), + underlyingAssetVaults, + totalMatchingVaults, + totalHoldingsMatching, + totalAvailableMatching, + totalMigratableMatching, + totalRetiredMatching + } + }, [ + vaultIndex, + walletFlags, types, chains, - search, categories, aggressiveness, - underlyingAssets, - minTvl, + normalizedUnderlyingAssets, + expandedUnderlyingAssets, + minTvlValue, + holdingsVaults, showHiddenVaults, - enabled - }) + searchRegex, + lowercaseSearch, + isSearchEnabled + ]) + + return { + ...filteredResults, + availableVaults, + isLoading: isEnabled ? isLoadingVaultList : false + } } diff --git a/src/components/shared/hooks/useVaultFilterUtils.test.ts b/src/components/shared/hooks/useVaultFilterUtils.test.ts new file mode 100644 index 000000000..e81cfb487 --- /dev/null +++ b/src/components/shared/hooks/useVaultFilterUtils.test.ts @@ -0,0 +1,71 @@ +import { describe, expect, it } from 'vitest' +import { getVaultHoldingsUsdValue } from './useVaultFilterUtils' + +const VAULT_ADDRESS = '0x8589462548984c5C0f2C0140FB276351B5a77fe1' +const ASSET_ADDRESS = '0x0000000000000000000000000000000000000002' + +function makeStrategyVault() { + return { + chainId: 1, + address: VAULT_ADDRESS, + name: 'Strategy Vault', + symbol: 'yvSTRAT', + apiVersion: '3.0.0', + decimals: 18, + asset: { + address: ASSET_ADDRESS, + name: 'USD Asset', + symbol: 'USDC', + decimals: 6 + }, + tvl: 0, + performance: { + oracle: { apr: 0.04, apy: 0.04 }, + estimated: { apr: 0.04, apy: 0.04, type: 'oracle', components: {} }, + historical: { net: 0.03, weeklyNet: 0.03, monthlyNet: 0.02, inceptionNet: 0.01 } + }, + fees: { + managementFee: 0, + performanceFee: 0 + }, + category: 'Stablecoin', + type: 'Standard', + kind: 'Single Strategy', + v3: true, + yearn: true, + isRetired: false, + isHidden: false, + isBoosted: false, + isHighlighted: false, + strategiesCount: 1, + riskLevel: 1, + staking: { + address: null, + available: false, + source: '', + rewards: [] + }, + pricePerShare: '1050000' + } as any +} + +describe('getVaultHoldingsUsdValue', () => { + it('values list-only holdings from list pricePerShare when share price is unavailable', () => { + const vault = makeStrategyVault() + const value = getVaultHoldingsUsdValue( + vault, + ({ address }) => ({ value: address.toLowerCase() === VAULT_ADDRESS.toLowerCase() ? 0 : undefined }), + ({ address }) => ({ + raw: address.toLowerCase() === VAULT_ADDRESS.toLowerCase() ? 2n * 10n ** 18n : 0n, + normalized: address.toLowerCase() === VAULT_ADDRESS.toLowerCase() ? 2 : 0, + display: address.toLowerCase() === VAULT_ADDRESS.toLowerCase() ? '2' : '0', + decimals: 18 + }), + ({ address }) => ({ + normalized: address.toLowerCase() === ASSET_ADDRESS.toLowerCase() ? 1 : 0 + }) + ) + + expect(value).toBeCloseTo(2.1, 8) + }) +}) diff --git a/src/components/shared/hooks/useVaultFilterUtils.ts b/src/components/shared/hooks/useVaultFilterUtils.ts index fa5d13c51..68f34e3dd 100644 --- a/src/components/shared/hooks/useVaultFilterUtils.ts +++ b/src/components/shared/hooks/useVaultFilterUtils.ts @@ -1,22 +1,28 @@ import { getVaultAddress, + getVaultAPR, getVaultChainID, + getVaultDecimals, getVaultName, getVaultStaking, getVaultSymbol, getVaultToken, + getVaultTVL, getVaultVersion, type TKongVault, type TKongVaultInput } from '@pages/vaults/domain/kongVaultSelectors' import { getNativeTokenWrapperContract } from '@pages/vaults/utils/nativeTokens' +import type { TDict } from '@shared/types' import type { TAddress } from '@shared/types/address' import type { TNormalizedBN } from '@shared/types/mixed' -import { toAddress } from '@shared/utils' +import { isZeroAddress, toAddress, toNormalizedBN } from '@shared/utils' import { ETH_TOKEN_ADDRESS } from '@shared/utils/constants' +type TVaultLike = TKongVaultInput + export type TVaultWithMetadata = { - vault: TKongVault + vault: TVaultLike hasHoldings: boolean hasAvailableBalance: boolean isHoldingsVault: boolean @@ -29,42 +35,67 @@ export type TVaultFlags = { isMigratable: boolean isRetired: boolean isHidden: boolean + isNotYearn?: boolean } type TTokenAndChain = { address: TAddress; chainID: number } type TBalanceGetter = (params: TTokenAndChain) => TNormalizedBN type TPriceGetter = (params: TTokenAndChain) => { normalized: number } +type TTokenGetter = (params: TTokenAndChain) => { value?: number } +type TStakingConversionMap = Record + +type TVaultHoldingsUsdOptions = { + allVaults?: TDict + stakingConvertedAssets?: TStakingConversionMap +} + +const zeroNormalizedBalance = toNormalizedBN(0n, 18) + +const getVaultSharePriceUsd = (vault: TVaultLike, getPrice: TPriceGetter): number => { + const chainID = getVaultChainID(vault) + const vaultAddress = getVaultAddress(vault) + const directSharePrice = getPrice({ address: vaultAddress, chainID }).normalized + if (directSharePrice > 0) { + return directSharePrice + } + + const assetToken = getVaultToken(vault) + const assetPrice = getPrice({ address: assetToken.address, chainID }).normalized + const pricePerShare = getVaultAPR(vault).pricePerShare.today + if (assetPrice > 0 && pricePerShare > 0) { + return assetPrice * pricePerShare + } + + return getVaultTVL(vault).price +} export function createCheckHasHoldings( getBalance: TBalanceGetter, getPrice: TPriceGetter, shouldHideDust: boolean -): (vault: TKongVaultInput) => boolean { - return function checkHasHoldings(vault: TKongVaultInput): boolean { +): (vault: TVaultLike) => boolean { + return function checkHasHoldings(vault: TVaultLike): boolean { const address = getVaultAddress(vault) const chainID = getVaultChainID(vault) + const vaultDecimals = getVaultDecimals(vault) const staking = getVaultStaking(vault) const vaultBalance = getBalance({ address, chainID }) const hasVaultBalance = vaultBalance.raw > 0n - let vaultPrice: { normalized: number } | null = null - - const getVaultPrice = (): { normalized: number } => { - if (!vaultPrice) { - vaultPrice = getPrice({ address, chainID }) - } - return vaultPrice - } + const sharePriceUsd = getVaultSharePriceUsd(vault, getPrice) - if (staking.available) { + if (!isZeroAddress(staking.address)) { const stakingBalance = getBalance({ address: staking.address, chainID }) const hasValidStakedBalance = stakingBalance.raw > 0n if (hasValidStakedBalance) { - const price = getVaultPrice() - const stakedBalanceValue = Number(stakingBalance.normalized) * price.normalized + if (sharePriceUsd <= 0) { + return true + } + const stakedBalance = toNormalizedBN(stakingBalance.raw, vaultDecimals).normalized + const stakedBalanceValue = stakedBalance * sharePriceUsd if (!(shouldHideDust && stakedBalanceValue < 0.01)) { return true } @@ -75,15 +106,17 @@ export function createCheckHasHoldings( return false } - const price = getVaultPrice() - const balanceValue = Number(vaultBalance.normalized) * price.normalized + if (sharePriceUsd <= 0) { + return true + } + const balanceValue = toNormalizedBN(vaultBalance.raw, vaultDecimals).normalized * sharePriceUsd return !(shouldHideDust && balanceValue < 0.01) } } -export function createCheckHasAvailableBalance(getBalance: TBalanceGetter): (vault: TKongVaultInput) => boolean { - return function checkHasAvailableBalance(vault: TKongVaultInput): boolean { +export function createCheckHasAvailableBalance(getBalance: TBalanceGetter): (vault: TVaultLike) => boolean { + return function checkHasAvailableBalance(vault: TVaultLike): boolean { const token = getVaultToken(vault) const chainID = getVaultChainID(vault) const wantBalance = getBalance({ address: token.address, chainID }) @@ -103,11 +136,98 @@ export function createCheckHasAvailableBalance(getBalance: TBalanceGetter): (vau } } -export function getVaultKey(vault: TKongVaultInput): string { +export function getVaultHoldingsUsdValue( + vault: TVaultLike, + getToken: TTokenGetter, + getBalance: TBalanceGetter, + getPrice: TPriceGetter, + options?: TVaultHoldingsUsdOptions +): number { + const chainID = getVaultChainID(vault) + const address = getVaultAddress(vault) + const staking = getVaultStaking(vault) + const allVaults = options?.allVaults ?? {} + const stakingConvertedAssets = options?.stakingConvertedAssets ?? {} + + const vaultToken = getToken({ address, chainID }) + const vaultDirectValue = Number(vaultToken.value || 0) + const vaultShareBalance = getBalance({ address, chainID }) + const vaultShares = Number(vaultShareBalance.normalized || 0) + + const canUseStaking = !isZeroAddress(staking.address) + const stakingToken = canUseStaking ? getToken({ address: staking.address, chainID }) : null + const stakingDirectValue = Number(stakingToken?.value || 0) + const stakingShareBalance = canUseStaking ? getBalance({ address: staking.address, chainID }) : zeroNormalizedBalance + const stakingShares = Number(stakingShareBalance.normalized || 0) + const stakingConversionKey = `${chainID}/${toAddress(staking.address)}` + const convertedStakingAssets = stakingConvertedAssets[stakingConversionKey] + const stakingVault = canUseStaking ? allVaults[toAddress(staking.address)] : undefined + + const resolvePositionValue = (positionVault: TVaultLike, directValue: number, shares: number): number => { + if (Number.isFinite(directValue) && directValue > 0) { + return directValue + } + if (!Number.isFinite(shares) || shares <= 0) { + return 0 + } + const positionChainID = getVaultChainID(positionVault) + const positionAddress = getVaultAddress(positionVault) + const positionToken = getVaultToken(positionVault) + const vaultSharePrice = Number(getPrice({ address: positionAddress, chainID: positionChainID }).normalized || 0) + const pricePerShare = Number(getVaultAPR(positionVault).pricePerShare.today || 0) + const resolvedAssetPrice = Number( + getPrice({ address: positionToken.address, chainID: positionChainID }).normalized || 0 + ) + const assetPrice = resolvedAssetPrice > 0 ? resolvedAssetPrice : Number(getVaultTVL(positionVault).price || 0) + + if (Number.isFinite(vaultSharePrice) && vaultSharePrice > 0) { + const viaVaultPrice = shares * vaultSharePrice + if (Number.isFinite(viaVaultPrice)) { + return viaVaultPrice + } + } + if (Number.isFinite(pricePerShare) && pricePerShare > 0 && Number.isFinite(assetPrice) && assetPrice > 0) { + const viaPps = shares * pricePerShare * assetPrice + if (Number.isFinite(viaPps)) { + return viaPps + } + } + return 0 + } + + const resolveStakingValue = (): number => { + if (!canUseStaking) { + return 0 + } + + if (Number.isFinite(stakingDirectValue) && stakingDirectValue > 0) { + return stakingDirectValue + } + + if (stakingVault) { + return resolvePositionValue(stakingVault, 0, stakingShares) + } + + if (convertedStakingAssets !== undefined && convertedStakingAssets > 0n) { + const convertedShares = toNormalizedBN(convertedStakingAssets, getVaultDecimals(vault)).normalized + return resolvePositionValue(vault, 0, convertedShares) + } + + return resolvePositionValue(vault, 0, stakingShares) + } + + const totalValue = resolvePositionValue(vault, vaultDirectValue, vaultShares) + resolveStakingValue() + if (!Number.isFinite(totalValue)) { + return 0 + } + return totalValue +} + +export function getVaultKey(vault: TVaultLike): string { return `${getVaultChainID(vault)}_${toAddress(getVaultAddress(vault))}` } -export function matchesSearch(vault: TKongVaultInput, search: string): boolean { +export function matchesSearch(vault: TVaultLike, search: string): boolean { const token = getVaultToken(vault) const searchableText = `${getVaultName(vault)} ${getVaultSymbol(vault)} ${token.name} ${token.symbol} ${getVaultAddress(vault)} ${token.address}` @@ -121,7 +241,7 @@ export function matchesSearch(vault: TKongVaultInput, search: string): boolean { } } -export function isV3Vault(vault: TKongVaultInput, isAllocatorOverride: boolean): boolean { +export function isV3Vault(vault: TVaultLike, isAllocatorOverride: boolean): boolean { const version = getVaultVersion(vault) return version.startsWith('3') || version.startsWith('~3') || isAllocatorOverride } @@ -129,11 +249,11 @@ export function isV3Vault(vault: TKongVaultInput, isAllocatorOverride: boolean): export function extractHoldingsVaults(vaultMap: Map): TKongVault[] { return Array.from(vaultMap.values()) .filter(({ hasHoldings }) => hasHoldings) - .map(({ vault }) => vault) + .map(({ vault }) => vault as TKongVault) } export function extractAvailableVaults(vaultMap: Map): TKongVault[] { return Array.from(vaultMap.values()) .filter(({ hasAvailableBalance }) => hasAvailableBalance) - .map(({ vault }) => vault) + .map(({ vault }) => vault as TKongVault) } diff --git a/src/components/shared/utils/format.ts b/src/components/shared/utils/format.ts index f8b62c5f7..d1bfcbce6 100755 --- a/src/components/shared/utils/format.ts +++ b/src/components/shared/utils/format.ts @@ -80,7 +80,27 @@ export const exactToSimple = (bn?: bigint | string | number, scale?: number) => ** to correctly format bigNumbers, currency and date **************************************************************************/ export const toBigInt = (amount?: TNumberish): bigint => { - return BigInt(amount || 0) + if (amount === undefined || amount === null) { + return 0n + } + + if (typeof amount === 'bigint') { + return amount + } + + const asString = String(amount).trim() + if (asString === '') { + return 0n + } + + const normalized = asString.includes('e') || asString.includes('E') ? eToNumber(asString) : asString + const integerPart = normalized.includes('.') ? normalized.split('.')[0] : normalized + + if (integerPart === '' || integerPart === '-' || integerPart === '+') { + return 0n + } + + return BigInt(integerPart) } export function toBigNumberAsAmount(bnAmount = 0n, decimals = 18, decimalsToDisplay = 2, symbol = ''): string { diff --git a/src/components/shared/utils/schemas/kongVaultListSchema.ts b/src/components/shared/utils/schemas/kongVaultListSchema.ts index aed235680..82f43c293 100644 --- a/src/components/shared/utils/schemas/kongVaultListSchema.ts +++ b/src/components/shared/utils/schemas/kongVaultListSchema.ts @@ -6,6 +6,23 @@ const coerceNullableNumber = z.preprocess( (val) => (val === null || val === undefined ? null : Number(val)), z.number().nullable() ) +const coerceNullableBigNumberish = z + .union([z.number(), z.string(), z.null()]) + .transform((value) => (value === null ? null : String(value))) + +const stakingRewardSchema = z + .object({ + address: addressSchema.optional().catch('0x0000000000000000000000000000000000000000'), + name: z.string().optional().default('').catch(''), + symbol: z.string().optional().default('').catch(''), + decimals: z.number().optional().default(18).catch(18), + price: coerceNullableNumber.optional().catch(null), + isFinished: z.boolean().optional().default(false).catch(false), + finishedAt: coerceNullableNumber.optional().catch(null), + apr: coerceNullableNumber.optional().catch(null), + perWeek: coerceNullableNumber.optional().catch(null) + }) + .passthrough() export const kongVaultListItemSchema = z.object({ chainId: z.number(), @@ -102,12 +119,17 @@ export const kongVaultListItemSchema = z.object({ staking: z .object({ address: addressSchema.nullable(), - available: z.boolean() + available: z.boolean(), + source: z.string().optional().default('').catch(''), + rewards: z.array(stakingRewardSchema).optional().default([]).catch([]) }) - .nullish() + .nullish(), + + pricePerShare: coerceNullableBigNumberish.optional() }) export const kongVaultListSchema = z.array(kongVaultListItemSchema) export type TKongVaultListItem = z.infer export type TKongVaultList = z.infer +export type TKongVaultListItemStakingReward = z.infer diff --git a/src/components/shared/utils/vaultApy.test.ts b/src/components/shared/utils/vaultApy.test.ts index 824d6e9a3..f4036247c 100644 --- a/src/components/shared/utils/vaultApy.test.ts +++ b/src/components/shared/utils/vaultApy.test.ts @@ -53,7 +53,9 @@ const BASE_VAULT: TKongVault = { riskLevel: 1, staking: { address: null, - available: false + available: false, + source: '', + rewards: [] } } From a1c981c01b38068729bc7820b8ab0dd4a73e82b0 Mon Sep 17 00:00:00 2001 From: rossgalloway <58150151+rossgalloway@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:00:27 -0400 Subject: [PATCH 9/9] chore: fix portfolio vault suggestion ranking (#1105) Correct the preferred vault selection and external suggestion\ndeduplication on the release branch.\n\n- choose the highest-TVL qualifying vault instead of the smallest\n- dedupe external matches before truncating to two suggestions\n- add focused tests for both regression paths\n\nThis restores the intended ranking behavior for portfolio suggestions\nand avoids wasting external slots on duplicate vault matches. --- .../hooks/buildVaultSuggestions.test.ts | 138 ++++++++++++++++++ .../portfolio/hooks/buildVaultSuggestions.ts | 51 +++++++ .../portfolio/hooks/getEligibleVaults.test.ts | 85 +++++++++++ .../portfolio/hooks/getEligibleVaults.ts | 2 +- .../portfolio/hooks/useVaultSuggestions.ts | 34 +---- 5 files changed, 277 insertions(+), 33 deletions(-) create mode 100644 src/components/pages/portfolio/hooks/buildVaultSuggestions.test.ts create mode 100644 src/components/pages/portfolio/hooks/buildVaultSuggestions.ts create mode 100644 src/components/pages/portfolio/hooks/getEligibleVaults.test.ts diff --git a/src/components/pages/portfolio/hooks/buildVaultSuggestions.test.ts b/src/components/pages/portfolio/hooks/buildVaultSuggestions.test.ts new file mode 100644 index 000000000..43e738642 --- /dev/null +++ b/src/components/pages/portfolio/hooks/buildVaultSuggestions.test.ts @@ -0,0 +1,138 @@ +import type { TExternalToken } from '@pages/portfolio/constants/externalTokens' +import { buildVaultSuggestions } from '@pages/portfolio/hooks/buildVaultSuggestions' +import type { TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { describe, expect, it } from 'vitest' + +const buildVault = ({ + address, + assetSymbol, + tvl, + apr +}: { + address: string + assetSymbol: string + tvl: number + apr: number +}): TKongVault => + ({ + chainId: 1, + address, + name: `${assetSymbol} Vault`, + symbol: `yv${assetSymbol}`, + apiVersion: '3.0.0', + decimals: 18, + asset: { + address: + assetSymbol === 'USDC' + ? '0x0000000000000000000000000000000000000010' + : assetSymbol === 'DAI' + ? '0x0000000000000000000000000000000000000011' + : '0x0000000000000000000000000000000000000012', + name: assetSymbol, + symbol: assetSymbol, + decimals: 18 + }, + tvl, + performance: { + oracle: { apr, apy: apr }, + estimated: { + apr, + apy: apr, + type: 'estimated', + components: {} + }, + historical: { + net: apr, + weeklyNet: apr, + monthlyNet: apr, + inceptionNet: apr + } + }, + fees: { + managementFee: 0.0025, + performanceFee: 0.1 + }, + category: 'Stablecoin', + type: 'Standard', + kind: 'Multi Strategy', + v3: true, + yearn: true, + isRetired: false, + isHidden: false, + isBoosted: false, + isHighlighted: true, + strategiesCount: 1, + riskLevel: 1, + staking: { + address: null, + available: false + } + }) as unknown as TKongVault + +describe('buildVaultSuggestions', () => { + it('dedupes repeated vault matches before applying the two-item cap', () => { + const usdcVault = buildVault({ + address: '0x0000000000000000000000000000000000000001', + assetSymbol: 'USDC', + tvl: 2_000_000, + apr: 0.06 + }) + const daiVault = buildVault({ + address: '0x0000000000000000000000000000000000000002', + assetSymbol: 'DAI', + tvl: 1_500_000, + apr: 0.05 + }) + const wethVault = buildVault({ + address: '0x0000000000000000000000000000000000000003', + assetSymbol: 'WETH', + tvl: 1_250_000, + apr: 0.05 + }) + + const detectedTokens: TExternalToken[] = [ + { + address: '0x0000000000000000000000000000000000000101', + chainId: 1, + protocol: 'Aave V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0x0000000000000000000000000000000000000010' + }, + { + address: '0x0000000000000000000000000000000000000102', + chainId: 1, + protocol: 'Compound V3', + underlyingSymbol: 'USDC', + underlyingAddress: '0x0000000000000000000000000000000000000010' + }, + { + address: '0x0000000000000000000000000000000000000103', + chainId: 1, + protocol: 'Spark', + underlyingSymbol: 'DAI', + underlyingAddress: '0x0000000000000000000000000000000000000011' + }, + { + address: '0x0000000000000000000000000000000000000104', + chainId: 1, + protocol: 'Morpho', + underlyingSymbol: 'WETH', + underlyingAddress: '0x0000000000000000000000000000000000000012' + } + ] + + const suggestions = buildVaultSuggestions( + detectedTokens, + { + [usdcVault.address]: usdcVault, + [daiVault.address]: daiVault, + [wethVault.address]: wethVault + }, + new Set() + ) + + expect(suggestions).toHaveLength(2) + expect(suggestions[0]?.vault).toBe(usdcVault) + expect(suggestions[1]?.vault).toBe(daiVault) + }) +}) diff --git a/src/components/pages/portfolio/hooks/buildVaultSuggestions.ts b/src/components/pages/portfolio/hooks/buildVaultSuggestions.ts new file mode 100644 index 000000000..acc26ac9f --- /dev/null +++ b/src/components/pages/portfolio/hooks/buildVaultSuggestions.ts @@ -0,0 +1,51 @@ +import type { TExternalToken } from '@pages/portfolio/constants/externalTokens' +import { getEligibleVaults, normalizeSymbol, selectPreferredVault } from '@pages/portfolio/hooks/getEligibleVaults' +import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { getVaultKey } from '@shared/hooks/useVaultFilterUtils' + +export type TVaultSuggestion = { + vault: TKongVault + externalProtocol: string + underlyingSymbol: string +} + +export function buildVaultSuggestions( + detectedTokens: TExternalToken[], + vaults: Record, + holdingsKeySet: Set +): TVaultSuggestion[] { + if (detectedTokens.length === 0) return [] + + const eligible = getEligibleVaults(vaults, holdingsKeySet) + + const vaultsBySymbol = eligible.reduce((acc, vault) => { + const normalized = normalizeSymbol(getVaultToken(vault).symbol ?? '') + return acc.set(normalized, [...(acc.get(normalized) ?? []), vault]) + }, new Map()) + + const bestVaultByUnderlying = new Map( + [...vaultsBySymbol.entries()] + .map(([symbol, candidates]) => [symbol, selectPreferredVault(candidates)] as const) + .filter((entry): entry is [string, TKongVault] => entry[1] !== undefined) + ) + + const seenVaults = new Set() + + return detectedTokens + .flatMap((token) => { + const normalized = normalizeSymbol(token.underlyingSymbol) + const bestVault = bestVaultByUnderlying.get(normalized) + if (!bestVault) return [] + + return [{ vault: bestVault, externalProtocol: token.protocol, underlyingSymbol: token.underlyingSymbol }] + }) + .filter((suggestion) => { + const vaultKey = getVaultKey(suggestion.vault) + if (seenVaults.has(vaultKey)) { + return false + } + seenVaults.add(vaultKey) + return true + }) + .slice(0, 2) +} diff --git a/src/components/pages/portfolio/hooks/getEligibleVaults.test.ts b/src/components/pages/portfolio/hooks/getEligibleVaults.test.ts new file mode 100644 index 000000000..b4f2f5a35 --- /dev/null +++ b/src/components/pages/portfolio/hooks/getEligibleVaults.test.ts @@ -0,0 +1,85 @@ +import type { TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { describe, expect, it } from 'vitest' +import { selectPreferredVault } from './getEligibleVaults' + +const buildVault = ({ + address, + assetSymbol, + tvl, + apr, + version = '3.0.0' +}: { + address: string + assetSymbol: string + tvl: number + apr: number + version?: string +}): TKongVault => + ({ + chainId: 1, + address, + name: `${assetSymbol} Vault`, + symbol: `yv${assetSymbol}`, + apiVersion: version, + decimals: 18, + asset: { + address: '0x0000000000000000000000000000000000000010', + name: assetSymbol, + symbol: assetSymbol, + decimals: 18 + }, + tvl, + performance: { + oracle: { apr, apy: apr }, + estimated: { + apr, + apy: apr, + type: 'estimated', + components: {} + }, + historical: { + net: apr, + weeklyNet: apr, + monthlyNet: apr, + inceptionNet: apr + } + }, + fees: { + managementFee: 0.0025, + performanceFee: 0.1 + }, + category: 'Stablecoin', + type: 'Standard', + kind: 'Single Strategy', + v3: true, + yearn: true, + isRetired: false, + isHidden: false, + isBoosted: false, + isHighlighted: true, + strategiesCount: 1, + riskLevel: 1, + staking: { + address: null, + available: false + } + }) as unknown as TKongVault + +describe('selectPreferredVault', () => { + it('prefers the highest-TVL qualifying vault', () => { + const smaller = buildVault({ + address: '0x0000000000000000000000000000000000000001', + assetSymbol: 'USDC', + tvl: 900_000, + apr: 0.06 + }) + const larger = buildVault({ + address: '0x0000000000000000000000000000000000000002', + assetSymbol: 'USDC', + tvl: 2_500_000, + apr: 0.05 + }) + + expect(selectPreferredVault([smaller, larger])).toBe(larger) + }) +}) diff --git a/src/components/pages/portfolio/hooks/getEligibleVaults.ts b/src/components/pages/portfolio/hooks/getEligibleVaults.ts index a0e16f49e..ef667f6f5 100644 --- a/src/components/pages/portfolio/hooks/getEligibleVaults.ts +++ b/src/components/pages/portfolio/hooks/getEligibleVaults.ts @@ -32,7 +32,7 @@ export function selectPreferredVault(candidates: TKongVault[]): TKongVault | und if (qualifying.length > 0) { return qualifying.reduce((best, vault) => - (getVaultTVL(vault).tvl ?? 0) < (getVaultTVL(best).tvl ?? 0) ? vault : best + (getVaultTVL(vault).tvl ?? 0) > (getVaultTVL(best).tvl ?? 0) ? vault : best ) } diff --git a/src/components/pages/portfolio/hooks/useVaultSuggestions.ts b/src/components/pages/portfolio/hooks/useVaultSuggestions.ts index 8ce737338..21b57ae29 100644 --- a/src/components/pages/portfolio/hooks/useVaultSuggestions.ts +++ b/src/components/pages/portfolio/hooks/useVaultSuggestions.ts @@ -1,18 +1,11 @@ import { EXTERNAL_TOKENS } from '@pages/portfolio/constants/externalTokens' -import { getEligibleVaults, normalizeSymbol, selectPreferredVault } from '@pages/portfolio/hooks/getEligibleVaults' -import { getVaultToken, type TKongVault } from '@pages/vaults/domain/kongVaultSelectors' +import { buildVaultSuggestions, type TVaultSuggestion } from '@pages/portfolio/hooks/buildVaultSuggestions' import { useWeb3 } from '@shared/contexts/useWeb3' import { useYearn } from '@shared/contexts/useYearn' import { useEnsoBalances } from '@shared/hooks/useEnsoBalances' import { toAddress } from '@shared/utils' import { useMemo } from 'react' -export type TVaultSuggestion = { - vault: TKongVault - externalProtocol: string - underlyingSymbol: string -} - export function useVaultSuggestions(holdingsKeySet: Set): { suggestions: TVaultSuggestion[] } { @@ -30,30 +23,7 @@ export function useVaultSuggestions(holdingsKeySet: Set): { ) const suggestions = useMemo(() => { - if (detectedTokens.length === 0) return [] - - const eligible = getEligibleVaults(vaults, holdingsKeySet) - - const vaultsBySymbol = eligible.reduce((acc, vault) => { - const normalized = normalizeSymbol(getVaultToken(vault).symbol ?? '') - return acc.set(normalized, [...(acc.get(normalized) ?? []), vault]) - }, new Map()) - - const bestVaultByUnderlying = new Map( - [...vaultsBySymbol.entries()] - .map(([symbol, candidates]) => [symbol, selectPreferredVault(candidates)] as const) - .filter((entry): entry is [string, TKongVault] => entry[1] !== undefined) - ) - - return detectedTokens - .flatMap((token) => { - const normalized = normalizeSymbol(token.underlyingSymbol) - const bestVault = bestVaultByUnderlying.get(normalized) - if (!bestVault) return [] - - return [{ vault: bestVault, externalProtocol: token.protocol, underlyingSymbol: token.underlyingSymbol }] - }) - .slice(0, 2) + return buildVaultSuggestions(detectedTokens, vaults, holdingsKeySet) }, [detectedTokens, vaults, holdingsKeySet]) return { suggestions }

>J7ej0)%KcR)XiwHQXH;!wRt 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