Szczegółowa informacja na temat wprowadzonego mechanizmu śledzenia kontraktow w protokole HOLY — by Anton Mozgovoy
„Na pierwszy rzut oka mieliśmy proste zadanie śledzenia wszystkich poprzednich i przyszłych wydarzeń związanych z naszym kontraktem HolyKnight LP. Powinno być proste, prawda? To tylko ponad 8 000 transakcji i ponad 20 000 zdarzeń. Jak się okazuje, to proste zadanie okazało się niezwykle przydatne w analizie innych strategii dla Public Vault. Ale uporządkujmy wszystko.”
Gdzie zaczęliśmy
Po głosowaniu społeczności, przystąpiliśmy do planu opracowania zautomatyzowanego analizatora danych wydarzeń w łańcuchu, który śledziłby wszystkie zmiany stawek bonusowych zgodnie ze zmianą tokenomiki.
Zasady dodatkowego stosowanego bonusu są proste:
- Każda wpłata liczy się jako osobne wydarzenie. Oznacza to, że może istnieć jeden depozyt z jednym mnożnikiem i drugi depozyt z innym.
- Dynamiczne liczenie z retrospekcją, czy określony depozyt osiągnął mnożnik premii.
- Harvesting (zbieranie nagród) nie wpływa na warunki depozytu.
Jednocześnie musieliśmy mieć na uwadze następujące skrajne przypadki:
- Awaryjne transakcje wypłaty (EmergencyWithdraw) — to rodzaj transakcji, która pozwala na zwrot środków użytkownika, nawet jeśli w kontrakcie jest poważna wada. Dobrą praktyką jest włączenie tej metody, ponieważ naszym kluczowym aspektem jest stabilność i bezpieczeństwo. W związku z ostatnimi wydarzeniami, takimi jak Harvest Finance, Akropolis i Value Finance, coraz trudniej jest zbudować odporną usługę DeFi.
- Zmiana wagi nagród w puli. Zmieniając stawki nagród w przeszłości, musieliśmy upewnić się, że wszystkie przeliczenia są prawidłowe, ponieważ niektórzy użytkownicy obstawiają stawki od 28 września (pierwszego dnia!).
- Łącznie 10 Liquidity Pools, w tym HOLY-ETH i złożona konwersja yCRV na yUSD z logiką skarbca.
Ponadto istnieją teraz zewnętrzne kontrakty Zap, kontrakt Argent: Relayer, Proxy contracts i tak dalej, które również współdziałają z naszym kontraktem LP. Mówiąc prościej, mają różne ABI, więc sprawdzenie, czy premie są liczone we właściwy sposób, jest długim i trudnym procesem poprzez zarządzanie wydarzeniami.
Powrót do korzeni. Analiza fundamentalna
Zaczęliśmy od prostego zadania, szybko zetknęliśmy się z wyrafinowaną logiką naszego licznika premii, która w rzeczywistości może służyć większej potrzebie. Więc zaczęliśmy analizować dalej.
W ciągu kilku pierwszych kont testowych zdaliśmy sobie sprawę, że złożoność liczenia mnożników, zwłaszcza jeśli transakcja ma miejsce jako zdarzenie w innym kontrakcie, nie postępuje liniowo pod względem złożoności. Oto prosty przypadek z 2 depozytami, 1 wypłatą (i zbiorami).
I staje się to tylko trudniejsze, ponieważ istnieją scenariusze, w których użytkownicy mieliby więcej niż 20 wydarzeń obejmujących stejkowanie, wycofywanie i harvesting.
Wdrożyliśmy kilka zmian w panelu.
- Obecnie pokazuje całkowitą liczbę nagród HOLY zgromadzonych w portfelu, a także całkowitą skumulowaną kwotę premii HOLY, którą będzie można odebrać po zakończeniu programu. Pokazuje również średni mnożnik premii (ponieważ różne depozyty mogą mieć różne mnożniki).
- Pulpit nawigacyjny pokazuje teraz również zagregowane saldo we wszystkich poolach postawionych na jednej stronie — dzięki czemu łatwiej jest śledzić portfel.
Na powyższym zrzucie ekranu portfel miał historię obstawiania yCRV, ale na razie ma tylko tokeny YFI-ETH UNI V2 LP, dlatego dashboard pokazuje to jako saldo oczekujące wraz z mnożnikiem. Ponieważ ostatnia wpłata miała miejsce 27 października, ten portfel jest tylko 3 dni od otrzymania premii mnożnikowej 3x.
P.S. Transakcje depozytowe na kwotę 0,0000 to transakcje Harvest. Oznacza to, że zebrałeś swoje HOLY jako nagrody z dotychczasowego stejkingu
Na koniec pokazuje również historię wpłat i wypłat z nagromadzonym HOLY i nagrodami za ten konkretny okres obstawiania.
Jednak po tych wszystkich zmianach pomyśleliśmy: czy można zmodyfikować i ponownie wykorzystać to narzędzie do śledzenia innych agregatorów wydajności w łańcuchu? Czy narzędzie, które nigdy nie było planowane, może zaspokoić większe potrzeby w naszym głównym produkcie?
Oficjalne źródło publikacji:
https://medium.com/holyheld/in-depth-contract-tracking-4fc369beaf81
- CEO:
Anton Mozgovoy
https://mozgovoy.me/bio
https://twitter.com/mozgovoy_anton
https://www.linkedin.com/in/antonmozgovoy/
- CTO:
Anton Zagorodnikov
https://www.linkedin.com/in/anton-zagorodnikov-9b6908130/
- Website:
https://holyheld.com/
https://app.holyheld.com/
https://holyheld.com/faq/getting_our_feet_wet/
- Twitter:
https://twitter.com/holyheld
- YouTube
https://www.youtube.com/channel/UCAHSOYPbogG_DhF8kpQ7hDg
- HOLYHELD AMA with Anton Mozgovoy
https://www.youtube.com/watch?v=zIryFjub5t8&feature=youtu.be
- TED Talk Anton Mozgovoy
https://www.youtube.com/watch?v=OlbCvA7U-EM
- For information about the project please read the medium articles:
https://medium.com/@amozgovoy
- Latest Updates:
https://medium.com/holyheld/warm-news-on-cold-saturday-b30899d00840
- Roadmap
https://medium.com/holyheld/roadmap-update-3c55ed9841d7