diff --git a/src/CampaignInfo.sol b/src/CampaignInfo.sol index cd650eb..7ef0871 100644 --- a/src/CampaignInfo.sol +++ b/src/CampaignInfo.sol @@ -129,6 +129,13 @@ contract CampaignInfo is */ error CampaignInfoIsLocked(); + /** + * @dev Throws when a platform data key is not owned by the platform being updated. + * @param platformHash The platform being updated. + * @param platformDataKey The key that does not belong to this platform. + */ + error CampaignInfoPlatformDataKeyNotOwnedByPlatform(bytes32 platformHash, bytes32 platformDataKey); + /** * @dev Modifier that checks if the campaign is not locked. */ @@ -578,6 +585,9 @@ contract CampaignInfo is if (!isValid) { revert CampaignInfoInvalidInput(); } + if (globalParams.getPlatformDataOwner(platformDataKey[i]) != platformHash) { + revert CampaignInfoPlatformDataKeyNotOwnedByPlatform(platformHash, platformDataKey[i]); + } if (platformDataValue[i] == bytes32(0)) { revert CampaignInfoInvalidInput(); }