Skip to content

Commit

Permalink
Merge branch 'GPT-root' of github.com:crytic/building-secure-contract…
Browse files Browse the repository at this point in the history
…s into GPT-root
  • Loading branch information
montyly committed Jul 12, 2023
2 parents 5526482 + aa6302c commit 4f9e10c
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 24 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ Here's a basic overview of Building-Secure-Contracts' structure:

```text
.
├── development-guidelnes # High-level best practices for all smart contracts
├── development-guidelines # High-level best practices for all smart contracts
├── learn_evm # EVM technical knowledge
├── not-so-smart-contracts # Examples of common smart contract issues, including descriptions, examples, and recommendations
├── program-analysis # How to utilize automated tools for securing contracts
├── program-analysis # How to utilize automated tools to secure contracts
├── resources # Various online resources
└── ...
```
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

![](https://github.com/crytic/building-secure-contracts/workflows/CI/badge.svg) ![](https://github.com/crytic/building-secure-contracts/workflows/Echidna/badge.svg)

Brought to you by [Trail of Bits](https://www.trailofbits.com/), this repository offers guidelines and best practices for developing secure smart contracts. Contributions are welcome, so please participate by adhering to our [contributing guidelines](https://github.com/crytic/building-secure-contracts/blob/master/CONTRIBUTING.md).
Brought to you by [Trail of Bits](https://www.trailofbits.com/), this repository offers guidelines and best practices for developing secure smart contracts. Contributions are welcome, you can contribute by following our [contributing guidelines](https://github.com/crytic/building-secure-contracts/blob/master/CONTRIBUTING.md).

**Table of Contents:**

- [Development Guidelines](./development-guidelines)
- [High-Level Best Practices](./development-guidelines/guidelines.md): Essential practices for all smart contracts
- [Incident Response Recommendations](./development-guidelines/incident_response.md): Advice for creating an incident response plan
- [High-Level Best Practices](./development-guidelines/guidelines.md): Best practices for all smart contracts
- [Incident Response Recommendations](./development-guidelines/incident_response.md): Guidelines for creating an incident response plan
- [Secure Development Workflow](./development-guidelines/workflow.md): A high-level process to follow during code development
- [Token Integration Checklist](./development-guidelines/token_integration.md): What to check when interacting with arbitrary tokens
- [Learn EVM](./learn_evm): Technical knowledge about EVM
- [Learn EVM](./learn_evm): Technical knowledge about the EVM
- [EVM Opcodes](./learn_evm/evm_opcodes.md): Information on all EVM opcodes
- [Transaction Tracing](./learn_evm/tracing.md): Helper scripts and guidance for generating and navigating transaction traces
- [Arithmetic Checks](./learn_evm/arithmetic-checks.md): A guide to performing arithmetic checks in the EVM
Expand All @@ -29,13 +29,13 @@ Brought to you by [Trail of Bits](https://www.trailofbits.com/), this repository
- [Program Analysis](./program-analysis): Using automated tools to secure contracts
- [Echidna](./program-analysis/echidna): A fuzzer that checks your contract's properties
- [Slither](./program-analysis/slither): A static analyzer with both CLI and scriptable interfaces
- [Manticore](./program-analysis/manticore): A symbolic execution engine that proves correctness properties
- Each tool comes with:
- [Manticore](./program-analysis/manticore): A symbolic execution engine that proves the correctness of properties
- For each tool, this training material provides:
- A theoretical introduction, an API walkthrough, and a set of exercises
- Exercises that take approximately two hours to gain practical understanding
- [Resources](./resources): Assorted online resources
- [Trail of Bits Blog Posts](./resources/tob_blogposts.md): A list of blockchain-related blog posts created by Trail of Bits

# License

Secure-contracts and building-secure-contracts are licensed and distributed under the [AGPLv3 license](https://github.com/crytic/building-secure-contracts/blob/master/LICENSE). Please contact us if you require an exception to the terms.
secure-contracts and building-secure-contracts are licensed and distributed under the [AGPLv3 license](https://github.com/crytic/building-secure-contracts/blob/master/LICENSE). Contact us if you're looking for an exception to the terms.
22 changes: 12 additions & 10 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
- [Transaction Tracing](./learn_evm/tracing.md)
- [Arithmetic Checks](./learn_evm/arithmetic-checks.md)
- [Yellow Paper Guidance](./learn_evm/yellow-paper.md):
- [Forks and EIPs](./learn_evm/eips_forks.md)
- [Forks and CIPs](./learn_evm/cips_forks.md)
- [Upgrades and TIPs](./learn_evm/tips_upgrades.md)
- [Forks and BEPs](./learn_evm/beps_forks.md)
- [Not So Smart Contracts](./not-so-smart-contracts/README.md)
- [Forks <> EIPs](./learn_evm/eips_forks.md)
- [Forks <> CIPs](./learn_evm/cips_forks.md)
- [Upgrades <> TIPs](./learn_evm/tips_upgrades.md)
- [Forks <> BEPs](./learn_evm/beps_forks.md)
- [Not so smart contracts](./not-so-smart-contracts/README.md)
- [Algorand](./not-so-smart-contracts/algorand/README.md)
- [Rekeying](./not-so-smart-contracts/algorand/rekeying/README.md)
- [Unchecked Transaction Fees](./not-so-smart-contracts/algorand/unchecked_transaction_fee/README.md)
Expand Down Expand Up @@ -83,7 +83,9 @@
- [How to test bytecode-only contracts](./program-analysis/echidna/advanced/testing-bytecode.md)
- [How to use hevm cheats to test permit](./program-analysis/echidna/advanced/hevm-cheats-to-test-permit.md)
- [How to seed Echidna with unit tests](./program-analysis/echidna/advanced/end-to-end-testing.md)
- [Understanding and using `multi-abi`](./program-analysis/echidna/advanced/using-multi-abi.md)
- [Understanding and using `allContracts`](./program-analysis/echidna/advanced/using-all-contracts.md)
- [How to fuzz contracts with external libraries](./program-analysis/echidna/advanced/working-with-libraries.md)
- [Interacting with off-chain data via FFI cheatcode](./program-analysis/echidna/advanced/interacting-with-offchain-data-via-ffi.md)
- [Fuzzing tips](./program-analysis/echidna/fuzzing_tips.md)
- [Frequently Asked Questions](./program-analysis/echidna/frequently_asked_questions.md)
- [Exercises](./program-analysis/echidna/exercises/README.md)
Expand All @@ -96,10 +98,10 @@
- [Exercise 7](./program-analysis/echidna/exercises/Exercise-7.md)
- [Exercise 8](./program-analysis/echidna/exercises/Exercise-8.md)
- [Manticore](./program-analysis/manticore/README.md)
- [Introduction to Symbolic Execution](./program-analysis/manticore/symbolic-execution-introduction.md):
- [Running with Manticore](./program-analysis/manticore/running_under_manticore.md)
- [Finding Throwing Paths](./program-analysis/manticore/getting_throwing_paths.md)
- [Adding Constraints](./program-analysis/manticore/adding_constraints.md)
- [Introduction to symbolic execution](./program-analysis/manticore/symbolic-execution-introduction.md):
- [Running under Manticore](./program-analysis/manticore/running-under-manticore.md)
- [Getting throwing paths](./program-analysis/manticore/getting-throwing-paths.md)
- [Adding constraints](./program-analysis/manticore/adding-constraints.md)
- [Exercises](./program-analysis/manticore/exercises/README.md)
- [Example](./program-analysis/manticore/exercises/example.md)
- [Exercise 1](./program-analysis/manticore/exercises/exercise1.md)
Expand Down
Loading

0 comments on commit 4f9e10c

Please sign in to comment.