From ae0ae82fcb5271505300eab33666f870b94cb434 Mon Sep 17 00:00:00 2001 From: bumi Date: Wed, 14 Mar 2018 21:05:35 +0100 Subject: [PATCH] Log an event for implementation changes --- contracts/upgradeable/IRegistry.sol | 7 +++++++ contracts/upgradeable/Registry.sol | 1 + 2 files changed, 8 insertions(+) diff --git a/contracts/upgradeable/IRegistry.sol b/contracts/upgradeable/IRegistry.sol index 1a55c69..97d4d0f 100644 --- a/contracts/upgradeable/IRegistry.sol +++ b/contracts/upgradeable/IRegistry.sol @@ -20,6 +20,13 @@ interface IRegistry { */ event VersionAdded(bytes32 name, uint version, address implementation); + /** + * @dev This event will be emitted every time a proxy is upgraded to a new version + * @param name of the contract, as specified in the registry + * @param version representing the version name of the registered implementation + */ + event ProxyImplementationUpgraded(bytes32 name, uint version); + /** * @dev Registers a new version with its implementation address * @param name of the contract, as specified in the registry diff --git a/contracts/upgradeable/Registry.sol b/contracts/upgradeable/Registry.sol index c5755e1..46781a1 100644 --- a/contracts/upgradeable/Registry.sol +++ b/contracts/upgradeable/Registry.sol @@ -49,6 +49,7 @@ contract Registry is IRegistry { function upgrade(bytes32 name, uint version) public { UpgradeabilityProxy(proxies[name]).upgradeTo(version); + ProxyImplementationUpgraded(name, version); } /**