Function: giveChallengeToModeler(string _ipfsChallenge, address _modeler, DataTypes.DrandProof _proof)
Facilitates challenging a modeler.
Inputs
_ipfsChallengeControl: Fully controlled by the caller.
Constraints: None.
Impact: The IPFS of the challenge.
_modelerControl: Fully controlled by the caller.
Constraints: None.
Impact: The modeler to be challenged.
_proofControl: Fully controlled by the caller.
Constraints: Checked that the round of the proof matches the
futureRandSlotsmapping.Impact: The proof for the specific round.
Branches and code coverage
Intended branches
Assure that the
modeleris registered. Currently not performed.Should reset the
ipfsResponseof the modeler. Currently not performed.Map the
ipfsChallengebetween avalidatorand amodeler. Currently not performed.Assure that the
proofis valid for the challengedmodeler. Currently not performed.Assumed that the challenge is given for this contract's specific competition. Currently not explicitly checked.
Set the
ipfsChallengeof themodelerChallengesmapping for themodeler.
Negative behavior
Should not be able to challenge a modeler that has opted out.
Should not be able to challenge a modeler that has already been challenged.
Should not allow a proof that has already been submitted. Currently not checked.
Should not allow calling this while the contract is paused.