-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(forge): support multiple forks (#1715)
* refactor: move backed to separate module * refactor: move fork db to evm crate * feat: design multifork * feat: more multi handler work * fix: use new paths * describe cheatcodes * chore: tune cheatcodes * refactor: move in memory db to evm * docs: add some docs * refactor: redesign multifork backend * feat: api improvements * chore: bump revm * docs: more backend docs * feat: implement multifork creation * style: simplify locking * feat: add spawning * feat: refactor backend types * feat: complete fork api * refactor: simplify TestFilter * refactor: extract helper types * refactor: restructure runner * chore(clippy): make clippy happy * refactor: extract types * refactor: simplify create2 deployer fn * cleanup * fix: failing tests * test: ensure solc finished successfully * refactor: introduce more types * feat: add a bunch of revm trait impls * clean up types * refactor: remove generic Inspector impl * feat: introduce Backendtrait * chore: remove old types * refactor: rename Backend type * refactor: rename DatbaseExt trait * feat: integrate new Backend type * revertuse refcell again * refactor: change to dedicated fuzz backend * refactor: refactor conversion * chore: some cleanup * refactor: extract Fuzzbackend wrapper * feat: implement cheat codes * feat: implement fork cheat codes * refactor: make it compile again * refactor: add shutdown routine to Multifork * refactor: improve backend * make everything compile again * add auto impl * add config * refactor: update outdated code * chore: cleanup some code * chore: make it compile again * test: update failing tests * chore(clippy): make clippy happy * test: add simple fork cheatcode tests * refactor: use execute function * refactor: move snapshot cheatcode impl to separate mod * feat: store subroutine with snapshot * feat: add subroutine to revert call * feat: add Cheats config type * work on snapshots * docs: write additional revert docs * feat: check for failures * fix: make compile again * refactor: rename * refactor: unify backend code * feat: resolve rpc aliases * feat: periodically flush rpc cache * chore: derive default * chore: use revm head * chore: bump revm * build: use revm 1.6.0 * fix: use new revm data structures * feat: add roll fork cheat codes * feat: add rpc helper functions * docs: document rpc endpoints table * test: add rpc endpoint tests * Delete run.rs * work on roll fork * refactor: use local fork ids as ints * test: update fork test * extend trait * fix: migrate new revm api * patch revm git * use revm naming * fix: rpc urls api * fix: return encoded errors * chore: rustfmt * chore: rustfmt * feat: update env when selecting fork * fix: fix a ton of bugs * fix: failing tests * chore: rm unused cheat * chore: rm unused types * feat: add more util cheat codes * style: simplify create select * docs: update docs * test: more fork tests * add active fork test * docs: update cheatcode docs * fix: capture env in snapshot * test: add snapshot tests Co-authored-by: Georgios Konstantopoulos <me@gakonst.com> Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
- Loading branch information
1 parent
7bc3e60
commit 4ae40da
Showing
36 changed files
with
2,728 additions
and
850 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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.