ghost-dao-contracts/src/GhostAuthority.sol
Uncle Fatso 8ac8b67767
get rid of annoying foundry warnings
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2026-03-09 00:37:41 +03:00

46 lines
1.3 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import {IGhostAuthority} from "./interfaces/IGhostAuthority.sol";
import {GhostAccessControlled} from "./types/GhostAccessControlled.sol";
contract GhostAuthority is IGhostAuthority, GhostAccessControlled {
address public override governor;
address public override guardian;
address public override policy;
address public override vault;
constructor(
address _governor,
address _guardian,
address _policy,
address _vault
) GhostAccessControlled(IGhostAuthority(address(this))) {
governor = _governor;
guardian = _guardian;
policy = _policy;
vault = _vault;
}
function pushGovernor(address newGovernor) external onlyGovernor {
emit GovernorPushed(governor, newGovernor);
governor = newGovernor;
}
function pushGuardian(address newGuardian) external onlyGovernor {
emit GuardianPushed(guardian, newGuardian);
guardian = newGuardian;
}
function pushPolicy(address newPolicy) external onlyGovernor {
emit PolicyPushed(policy, newPolicy);
policy = newPolicy;
}
function pushVault(address newVault) external onlyGovernor {
emit VaultPushed(vault, newVault);
vault = newVault;
}
}