
Características:
️ Python 3.12 es compatible experimentalmente.
a través de pip
pip3 install eth-wakeLa documentación de Wake se puede encontrar aquí.
Allí también puede encontrar una sección sobre contribución.
| Vulnerabilidad | Gravedad | Proyecto | Método | Descubierto por | Recursos |
|---|---|---|---|---|---|
| Ganancias y pérdidas contables dos veces | Crítico | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Consola negación permanente del servicio | Alto | Brahma | Prueba de fuzz | Cadena de bloques de Ackee | Informe |
| Error de fórmula de relajación de intercambio | Alto | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Intercambiar la tarifa de relajación contabilizada dos veces | Alto | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Datos de eventos incorrectos | Alto | Soladia | Prueba de integración | Cadena de bloques de Ackee | Informe, pruebas de estela |
INTEREST_FROM_STRATEGY_BELOW_ZERO revertir DOS | Medio | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Fórmula de interés hipotético inexacta | Medio | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Error de normalización de la tarifa de relajación de intercambio | Medio | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Depósitos de liquidación contabilizados en el saldo de LP | Medio | IPor | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
| Función de recibir falta | Medio | Axelar | Prueba de fuzz | Cadena de bloques de Ackee | Pruebas de estela |
SafeERC20 no utilizado para approve | Medio | Piscina | Prueba de fuzz | Cadena de bloques de Ackee | Pruebas de estela |
| Revestimiento no optimista y claves no acumuladas Contabilidad mala | Medio | Piscina | Prueba de fuzz | Cadena de bloques de Ackee | Informe, pruebas de estela |
Consulte ejemplos y documentación para obtener más información.
Escribir pruebas es tan simple como:
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 se basa en la parte superior del marco de prueba y permite pruebas de fuzz eficientes de contratos inteligentes de solidez.
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 )Todos los detectores de calidad de vulnerabilidad y código se pueden ejecutar usando:
wake detect allSe puede ejecutar un detector específico usando:
wake detect < detector-name >Vea la documentación para una lista de todos los detectores.
Se puede ejecutar una impresora específica usando:
wake print < printer-name >Vea la documentación para una lista de todas las impresoras.
Consulte la Guía Getting Start para obtener más información. También consulte Wake_Detectors y Wake_Printers para la implementación de detectores e impresoras incorporados.
Wake implementa un servidor LSP para la solidez. El único canal de comunicación actualmente compatible es TCP.
El servidor WAKE LSP se puede ejecutar usando:
wake lspO con un argumento opcional --port (predeterminado 65432):
wake lsp --port 1234Todas las características del servidor LSP se pueden encontrar en la documentación.
Este proyecto tiene licencia bajo la licencia ISC.
| Rockawayx | Coinbase |
|---|---|
![]() | ![]() |