
Fitur:
️ Python 3.12 didukung secara eksperimental.
melalui pip
pip3 install eth-wakeDokumentasi bangun dapat ditemukan di sini.
Di sana Anda juga dapat menemukan bagian yang berkontribusi.
| Kerentanan | Kerasnya | Proyek | Metode | Ditemukan oleh | Sumber daya |
|---|---|---|---|---|---|
| Laba & rugi disumbangkan dua kali | Kritis | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Penolakan Layanan Permanen Konsol | Tinggi | Brahma | Tes fuzz | Ackee Blockchain | Laporan |
| Pertukaran Kesalahan Formula yang Mengambil | Tinggi | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Pertukaran biaya swap disumbangkan dua kali | Tinggi | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Data acara yang salah | Tinggi | Solady | Tes Integrasi | Ackee Blockchain | Laporan, Tes Wake |
INTEREST_FROM_STRATEGY_BELOW_ZERO mengembalikan dos | Sedang | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Formula bunga hipotetis yang tidak akurat | Sedang | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Kesalahan normalisasi biaya swap swap | Sedang | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Deposit likuidasi yang diperhitungkan ke saldo LP | Sedang | Ipor | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
| Fungsi menerima yang hilang | Sedang | Axelar | Tes fuzz | Ackee Blockchain | Tes bangun |
SafeERC20 tidak digunakan untuk approve | Sedang | Lido | Tes fuzz | Ackee Blockchain | Tes bangun |
| Non-optimis vetting & kunci akuntansi yang buruk | Sedang | Lido | Tes fuzz | Ackee Blockchain | Laporan, Tes Wake |
Lihat contoh dan dokumentasi untuk informasi lebih lanjut.
Tes menulis sesederhana:
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 dibangun di atas kerangka pengujian dan memungkinkan pengujian fuzz yang efisien terhadap kontrak pintar soliditas.
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 )Semua detektor kualitas kerentanan & kode dapat dijalankan menggunakan:
wake detect allDetektor spesifik dapat dijalankan menggunakan:
wake detect < detector-name >Lihat dokumentasi untuk daftar semua detektor.
Printer tertentu dapat dijalankan menggunakan:
wake print < printer-name >Lihat dokumentasi untuk daftar semua printer.
Lihat Panduan Memulai untuk informasi lebih lanjut. Lihat juga Wake_Detectors dan Wake_Printers untuk implementasi detektor dan printer bawaan.
Wake mengimplementasikan server LSP untuk soliditas. Satu -satunya saluran komunikasi yang didukung saat ini adalah TCP.
Server Wake LSP dapat dijalankan menggunakan:
wake lspAtau dengan argumen -port opsional (default 65432):
wake lsp --port 1234Semua fitur server LSP dapat ditemukan dalam dokumentasi.
Proyek ini dilisensikan di bawah lisensi ISC.
| Rockawayx | Coinbase |
|---|---|
![]() | ![]() |