mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-26 00:25:17 +00:00
fix: weird state from dropped channels
This commit is contained in:
parent
175a35edec
commit
d151e14166
@ -884,10 +884,10 @@ func (a *CeremonyApplication) ApplyTransition(
|
|||||||
maxRounds = maxRounds << 1
|
maxRounds = maxRounds << 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if a.RoundCount == maxRounds &&
|
if a.RoundCount >= maxRounds &&
|
||||||
uint64(len(a.TranscriptRoundAdvanceCommits)) == a.RoundCount &&
|
uint64(len(a.TranscriptRoundAdvanceCommits)) == a.RoundCount &&
|
||||||
len(a.ActiveParticipants) ==
|
len(a.ActiveParticipants) ==
|
||||||
len(a.TranscriptRoundAdvanceCommits[a.RoundCount-1].Commits) {
|
len(a.TranscriptRoundAdvanceCommits[maxRounds-1].Commits) {
|
||||||
a.LobbyState = CEREMONY_APPLICATION_STATE_FINALIZING
|
a.LobbyState = CEREMONY_APPLICATION_STATE_FINALIZING
|
||||||
a.FinalCommits = a.TranscriptRoundAdvanceCommits[a.RoundCount-1].Commits
|
a.FinalCommits = a.TranscriptRoundAdvanceCommits[a.RoundCount-1].Commits
|
||||||
a.RoundCount = 0
|
a.RoundCount = 0
|
||||||
|
@ -220,15 +220,15 @@ func (a *CeremonyApplication) applyTranscriptCommit(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(a.TranscriptRoundAdvanceCommits[a.RoundCount-1].Commits) ==
|
if maxRounds < a.RoundCount-1 {
|
||||||
len(a.ActiveParticipants) {
|
|
||||||
if maxRounds ==
|
|
||||||
uint64(len(a.TranscriptRoundAdvanceCommits)) {
|
|
||||||
return errors.Wrap(
|
return errors.Wrap(
|
||||||
errors.New("round limit exceeded"),
|
errors.New("round limit exceeded"),
|
||||||
"apply transcript commit",
|
"apply transcript commit",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(a.TranscriptRoundAdvanceCommits[a.RoundCount-1].Commits) ==
|
||||||
|
len(a.ActiveParticipants) {
|
||||||
a.TranscriptRoundAdvanceCommits = append(
|
a.TranscriptRoundAdvanceCommits = append(
|
||||||
a.TranscriptRoundAdvanceCommits,
|
a.TranscriptRoundAdvanceCommits,
|
||||||
&protobufs.CeremonyAdvanceRound{
|
&protobufs.CeremonyAdvanceRound{
|
||||||
|
@ -425,6 +425,7 @@ func (e *CeremonyExecutionEngine) RunWorker() {
|
|||||||
err := e.connectToActivePeers(app, position)
|
err := e.connectToActivePeers(app, position)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.logger.Error("error while connecting to peers", zap.Error(err))
|
e.logger.Error("error while connecting to peers", zap.Error(err))
|
||||||
|
e.publishDroppedParticipant(e.proverPublicKey)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -703,6 +704,14 @@ func (e *CeremonyExecutionEngine) connectToActivePeers(
|
|||||||
e.pubSub,
|
e.pubSub,
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
e.logger.Error(
|
||||||
|
"could not establish p2p channel",
|
||||||
|
zap.Binary(
|
||||||
|
"proving_key",
|
||||||
|
p.PublicKeySignatureEd448.PublicKey.KeyValue,
|
||||||
|
),
|
||||||
|
zap.Error(err),
|
||||||
|
)
|
||||||
return errors.Wrap(err, "connect to active peers")
|
return errors.Wrap(err, "connect to active peers")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user