IOtcUtils

Interface for GNSOtc facet (inherits types and also contains functions, events, and custom errors)

initializeOtc

function initializeOtc(struct IOtc.OtcConfig _config) external

Initializer for OTC facet

Parameters

Name
Type
Description

_config

new OTC Config

updateOtcConfig

function updateOtcConfig(struct IOtc.OtcConfig _config) external

Updates OTC config

Parameters

Name
Type
Description

_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

Increases OTC balance for a collateral

Parameters

Name
Type
Description

_collateralIndex

uint8

collateral index

_collateralAmount

uint256

amount of collateral to increase (collateral precision)

sellGnsForCollateral

OTC Buys GNS from caller for _amountCollateral of _collateralIndex

Parameters

Name
Type
Description

_collateralIndex

uint8

collateral index

_collateralAmount

uint256

amount of collateral to trade (collateral precision)

getOtcConfig

Returns OTC Config

getOtcBalance

Returns OTC balance for a collateral (collateral precision)

Parameters

Name
Type
Description

_collateralIndex

uint8

collateral index

getOtcRate

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

Parameters

Name
Type
Description

_collateralIndex

uint8

collateral index

OtcConfigUpdated

Emitted when OTCConfig is updated

Parameters

Name
Type
Description

config

struct IOtc.OtcConfig

new OTC config

OtcBalanceUpdated

Emitted when OTC balance is updated

Parameters

Name
Type
Description

collateralIndex

uint8

collateral index

balanceCollateral

uint256

new balance (collateral precision)

OtcExecuted

Emitted when an OTC trade is executed

Parameters

Name
Type
Description

collateralIndex

uint8

collateral index

collateralAmount

uint256

amount of collateral traded (collateral precision)

gnsPriceCollateral

uint256

effective gns/collateral price, including premium (1e10)

treasuryAmountGns

uint256

amount of GNS sent to treasury (1e18)

stakingAmountGns

uint256

amount of GNS sent to GNS Staking (1e18)

burnAmountGns

uint256

amount of GNS burned (1e18)

InvalidShareSum

Last updated

Was this helpful?