https://github.com/crytic/echidna-streaming-series

A 6-part series on how to use Echidna on real-world codebases

https://github.com/crytic/echidna-streaming-series

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

A 6-part series on how to use Echidna on real-world codebases

Basic Info
  • Host: GitHub
  • Owner: crytic
  • License: mit
  • Language: Solidity
  • Default Branch: main
  • Homepage:
  • Size: 18.7 MB
Statistics
  • Stars: 107
  • Watchers: 1
  • Forks: 40
  • Open Issues: 6
  • Releases: 0
Archived
Created almost 4 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

Echidna Streaming Workshop

Welcome to the 6-part series on how to use Echidna to fuzz like a pro! This repository has 6 folders, each of which maps to a specific workshop in the series.

To learn more about how these workshops will work, please read this blogpost.

Note that each workshop will be live streamed on Trail of Bits' Twitch channel and YouTube channel at 12 PM EST on the following days:

Beginner

Part 1: The Basics (streaming on Nov 16, 2022)

Part 2: Fuzzing arithmetics and functions (streaming on Nov 22, 2022)

Intermediate

Part 3: Introduction to AMM’s invariants (streaming on Nov 30, 2022)

Part 4: AMM fuzzing (streaming on Dec 6, 2022)

Advanced

Part 5: Introduction to advanced DeFi’s invariants (streaming on Dec 14, 2022)

Part 6: Advanced DeFi invariants (streaming on Dec 21, 2022)

Additional Notes

  • This repository will be migrated to the building-secure-contracts repository at the end of the series. We will update this README when that time comes.
  • This repository will be updated as the series continues. Thus, there might be some incomplete folders / broken links in the process.

Try your own invariants!

ABDK Math - Associative property of multiplication – (x * y) * z = x * (y * z) - Distributive property of multiplication – x * (y + z) = (x * y) + (x * z) - Multiplication of inverses (using the inv function) – inv(x * y) = inv(x) * inv(y) - Square roots – sqrt(x) * sqrt(x) = x - Logarithms – log2(x * y) = log2(x) * log2(y) - Average gavg() - Power pow() - Natural logarithm – ln() - Exponentiation – exp()

Uniswap V2 - Path independence for swaps - Pool invariant always increases - LP tokens are minted differently based on existing pool liquidity - An LP provider's underlying asset balances are monotonically increasing - Path independence for LPs

Echidna Installation

Owner

  • Name: Crytic
  • Login: crytic
  • Kind: organization
  • Email: opensource@trailofbits.com
  • Location: New York, NY

Blockchain Security, by @trailofbits

GitHub Events

Total
  • Watch event: 12
  • Fork event: 7
Last Year
  • Watch event: 12
  • Fork event: 7

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 16
  • Average time to close issues: N/A
  • Average time to close pull requests: 8 days
  • Total issue authors: 2
  • Total pull request authors: 11
  • Average comments per issue: 1.5
  • Average comments per pull request: 1.13
  • Merged pull requests: 12
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • montyly (1)
Pull Request Authors
  • webthethird (3)
  • 0xicingdeath (2)
  • ChmielewskiKamil (2)
  • 5hutt3r5 (1)
  • aviggiano (1)
  • oldsj (1)
  • ardislu (1)
  • k-xo (1)
  • guille-block (1)
  • bart1e (1)
  • anishnaik (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

part2/staker/package-lock.json npm
  • 295 dependencies
part2/staker/package.json npm
  • hardhat ^2.12.2 development
  • @openzeppelin/contracts ^4.8.0
part3/package-lock.json npm
  • 294 dependencies
part3/package.json npm
  • hardhat ^2.12.2 development
part4/package-lock.json npm
  • 294 dependencies
part4/package.json npm
  • hardhat ^2.12.2 development
part5/package-lock.json npm
  • 1161 dependencies
part5/package.json npm
  • @nomiclabs/hardhat-ethers ^2.0.2 development
  • @nomiclabs/hardhat-etherscan ^3.0.1 development
  • @nomiclabs/hardhat-waffle ^2.0.1 development
  • @primitivefi/rmm-math ^2.0.0-beta.3 development
  • @typechain/ethers-v5 ^7.0.1 development
  • @typechain/hardhat ^2.2.0 development
  • @types/chai ^4.2.21 development
  • @types/mocha ^8.2.3 development
  • @types/node ^16.4.0 development
  • ethereum-waffle ^3.4.0 development
  • ethers ^5.4.1 development
  • hardhat ^2.4.3 development
  • solhint ^1.0.10 development
  • solhint-plugin-prettier ^0.0.5 development
  • ts-generator ^0.1.1 development
  • ts-node ^9.1.1 development
  • typechain ^5.1.2 development
  • typescript ^4.2.3 development
  • web3-units ^1.4.0 development
part6/package-lock.json npm
  • 1197 dependencies
part6/package.json npm
  • @nomiclabs/hardhat-ethers ^2.0.2 development
  • @nomiclabs/hardhat-etherscan ^3.0.1 development
  • @nomiclabs/hardhat-waffle ^2.0.1 development
  • @primitivefi/rmm-math ^2.0.0-beta.3 development
  • @typechain/ethers-v5 ^7.0.1 development
  • @typechain/hardhat ^2.2.0 development
  • @types/chai ^4.2.21 development
  • @types/mocha ^8.2.3 development
  • @types/node ^16.4.0 development
  • chai ^4.3.7 development
  • ethereum-waffle ^3.4.0 development
  • ethers ^5.4.1 development
  • ganache-cli ^6.12.2 development
  • hardhat ^2.4.3 development
  • solhint ^1.0.10 development
  • solhint-plugin-prettier ^0.0.5 development
  • ts-generator ^0.1.1 development
  • ts-node ^9.1.1 development
  • typechain ^5.1.2 development
  • typescript ^4.2.3 development
  • web3-units ^1.4.0 development