op-challenger: Add actor based tests for game solver
Description
Add tests for game solver where the attacker is a variety of malicious actors. The game is played all the way through until there are no further moves to be made and then the final resolution is checked.
Also added rules to detect when the challenger posts a move that leaves it susceptible to a poisoned prestate. One rule which tries to detect the first problematic rule currently just logs and a second rule detects when the challenger is calling step against a claim where the prestate is invalid (this call will fail logged https://github.com/ethereum-optimism/client-pod/issues/611 for the case where we try to do this) and for the case where the challenger posts a leaf claim that can be attacked using a poisoned prestate.
It also checks that none of the challenger's claims never resolved to being countered (ie the challenger always gets all its bond back).
Tests
So so many.
Metadata
- https://github.com/ethereum-optimism/client-pod/issues/103