Skip to main content

OlympusClearinghouseRegistry

Git Source

Inherits: CHREGv1

Olympus Clearinghouse Registry (Module) Contract

The Olympus Clearinghouse Registry Module tracks the lending facilities that the Olympus protocol deploys to satisfy the Cooler Loan demand. This allows for a single-source of truth for reporting purposes around the total Treasury holdings as well as its projected receivables.

Functions

constructor

Can be initialized with an active Clearinghouse and list of inactive ones.

constructor(Kernel kernel_, address active_, address[] memory inactive_) Module(kernel_);

Parameters

NameTypeDescription
kernel_Kernelcontract address.
active_addressAddress of the active Clearinghouse. Set to address(0) if none.
inactive_address[]List of inactive Clearinghouses. Leave empty if none.

KEYCODE

5 byte identifier for a module.

function KEYCODE() public pure override returns (Keycode);

VERSION

Returns which semantic version of a module is being implemented.

function VERSION() public pure override returns (uint8 major, uint8 minor);

Returns

NameTypeDescription
majoruint8- Major version upgrade indicates breaking change to the interface.
minoruint8- Minor version change retains backward-compatible interface.

activateClearinghouse

Adds a Clearinghouse to the registry. Only callable by permissioned policies.

function activateClearinghouse(address clearinghouse_) external override permissioned;

Parameters

NameTypeDescription
clearinghouse_addressThe address of the clearinghouse.

deactivateClearinghouse

Deactivates a clearinghouse from the registry. Only callable by permissioned policies.

function deactivateClearinghouse(address clearinghouse_) external override permissioned;

Parameters

NameTypeDescription
clearinghouse_addressThe address of the clearinghouse.