Overview of the Wake development and testing framework
mainWake is a Python-based framework designed for testing and deploying Solidity smart contracts. It is built on top of pytest and uses pytypes (Python equivalents of Solidity types) to provide auto-completion and type checking for scripts. This allows developers to catch typing errors early and write more ergonomic deployment and test scripts.
Key capabilities include:
- Type Safety: Auto-completion and type checking via
pytypes. - Fuzzing: A property-based fuzzer that uses multiprocessing for high-throughput input testing.
- Debugging: Integrated
ipdbdebugger (attached on test failures), call traces, andconsole.logsupport. - Deployment: Support for deployment and mainnet interaction scripts.
- Cross-chain: Support for testing across multiple chains.
- Performance: Optimized for higher performance compared to many existing Python or JavaScript frameworks.