Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Fuzzer framework core, macros, helpers, templates, and examples. #111

Merged
merged 29 commits into from
Jan 12, 2024

Conversation

Ikrk
Copy link
Contributor

@Ikrk Ikrk commented Jan 12, 2024

Fuzzer framework core:

  • It automatically parses your Anchor-based programs and generates required implementations to deserialize instruction accounts.
  • It generates templates that you will complete according to your desired fuzz test behavior.
  • It provides several derive macros to implement required traits automatically.
  • It provides a bank client and helper functions to handle accounts.
  • It provides a CLI to run and debug the fuzz tests.

Ikrk and others added 27 commits November 8, 2023 10:26
* 🧪 add fuzz_example1

* 🧪 added fuzz_example0, this is copy of 'fuzzer' example but with the new structure

* ✅ work on example0

* ✅ working on example1

* ✅ added fresh example2

* ✅ fuzz test for example2

* ✅ slightly different fuz test for fuzz example 1

* ✅ added fuzz example3 - escrow with bad math

* ✅ fuzz test for fuzz example3

* 🚀 added check for register Subject and added initial problem description

* ✅ add crashes for both checks

* ✅ fuzz example 0 in progress

* 📝 readme updates

* 📝 example1 small readme  update

* ✅ small program update

* 📝 readme + added fuzzer output

* ✅ minor program example updates

* ✅ remove unnecessary coments , add few notes , add new withdraw check

* ✅ add crash files

* 📝 add readme template

* 🐛 update program code and fix accounts snapshot

* 📝 add readme + crash file

* 🙈 gitignore

* ✅ remove unnecessary code + update fuzz test check

* ✅ add crashes

* 📝 initial readme

* 📝 readme update + minor code update

* 📝 the final check part

* 📝 code format

* 📝 better grammar and spelling

* 📝 better grammar and spelling

* 📝 better grammar and spelling

* 📝 link to uncomment check

* 🚧 todo find crash file for the todo check

* 🔥 removed incorrect check from withdraw + update readme

* ✏️ fix fuzz_example0 - Update readme and rename fuzzer to fuzz_example0

* ✏️ fix fuzz_example2 comments

* ✏️ fixes for fuzz_example3 - remove unnecessary code parts

* ✏️ fix fuzz_example3 - remove check for Invest function, update Readme

* Fixed snapshot deserialization

* Removed unused imports

* Rebase fixes

* 🧪 added fuzz_example0, this is copy of 'fuzzer' example but with the new structure

* ✅ work on example0

* ✅ working on example1

* ✅ added fresh example2

* ✅ fuzz test for example2

* ✅ slightly different fuz test for fuzz example 1

* ✅ added fuzz example3 - escrow with bad math

* ✅ fuzz test for fuzz example3

* 🚀 added check for register Subject and added initial problem description

* ✅ add crashes for both checks

* ✅ fuzz example 0 in progress

* 📝 readme updates

* 📝 example1 small readme  update

* ✅ small program update

* 📝 readme + added fuzzer output

* ✅ minor program example updates

* ✅ remove unnecessary coments , add few notes , add new withdraw check

* ✅ add crash files

* 📝 add readme template

* 🐛 update program code and fix accounts snapshot

* 📝 add readme + crash file

* 🙈 gitignore

* ✅ remove unnecessary code + update fuzz test check

* ✅ add crashes

* 📝 initial readme

* 📝 readme update + minor code update

* 📝 the final check part

* 📝 code format

* 📝 better grammar and spelling

* 📝 better grammar and spelling

* 📝 better grammar and spelling

* 📝 link to uncomment check

* 🚧 todo find crash file for the todo check

* 🔥 removed incorrect check from withdraw + update readme

* ✏️ fix fuzz_example0 - Update readme and rename fuzzer to fuzz_example0

* ✏️ fix fuzz_example2 comments

* ✏️ fixes for fuzz_example3 - remove unnecessary code parts

* ✏️ fix fuzz_example3 - remove check for Invest function, update Readme

* 🎨 cargo fmt

* 🎨 clippy allow too many arguments

---------

Co-authored-by: lukacan <andrej@DESKTOP-UME2160.localdomain>
Co-authored-by: Ikrk <ikrk@centrum.cz>
@Ikrk Ikrk requested a review from lukacan January 12, 2024 16:38
@lukacan lukacan merged commit 19b3f55 into develop Jan 12, 2024
7 checks passed
@lukacan lukacan deleted the fuzz-instructions-generator branch February 14, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants