From 49eb3e7d06cbaa0b9779b10c1aa32a853e24749c Mon Sep 17 00:00:00 2001 From: Stanley Gunawan Date: Wed, 4 Sep 2024 17:16:53 +0800 Subject: [PATCH] minor: update UpgradeFiatToken script --- script/UpgradeFiatToken.s.sol | 4 ++-- src/v2/FiatTokenV2.sol | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/script/UpgradeFiatToken.s.sol b/script/UpgradeFiatToken.s.sol index 53dc05c..9fb8d14 100644 --- a/script/UpgradeFiatToken.s.sol +++ b/script/UpgradeFiatToken.s.sol @@ -5,7 +5,7 @@ pragma solidity ^0.8.20; import "forge-std/console2.sol"; import {Script} from "forge-std/Script.sol"; import {Upgrades, Options} from "openzeppelin-foundry-upgrades/Upgrades.sol"; -import {FiatTokenV1} from "../src/v1/FiatTokenV1.sol"; +import {FiatTokenV2} from "../src/v1/FiatTokenV2.sol"; contract UpgradeFiatToken is Script { function run() public { @@ -16,7 +16,7 @@ contract UpgradeFiatToken is Script { opts.referenceContract = "FiatTokenV1.sol"; // upgrade contract Upgrades.upgradeProxy(fiatTokenProxyAddress, "FiatTokenV2.sol", "", opts); - console2.log("FiatTokenV1 upgraded to version 2"); + console2.log("FiatTokenV1 upgraded to FiatTokenV2"); vm.stopBroadcast(); } } diff --git a/src/v2/FiatTokenV2.sol b/src/v2/FiatTokenV2.sol index eea80ba..c5eca80 100644 --- a/src/v2/FiatTokenV2.sol +++ b/src/v2/FiatTokenV2.sol @@ -3,14 +3,17 @@ pragma solidity 0.8.20; import "../v1/FiatTokenV1.sol"; +error InvalidReInitialization(address addr); + /// @custom:security-contact snggeng@gmail.com contract FiatTokenV2 is FiatTokenV1 { uint8 internal _initializedVersion; bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE"); function initializeV2(address burner) external { - // solhint-disable-next-line reason-string - require(_initializedVersion == 0); + if (_initializedVersion > 0) { + revert InvalidReInitialization(msg.sender); + } _grantRole(BURNER_ROLE, burner);