This PR adds a new e2e test called LiquidationsStressTest which creates a thousand liquidation slices.
It mainly tests the push_back function, and it seems to be well below the gas limit since we're triggering 40 liquidations as a bulk operation. We should add similar tests for other AVL functions too (split and del comes to mind).
While doing that, I had to implement a few other minor changes:
On this test, we are running a patch version of Checker on which the protected index tracks the actual index much more closely, in order to be able to trigger liquidations quickly. To use this:
CHECKER_DIR=$(nix-build -A michelson --arg e2eTestsHack true) python e2e/main.py LiquidationsStressTest
When we end up in a state where our E2E tests run reliably, we should add this to the CI.
Our 'ptr' type is now a 'nat' instead of an 'int'. I just felt like it suits more since it always is positive.
Our 'liquidation_auction_place_bid' function now expects an 'auction_id'
We have a 'current_liquidation_auction_minimum_bid' view, which also returns the auction id.
This PR adds a new e2e test called
LiquidationsStressTest
which creates a thousand liquidation slices.It mainly tests the
push_back
function, and it seems to be well below the gas limit since we're triggering 40 liquidations as a bulk operation. We should add similar tests for other AVL functions too (split
anddel
comes to mind).While doing that, I had to implement a few other minor changes:
When we end up in a state where our E2E tests run reliably, we should add this to the CI.