
Merkmale:
Euen Python 3.12 wird experimentell unterstützt.
via pip
pip3 install eth-wakeWake -Dokumentation finden Sie hier.
Dort finden Sie auch einen Abschnitt über den Beitrag.
| Verwundbarkeit | Schwere | Projekt | Verfahren | Entdeckt von | Ressourcen |
|---|---|---|---|---|---|
| Gewinn und Verlust wurden zweimal ausgewiesen | Kritisch | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Konsole dauerhafte Dienstverweigerung | Hoch | Brahma | Fuzz -Test | Ackee Blockchain | Bericht |
| Tauschen Sie den Formel -Fehler aus | Hoch | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Tauschabwicklungsgebühr zweimal bewertet | Hoch | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Falsche Ereignisdaten | Hoch | Solady | Integrationstest | Ackee Blockchain | Bericht, Wake -Tests |
INTEREST_FROM_STRATEGY_BELOW_ZERO REUVERT DOS | Medium | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Ungenaue hypothetische Interessenformel | Medium | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Tausch -Abwicklungsnormalisierungsfehler | Medium | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Liquidationsablagerungen, die in den LP -Guthaben ausgewiesen wurden | Medium | Ipor | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
| Fehlende Empfangsfunktion | Medium | Axelar | Fuzz -Test | Ackee Blockchain | Wecktests |
SafeERC20 nicht zur approve verwendet | Medium | Lido | Fuzz -Test | Ackee Blockchain | Wecktests |
| Nicht optimistische Überprüfung und ungebundene Schlüsseln schlechte Buchhaltung | Medium | Lido | Fuzz -Test | Ackee Blockchain | Bericht, Wake -Tests |
Weitere Informationen finden Sie unter Beispiele und Dokumentation.
Das Schreiben von Tests ist so einfach wie:
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 () == 1Der Fuzzer baut sich oben im Test -Framework auf und ermöglicht effiziente Fuzz -Tests von Smart -Verträgen von Solidität.
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 )Alle Detektoren für Verwundbarkeits- und Codequalität können mit:
wake detect allEin bestimmter Detektor kann mit:
wake detect < detector-name >In der Dokumentation finden Sie eine Liste aller Detektoren.
Ein bestimmter Drucker kann mit:
wake print < printer-name >In der Dokumentation finden Sie eine Liste aller Drucker.
Weitere Informationen finden Sie im Leitfaden für Erste Schritte. Schauen Sie sich auch WAKE_DETECTORS und WAKE_PRINTERS zur Implementierung integrierter Detektoren und Drucker an.
Wake implementiert einen LSP -Server für Solidität. Der einzige derzeit unterstützte Kommunikationskanal ist TCP.
Wake LSP Server kann mit:
wake lspOder mit einem optionalen Argument (Standard 65432):
wake lsp --port 1234Alle LSP -Serverfunktionen finden Sie in der Dokumentation.
Dieses Projekt ist unter der ISC -Lizenz lizenziert.
| Rockawayx | Coinbase |
|---|---|
![]() | ![]() |