Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions development-guidelines/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
2 changes: 0 additions & 2 deletions program-analysis/slither/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down