diff --git a/src/CampaignInfoFactory.sol b/src/CampaignInfoFactory.sol index c29acd1..28a28b4 100644 --- a/src/CampaignInfoFactory.sol +++ b/src/CampaignInfoFactory.sol @@ -195,6 +195,7 @@ contract CampaignInfoFactory is Initializable, ICampaignInfoFactory, OwnableUpgr } CampaignInfoFactoryStorage.Storage storage $ = CampaignInfoFactoryStorage._getCampaignInfoFactoryStorage(); $.implementation = newImplementation; + emit CampaignInfoFactoryImplementationUpdated(newImplementation); } /** diff --git a/src/interfaces/ICampaignInfoFactory.sol b/src/interfaces/ICampaignInfoFactory.sol index 6e366b9..70c610b 100644 --- a/src/interfaces/ICampaignInfoFactory.sol +++ b/src/interfaces/ICampaignInfoFactory.sol @@ -20,6 +20,12 @@ interface ICampaignInfoFactory is ICampaignData { */ event CampaignInfoFactoryCampaignInitialized(); + /** + * @notice Emitted when the campaign implementation address is updated. + * @param newImplementation The new implementation address. + */ + event CampaignInfoFactoryImplementationUpdated(address indexed newImplementation); + /** * @notice Creates a new campaign information contract with NFT. * @dev IMPORTANT: Protocol and platform fees are retrieved at execution time and locked