cosmos / interchain-security

Interchain Security is an open sourced IBC application which allows cosmos blockchains to lease their proof-of-stake security to one another.
https://cosmos.github.io/interchain-security/
Other
156 stars 126 forks source link

Write differential testing driver using ibc-go framework #87

Closed danwt closed 2 years ago

danwt commented 2 years ago

Idea

A driver will be needed for differential testing. For the first application, the driver should have the actions outlined by Marius and should orchestrate the system in memory using ibc-go/testing.

In particular the actions are

  • on provider
    • delegate(D, V, A), where D is a delegator, V is a validator and A is an amount
    • undelegate(D, V, A)
    • redelegate(D, Vsrc, Vdst, A)
    • slash(V, infractionHeight, slashFactor)
    • jumpToBlock(h), where h is a height larger than the current height
  • on consumer
    • slash(V, infractionHeight, slashFactor)
    • jumpToBlock(h)

Tasks

Resources

danwt commented 2 years ago

Closed as PR

tackles this but now it is blocked by the TDD dev cycle. That is: the tests in the PR fail due to a the SUT not being fully implemented. I'm not sure if it makes sense to merge the PR currently, so I'll create another issue for further work.