Bump number of parties in Head to 29
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
After inputsToOpenHead was simplified to a single OnInitTx, inputs2 = drop 3
inputs became empty. The 2nd run only processed a Tick from primeWithTime,
advancing currentSlot to 1 while the non-restarted node ended at 0 (reset
by HeadOpened{chainState=0}), causing the consistency check to fail.
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
`prop_specIsComplete` was being run 100 times (QuickCheck default) despite the spec file not changing between runs. Add `withMaxSuccess 1` at the `conjoin` level in ServerOutputSpec and directly in ClientInputSpec so QuickCheck stops after a single successful run. Signed-off-by: Sasha Bogicevic <[email protected]>
Rename "extracts correct snapshot number" to reflect that the test now verifies SeenSnapshot is preserved (not reset to LastSeenSnapshot) so AckSns can still be collected after DecommitFinalized arrives. Signed-off-by: Sasha Bogicevic <[email protected]>
When CommitFinalized (or DecommitFinalized) arrives while a snapshot is in RequestedSnapshot state, the in-flight ReqSn carries the old version and will be rejected with ReqSvNumberInvalid once the version bumps. Since nothing re-triggers a fresh request, the head gets permanently stuck with pending localTxs. The guard added in ef0762bd5 used snapshotInFlight which returns True for both RequestedSnapshot and SeenSnapshot. This was correct for SeenSnapshot (AckSns in-flight, snapshot will complete naturally) but too broad for RequestedSnapshot (stale echo will be rejected). Replace the guard with isCollectingAcks which only blocks SeenSnapshot, allowing CommitFinalized/DecommitFinalized to immediately re-request with the new version when in RequestedSnapshot state. Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
When CommitFinalized or DecommitFinalized arrives while a snapshot is already in SeenSnapshot state, the correct behaviour is to let the in-flight snapshot complete rather than aborting it and re-requesting with stale localTxs that can cause BadInputsUTxO. Signed-off-by: Sasha Bogicevic <[email protected]>