Properties ipfsChallenge
and ipfsResponse
should be updated in updateModel
Description
The updateModel
function in the provided contract is intended to update the model commitment of a registered modeler. However, this function does not adequately handle the ipfsChallenge
and ipfsResponse
properties associated with the modeler. It only resets ipfsGraded
, performanceResult
, and medianPerformanceResults
to default values. This incomplete handling could lead to inconsistencies in tracking and validating the modeler's challenges and responses over the blockchain.
function updateModel(string calldata _modelCommitment) external {
// ...
modelerChallenges[msg.sender].ipfsGraded = "0";
modelerChallenges[msg.sender].performanceResult = 0;
modelers[msg.sender].medianPerformanceResults = 0;
// ...
}
Impact
The lack of proper management for ipfsChallenge
and ipfsResponse
can lead to potential mismatches or outdated information being stored on the blockchain. This might not significantly impact the system's functionality but could cause data integrity issues over time.
Recommendations
It is recommended to include the proper handling of ipfsChallenge
and ipfsResponse
within the updateModel
function.
Remediation
This issue has been acknowledged by Spectral Finance, and a fix was implemented in commit fbe68d35↗.