
Функции:
️ Python 3.12 экспериментально поддерживается.
через pip
pip3 install eth-wakeДокументация Wake можно найти здесь.
Там вы также можете найти раздел о вклад.
| Уязвимость | Тяжесть | Проект | Метод | Обнаружено | Ресурсы |
|---|---|---|---|---|---|
| Прибыль и убыток составляют дважды | Критический | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Постоянное отказ в консоли обслуживания | Высокий | Брахма | Тест на пузырь | Блокчейн Акки | Отчет |
| Ошибка разматывания размахивания. | Высокий | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Забай на раскручивание плата за два раза дважды | Высокий | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Неправильные данные о событиях | Высокий | Солади | Интеграционный тест | Блокчейн Акки | Отчет, The Wake Tests |
INTEREST_FROM_STRATEGY_BELOW_ZERO возвращает dos | Середина | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Неточная гипотетическая формула интереса | Середина | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Ошибка нормализации платы за замену. | Середина | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Ликвидационные отложения приходится на баланс LP | Середина | Ipor | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
| Отсутствует функция приема | Середина | Акселар | Тест на пузырь | Блокчейн Акки | Тесты пробуждения |
SafeERC20 не используется для approve | Середина | Лидо | Тест на пузырь | Блокчейн Акки | Тесты пробуждения |
| Неоптимистические проверки и беспрепятственные ключи плохой бухгалтерский учет | Середина | Лидо | Тест на пузырь | Блокчейн Акки | Отчет, The Wake Tests |
Смотрите примеры и документацию для получения дополнительной информации.
Письменные тесты так же просты, как:
from wake . testing import *
from pytypes . contracts . Counter import Counter
@ chain . connect ()
def test_counter ():
counter = Counter . deploy ()
assert counter . count () == 0
counter . increment ()
assert counter . count () == 1Fuzzer строится на вершине структуры тестирования и позволяет эффективно тестировать нечеткие смарт -контракты.
from wake . testing import *
from wake . testing . fuzzing import *
from pytypes . contracts . Counter import Counter
class CounterTest ( FuzzTest ):
def pre_sequence ( self ) -> None :
self . counter = Counter . deploy ()
self . count = 0
@ flow ()
def increment ( self ) -> None :
self . counter . increment ()
self . count += 1
@ flow ()
def decrement ( self ) -> None :
with may_revert ( PanicCodeEnum . UNDERFLOW_OVERFLOW ) as e :
self . counter . decrement ()
if e . value is not None :
assert self . count == 0
else :
self . count -= 1
@ invariant ( period = 10 )
def count ( self ) -> None :
assert self . counter . count () == self . count
@ chain . connect ()
def test_counter ():
CounterTest (). run ( sequences_count = 30 , flows_count = 100 )Все детекторы качества кода могут быть запущены:
wake detect allКонкретный детектор может быть запущен с помощью:
wake detect < detector-name >Смотрите документацию для списка всех детекторов.
Конкретный принтер можно запустить с помощью:
wake print < printer-name >Смотрите документацию для списка всех принтеров.
См. Руководство по началу работы для получения дополнительной информации. Также ознакомьтесь с Wake_Detectors и Wake_Printers для реализации встроенных детекторов и принтеров.
Wake реализует LSP -сервер для прочности. Единственным в настоящее время поддерживаемый канал связи является TCP.
Sake LSP -сервер может быть запущен с помощью:
wake lspИли с необязательным аргументом (по умолчанию 65432):
wake lsp --port 1234Все функции сервера LSP можно найти в документации.
Этот проект лицензирован по лицензии ISC.
| Rockawayx | Coinbase |
|---|---|
![]() | ![]() |