Function: ZKMLChallengeModeler(address modeler, string _ipfsChallenge, DataTypes.DrandProof _proof)
This allows ZKML challenging a modeler.
Inputs
modelerControl: Fully controlled by the caller.
Constraints: Checked that the modeler has a proper
futureRandSlotsmapping.Impact: The modeler to be challenged.
_ipfsChallengeControl: Fully controlled by the caller.
Constraints: None.
Impact: The IPFS of the challenge.
_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
Should assure that the proof is valid for the modeler. Currently not performed.
Update the
ZKMLChallengesmapping for the modeler by setting theipfsChallengeto the_ipfsChallenge.Assure that the round of the proof matches the
futureRandSlotsmapping.
Negative behavior
Should not allow challenging the modeler if they have already been challenged (overriding the current challenge).
Should not allow calling this while the contract is paused.