Skip to content

Releases: Cyfrin/aderyn

v0.0.10

23 Dec 19:37
Compare
Choose a tag to compare
  • New ContextBrowser, injected into the detect function, makes building detectors easier.
  • Detectors:
  • Yul visitor support
  • Bug fixes:
    • Read all available foundry output files when more than a single compiler is used
    • Correct nSLOC count on contracts with unconventional comment structures

v0.0.9

14 Dec 11:49
Compare
Choose a tag to compare

Detectors:

  • New: Arbitrary from passed to transferFrom Detector.
  • Fix: Overzealous solmate detector now only catches the import directives.
  • Fix: push0 opcode for versions 0.8.20 and above fixed to be more precise in various pragma formats.

v0.0.8

13 Dec 12:39
ab94621
Compare
Choose a tag to compare
  • Python bindings generator.
  • JSON report file when -o <FILE_NAME> has a .json suffix.
  • Markdown report features:
    • Code snippets in the report, display the code that is detected by a detector.
    • ctrl+click links in the report to open up the exact file and line where the issue occurs.
  • Bug fix: Handle multiple build-info files in hardhat mode.
  • Detector: Low: Solc v0.8.20 introduces PUSH0 opcode, which not all EVM chains support.

v0.0.7

08 Dec 09:44
d824cff
Compare
Choose a tag to compare
  • Speed up report generation by sorting detector instances on the fly, instead of post-processing.
  • Bug fix: hard coded foundry src replaced with foundry.toml definition.
  • Custom report output file with arg: -o <output_file>.
  • Process foundry output files in parallel & other io speed improvements.
  • Single Solidity files can be analyzed without a framework so long as Foundry is installed on the machine.

Big thanks to @TilakMaddy for his contribution to many of the features listed here.

v0.0.6

15 Nov 21:15
4f1bed4
Compare
Choose a tag to compare
  • Readme updates and logo
  • AST Fix: Modifier blocks were not being visited, they are now. Fixes #35
  • Detectors:
    • Inconsistent conditional checks on storage variables. Fixes #12
  • Output:
    • Markdown links are now pure markdown instead of a combination of Markdown and HTML. Fixes #25
    • Issue instances are printed in alphabetical and line number order. Fixes #14

v0.0.5

07 Nov 12:05
8f4ecae
Compare
Choose a tag to compare
  • New Detectors:
    • Using block.timestamp for token swap deadlines.
    • Use ERC721::_safeMint instead of _mint.
  • Fix: useless_public_function detector no longer counts constructors.
  • Tech debt:
    • loader.rs more generic, domain-specific getters moved to relevant one-time detector calls.
    • Detectors don't use unnecessary visitors.
  • Report:
    • Contract Summary includes nSLOC.
    • Disclaimer.

v0.0.4

01 Nov 11:39
Compare
Choose a tag to compare
  • Contract summary (which contracts have been analyzed) added to report
  • Centralization detector no longer reports "unknown" source
  • Print line numbers instead of file source
  • Remove --root flag arg requirement

v0.0.3

30 Oct 10:04
de10e79
Compare
Choose a tag to compare
v0.0.3 Pre-release
Pre-release
  • Hardhat mode checks that source paths start with contracts so that it doesn't detect node_modules contracts. Fixes #3.
  • Clippy warning fixes
  • README improvments

v0.0.2

26 Oct 15:06
Compare
Choose a tag to compare
v0.0.2 Pre-release
Pre-release
  • Reduce noisy output
  • cargo clippy error fixes (warnings not all dealt with yet)
  • Auto-detect repo framework, removing the need for specific flags (--foundry or --hardhat)
  • Github action

v0.0.1

26 Oct 10:59
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release

🥳