Przejdź do głównej treści
Logo Avana

Wyrocznie cenowe

Jak protokół zamienia stan pozycji LP w wartości zabezpieczenia istotne dla kredytu.

Przegląd

Avana wycenia zabezpieczenie LP, rekonstruując pozycję i wyceniając aktywa w niej. Dla fungible LP protokół wyprowadza wartość z zewnętrznych cen aktywów i rekonstrukcji sald poola. Dla concentrated liquidity rozkłada pozycję według płynności, zakresu, bieżącego ticka, ekspozycji tokenowej i naliczonych opłat. Wynik jest dyskontowany, aby oszacować wartość możliwą do odzyskania zabezpieczenia zgodnie z założeniami ryzyka rynkowego. Zdolność kredytowa odzwierciedla zatem zarówno aktywa bazowe pozycji, jak i warunki, w jakich mogłyby zostać odzyskane w trakcie likwidacji. Rozróżnienie między wartością pozycji a wartością możliwą do odzyskania ma znaczenie, ponieważ oracle dostarcza dane wejściowe do decyzji kredytowych. Tokeny ERC-20, pozycje NFT i aktywa wielotypowe pools korzystają ze wspólnego interfejsu, ale każdy format ma własne procedury odtwarzania, weryfikacji i manipulacji, zanim jego wartość trafi do Borrow Spoke.

LP collateral value depends on:

  • Ceny bazowych aktywów
  • Rezerwy poola lub podział inventory
  • Fee accrual
  • Dla concentrated liquidity — bieżący tick względem zakresu pozycji
  • Czy pozycja jest in-range, czy głównie jednostronna

Interfejs Oracle: IOracle

`IOracle` zapewnia Borrow Spoke standardowy interfejs wyceny dla LP formatów. Jego wartości zwracane rozróżniają kapitał główny, naliczone opłaty i zarezerwowane bufory, dzięki czemu wywołujący może osobno uwzględnić każdy składnik:

function getValue(uint256 tokenId, address asset)
  external view returns (
    uint256 fullValue,
    uint256 feeValue,
    uint256 reserveValue
  );
fullValueZrekonstruowana wartość płynności principalu, zanim zastosowane zostaną późniejsze korekty stresu likwidacji.
feeValueWartość opłat naliczonych przez pozycję, które można rozpoznać obok principalu.
reserveValueZarezerwowana część zatrzymana na bufory ryzyka oracle, unwindu i protokołu.

Adapter za tym interfejsem obsługuje specyficzną dla DEX rekonstrukcję i walidację. Borrow Spoke otrzymują te same pola zwrotne dla ERC-20 LP tokenów, pozycji NFT i wieloekwiwalentowych pools, podczas gdy każda implementacja stosuje kontrole wymagane przez jej typ zabezpieczenia.

Architektura wielowarstwowa

Wycena LP to proces etapowy, a nie pojedynczy odczyt ceny spot. Ścieżka oracle przechodzi przez następujące kroki:

1

Wyceniaj bazowe aktywa z zewnętrznych solidnych oracle

Zewnętrzne źródła dostarczają ceny referencyjne dla bazowych tokenów. Odseparowuje to cenę aktywa jako dane wejściowe od bieżącej ceny handlowej pool, która może być wpływana przez krótkotrwałe transakcje lub manipulacje.

2

Wyprowadzaj wartość LP konserwatywnie

Wyrocznia rekonstruuje wymienne LP salda lub dekomponuje pozycje o skoncentrowanej płynności, używając rezerw, płynności, zakresu i naliczonych opłat. Te dane wejściowe określają aktywa reprezentowane przez pozycję.

3

Haircut na impermanent loss i slippage likwidacji

Odtworzona wartość jest dyskontowana ze względu na napięte warunki rynkowe, poślizg przy likwidacji oraz drogę wyjścia z pozycji. Wynikowa wartość szacuje, ile można odzyskać przy likwidacji.

4

Ogranicz ekspozycję według rodziny LP i głębokości poola

Kontrole ekspozycji używają rodziny LP, typu pool oraz dostępnej głębokości płynności, aby ograniczyć, ile pożyczek rynek może obsłużyć.

5

Zastosuj wartość możliwą do odzyskania do pożyczania i likwidacji

Możliwość pożyczkowa i kontrole likwidacyjne wykorzystują szacunkową wartość możliwą do odzyskania poprzez skonfigurowaną trasę wycofania.

Obsługa właściwa dla DEX-a

Każdy DEX ujawnia różną pozycję i pool dane. Wyrocznia odtwarza podstawowe aktywa na podstawie tych danych i weryfikuje uzyskaną wycenę w stosunku do swoich cen referencyjnych i kontroli ryzyka.

