Ana içeriğe atla
Avana logosu

Fiyat oracles

Protokolün LP pozisyon durumunu kredi açısından anlamlı teminat değerlerine nasıl dönüştürdüğü.

Genel bakış

Avana LP teminatını pozisyonu yeniden kurarak ve içindeki varlıkları değerlendirerek fiyatlar. Fungible LP'lerde protokol değeri dış varlık fiyatlarından ve havuz bakiye rekonstrüksiyonundan türetir. Yoğunlaştırılmış likiditede pozisyonu likidite, aralık, mevcut tick, token maruziyeti ve birikmiş ücretlere göre ayrıştırır.

Sonuç kurtarılabilir teminat değerine iskonto edilir. Borç gücü, iyimser net varlık değeri değil, piyasanın risk varsayımları altında pozisyonun gerçekçi olarak destekleyebileceği değere dayanır.

İşaret değeri ile kurtarılabilir değer arasındaki bu ayrım, oracle'ı yalnızca analitik değil kredi için yararlı tutar. ERC-20 LP'ler, NFT LP'ler ve çok varlıklı havuzlar yalnızca her sınıfın değer spoke'a ulaşmadan önce kendi doğrulama ve manipülasyona direnç kontrollerinden geçmesi sayesinde yüksek düzeyde tek bir arayüzü paylaşabilir.

LP collateral value depends on:

  • Altta yatan varlıkların fiyatları
  • Likidite havuzu rezervleri veya envanter bölünmesi
  • Fee accrual
  • Yoğunlaştırılmış likidite için, pozisyon aralığına göre mevcut tick
  • Pozisyonun aralıkta mı yoksa çoğunlukla tek taraflı mı olduğu

Oracle arayüzü: IOracle

Borrow Spokes, LP formatları DEX'ler arasında çok farklı olsa da tek bir sözleşme yüzeyine ihtiyaç duyar. `IOracle` bu ortak şekli sağlar ve ana değer, birikmiş ücretler ile ayrılmış tamponları ayrı tutar; böylece sonraki risk mantığı pozisyonun hangi kısmına baktığını tahmin etmek zorunda kalmaz:

function getValue(uint256 tokenId, address asset)
  external view returns (
    uint256 fullValue,
    uint256 feeValue,
    uint256 reserveValue
  );
fullValueSonraki tasfiye stres ayarlamaları uygulanmadan önce ana likiditenin yeniden kurulan değeri.
feeValuePozisyonun biriktirdiği ve ana ile birlikte tanınabilecek ücretlerin değeri.
reserveValueOracle, çözüm ve protokol risk tamponları için geri tutulan ayrılmış kısım.

Arayüz, DEX'e özgü boru hatlarını spoke'tan gizler. Aynı çağıranın ERC-20 LP'ler, NFT LP'ler ve çok varlıklı havuzları tek bir dönüş şekliyle işlemesini sağlar; arka planda muhafazakâr, teminat ailesine özgü muameleye yer bırakır.

Çok katmanlı mimari

LP değerlemesi tek bir spot fiyat okuması değil, aşamalı bir süreçtir. Oracle yolu şu adımlardan geçer:

1

Altta yatan varlıkları harici sağlam oracles'tan fiyatlayın

Altta yatan varlıklar için dayanıklı harici feed'lerden başlayın; teminat ham likidite havuzu spot durumunun tüm gürültüsünü veya manipüle edilebilirliğini miras almasın.

2

LP değerini muhafazakâr türetin

Fungible LP bakiyelerini yeniden kurun veya yoğunlaştırılmış likidite pozisyonlarını rezervler, likidite, aralık ve ücretlerden, spoke'un üzerine muhakeme yürütebileceği deterministik bir yolla parçalayın.

3

Kalıcı kayıp ve tasfiye kayması için haircut

Yeniden kurulan işareti, teorik NAV'da temiz bir bozma yerine stres, kayma ve kusurlu çıkışları varsayan kurtarılabilir teminat değerine iskonto edin.

4

Maruziyeti LP ailesi ve likidite havuzu derinliğine göre sınırlayın

İnce veya daha karmaşık piyasalar, daha derin ve daha basit olanlarla aynı borç limitlerini almasın diye LP ailesi, havuz sınıfı ve kullanılabilir derinlik temelli kontroller uygulayın.

5

İyimser NAV değil, kurtarılabilir çözüm değerine göre tasfiye edin

Borç gücü verirken ve tasfiyeye karar verirken en iyi durum işaret değeri yerine çözüm yoluyla makul şekilde gerçekleştirilebilecek değeri kullanın.

DEX'e özgü işleme

Farklı DEX'ler farklı durum parçaları sunar ve oracle bu girdileri pozisyonu yeniden kurmak ve fiyatlamayı doğrulamak için kullanır. Havuzdan türetilen veri, doğrudan teminat işareti olarak körü körüne kabul edilmez.

