Add foundry/anvil harness for simulating and testing #24
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.
This addition makes it possible to replay prior liquidations, at least ones that were triggered by interest accrual (as opposed to price change). Simply run
yarn sim <block_number>
where block number is set to be 1 block prior to the liquidation/warning in question.This code can be adapted to create unit tests and/or extended to support simulation of liquidations caused by price change. For that we'll need to do
web3.eth.extend(...)
and use some of the special methods listed here.I tested this using the block number in index-sim.ts, and borrower
0x73e662293453f7d019865362e47e4ce590322926
was in fact liquidated on the simulated chain.