Użytkownik otworzył zgłoszenie na discordzie Revoke dzisiaj. Ich saldo sDAI nie jest wyświetlane. Postanowiłem zbadać sprawę: okazuje się, że sDAI celowo nie emituje zdarzeń Transfer przy mint/burn tokena. To stawia niepotrzebny ciężar na resztę ekosystemu.
Kontrakt sDAI implementuje ERC-4626, standard dla skarbców jednolitych tokenów. Ten standard określa, że należy emitować zdarzenia Deposit/Withdraw przy mintowaniu/niszczeniu tokena skarbcowego. Jednak nie zabrania to deweloperom również emitowania zdarzeń Transfer.
Dokumentacja Spark wspomina, że celowo nie emitują zdarzeń Transfer przy mint/burn, aby zaoszczędzić gaz w tych transakcjach. Uważam, że dodatkowe obciążenie integracyjne dla reszty ekosystemu jest znacznie droższe niż oszczędności gazu, które to osiąga.
Porównaj ideologiczne podejście sDAI do pragmatycznego podejścia Yearn. Vaulty Yearn v3 są również zgodne z ERC-4626, ale nadal emitują zdarzenia Transfer, dzięki czemu łatwo je zintegrować z portfelami, eksploratorami i innymi narzędziami.
Wygląda na to, że Spark zgadza się, że usunięcie zdarzeń Transfer było błędem, ponieważ nowszy token sUSDS RZECZYWIŚCIE emituje zdarzenia Transfer przy wpłacie/wypłacie. Mając to na uwadze, mam nadzieję, że przyszłe skarbce ERC-4626 będą nadal podążać za tym bardziej pragmatycznym podejściem.
Co to oznacza dla Revoke? Twoje ZATWIERDZENIA zawsze będą wyświetlane poprawnie. Jednakże, możemy nie być w stanie wyświetlić twojego *salda* sDAI, jeśli tylko je wyemitowałeś. Gdy dokonasz innych transferów sDAI, wtedy twoje saldo będzie wyświetlane jak zwykle.
8,7K