Skip to main content
Interface for GNSPairsStorage facet (inherits types and also contains functions, events, and custom errors)

initializeGroupLiquidationParams

function initializeGroupLiquidationParams(struct IPairsStorage.GroupLiquidationParams[] _groupLiquidationParams) external
Initializes liquidation params for all existing groups

Parameters

NameTypeDescription
_groupLiquidationParamsIPairsStorage.GroupLiquidationParams[]liquidation params for each group (index corresponds to group index)

initializeNewFees

function initializeNewFees(struct IPairsStorage.GlobalTradeFeeParams _tradeFeeParams) external
Copies all existing fee groups to new mapping, multiplies existing groups min/max lev by 1e3, initializes new global trade fee params

Parameters

NameTypeDescription
_tradeFeeParamsIPairsStorage.GlobalTradeFeeParamsglobal trade fee params

addPairs

function addPairs(struct IPairsStorage.Pair[] _pairs) external
Adds new trading pairs

Parameters

NameTypeDescription
_pairsIPairsStorage.Pair[]pairs to add

updatePairs

function updatePairs(uint256[] _pairIndices, struct IPairsStorage.Pair[] _pairs) external
Updates trading pairs

Parameters

NameTypeDescription
_pairIndicesuint256[]indices of pairs
_pairsIPairsStorage.Pair[]new pairs values

addGroups

function addGroups(struct IPairsStorage.Group[] _groups) external
Adds new pair groups

Parameters

NameTypeDescription
_groupsIPairsStorage.Group[]groups to add

updateGroups

function updateGroups(uint256[] _ids, struct IPairsStorage.Group[] _groups) external
Updates pair groups

Parameters

NameTypeDescription
_idsuint256[]indices of groups
_groupsIPairsStorage.Group[]new groups values

addFees

function addFees(struct IPairsStorage.FeeGroup[] _fees) external
Adds new pair fees groups

Parameters

NameTypeDescription
_feesIPairsStorage.FeeGroup[]fees to add

updateFees

function updateFees(uint256[] _ids, struct IPairsStorage.FeeGroup[] _fees) external
Updates pair fees groups

Parameters

NameTypeDescription
_idsuint256[]indices of fees
_feesIPairsStorage.FeeGroup[]new fees values

setPairCustomMaxLeverages

function setPairCustomMaxLeverages(uint256[] _indices, uint256[] _values) external
Updates pair custom max leverages (if unset group default is used); useful to delist a pair if new value is below the pair’s group minLeverage

Parameters

NameTypeDescription
_indicesuint256[]indices of pairs
_valuesuint256[]new custom max leverages (1e3 precision)

setGroupLiquidationParams

function setGroupLiquidationParams(uint256 _groupIndex, struct IPairsStorage.GroupLiquidationParams _params) external
Updates group liquidation params (will only apply for trades opened after the change)

Parameters

NameTypeDescription
_groupIndexuint256index of group
_paramsIPairsStorage.GroupLiquidationParamsnew liquidation params

setGlobalTradeFeeParams

function setGlobalTradeFeeParams(struct IPairsStorage.GlobalTradeFeeParams _feeParams) external
Updates global trade fee params

Parameters

NameTypeDescription
_feeParamsIPairsStorage.GlobalTradeFeeParamsnew fee params

pairJob

function pairJob(uint256 _pairIndex) external view returns (string from, string to)
Returns data needed by price aggregator when doing a new price request

Parameters

NameTypeDescription
_pairIndexuint256index of pair

Return Values

NameTypeDescription
fromstringpair from (eg. BTC)
tostringpair to (eg. USD)

isPairListed

function isPairListed(string _from, string _to) external view returns (bool)
Returns whether a pair is listed

Parameters

NameTypeDescription
_fromstringpair from (eg. BTC)
_tostringpair to (eg. USD)

isPairIndexListed

function isPairIndexListed(uint256 _pairIndex) external view returns (bool)
Returns whether a pair index is listed

Parameters

NameTypeDescription
_pairIndexuint256index of pair to check

pairs

function pairs(uint256 _index) external view returns (struct IPairsStorage.Pair)
Returns a pair’s details

Parameters

NameTypeDescription
_indexuint256index of pair

pairsCount

function pairsCount() external view returns (uint256)
Returns number of listed pairs

pairSpreadP

