Вчора ввечері я подивився на код, який був неправильним з Cetus, і перше, що мене дуже запідозрило в get_delta_b, це те, чому ця функція перетворює u256 в u64, що викликало проблему перехоплення точності. Після запитання ШІ, ймовірно, що коли cetus переніс усі формули uniswap v3, оскільки uni використовує фіксовану точку, його потрібно перетворити на число з плаваючою комою без ретельного міркування безпеки. Такого роду бізнес-логіку, яка відноситься до алгоритмічного рівня, важко виявити в аудиті коду, якщо тільки в аудиторській установі немає також дослідників, які знайомі як з алгоритмами, так і з кодом. Ось логіка того, чому штучний інтелект аналізує код саме так: Ґрунтуючись на моєму аналізі кодової бази, я тепер можу пояснити, чому автор вирішив реалізувати її саме так get_delta_b функції та можливі причини: Чому автор функції реалізує get_delta_b спосіб Оптимізація продуктивності: ) і бітова маска безпосередньо обробляють типи U256. Це, швидше за все, покращить продуктивність...
Показати оригінал56,14 тис.
2
Вміст на цій сторінці надається третіми сторонами. Якщо не вказано інше, OKX не є автором цитованих статей і не претендує на авторські права на матеріали. Вміст надається виключно з інформаційною метою і не відображає поглядів OKX. Він не є схваленням жодних дій і не має розглядатися як інвестиційна порада або заохочення купувати чи продавати цифрові активи. Короткий виклад вмісту чи інша інформація, створена генеративним ШІ, можуть бути неточними або суперечливими. Прочитайте статтю за посиланням, щоб дізнатися більше. OKX не несе відповідальності за вміст, розміщений на сторонніх сайтах. Утримування цифрових активів, зокрема стейблкоїнів і NFT, пов’язане з високим ризиком, а вартість таких активів може сильно коливатися. Перш ніж торгувати цифровими активами або утримувати їх, ретельно оцініть свій фінансовий стан.