GNSOtc

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

_config

new OTC Config

updateOtcConfig

function updateOtcConfig(struct IOtc.OtcConfig _config) external

Updates OTC config

Parameters

NameTypeDescription

_config

new 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

_collateralIndex

uint8

collateral index

_collateralAmount

uint256

amount 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

_collateralIndex

uint8

collateral index

_collateralAmount

uint256

amount 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

_collateralIndex

uint8

collateral index

getOtcRate

function getOtcRate(uint8 _collateralIndex) external view returns (uint256)

Returns OTC rate (price + premium) of GNS in collateral (1e10)

Parameters

NameTypeDescription

_collateralIndex

uint8

collateral index

Last updated