OtcUtils
OTC facet internal library
initializeOtc
function initializeOtc(struct IOtc.OtcConfig _config) internal
Check IOtcUtils interface for documentation
updateOtcConfig
function updateOtcConfig(struct IOtc.OtcConfig _config) internal
Check IOtcUtils interface for documentation
addOtcCollateralBalance
function addOtcCollateralBalance(uint8 _collateralIndex, uint256 _collateralAmount) internal
Check IOtcUtils interface for documentation
sellGnsForCollateral
function sellGnsForCollateral(uint8 _collateralIndex, uint256 _collateralAmount) internal
Check IOtcUtils interface for documentation
getOtcConfig
function getOtcConfig() internal view returns (struct IOtc.OtcConfig)
Check IOtcUtils interface for documentation
getOtcBalance
function getOtcBalance(uint8 _collateralIndex) internal view returns (uint256)
Check IOtcUtils interface for documentation
getOtcRate
function getOtcRate(uint8 _collateralIndex) internal view returns (uint256)
Check IOtcUtils interface for documentation
_getSlot
function _getSlot() internal pure returns (uint256)
Returns storage slot to use when fetching storage relevant to library
_getStorage
function _getStorage() internal pure returns (struct IOtc.OtcStorage s)
Returns storage pointer for storage struct in diamond contract, at defined slot
_getMultiCollatDiamond
function _getMultiCollatDiamond() internal view returns (contract IGNSMultiCollatDiamond)
Returns current address as multi-collateral diamond interface to call other facets functions.
_calculateGnsAmount
function _calculateGnsAmount(uint8 _collateralIndex, uint256 _collateralAmount, uint256 _gnsPriceCollateral) internal view returns (uint256)
Calculate GNS amount for given collateral amount
Parameters
_collateralIndex
uint8
index of the collateral
_collateralAmount
uint256
amount of collateral (collateral precision)
_gnsPriceCollateral
uint256
price of GNS in collateral (1e10)
_calculateGnsDistribution
function _calculateGnsDistribution(uint256 _gnsAmount) internal view returns (uint256 treasuryAmountGns, uint256 stakingAmountGns, uint256 burnAmountGns)
Calculate GNS distribution for treasury, GNS staking and burn
Parameters
_gnsAmount
uint256
amount of GNS tokens to distribute (1e18)
_distributeTreasuryGns
function _distributeTreasuryGns(uint256 _gnsAmount) internal
Distributes treasury rewards in GNS tokens
Parameters
_gnsAmount
uint256
amount of GNS tokens to distribute (1e18)
_distributeStakingGns
function _distributeStakingGns(uint256 _gnsAmount) internal
Distributes staking rewards in GNS tokens
Parameters
_gnsAmount
uint256
amount of GNS tokens to distribute (1e18)
_burnGns
function _burnGns(uint256 _gnsAmount) internal
Burns GNS tokens
Parameters
_gnsAmount
uint256
amount of GNS tokens to burn (1e18)
Was this helpful?