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
_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
addPairs
function addPairs(struct IPairsStorage.Pair[] _pairs) external
Adds new trading pairs
Parameters
updatePairs
function updatePairs(uint256[] _pairIndices, struct IPairsStorage.Pair[] _pairs) external
Updates trading pairs
Parameters
_pairIndices
uint256[]
indices of pairs
addGroups
function addGroups(struct IPairsStorage.Group[] _groups) external
Adds new pair groups
Parameters
updateGroups
function updateGroups(uint256[] _ids, struct IPairsStorage.Group[] _groups) external
Updates pair groups
Parameters
_ids
uint256[]
indices of groups
addFees
function addFees(struct IPairsStorage.FeeGroup[] _fees) external
Adds new pair fees groups
Parameters
updateFees
function updateFees(uint256[] _ids, struct IPairsStorage.FeeGroup[] _fees) external
Updates pair fees groups
Parameters
_ids
uint256[]
indices of fees
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
_indices
uint256[]
indices of pairs
_values
uint256[]
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
_groupIndex
uint256
index of group
setGlobalTradeFeeParams
function setGlobalTradeFeeParams(struct IPairsStorage.GlobalTradeFeeParams _feeParams) external
Updates global trade fee params
Parameters
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
_pairIndex
uint256
index of pair
Return Values
from
string
pair from (eg. BTC)
to
string
pair to (eg. USD)
isPairListed
function isPairListed(string _from, string _to) external view returns (bool)
Returns whether a pair is listed
Parameters
_from
string
pair from (eg. BTC)
_to
string
pair to (eg. USD)
isPairIndexListed
function isPairIndexListed(uint256 _pairIndex) external view returns (bool)
Returns whether a pair index is listed
Parameters
_pairIndex
uint256
index of pair to check
pairs
function pairs(uint256 _index) external view returns (struct IPairsStorage.Pair)
Returns a pair's details
Parameters
_index
uint256
index 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
_pairIndex
uint256
index of pair
pairMinLeverage
function pairMinLeverage(uint256 _pairIndex) external view returns (uint256)
Returns a pair's min leverage (1e3 precision)
Parameters
_pairIndex
uint256
index of pair
pairTotalPositionSizeFeeP
function pairTotalPositionSizeFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair's total position size fee % (1e10 precision)
Parameters
_pairIndex
uint256
index of pair
pairTotalLiqCollateralFeeP
function pairTotalLiqCollateralFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair's total liquidation collateral fee % (1e10 precision)
Parameters
_pairIndex
uint256
index of pair
pairOraclePositionSizeFeeP
function pairOraclePositionSizeFeeP(uint256 _pairIndex) external view returns (uint256)
Returns a pair's oracle position size fee % (1e10 precision)
Parameters
_pairIndex
uint256
index of pair
pairMinPositionSizeUsd
function pairMinPositionSizeUsd(uint256 _pairIndex) external view returns (uint256)
Returns a pair's min position size in USD (1e18 precision)
Parameters
_pairIndex
uint256
index 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
_pairIndex
uint256
index of pair
groups
function groups(uint256 _index) external view returns (struct IPairsStorage.Group)
Returns a group details
Parameters
_index
uint256
index 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
_index
uint256
index 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
_pairIndex
uint256
index 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
_pairIndex
uint256
index 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
index
uint256
index of pair
from
string
pair from (eg. BTC)
to
string
pair to (eg. USD)
PairUpdated
event PairUpdated(uint256 index)
Emitted when a pair is updated
Parameters
index
uint256
index of pair
PairCustomMaxLeverageUpdated
event PairCustomMaxLeverageUpdated(uint256 index, uint256 maxLeverage)
Emitted when a pair's custom max leverage is updated
Parameters
index
uint256
index of pair
maxLeverage
uint256
new max leverage (1e3 precision)
GroupAdded
event GroupAdded(uint256 index, string name)
Emitted when a new group is added
Parameters
index
uint256
index of group
name
string
name of group
GroupUpdated
event GroupUpdated(uint256 index)
Emitted when a group is updated
Parameters
index
uint256
index of group
FeeAdded
event FeeAdded(uint256 index, struct IPairsStorage.FeeGroup feeGroup)
Emitted when a new fee group is added
Parameters
index
uint256
index of fee group
feeGroup
struct IPairsStorage.FeeGroup
fee group
FeeUpdated
event FeeUpdated(uint256 index, struct IPairsStorage.FeeGroup feeGroup)
Emitted when a fee group is updated
Parameters
index
uint256
index of fee group
feeGroup
struct IPairsStorage.FeeGroup
updated fee group
GroupLiquidationParamsUpdated
event GroupLiquidationParamsUpdated(uint256 index, struct IPairsStorage.GroupLiquidationParams params)
Emitted when a group liquidation params are updated
Parameters
index
uint256
index of group
params
struct IPairsStorage.GroupLiquidationParams
new group liquidation params
GlobalTradeFeeParamsUpdated
event GlobalTradeFeeParamsUpdated(struct IPairsStorage.GlobalTradeFeeParams feeParams)
Emitted when global trade fee params are updated
Parameters
feeParams
struct IPairsStorage.GlobalTradeFeeParams
new 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()
Last updated
Was this helpful?