DEX / LP tipiOracle kaynağıNotlar
Curve Stable/Stable ERC-20 LP'lerHarici stablecoin feed'leri + likidite havuzu durumu kontrolleri + TWAP doğrulamasıHarici fiyatlar varlıkları sabitleyken likidite havuzu bakiyeleri ve ücret birikimi iskontolu teminat değerini belirler.
Uniswap V2 ERC-20 LP'lerChainlink + rezerv yeniden kurulumu + TWAP doğrulamasıStandart LP token'ları, manipülasyona dirençli çapraz kontrol olarak TWAP ile birlikte yeniden kurulan altta yatan bakiyelerden değerlenir.
Uniswap V3 NFT LP'lerChainlink + pozisyon dekompozisyonu + tick/TWAP kontrolleriNFT likidite, aktif aralık ve güncel fiyata göre parçalanır, ardından kurtarılabilir tasfiye değeri için haircut uygulanır.
Balancer çok varlıklı LP'lerChainlink + ağırlıklı envanter yeniden kurulumuÇok token'lı likidite havuzları muhafazakâr teminat değerini tahmin etmek için harici fiyatlar ve ağırlıklı havuz envanteri kullanır.
SushiSwap / AerodromeChainlink + rezerv yeniden kurulumu + TWAP doğrulamasıHavuzdan türetilen gözlemler yeniden kurulan değeri doğrular ve daha düşük likiditeli piyasalarda aynı işlem içi suistimali önlemeye yardımcı olur.
PancakeSwapChainlink + blok tabanlı TWAP doğrulamasıHarici fiyatlar çıpa kalırken blok tabanlı gözlemler pozisyon durumunu ve çözüm varsayımlarını doğrular.

DEX'e göre TWAP hesabı

TWAP'ler doğrulama girdileridir. Harici varlık fiyatlarının ve deterministik pozisyon yeniden kurulumunun yanında otururlar; gözlemlenen likidite havuzu durumunun inandırıcı bir çözüm yoluyla tutarlı olup olmadığını kontrol ederler. Şüpheli veya kısa ömürlü bozulmaları reddetmeye yardım ederler ama tek başlarına daha geniş oracle modelinin yerini almazlar.

Uniswap V2 & 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

Pozisyon bilinçli kontroller tick aralığı, likidite dağılımı ve birikmiş ücretleri içerir; böylece protokol her NFT LP'nin parçalanmış token maruziyetini doğrulayabilir, NFT'yi kara kutu olarak ele almak yerine.

Balancer

Ağırlıklı token gözlemleri, oracle muhafazakâr teminat değeri atamadan önce çok varlıklı envanter bölünmelerini doğrulamak için havuz ağırlıklarıyla birleştirilir.

Curve

Stablecoin gözlemleri esas olarak bayat feed'leri, rezerv kaymasını ve kısa vadeli anomalileri saptamak için kullanılır; birincil çıpa harici fiyatlardır.

Trader Joe & Aerodrome

30-60 dakikalık penceredeki kümülatif fiyat gözlemleri, daha düşük likiditeli likidite havuzu durumunu doğrulamaya ve teminat kontrolleri sırasında aynı işlem manipülasyonuna direnmeye yardım eder.

Güvenlik ve manipülasyon önleme

  • Sapma eşikleri

    Havuzdan türetilen doğrulama verisi, harici referans fiyatlardan şunun ötesine uzaklaştığında yeni krediler veya tasfiyeler duraklatılabilir: maxDifference.

  • maxPoolPriceDifference

    Bu, havuz ima edilen durumu altta yatan token fiyatlarıyla hizalı tutar ve ani havuz manipülasyonunu veya aynı işlem oracle suistimalini sınırlar.

  • Açık faiz limitleri

    Maruziyet LP ailesi, likidite havuzu derinliği ve teminat karmaşıklığına göre sınırlanır; daha ince piyasalar daha sıkı borç limitleri alır.

  • Kurtarma haircut'ları

    Oracle, herhangi bir borç gücü verilmeden önce teorik LP değerini kalıcı kayıp, çözüm kayması ve stresli tasfiye varsayımları için iskonto eder.

  • Oracle Sentinel

    Oracle Sentinel feed sağlığını ve doğrulama girdilerini izler; veri bayat, bozulmuş veya pozisyon durumu kontrolleriyle tutarsız olduğunda fallback davranışını tetikleyebilir.

Yapılandırılabilir oracle parametreleri

Havuza özgü oracle ayarları token başına şununla yapılandırılır: setTokenConfig. Aşağıdaki tablo bir token ve ilişkili likidite havuzunun nasıl kontrol edilmesi gerektiğini tanımlayan parametreleri gösterir:

ParametreAçıklama
TokenTeminat token adresi
AggregatorV3InterfaceAltta yatan token için Chainlink feed
maxFeedAgeChainlink feed için kabul edilebilir maksimum yaş
PoolBelirli DEX likidite havuzu (Uniswap V3, Balancer, Curve vb.)
twapSecondsTWAP hesabı için pencere
ModeOracle operasyonel modu (standard/fallback)
maxDifferenceDEX ile doğrulama fiyatı arasında izin verilen maksimum sapma

Pratikte oracle davranışı harici varlık fiyatlaması, LP yeniden kurulum mantığı, kurtarılabilir değer muamelesi ve şununla yapılandırılan token başına ayarların birleşiminden gelir:setTokenConfig.