From c2568b169788216e1320de79f37008578e11fc33 Mon Sep 17 00:00:00 2001 From: sakulstra Date: Thu, 8 Aug 2024 20:02:14 +0200 Subject: [PATCH 1/2] feat: add initialize --- src/periphery/contracts/static-a-token/StaticATokenLM.sol | 4 ++++ .../interfaces/IInitializableStaticATokenLM.sol | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/periphery/contracts/static-a-token/StaticATokenLM.sol b/src/periphery/contracts/static-a-token/StaticATokenLM.sol index 80f40ef4..fbe369ef 100644 --- a/src/periphery/contracts/static-a-token/StaticATokenLM.sol +++ b/src/periphery/contracts/static-a-token/StaticATokenLM.sol @@ -105,6 +105,10 @@ contract StaticATokenLM is emit Initialized(newAToken, staticATokenName, staticATokenSymbol); } + function upgradeInitialize() external initializer { + require(__deprecated != 0, 'MUST_ALREADY_BE_INITIALIZED'); + } + /// @inheritdoc IRescuable function whoCanRescue() public view override returns (address) { return POOL_ADDRESSES_PROVIDER.getACLAdmin(); diff --git a/src/periphery/contracts/static-a-token/interfaces/IInitializableStaticATokenLM.sol b/src/periphery/contracts/static-a-token/interfaces/IInitializableStaticATokenLM.sol index 0eeb8955..eca4760f 100644 --- a/src/periphery/contracts/static-a-token/interfaces/IInitializableStaticATokenLM.sol +++ b/src/periphery/contracts/static-a-token/interfaces/IInitializableStaticATokenLM.sol @@ -29,4 +29,10 @@ interface IInitializableStaticATokenLM { string calldata staticATokenName, string calldata staticATokenSymbol ) external; + + /** + * @dev Initializes the already initialized StaticATokenLM + * @notice This is required Initializable was migrated to EIP-7102 so the storage location moved. + */ + function upgradeInitialize() external; } From 35e3e17e29f7206fbd63f55f5eca85afdb877fb2 Mon Sep 17 00:00:00 2001 From: sakulstra Date: Thu, 8 Aug 2024 20:45:49 +0200 Subject: [PATCH 2/2] fix: cleanup storage --- src/periphery/contracts/static-a-token/StaticATokenLM.sol | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/periphery/contracts/static-a-token/StaticATokenLM.sol b/src/periphery/contracts/static-a-token/StaticATokenLM.sol index fbe369ef..77078882 100644 --- a/src/periphery/contracts/static-a-token/StaticATokenLM.sol +++ b/src/periphery/contracts/static-a-token/StaticATokenLM.sol @@ -105,8 +105,10 @@ contract StaticATokenLM is emit Initialized(newAToken, staticATokenName, staticATokenSymbol); } + ///@inheritdoc IInitializableStaticATokenLM function upgradeInitialize() external initializer { - require(__deprecated != 0, 'MUST_ALREADY_BE_INITIALIZED'); + require(__deprecated != 0, 'MUST_ALREADY_BE_INITIALIZED'); + __deprecated = 0; // cleanup storage } /// @inheritdoc IRescuable