Skip to main content
Facet #11: OTC (Handles buy backs and distribution)

constructor

constructor() public

initializeOtc

function initializeOtc(struct IOtc.OtcConfig _config) external
Initializer for OTC facet

Parameters

NameTypeDescription
_configIOtc.OtcConfignew OTC Config

updateOtcConfig

function updateOtcConfig(struct IOtc.OtcConfig _config) external
Updates OTC config

Parameters

NameTypeDescription
_configIOtc.OtcConfignew OTC Config. Sum of treasuryShareP, stakingShareP, burnShareP must equal 100 and premiumP must be less than or equal to MAX_PREMIUM_P

addOtcCollateralBalance

function addOtcCollateralBalance(uint8 _collateralIndex, uint256 _collateralAmount) external virtual
Increases OTC balance for a collateral

Parameters

NameTypeDescription
_collateralIndexuint8collateral index
_collateralAmountuint256amount of collateral to increase (collateral precision)

sellGnsForCollateral

function sellGnsForCollateral(uint8 _collateralIndex, uint256 _collateralAmount) external
OTC Buys GNS from caller for _amountCollateral of _collateralIndex

Parameters

NameTypeDescription
_collateralIndexuint8collateral index
_collateralAmountuint256amount of collateral to trade (collateral precision)

getOtcConfig

function getOtcConfig() external view returns (struct IOtc.OtcConfig)
Returns OTC Config

getOtcBalance

function getOtcBalance(uint8 _collateralIndex) external view returns (uint256)
Returns OTC balance for a collateral (collateral precision)

Parameters

NameTypeDescription
_collateralIndexuint8collateral index

getOtcRate

function getOtcRate(uint8 _collateralIndex) external view returns (uint256)
Returns OTC rate (price + premium) of GNS in collateral (1e10)

Parameters

NameTypeDescription
_collateralIndexuint8collateral index