IFeeTiersUtils
Interface for GNSFeeTiers facet (inherits types and also contains functions, events, and custom errors)
initializeFeeTiers
Parameters
_groupIndices
uint256[]
group indices (pairs storage fee index) to initialize
_groupVolumeMultipliers
uint256[]
corresponding group volume multipliers (1e3)
_feeTiersIndices
uint256[]
fee tiers indices to initialize
_feeTiers
fee tiers values to initialize (feeMultiplier, pointsThreshold)
setGroupVolumeMultipliers
Updates groups volume multipliers
Parameters
_groupIndices
uint256[]
indices of groups to update
_groupVolumeMultipliers
uint256[]
corresponding new volume multipliers (1e3)
setFeeTiers
Updates fee tiers
Parameters
_feeTiersIndices
uint256[]
indices of fee tiers to update
_feeTiers
new fee tiers values (feeMultiplier, pointsThreshold)
setTradersFeeTiersEnrollment
Updates traders enrollment status in fee tiers
Parameters
_traders
address[]
group of traders
_values
corresponding enrollment values
addTradersUnclaimedPoints
Credits points to traders
Parameters
_traders
address[]
traders addresses
_creditTypes
enum IFeeTiers.CreditType[]
types of credit (IMMEDIATE, CLAIMABLE)
_points
uint224[]
points to credit (1e18)
updateTraderPoints
Increases daily points from a new trade, re-calculate trailing points, and cache daily fee tier for a trader.
Parameters
_trader
address
trader address
_volumeUsd
uint256
trading volume in USD (1e18)
_pairIndex
uint256
pair index
calculateFeeAmount
Returns fee amount after applying the trader's active fee tier multiplier
Parameters
_trader
address
address of trader
_normalFeeAmountCollateral
uint256
base fee amount (collateral precision)
getFeeTiersCount
Returns the current number of active fee tiers
getFeeTier
Returns a fee tier's details (feeMultiplier, pointsThreshold)
Parameters
_feeTierIndex
uint256
fee tier index
getGroupVolumeMultiplier
Returns a group's volume multiplier
Parameters
_groupIndex
uint256
group index (pairs storage fee index)
getFeeTiersTraderInfo
Returns a trader's info (lastDayUpdated, trailingPoints)
Parameters
_trader
address
trader address
getFeeTiersTraderDailyInfo
Returns a trader's daily fee tier info (feeMultiplierCache, points)
Parameters
_trader
address
trader address
_day
uint32
day
getTraderFeeTiersEnrollment
Returns a trader's fee tiers enrollment status
Parameters
_trader
address
trader address
getTraderUnclaimedPoints
Returns a trader's unclaimed points, credited by Governance
Parameters
_trader
address
trader address
GroupVolumeMultipliersUpdated
Emitted when group volume multipliers are updated
Parameters
groupIndices
uint256[]
indices of updated groups
groupVolumeMultipliers
uint256[]
new corresponding volume multipliers (1e3)
FeeTiersUpdated
Emitted when fee tiers are updated
Parameters
feeTiersIndices
uint256[]
indices of updated fee tiers
feeTiers
struct IFeeTiers.FeeTier[]
new corresponding fee tiers values (feeMultiplier, pointsThreshold)
TraderDailyPointsIncreased
Emitted when a trader's daily points are updated
Parameters
trader
address
trader address
day
uint32
day
points
uint224
points added (1e18 precision)
TraderInfoFirstUpdate
Emitted when a trader info is updated for the first time
Parameters
trader
address
address of trader
day
uint32
day
TraderTrailingPointsExpired
Emitted when a trader's trailing points are updated
Parameters
trader
address
trader address
fromDay
uint32
from day
toDay
uint32
to day
expiredPoints
uint224
expired points amount (1e18 precision)
TraderInfoUpdated
Emitted when a trader's info is updated
Parameters
trader
address
address of trader
traderInfo
struct IFeeTiers.TraderInfo
new trader info value (lastDayUpdated, trailingPoints)
TraderFeeMultiplierCached
Emitted when a trader's cached fee multiplier is updated (this is the one used in fee calculations)
Parameters
trader
address
address of trader
day
uint32
day
feeMultiplier
uint32
new fee multiplier (1e3 precision)
TraderEnrollmentUpdated
Emitted when a trader's enrollment status is updated
Parameters
trader
address
address of trader
enrollment
struct IFeeTiers.TraderEnrollment
trader's new enrollment status
TraderPointsCredited
Emitted when a trader is credited points by governance
Parameters
trader
address
trader address
day
uint32
day the points were credited on, may be different from the day the points were claimed
creditType
enum IFeeTiers.CreditType
credit type (IMMEDIATE, CLAIMABLE)
points
uint224
points added (1e18 precision)
TraderUnclaimedPointsClaimed
Emitted when a trader's unclaimed points are claimed
Parameters
trader
address
trader address
day
uint32
day of claim
points
uint224
points added (1e18 precision)
WrongFeeTier
PointsOverflow
Last updated