v0.2 Integration Tests

Setup

  • Mock relay, Containers of mev-geth mining instances, Mock simulation

Checklist

  • Logic testing
  • correct block formation / ordering
  • correct auction winner
  • correct bundle atomicity
  • probabilistic testing
  • custom profit switcher
  • latency delays
  • Check if all mev-geth clients in the private network receive bundles (# of bundles received/dropped over time, heartbeat health checks, ordering of received bundles) over websockets
    • Turn off ws connections to see if they fail gracefully
    • Test if the relay http proxy works as a fallback if WS connection fails
  • PoA vs PoW
    • What should the tests use?
  • Start/Stop process pre-tests
    • Set up accounts, contracts, txs
  • Tests for bundle priority
    • Bundle vs Bundle txs
    • Bundle vs local TxPool txs
  • Consensus validity of paying w/ block.coinbase vs transfer
    • Try submitting bundles without block.coinbase bribe
  • Flashbots contracts, do the proxies work as intended etc
  • Goerli/Ropsten
    • filter/account for flashbots hashrate

Nice to haves

  • Unit tests for diff vs geth
  • Testing on a mainnet fork
  • Tests to see how it reacts to uncles?
  • Spam prevention/load stress tests
Select a repo