Сьогодні користувач відкрив тікет у дискорді Revoke. Їхній баланс sDAI не відображається. Тому я вирішив зануритися в тему: виявляється, sDAI навмисно не видає події Transfer при карбуванні/спалюванні токена. Це створює непотрібне навантаження на решту екосистеми.
Контракт sDAI реалізує ERC-4626, стандарт для сховищ з одним токеном. Цей стандарт визначає проведення подій депозиту/зняття коштів під час карбування/спалювання токена сховища. Але він не забороняє розробникам ТАКОЖ видавати події Transfer.
У документах Spark згадується, що вони навмисно не випромінюють події Transfer на монетному дворі/спалюванні для економії газу в цих транзакціях. Я б стверджував, що додаткове інтеграційне навантаження на решту екосистеми набагато дорожче, ніж невелика економія газу, якої це досягає.
Порівняйте ідеологічний підхід sDAI з прагматичним підходом Yearn. Сховища Yearn v3 також сумісні з ERC-4626, але все ще випромінюють події передачі, тому їх легко інтегрують у гаманці, провідники та інші інструменти.
Схоже, що Spark погоджується з тим, що видалення подій Transfer було помилкою, оскільки новий токен sUSDS ДІЙСНО випромінює події Transfer при депозиті/виведенні. Маючи це на увазі, я сподіваюся, що майбутні сховища ERC-4626 продовжать дотримуватися цього більш прагматичного підходу.
Що це означає для функції «Відкликати»? Ваші схвалення ЗАВЖДИ будуть відображатися правильно. Але ми можемо не змогти відобразити ваш баланс sDAI, якщо ви лише його карбували. Після того, як ви здійсните інші перекази sDAI, ваш баланс відобразиться, як зазвичай.
8,68K