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.
|
@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. |
|
I think we should schedule a call for discussion. |
Yes I also think it is absolutely feasible and might be a better way to reach the same goal |
No description provided.