GNSFeeTiers
Facet #3: Fee tiers
constructor
constructor() public
initializeFeeTiers
function initializeFeeTiers(uint256[] _groupIndices, uint256[] _groupVolumeMultipliers, uint256[] _feeTiersIndices, struct IFeeTiers.FeeTier[] _feeTiers) external
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
setGroupVolumeMultipliers
function setGroupVolumeMultipliers(uint256[] _groupIndices, uint256[] _groupVolumeMultipliers) external
Updates groups volume multipliers
Parameters
_groupIndices
uint256[]
indices of groups to update
_groupVolumeMultipliers
uint256[]
corresponding new volume multipliers (1e3)
setFeeTiers
function setFeeTiers(uint256[] _feeTiersIndices, struct IFeeTiers.FeeTier[] _feeTiers) external
Updates fee tiers
Parameters
_feeTiersIndices
uint256[]
indices of fee tiers to update
setTradersFeeTiersEnrollment
function setTradersFeeTiersEnrollment(address[] _traders, struct IFeeTiers.TraderEnrollment[] _values) external
Updates traders enrollment status in fee tiers
Parameters
_traders
address[]
group of traders
addTradersUnclaimedPoints
function addTradersUnclaimedPoints(address[] _traders, enum IFeeTiers.CreditType[] _creditTypes, uint224[] _points) external
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
function updateTraderPoints(address _trader, uint256 _volumeUsd, uint256 _pairIndex) external virtual
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
function calculateFeeAmount(address _trader, uint256 _normalFeeAmountCollateral) external view returns (uint256)
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
function getFeeTiersCount() external view returns (uint256)
Returns the current number of active fee tiers
getFeeTier
function getFeeTier(uint256 _feeTierIndex) external view returns (struct IFeeTiers.FeeTier)
Returns a fee tier's details (feeMultiplier, pointsThreshold)
Parameters
_feeTierIndex
uint256
fee tier index
getGroupVolumeMultiplier
function getGroupVolumeMultiplier(uint256 _groupIndex) external view returns (uint256)
Returns a group's volume multiplier
Parameters
_groupIndex
uint256
group index (pairs storage fee index)
getFeeTiersTraderInfo
function getFeeTiersTraderInfo(address _trader) external view returns (struct IFeeTiers.TraderInfo)
Returns a trader's info (lastDayUpdated, trailingPoints)
Parameters
_trader
address
trader address
getFeeTiersTraderDailyInfo
function getFeeTiersTraderDailyInfo(address _trader, uint32 _day) external view returns (struct IFeeTiers.TraderDailyInfo)
Returns a trader's daily fee tier info (feeMultiplierCache, points)
Parameters
_trader
address
trader address
_day
uint32
day
getTraderFeeTiersEnrollment
function getTraderFeeTiersEnrollment(address _trader) external view returns (struct IFeeTiers.TraderEnrollment)
Returns a trader's fee tiers enrollment status
Parameters
_trader
address
trader address
getTraderUnclaimedPoints
function getTraderUnclaimedPoints(address _trader) external view returns (uint224)
Returns a trader's unclaimed points, credited by Governance
Parameters
_trader
address
trader address
Last updated
Was this helpful?