IPairsStorageUtils

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

Name
Type
Description

_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

Name
Type
Description

_tradeFeeParams

global trade fee params

addPairs

function addPairs(struct IPairsStorage.Pair[] _pairs) external

Adds new trading pairs

Parameters

Name
Type
Description

_pairs

pairs to add

updatePairs

Updates trading pairs

Parameters

Name
Type
Description

_pairIndices

uint256[]

indices of pairs

_pairs

new pairs values

addGroups

Adds new pair groups

Parameters

Name
Type
Description

_groups

groups to add

updateGroups

Updates pair groups

Parameters

Name
Type
Description

_ids

uint256[]

indices of groups

_groups

new groups values

addFees

Adds new pair fees groups

Parameters

Name
Type
Description

_fees

fees to add

updateFees

Updates pair fees groups

Parameters

Name
Type
Description

_ids

uint256[]

indices of fees

_fees

new fees values

setPairCustomMaxLeverages

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

Name
Type
Description

_indices

uint256[]

indices of pairs

_values

uint256[]

new custom max leverages (1e3 precision)

setGroupLiquidationParams

Updates group liquidation params (will only apply for trades opened after the change)

Parameters

Name
Type
Description

_groupIndex

uint256

index of group

_params

new liquidation params

setGlobalTradeFeeParams

Updates global trade fee params

Parameters

Name
Type
Description

_feeParams

new fee params

pairJob

Returns data needed by price aggregator when doing a new price request

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

Return Values

Name
Type
Description

from

string

pair from (eg. BTC)

to

string

pair to (eg. USD)

isPairListed

Returns whether a pair is listed

Parameters

Name
Type
Description

_from

string

pair from (eg. BTC)

_to

string

pair to (eg. USD)

isPairIndexListed

Returns whether a pair index is listed

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair to check

pairs

Returns a pair's details

Parameters

Name
Type
Description

_index

uint256

index of pair

pairsCount

Returns number of listed pairs

pairSpreadP

Returns a pair's spread % (1e10 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairMinLeverage

Returns a pair's min leverage (1e3 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairTotalPositionSizeFeeP

Returns a pair's total position size fee % (1e10 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairTotalLiqCollateralFeeP

Returns a pair's total liquidation collateral fee % (1e10 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairOraclePositionSizeFeeP

Returns a pair's oracle position size fee % (1e10 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairMinPositionSizeUsd

Returns a pair's min position size in USD (1e18 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

getGlobalTradeFeeParams

Returns global trade fee params

pairMinFeeUsd

Returns a pair's minimum trading fee in USD (1e18 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

groups

Returns a group details

Parameters

Name
Type
Description

_index

uint256

index of group

groupsCount

Returns number of listed groups

fees

Returns a fee group details

Parameters

Name
Type
Description

_index

uint256

index of fee group

feesCount

Returns number of listed fee groups

pairMaxLeverage

Returns a pair's active max leverage; custom if set, otherwise group default (1e3 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

pairCustomMaxLeverage

Returns a pair's custom max leverage; 0 if not set (1e3 precision)

Parameters

Name
Type
Description

_pairIndex

uint256

index of pair

getAllPairsRestrictedMaxLeverage

Returns all listed pairs custom max leverages (1e3 precision)

getGroupLiquidationParams

Returns a group's liquidation params

getPairLiquidationParams

Returns a pair's group liquidation params

PairAdded

Emitted when a new pair is listed

Parameters

Name
Type
Description

index

uint256

index of pair

from

string

pair from (eg. BTC)

to

string

pair to (eg. USD)

PairUpdated

Emitted when a pair is updated

Parameters

Name
Type
Description

index

uint256

index of pair

PairCustomMaxLeverageUpdated

Emitted when a pair's custom max leverage is updated

Parameters

Name
Type
Description

index

uint256

index of pair

maxLeverage

uint256

new max leverage (1e3 precision)

GroupAdded

Emitted when a new group is added

Parameters

Name
Type
Description

index

uint256

index of group

name

string

name of group

GroupUpdated

Emitted when a group is updated

Parameters

Name
Type
Description

index

uint256

index of group

FeeAdded

Emitted when a new fee group is added

Parameters

Name
Type
Description

index

uint256

index of fee group

feeGroup

struct IPairsStorage.FeeGroup

fee group

FeeUpdated

Emitted when a fee group is updated

Parameters

Name
Type
Description

index

uint256

index of fee group

feeGroup

struct IPairsStorage.FeeGroup

updated fee group

GroupLiquidationParamsUpdated

Emitted when a group liquidation params are updated

Parameters

Name
Type
Description

index

uint256

index of group

params

struct IPairsStorage.GroupLiquidationParams

new group liquidation params

GlobalTradeFeeParamsUpdated

Emitted when global trade fee params are updated

Parameters

Name
Type
Description

feeParams

struct IPairsStorage.GlobalTradeFeeParams

new fee params

PairNotListed

GroupNotListed

FeeNotListed

WrongLeverages

WrongFees

PairAlreadyListed

MaxLiqSpreadPTooHigh

WrongLiqParamsThresholds

WrongLiqParamsLeverages

StartLiqThresholdTooHigh

EndLiqThresholdTooLow

StartLeverageTooLow

EndLeverageTooHigh

Last updated

Was this helpful?