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

Dev/optimize #37

Merged
merged 28 commits into from
May 12, 2024
Merged

Dev/optimize #37

merged 28 commits into from
May 12, 2024

Conversation

0xLucca
Copy link
Contributor

@0xLucca 0xLucca commented May 9, 2024

No description provided.

@0xLucca 0xLucca requested a review from feliam May 9, 2024 19:12
@0xLucca 0xLucca merged commit be203fb into develop May 12, 2024
2 checks passed
@0xLucca 0xLucca deleted the dev/optimize branch May 12, 2024 14:06
0xLucca added a commit that referenced this pull request May 17, 2024
* Initial CI (Test+Clippy) (#2)

* initial CI (empty)

* Linted

* feat: Minimal command line parsing with clap (#1)

* feat: Minimal command line parsing with clap

* Move tests to their own module

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>

* Config wasmi and hostfunctions (#3)

Co-authored-by: Felipe Manzano <felipe.andres.manzano@gmail.com>

* Update CI workflow to include develop branch (#4)

* Update CI workflow to include develop branch

* Make clippy happy

* Add rust fmt config and format files (#6)

* reformatted (#5)

* reformatted

* Remove unused import

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>

* Testing host fn input (#7)

* Test hf input

* Clippy

* Refactor code (#8)

* Move cli to its own module

* Fix test

* Move input and set_storage

* Move seal0_value_transferred

* Move seal_return

* Add new modules and types

* Create executor

* Delete unused traits

* Refactor project (#9)

* Add drink

* Clean project

* Add rayon for multithreading support (#10)

* Add Rayon

* Use modified drink version

* Load contract from each thread

* Initial attempt to fuzzed generation (#11)

* Planning and testing stuff

* Drinking a sip

* Initial attempt to encoded fuzzed generation

* Main loop

* So close, so far away

* Make it compile

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>
Co-authored-by: 0xLucca <95830307+0xLucca@users.noreply.github.com>

* Initial cached fuzzing loop (#12)

* Initial cached fuzz loop

* Fix typo (#13)

* Big Refactor

* Adding config and engine:

* Refactor (#21)

* Refactoring the Fuzzer Trace

* Refactor arguments-generator and test

* Extract cli to its own module

* Add scripts for making testing easier

* Fix session handling

* Move scripts to test-contracts

* Make clippy less angry

* Apply cargo fmt

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>

* Improve run campaign (#22)

* Return failed property traces

* Add print campaign result

* Make reverts rollback and continue

* Update BUG_VALUE constant to 15

* Non needed struct

* Update readme and delete unused tests

* Move max rounds and fail_fast to the config.yaml

* Merge fix moving failfast/max_rounds to config

* No deps in the CI

* Add fail_fast option to config.yaml

* Update drink dependency to specific revision

* Slightly better Output

* Fix the default config yaml

* Fix config default

* Update readme

* REmove some repetition in the readme

* Track Cargo.lock

---------

Co-authored-by: Felipe Manzano <felipe.andres.manzano@gmail.com>

* Create LICENSE (#23)

* Add testing contracts (#25)

* Add comments and fix check_properties fn

* Add tests

* Replace build.sh with build.py

* Add README to Coinfabrik Test Contracts

* Add test

* Apply cargo-fmt and refactor test_contract

* Added Generator unittest (#24)

* Added Generator unittests

* Handle panics (#26)

* Add panic and revert handler, tests and cargo-fmt

* Refactor execute_message and execute_deploy

* Replace impl into to from

* Add comment

* Update CI (#27)

* Update CI

* Add CI workflows

* Add rust-src to workflow

* Make CI happy

* Add more tests (#28)

* Add iterators_over_indexing test

* Add tempfile crate and fix test

* Update CI workflow names

* Add assert_violation test

* Update default accounts in order to not use account 0x0 as caller

*  Add zero_or_test_address test and add account_id generation

* Migrate to ink sandbox (#29)

* WIP: migrate drink to ink_sandbox

* Finish migration

* Apply cargo-fmt

* Fix Cargo.toml dependencies

* Stop tracking Cargo.lock

* Dev/delete locks (#30)

* Deleted cargo locks

* Deleted internal .gitignore

* Adding lock to gitignore

* Simply move path to the new bundle (#32)

* Document the hardcoded hash of an empty trace into a constant (#33)

* Add docker (#34)

* Add Dockerfiles

* Update README.md

* Update config handling

* Remove config.yaml from Dockerfiles

* Update docker run commands in readme

* Addded ALIAS to docker config

---------

Co-authored-by: Felipe Manzano <felipe.andres.manzano@gmail.com>

* Add md book (#35)

* wip: Add mdbook for documentation

* Add ityfuzz example

* Add writing properties section

* Update docker usage

* Create mdbook.yml

Add mdbook CI

* Fix book CI (#36)

* Dev/optimize (#37)

* Remove old commented out code

* Wip - Step function

* Make it compile

* Add docker (#34)

* Add Dockerfiles

* Update README.md

* Update config handling

* Remove config.yaml from Dockerfiles

* Update docker run commands in readme

* Addded ALIAS to docker config

---------

Co-authored-by: Felipe Manzano <felipe.andres.manzano@gmail.com>

* Add md book (#35)

* wip: Add mdbook for documentation

* Add ityfuzz example

* Add writing properties section

* Update docker usage

* Create mdbook.yml

Add mdbook CI

* Fix book CI (#36)

* Remove clone() and add fork()

* Add a configurable initial seed value

* WIP optimize refactor

* execute_last rename refactor

* DeployOrMessage refactor

* CacheEntry refactor and cargo fmt

* WIP, better data structures for the cache and trace management

* Refactor TraceResult

* FailedTrace vec refactor

* Removed unhandled

* WIP: Optimize 1 working example

* WIP: Optimize 1 working example - formatted

* PAssing tests for traces with only a deploy message

* Remove unused fn

* Implement PartialOrd

* Make clippy happy

* better doc

* Better optimization code

* Cargo fmt

* Typo in comment

---------

Co-authored-by: Felipe Manzano <felipe.andres.manzano@gmail.com>

* Console/Text User Interface (#38)

Added an Output api to control the UI from the engine
Added 2 implementations for the UI: TUI(using ratatui) and a simple console

* cargo fmt

* Small readme doc change (#40)

* Added screenshot via web
* Update Readme and mdbook
* Add fuzzer exit
* Linting the clone_from

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>

---------

Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>
Co-authored-by: 0xLucca <95830307+0xLucca@users.noreply.github.com>
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