function pairSpreadP(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s spread % (1e10 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairMinLeverage

function pairMinLeverage(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s min leverage (1e3 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairTotalPositionSizeFeeP

function pairTotalPositionSizeFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s total position size fee % (1e10 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairTotalLiqCollateralFeeP

function pairTotalLiqCollateralFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s total liquidation collateral fee % (1e10 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairOraclePositionSizeFeeP

function pairOraclePositionSizeFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s oracle position size fee % (1e10 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairMinPositionSizeUsd

function pairMinPositionSizeUsd(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s min position size in USD (1e18 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

getGlobalTradeFeeParams

function getGlobalTradeFeeParams() external view returns (struct IPairsStorage.GlobalTradeFeeParams)
Returns global trade fee params

pairMinFeeUsd

function pairMinFeeUsd(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s minimum trading fee in USD (1e18 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

groups

function groups(uint256 _index) external view returns (struct IPairsStorage.Group)
Returns a group details

Parameters

NameTypeDescription
_indexuint256index of group

groupsCount

function groupsCount() external view returns (uint256)
Returns number of listed groups

fees

function fees(uint256 _index) external view returns (struct IPairsStorage.FeeGroup)
Returns a fee group details

Parameters

NameTypeDescription
_indexuint256index of fee group

feesCount

function feesCount() external view returns (uint256)
Returns number of listed fee groups

pairMaxLeverage

function pairMaxLeverage(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s active max leverage; custom if set, otherwise group default (1e3 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

pairCustomMaxLeverage

function pairCustomMaxLeverage(uint256 _pairIndex) external view returns (uint256)
Returns a pair’s custom max leverage; 0 if not set (1e3 precision)

Parameters

NameTypeDescription
_pairIndexuint256index of pair

getAllPairsRestrictedMaxLeverage

function getAllPairsRestrictedMaxLeverage() external view returns (uint256[])
Returns all listed pairs custom max leverages (1e3 precision)

getGroupLiquidationParams

function getGroupLiquidationParams(uint256 _groupIndex) external view returns (struct IPairsStorage.GroupLiquidationParams)
Returns a group’s liquidation params

getPairLiquidationParams

function getPairLiquidationParams(uint256 _pairIndex) external view returns (struct IPairsStorage.GroupLiquidationParams)
Returns a pair’s group liquidation params

PairAdded

event PairAdded(uint256 index, string from, string to)
Emitted when a new pair is listed

Parameters

NameTypeDescription
indexuint256index of pair
fromstringpair from (eg. BTC)
tostringpair to (eg. USD)

PairUpdated

event PairUpdated(uint256 index)
Emitted when a pair is updated

Parameters

NameTypeDescription
indexuint256index of pair

PairCustomMaxLeverageUpdated

event PairCustomMaxLeverageUpdated(uint256 index, uint256 maxLeverage)
Emitted when a pair’s custom max leverage is updated

Parameters

NameTypeDescription
indexuint256index of pair
maxLeverageuint256new max leverage (1e3 precision)

GroupAdded

event GroupAdded(uint256 index, string name)
Emitted when a new group is added

Parameters

NameTypeDescription
indexuint256index of group
namestringname of group

GroupUpdated

event GroupUpdated(uint256 index)
Emitted when a group is updated

Parameters

NameTypeDescription
indexuint256index of group

FeeAdded

event FeeAdded(uint256 index, struct IPairsStorage.FeeGroup feeGroup)
Emitted when a new fee group is added

Parameters

NameTypeDescription
indexuint256index of fee group
feeGroupstruct IPairsStorage.FeeGroupfee group

FeeUpdated

event FeeUpdated(uint256 index, struct IPairsStorage.FeeGroup feeGroup)
Emitted when a fee group is updated

Parameters

NameTypeDescription
indexuint256index of fee group
feeGroupstruct IPairsStorage.FeeGroupupdated fee group

GroupLiquidationParamsUpdated

event GroupLiquidationParamsUpdated(uint256 index, struct IPairsStorage.GroupLiquidationParams params)
Emitted when a group liquidation params are updated

Parameters

NameTypeDescription
indexuint256index of group
paramsstruct IPairsStorage.GroupLiquidationParamsnew group liquidation params

GlobalTradeFeeParamsUpdated

event GlobalTradeFeeParamsUpdated(struct IPairsStorage.GlobalTradeFeeParams feeParams)
Emitted when global trade fee params are updated

Parameters

NameTypeDescription
feeParamsstruct IPairsStorage.GlobalTradeFeeParamsnew fee params

PairNotListed

error PairNotListed()

GroupNotListed

error GroupNotListed()

FeeNotListed

error FeeNotListed()

WrongLeverages

error WrongLeverages()

WrongFees

error WrongFees()

PairAlreadyListed

error PairAlreadyListed()

MaxLiqSpreadPTooHigh

error MaxLiqSpreadPTooHigh()

WrongLiqParamsThresholds

error WrongLiqParamsThresholds()

WrongLiqParamsLeverages

error WrongLiqParamsLeverages()

StartLiqThresholdTooHigh

error StartLiqThresholdTooHigh()

EndLiqThresholdTooLow

error EndLiqThresholdTooLow()

StartLeverageTooLow

error StartLeverageTooLow()

EndLeverageTooHigh

error EndLeverageTooHigh()