Core
The access control, source of truth, and DAO treasury for Ring Protocol
The Core contract responsibilities:
- Access control
- Stores whether GenesisGroup has completed
- Escrowing DAO RING treasury
The access control module is managed by Permissions.
When Core is constructed and initialized it does the following:
- Set sender as governor
- Create and reference RUSD and RING contracts
The governor will then set the genesis group contract.
When the genesis group conditions are met, the GenesisGroup contract should complete the genesis group by calling
completeGenesisGroup()
- Governor ⚖️
RusdUpdate
RingUpdate
GenesisGroupUpdate
RingAllocation
GenesisPeriodComplete
Governance change of RUSD token address
type | param | description |
address indexed | _rusd | new RUSD address |
Governance change of RING token address
type | param | description |
address indexed | _ring | new RING address |
Governance change of GenesisGroup address
type | param | description |
address indexed | _genesisGroup | new Genesis Group address |
Governance deployment of RING tokens from treasury
type | param | description |
address indexed | _to | The address to receive RING |
uint256 | _amount | The amount of RING distributed |
Signals completion of Genesis Period and full launch of RING protocol
type | param | description |
uint256 | _timestamp | The block timestamp at Genesis completion |
function rusd() external view returns (IRusd);
function ring() external view returns (IERC20);
function genesisGroup() external view returns (address);
function hasGenesisGroupCompleted() external view returns (bool);
returns true if after genesis period and launched, false otherwise
function setRusd(address token) external;
emits
RusdUpdate
function setRing(address token) external;
emits
RingUpdate
function setGenesisGroup(address _genesisGroup) external;
emits
GenesisGroupUpdate
function allocateRing(address to, uint256 amount) external;
emits
RingAllocation
function completeGenesisGroup() external;
called during Ring Protocol launch to unlock the remaining protocol functionality
emits
GenesisPeriodComplete
core.json
8KB
Code
Core ABI
icore.json
5KB
Code
Core Interface ABI
Last modified 2yr ago