mirror of
https://github.com/vacp2p/staking-reward-streamer.git
synced 2026-01-09 13:08:03 -05:00
guardian role introduced in the StakeManager
This commit is contained in:
@@ -76,6 +76,14 @@ contract StakeManager is
|
||||
mapping(address vault => address owner) public vaultOwners;
|
||||
/// @notice Flag to enable emergency mode.
|
||||
bool public emergencyModeEnabled;
|
||||
address public guardian;
|
||||
|
||||
modifier onlyAdminOrGuardian() {
|
||||
if (msg.sender != guardian && msg.sender != owner()) {
|
||||
revert StakeManager__Unauthorized();
|
||||
}
|
||||
_;
|
||||
}
|
||||
|
||||
modifier onlyRegisteredVault() {
|
||||
if (vaultOwners[msg.sender] == address(0)) {
|
||||
@@ -137,6 +145,10 @@ contract StakeManager is
|
||||
rewardsSupplier = _rewardsSupplier;
|
||||
}
|
||||
|
||||
function setGuardian(address _guardian) external onlyOwner onlyNotEmergencyMode {
|
||||
guardian = _guardian;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notice Registers a vault with its owner. Called by the vault itself during initialization.
|
||||
* @dev Only callable by contracts with trusted codehash
|
||||
@@ -350,7 +362,7 @@ contract StakeManager is
|
||||
* @dev This function is only callable when emergency mode is disabled.
|
||||
* @dev Only the owner of the contract can call this function.
|
||||
*/
|
||||
function enableEmergencyMode() external onlyOwner onlyNotEmergencyMode {
|
||||
function enableEmergencyMode() external onlyAdminOrGuardian onlyNotEmergencyMode {
|
||||
emergencyModeEnabled = true;
|
||||
emit EmergencyModeEnabled();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user