diff --git a/development-guidelines/guidelines.md b/development-guidelines/guidelines.md index f5270a25..43c87de8 100644 --- a/development-guidelines/guidelines.md +++ b/development-guidelines/guidelines.md @@ -2,19 +2,20 @@ Follow these high-level recommendations to build more secure smart contracts. -* [Design (before development)](#design-guidelines) - * [Documentation and specifications](#documentation-and-specifications) - * [On-chain vs off-chain computation](#on-chain-vs-off-chain-computation) - * [Upgradeability](#upgradeability) -* [Implementation (during development)](#implementation-guidelines) - * [Function composition](#function-composition) - * [Inheritance](#inheritance) - * [Events](#events) - * [Avoid known pitfalls](#avoid-known-pitfalls) - * [Dependencies](#dependencies) - * [Testing and verification](#testing-and-verification) - * [Solidity](#solidity) -* [Deploymnent (after development)](#deployment-guidelines) +- [Development Guidelines](#development-guidelines) + - [Design guidelines](#design-guidelines) + - [Documentation and specifications](#documentation-and-specifications) + - [On-chain vs off-chain computation](#on-chain-vs-off-chain-computation) + - [Upgradeability](#upgradeability) + - [Implementation guidelines](#implementation-guidelines) + - [Function composition](#function-composition) + - [Inheritance](#inheritance) + - [Events](#events) + - [Avoid known pitfalls](#avoid-known-pitfalls) + - [Dependencies](#dependencies) + - [Testing and verification](#testing-and-verification) + - [Solidity](#solidity) + - [Deployment guidelines](#deployment-guidelines) ## Design guidelines @@ -77,7 +78,6 @@ The architecture of your codebase should make your code easy to review. Avoid ar - **Write thorough unit-tests.** An extensive test suite is crucial to build high-quality software. - **Write [Slither](https://github.com/crytic/slither), [Echidna](https://github.com/crytic/echidna) and [Manticore](https://github.com/trailofbits/manticore) custom checks and properties.** Automated tools will help ensure your contract is secure. Review the rest of this guide to learn how to write efficient checks and properties. -- **Use [crytic.io](https://crytic.io/).** Crytic integrates with Github, provides access to private Slither detectors, and runs custom property checks from Echidna. ### Solidity diff --git a/program-analysis/slither/README.md b/program-analysis/slither/README.md index a7226ac9..f19cd619 100644 --- a/program-analysis/slither/README.md +++ b/program-analysis/slither/README.md @@ -56,8 +56,6 @@ slither project_paths In addition to detectors, Slither has code review capabilities through its [printers](https://github.com/crytic/slither#printers) and [tools](https://github.com/crytic/slither#tools). -Use [crytic.io](https://crytic.io) to get access to private detectors and GitHub integration. - ## Static analysis The capabilities and design of the Slither static analysis framework has been described in blog posts ([1](https://blog.trailofbits.com/2018/10/19/slither-a-solidity-static-analysis-framework/), [2](https://blog.trailofbits.com/2019/05/27/slither-the-leading-static-analyzer-for-smart-contracts/)) and an [academic paper](https://github.com/trailofbits/publications/blob/master/papers/wetseb19.pdf).