mlswg / mls-implementations

Coordination of implementation and interop specific details
113 stars 14 forks source link

Add a 'fullCommit' action #130

Closed bifurcation closed 1 year ago

bifurcation commented 1 year ago

This PR adds a fullCommit action to the test runner, which combines the commit, handlePendingCommit, handleCommit, and joinGroup. The motivation here was to remove the need for CommitResponse.EpochAuthenticator, which could be challenging for stacks to produce if they haven't moved into the new state. Just removing would introduce some ambiguity about how to verify that all the member agree on the epoch authenticator; the approach here keeps the epoch authenticator as local state across the individual steps.

Combining these steps also makes the scripts more terse, of course.

Note that with this, the only reason to keep handleCommit is to be able to test the case where a member creates a commit, but then another commit gets applied. We could probably safely delete the individual handlePendingCommit, handleCommit, and joinGroup actions, since these aren't required for this disaggregated case.