<aside> ‼️ Whenever possible, projects should take these steps before requesting an estimate as they can substantially reduce the time needed for the audit.
</aside>
<aside> ℹ️ If you complete steps after the estimate, but at least 10 business days in advance of the scheduled audit, we may be able to reduce the time reserved for and price of the audit. We cannot reduce the price of an audit if it is scheduled to start within 10 business days.
</aside>
[ ] Inform us of your timeline needs. This helps us determine whether or not we are in a position to meet your needs, how we will approach your audit, and when we should book time to review your fixes.
[ ] Ensure contracts compile without any errors or warnings from the compiler.
[ ] Document all-the-things. This should include:
[ ] All functions.
<aside>
ℹ️ Use NatSpec documentation for public
/external
functions. Consider this part of the public interface of the contract. Check out this tool to quickly evaluate the state of your natspec.
</aside>
<aside> ℹ️ Leave comments with a high-level explanation on complex or critical parts of the code.
</aside>
[ ] Your security and trust model assumptions.
<aside> ℹ️ The cleaner and clearer your documentation, then fewer questions we’ll need to ask you! Review your documentation and ensure the implementation matches the documented behavior. If it does not, touch base with the implementer and confirm which needs to be updated.
</aside>
[ ] Create a high-quality test suite, achieving at least 100% coverage on all main features/core functions and entry points.
<aside> ℹ️ Low test coverage or poorly written tests increase audit time and costs, requiring us to ask you many more questions to clarify expected code behavior.
</aside>
What we need to deliver an estimate
How to get the best estimate and audit
General Security Best Practices