Uh oh!
There was an error while loading. Please reload this page.
add delayed upgrade - #2735
Conversation
| // Enable the circuit | ||
| circuit.enabled = true; | ||
| emit CircuitDisabled(blockType, blockSize, blockVersion); |
There was a problem hiding this comment.
this is enabled ,can add an event
| nextEffectiveTime = _nextEffectiveTime; | ||
| } | ||
| emit SettingsUpdated(block.timestamp, _nextEffectiveTime); |
There was a problem hiding this comment.
should not modify current event, can add another event which only update but not effect
| external | ||
| virtual; | ||
| /// @dev Enables the use of the specified circuit. |
There was a problem hiding this comment.
| /// @dev Enables the use of the specified circuit. | |
| /// @dev Enables the use of a specified circuit. |
| uint256 internal constant SETTING_UPDATE_DELAY = 7 days; | ||
| mapping (address => uint) internal exchangeStake; | ||
| uint public nextEffectiveTime; |
There was a problem hiding this comment.
This will change the data storage layout table and break upgradeability!!!!!
There was a problem hiding this comment.
Since you have contract LoopringV3 is ILoopringV3, ReentrancyGuard, changing any storage layout in IloopringV3 will break upgradabilty.
There was a problem hiding this comment.
loopringv3 is not deployed using proxy mode
There was a problem hiding this comment.
because it has no initialize function
| struct Circuit | ||
| { | ||
| bool registered; | ||
| uint registeredTime; |
There was a problem hiding this comment.
will you deploy a new BlockVerifier or upgrade an existing deployment?
There was a problem hiding this comment.
blockverifier is the same case
There was a problem hiding this comment.
But you are modifying the code, so what did you mean "is the same"?
There was a problem hiding this comment.
sorry for my confused statement. I mean that block verifier also cannot be deployed by using proxy mode like in loopringv3 so that only way to upgrade smart contract is to deploy a new one. so the disorder of storage of it doesn't matter.
dantaik
commented
Sep 19, 2024
@letsgoustc@kl456123 I think "delayed upgrade" is a general feature to all contracts. It's supposed to be contract-agnostic, you probably just need a wrapping "owner contract" that implements a delay internally without any change to the contracts being owned. |
dantaik
commented
Sep 19, 2024
I think we should schedule a call for discussion. |
kl456123
commented
Sep 19, 2024
Yes I also think it is absolutely feasible and might be a better way to reach the same goal |
No description provided.