IGovernance

Git Source

Author: Matter Labs

Note: security-contact: security@matterlabs.dev

Functions

isOperation

function isOperation(bytes32 _id) external view returns (bool);

isOperationPending

function isOperationPending(bytes32 _id) external view returns (bool);

isOperationReady

function isOperationReady(bytes32 _id) external view returns (bool);

isOperationDone

function isOperationDone(bytes32 _id) external view returns (bool);

getOperationState

function getOperationState(bytes32 _id) external view returns (OperationState);

scheduleTransparent

function scheduleTransparent(Operation calldata _operation, uint256 _delay)
  external;

scheduleShadow

function scheduleShadow(bytes32 _id, uint256 _delay) external;

cancel

function cancel(bytes32 _id) external;

execute

function execute(Operation calldata _operation) external payable;

executeInstant

function executeInstant(Operation calldata _operation) external payable;

hashOperation

function hashOperation(Operation calldata _operation)
  external
  pure
  returns (bytes32);

updateDelay

function updateDelay(uint256 _newDelay) external;

updateSecurityCouncil

function updateSecurityCouncil(address _newSecurityCouncil) external;

Events

TransparentOperationScheduled

Emitted when transparent operation is scheduled.

event TransparentOperationScheduled(
  bytes32 indexed _id, uint256 delay, Operation _operation
);

ShadowOperationScheduled

Emitted when shadow operation is scheduled.

event ShadowOperationScheduled(bytes32 indexed _id, uint256 delay);

OperationExecuted

Emitted when the operation is executed with delay or instantly.

event OperationExecuted(bytes32 indexed _id);

ChangeSecurityCouncil

Emitted when the security council address is changed.

event ChangeSecurityCouncil(
  address _securityCouncilBefore, address _securityCouncilAfter
);

ChangeMinDelay

Emitted when the minimum delay for future operations is modified.

event ChangeMinDelay(uint256 _delayBefore, uint256 _delayAfter);

OperationCancelled

Emitted when the operation with specified id is cancelled.

event OperationCancelled(bytes32 indexed _id);

Structs

Operation

Defines the structure of an operation that Governance executes.

struct Operation {
  Call[] calls;
  bytes32 predecessor;
  bytes32 salt;
}

Properties

NameTypeDescription
callsCall[]An array of Call structs, each representing a call to be made during the operation.
predecessorbytes32The hash of the predecessor operation, that should be executed before this operation.
saltbytes32A bytes32 value used for creating unique operation hashes.

Enums

OperationState

This enumeration includes the following states:

enum OperationState {
  Unset,
  Waiting,
  Ready,
  Done
}