
Características:
️ O Python 3.12 é apoiado experimentalmente.
via pip
pip3 install eth-wakeA documentação de despertar pode ser encontrada aqui.
Lá você também pode encontrar uma seção sobre a contribuição.
| Vulnerabilidade | Gravidade | Projeto | Método | Descoberto por | Recursos |
|---|---|---|---|---|---|
| Lucro e perda contabilizados duas vezes | Crítico | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Console negação permanente de serviço | Alto | Brahma | Teste de fuzz | Blockchain Ackee | Relatório |
| Trocar erro de fórmula desenrolada | Alto | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Taxa de despojamento de troca duas vezes | Alto | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Dados de eventos incorretos | Alto | Solady | Teste de integração | Blockchain Ackee | Relatório, testes de vigília |
INTEREST_FROM_STRATEGY_BELOW_ZERO reverte DOS | Médio | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Fórmula de interesse hipotético impreciso | Médio | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Trocar o erro de normalização da taxa de desenrolar | Médio | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Depósitos de liquidação contabilizados no saldo do LP | Médio | Ipor | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
| Função de recebimento ausente | Médio | AXELAR | Teste de fuzz | Blockchain Ackee | Testes de despertar |
SafeERC20 não usado para approve | Médio | Lido | Teste de fuzz | Blockchain Ackee | Testes de despertar |
| Vetting não otimista e chaves não conduzidas contábeis ruins | Médio | Lido | Teste de fuzz | Blockchain Ackee | Relatório, testes de vigília |
Consulte Exemplos e documentação para obter mais informações.
Os testes de escrita são tão simples quanto:
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 () == 1O Fuzzher se baseia no topo da estrutura de teste e permite testes 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 )Todas as vulnerabilidades e detectores de qualidade de código podem ser executados usando:
wake detect allUm detector específico pode ser executado usando:
wake detect < detector-name >Consulte a documentação para uma lista de todos os detectores.
Uma impressora específica pode ser executada usando:
wake print < printer-name >Veja a documentação para uma lista de todas as impressoras.
Consulte o Guia de Iniciação para obter mais informações. Confira também Wake_Detectors e Wake_Printers para a implementação de detectores e impressoras embutidas.
O Wake implementa um servidor LSP para solidez. O único canal de comunicação suportado atualmente é o TCP.
O Wake LSP Server pode ser executado usando:
wake lspOu com um argumento opcional -port (padrão 65432):
wake lsp --port 1234Todos os recursos do servidor LSP podem ser encontrados na documentação.
Este projeto está licenciado sob a licença ISC.
| Rockawayx | Coinbase |
|---|---|
![]() | ![]() |