public void UpdatePollSelection(long pollId, ElectionCommitteePayload payload) { if (payload is null) { throw new ArgumentNullException(nameof(payload)); } var voteCastTask = _castedVotes[pollId].GetOrAdd(payload.EcCommitment, new TaskCompletionSource <bool>()); voteCastTask.SetResult(true); _dataAccessService.UpdatePollSelection(pollId, payload.EcCommitment.ToString(), payload.PartialBf.ToHexString()); }
public async Task <ActionResult <VoteCastedResult> > CastVote(long pollId, [FromBody] ElectionCommitteePayload proofs) { return(Ok(new VoteCastedResult { Result = await _electionCommitteeService.WaitForVoteCast(pollId, proofs.EcCommitment).ConfigureAwait(false) })); }