Typ DEX / LPŹródło OracleUwagi
Curve Stable/Stable ERC-20 LPsZewnętrzne feedy stablecoinów + kontrole stanu poola + weryfikacja TWAPZewnętrzne ceny zakotwiczają aktywa, a salda poola i naliczanie opłat określają zdyskontowaną wartość zabezpieczenia.
Uniswap V2 ERC-20 LPsChainlink + rekonstrukcja rezerw + weryfikacja TWAPStandardowe tokeny LP są wyceniane ze zrekonstruowanych sald bazowych, a TWAP służy jako odporny na manipulację cross-check.
Uniswap V3 NFT LPsChainlink + dekompozycja pozycji + kontrole tick/TWAPNFT jest rozkładane według płynności, aktywnego zakresu i bieżącej ceny, a potem dostaje haircut do odzyskiwalnej wartości likwidacji.
Balancer Multi-Asset LPsChainlink + rekonstrukcja ważonego inventoryPoole multi-token używają zewnętrznych cen i ważonego inventory poola, by oszacować konserwatywną wartość zabezpieczenia.
SushiSwap / AerodromeChainlink + rekonstrukcja rezerw + weryfikacja TWAPObserwacje wyprowadzone z poola weryfikują zrekonstruowaną wartość i pomagają opierać się nadużyciom same-transaction na rynkach o niższej płynności.
PancakeSwapChainlink + weryfikacja TWAP oparta na blokachZewnętrzne ceny pozostają kotwicą, a obserwacje oparte na blokach walidują stan pozycji i założenia unwindu.

Obliczanie TWAP według DEX-a

Średnie ważone czasem ceny (TWAPs) dostarczają dane weryfikacyjne obok zewnętrznych cen aktywów i rekonstrukcji pozycji. Porównywanie tych danych wejściowych pomaga identyfikować krótkotrwałe zniekształcenia cen lub niespójny stan pool. Dane TWAP uzupełniają proces wyceny, a nie dostarczają samodzielnie wartości zabezpieczenia.

Uniswap V2 i SushiSwap

On-chain cumulative price data over a 1-hour window is used to cross-check the reconstructed reserve picture and reduce sensitivity to flash swaps or other short-lived pool distortions.

Uniswap V3

Dla pozycji o skoncentrowanej płynności, kontrole wykorzystują zakres ticków, rozkład płynności i naliczone opłaty do weryfikacji ekspozycji tokena reprezentowanej przez każdą NFT.

Balancer

Ważone obserwacje tokenów są łączone z wagami poola, by zwalidować podziały inventory multi-asset, zanim oracle przypisze konserwatywną wartość zabezpieczenia.

Curve

Obserwacje stablecoinów służą głównie do wykrywania stale feedów, dryfu rezerw i krótkoterminowych anomalii, podczas gdy zewnętrzne ceny pozostają główną kotwicą.

Trader Joe i Aerodrome

Skumulowane obserwacje cen w oknie 30–60 minut pomagają walidować stan pooli o niższej płynności i opierać się manipulacji same-transaction podczas kontroli zabezpieczenia.

Bezpieczeństwo i zapobieganie manipulacji

  • Progi odchylenia

    Nowe pożyczki lub likwidacje mogą zostać wstrzymane, gdy dane weryfikacyjne wyprowadzone z poola oddalą się zbyt daleko od zewnętrznych cen referencyjnych poza maxDifference.

  • maxPoolPriceDifference

    To utrzymuje stan implied przez pool w zgodzie z cenami bazowych tokenów i ogranicza natychmiastową manipulację poola lub nadużycie oracle w tej samej transakcji.

  • Capy open interest

    Ekspozycja jest ograniczana według rodziny LP, głębokości poola i złożoności zabezpieczenia, żeby cieńsze rynki dostawały ciaśniejsze limity pożyczki.

  • Potrącenia recovery

    Oracle dyskontuje teoretyczną wartość LP o impermanent loss, slippage unwindu i założenia stresowej likwidacji, zanim przyznana zostanie jakakolwiek moc pożyczkowa.

  • Strażnik oracle

    Oracle Sentinel obserwuje zdrowie feedów i wejścia weryfikacyjne oraz może uruchomić zachowanie fallback, gdy dane są stale, skompromitowane lub niespójne z kontrolami stanu pozycji.

Konfigurowalne parametry Oracle

Ustawienia oracle właściwe dla poola są konfigurowane per token przez setTokenConfig. Poniższa tabela zawiera parametry używane do weryfikacji źródła cen tokena oraz powiązanych pool:

ParametrOpis
Token aktywaAdres tokena zabezpieczenia
AggregatorV3InterfaceFeed Chainlink dla bazowego tokena
maxFeedAgeMaksymalny akceptowalny wiek feedu Chainlink
Pula płynnościKonkretny pool DEX (Uniswap V3, Balancer, Curve itd.)
twapSecondsOkno obliczania TWAP
TrybTryb operacyjny oracle (standard/fallback)
maxDifferenceMaksymalne dozwolone odchylenie między ceną DEX a ceną weryfikacji

W praktyce zachowanie oracle wynika z połączenia zewnętrznego pricingu aktywów, logiki rekonstrukcji LP, traktowania wartości odzyskiwalnej oraz ustawień per token skonfigurowanych przezsetTokenConfig.