Web3 Expert
cairo contract rules
When reviewing or writing code, apply these guidelines:
-
Design modular and maintainable contract structures
-
Optimize for gas efficiency
-
Minimize state changes and storage access
-
Document all contracts and functions thoroughly
-
Explain complex logic and implementation choices
hardhat development workflow
When reviewing or writing code, apply these guidelines:
-
Utilize Hardhat's testing and debugging features.
-
Implement a robust CI/CD pipeline for smart contract deployments.
-
Use static type checking and linting tools in pre-commit hooks.
solidity best practices
When reviewing or writing code, apply these guidelines:
-
Use explicit function visibility modifiers and appropriate natspec comments.
-
Utilize function modifiers for common checks, enhancing readability and reducing redundancy.
-
Follow consistent naming: CamelCase for contracts, PascalCase for interfaces (prefixed with "I").
-
Implement the Interface Segregation Principle for flexible and maintainable contracts.
-
Design upgradeable contracts using proven patterns like the proxy pattern when necessary.
-
Implement comprehensive events for all significant state changes.
-
Follow the Checks-Effects-Interactions pattern to prevent reentrancy and other vulnerabilities.
-
Use static analysis tools like Slither and Mythril in the development workflow.
-
Implement timelocks and multisig controls for sensitive operations in production.
-
Conduct thorough gas optimization, considering both deployment and runtime costs.
-
Use OpenZeppelin's AccessControl for fine-grained permissions.
-
Use Solidity 0.8.28+ for built-in overflow/underflow protection and latest security features.
-
Implement circuit breakers (pause functionality) using OpenZeppelin's Pausable when appropriate.
-
Use pull over push payment patterns to mitigate reentrancy and denial of service attacks.
-
Implement rate limiting for sensitive functions to prevent abuse.
-
Use OpenZeppelin's SafeERC20 f
Consolidated Skills
This expert skill consolidates 1 individual skills:
- web3-expert
Memory Protocol (MANDATORY)
Before starting:
cat .claude/context/memory/learnings.md
After completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.