-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
feat(invariant): fuzz with values from events and return values #7666
Merged
Merged
Changes from 12 commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
9cb682d
feat(invariant): scrape return values and add to fuzz dictionary
grandizzy 492c9f6
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 25ad08c
Perist mined values between runs
grandizzy d5f891d
Refactor, add persistent samples
grandizzy 8a8f410
Apply weight to collected sample values
grandizzy 542a2d1
Add Function to BasicTxDetails (if has outputs), to be used for decod…
grandizzy 316b1a5
Fix clippy and fmt
grandizzy 58fc5a9
Use prop-perturb take 1
grandizzy d9d8619
Decode logs using target abi, populate type samples
grandizzy c15bcf6
Fmt
grandizzy 9c24971
Fix clippy, add calldetails type
grandizzy fd0fe4b
Fix fmt test
grandizzy 807a95b
Insert call sample once
grandizzy 52ced13
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 57e4df6
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 2dee260
Proper function naming
grandizzy d00c192
Generate state values bias using strategy
grandizzy c73ed83
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 55fd876
Add BasicTxDetails and CallTargetDetails struct, add Function always …
grandizzy 09c74c3
Tests cleanup
grandizzy a8fb3b8
Code cleanup
grandizzy a90e375
Move args in CallDetails
grandizzy 5a5ecf0
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 6c62c4e
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 59c7ef8
Fallback to old impl if we are not able to decode logs
grandizzy e5d3c97
Merge remote-tracking branch 'origin' into scrape-result
grandizzy 719e462
Merge remote-tracking branch 'origin' into scrape-result
grandizzy a22471b
Refactor collect values fn
grandizzy e91dcfa
Get abi from FuzzedContracts
grandizzy 875c2bc
Lookup function from identified target abi.
grandizzy File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think there's any valuable data we could collect from a reverted call, hence adding this, pls let me know if I am missing something. (Further improvement when fail on revert set to false is to remove calls reverted from final sequence - should improve shrinking performance)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed that we don't need to collect data from a reverted call
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 , will follow up with a PR to exclude reverted call from final sequence if running with
fail-on-revert=false
, should improve shrinking phase a lot