Skip to main content

ConvertibleDepositActivator

Git Source

Inherits: Owned

Single-use contract to activate the Convertible Deposits system

Constants​

RESERVE_MIGRATOR​

address public constant RESERVE_MIGRATOR = 0x986b99579BEc7B990331474b66CcDB94Fa2419F5;

OPERATOR​

address public constant OPERATOR = 0x6417F206a0a6628Da136C0Faa39026d0134D2b52;

YIELD_REPURCHASE_FACILITY​

address public constant YIELD_REPURCHASE_FACILITY = 0x271e35a8555a62F6bA76508E85dfD76D580B0692;

DEPOSIT_MANAGER​

address public immutable DEPOSIT_MANAGER;

CD_FACILITY​

address public immutable CD_FACILITY;

REDEMPTION_VAULT​

address public immutable REDEMPTION_VAULT;

CD_AUCTIONEER​

address public immutable CD_AUCTIONEER;

EMISSION_MANAGER​

address public immutable EMISSION_MANAGER;

HEART​

address public immutable HEART;

RESERVE_WRAPPER​

address public immutable RESERVE_WRAPPER;

CD_NAME​

string public constant CD_NAME = "cdf";

USDS​

address public constant USDS = 0xdC035D45d973E3EC169d2276DDab16f1e407384F;

SUSDS​

address public constant SUSDS = 0xa3931d71877C0E7a3148CB7Eb4463524FEc27fbD;

USDS_MAX_CAPACITY​

uint256 public constant USDS_MAX_CAPACITY = 1_000_000e18;

USDS_MIN_DEPOSIT​

uint256 public constant USDS_MIN_DEPOSIT = 1e18;

PERIOD_1M​

uint8 public constant PERIOD_1M = 1;

PERIOD_2M​

uint8 public constant PERIOD_2M = 2;

PERIOD_3M​

uint8 public constant PERIOD_3M = 3;

RECLAIM_RATE​

uint16 public constant RECLAIM_RATE = 90e2;

CDA_INITIAL_TARGET​

uint256 public constant CDA_INITIAL_TARGET = 0;

CDA_INITIAL_TICK_SIZE​

uint256 public constant CDA_INITIAL_TICK_SIZE = 0;

CDA_INITIAL_MIN_PRICE​

uint256 public constant CDA_INITIAL_MIN_PRICE = 0;

CDA_INITIAL_TICK_SIZE_BASE​

uint256 public constant CDA_INITIAL_TICK_SIZE_BASE = 2e18;

CDA_INITIAL_TICK_STEP_MULTIPLIER​

uint24 public constant CDA_INITIAL_TICK_STEP_MULTIPLIER = 10075;

CDA_AUCTION_TRACKING_PERIOD​

uint8 public constant CDA_AUCTION_TRACKING_PERIOD = 7;

CDA_MINIMUM_BID​

uint256 public constant CDA_MINIMUM_BID = 100e18;

EM_BASE_EMISSIONS_RATE​

uint256 public constant EM_BASE_EMISSIONS_RATE = 200000;

EM_MINIMUM_PREMIUM​

uint256 public constant EM_MINIMUM_PREMIUM = 5e17;

EM_BACKING​

uint256 public constant EM_BACKING = 11690000000000000000;

EM_TICK_SIZE​

uint256 public constant EM_TICK_SIZE = 150e9;

EM_MIN_PRICE_SCALAR​

uint256 public constant EM_MIN_PRICE_SCALAR = 12e17;

EM_BOND_MARKET_CAPACITY_SCALAR​

uint256 public constant EM_BOND_MARKET_CAPACITY_SCALAR = 0;

EM_RESTART_TIMEFRAME​

uint48 public constant EM_RESTART_TIMEFRAME = 950400;

State Variables​

isActivated​

True if the activation has been performed

bool public isActivated = false;

Functions​

constructor​

constructor(
address owner_,
address depositManager_,
address cdFacility_,
address cdAuctioneer_,
address redemptionVault_,
address emissionManager_,
address heart_,
address reserveWrapper_
) Owned(owner_);

Parameters

NameTypeDescription
owner_address
depositManager_address
cdFacility_address
cdAuctioneer_address
redemptionVault_address
emissionManager_address
heart_address
reserveWrapper_address

_activateContracts​

function _activateContracts() internal;

_configureAssets​

function _configureAssets() internal;

_configureAuction​

function _configureAuction() internal;

_configurePeriodicTasks​

function _configurePeriodicTasks() internal;

activate​

Activates the Convertible Deposits system

This function assumes:

  • The "admin" role has been granted to the contract

This function reverts if:

  • The caller is not the owner
  • The function has already been run
function activate() external onlyOwner;

Events​

Activated​

event Activated(address caller);

Parameters

NameTypeDescription
calleraddress

Errors​

AlreadyActivated​

error AlreadyActivated();

InvalidParams​

error InvalidParams(string reason);

Parameters

NameTypeDescription
reasonstring