Skip to content
LogoLogo

IMakinaGovernable

Git Source

Functions

operator

Address of the current operator (mechanic or security council).

function operator() external view returns (address);

Returns

NameTypeDescription
<none>address

mechanic

Address of the mechanic.

function mechanic() external view returns (address);

Returns

NameTypeDescription
<none>address

securityCouncil

Address of the security council.

function securityCouncil() external view returns (address);

Returns

NameTypeDescription
<none>address

riskManager

Address of the risk manager.

function riskManager() external view returns (address);

Returns

NameTypeDescription
<none>address

riskManagerTimelock

Address of the risk manager timelock.

function riskManagerTimelock() external view returns (address);

Returns

NameTypeDescription
<none>address

recoveryMode

True if the contract is in recovery mode, false otherwise.

function recoveryMode() external view returns (bool);

Returns

NameTypeDescription
<none>bool

restrictedAccountingMode

True if the contract is in restricted accounting mode, false otherwise.

function restrictedAccountingMode() external view returns (bool);

Returns

NameTypeDescription
<none>bool

isAccountingAgent

User => Whether the user is an accounting agent

function isAccountingAgent(address user) external view returns (bool);

Parameters

NameTypeDescription
useraddress

Returns

NameTypeDescription
<none>bool

isAccountingAuthorized

User => Whether the user is authorized to perform accounting operations under current settings

function isAccountingAuthorized(address user) external view returns (bool);

Parameters

NameTypeDescription
useraddress

Returns

NameTypeDescription
<none>bool

setMechanic

Sets a new mechanic.

function setMechanic(address newMechanic) external;

Parameters

NameTypeDescription
newMechanicaddressThe address of the new mechanic.

setSecurityCouncil

Sets a new security council.

function setSecurityCouncil(address newSecurityCouncil) external;

Parameters

NameTypeDescription
newSecurityCounciladdressThe address of the new security council.

setRiskManager

Sets a new risk manager.

function setRiskManager(address newRiskManager) external;

Parameters

NameTypeDescription
newRiskManageraddressThe address of the new risk manager.

setRiskManagerTimelock

Sets a new risk manager timelock.

function setRiskManagerTimelock(address newRiskManagerTimelock) external;

Parameters

NameTypeDescription
newRiskManagerTimelockaddressThe address of the new risk manager timelock.

setRecoveryMode

Sets the recovery mode.

function setRecoveryMode(bool enabled) external;

Parameters

NameTypeDescription
enabledboolTrue to enable recovery mode, false to disable it.

setRestrictedAccountingMode

Sets the restricted accounting mode.

function setRestrictedAccountingMode(bool enabled) external;

Parameters

NameTypeDescription
enabledboolTrue to enable restricted accounting mode, false to disable it.

addAccountingAgent

Adds a new accounting agent.

function addAccountingAgent(address newAgent) external;

Parameters

NameTypeDescription
newAgentaddressThe address of the new accounting agent.

removeAccountingAgent

Removes an accounting agent.

function removeAccountingAgent(address agent) external;

Parameters

NameTypeDescription
agentaddressThe address of the accounting agent to remove.

Events

AccountingAgentAdded

event AccountingAgentAdded(address indexed newAgent);

Parameters

NameTypeDescription
newAgentaddress

AccountingAgentRemoved

event AccountingAgentRemoved(address indexed agent);

Parameters

NameTypeDescription
agentaddress

MechanicChanged

event MechanicChanged(address indexed oldMechanic, address indexed newMechanic);

Parameters

NameTypeDescription
oldMechanicaddress
newMechanicaddress

RecoveryModeChanged

event RecoveryModeChanged(bool recoveryMode);

Parameters

NameTypeDescription
recoveryModebool

RestrictedAccountingModeChanged

event RestrictedAccountingModeChanged(bool restrictedAccountingMode);

Parameters

NameTypeDescription
restrictedAccountingModebool

RiskManagerChanged

event RiskManagerChanged(address indexed oldRiskManager, address indexed newRiskManager);

Parameters

NameTypeDescription
oldRiskManageraddress
newRiskManageraddress

RiskManagerTimelockChanged

event RiskManagerTimelockChanged(address indexed oldRiskManagerTimelock, address indexed newRiskManagerTimelock);

Parameters

NameTypeDescription
oldRiskManagerTimelockaddress
newRiskManagerTimelockaddress

SecurityCouncilChanged

event SecurityCouncilChanged(address indexed oldSecurityCouncil, address indexed newSecurityCouncil);

Parameters

NameTypeDescription
oldSecurityCounciladdress
newSecurityCounciladdress

Structs

MakinaGovernableInitParams

Initialization parameters.

struct MakinaGovernableInitParams {
        address initialMechanic;
        address initialSecurityCouncil;
        address initialRiskManager;
        address initialRiskManagerTimelock;
        address initialAuthority;
        bool initialRestrictedAccountingMode;
        address[] initialAccountingAgents;
    }

Properties

NameTypeDescription
initialMechanicaddressThe address of the initial mechanic.
initialSecurityCounciladdressThe address of the initial security council.
initialRiskManageraddressThe address of the initial risk manager.
initialRiskManagerTimelockaddressThe address of the initial risk manager timelock.
initialAuthorityaddressThe address of the initial authority.
initialRestrictedAccountingModeboolThe initial value for the restricted accounting mode.
initialAccountingAgentsaddress[]The addresses of the initial accounting agents.