GNSFeeTiers

Facet #3: Fee tiers

constructor

constructor() public

initializeFeeTiers

function initializeFeeTiers(uint256[] _groupIndices, uint256[] _groupVolumeMultipliers, uint256[] _feeTiersIndices, struct IFeeTiers.FeeTier[] _feeTiers) external

Parameters

Name
Type
Description

_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

function setGroupVolumeMultipliers(uint256[] _groupIndices, uint256[] _groupVolumeMultipliers) external

Updates groups volume multipliers

Parameters

Name
Type
Description

_groupIndices

uint256[]

indices of groups to update

_groupVolumeMultipliers

uint256[]

corresponding new volume multipliers (1e3)

setFeeTiers

Updates fee tiers

Parameters

Name
Type
Description

_feeTiersIndices

uint256[]

indices of fee tiers to update

_feeTiers

new fee tiers values (feeMultiplier, pointsThreshold)

setTradersFeeTiersEnrollment

Updates traders enrollment status in fee tiers

Parameters

Name
Type
Description

_traders

address[]

group of traders

_values

corresponding enrollment values

addTradersUnclaimedPoints

Credits points to traders

Parameters

Name
Type
Description

_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

Name
Type
Description

_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

Name
Type
Description

_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

Name
Type
Description

_feeTierIndex

uint256

fee tier index

getGroupVolumeMultiplier

Returns a group's volume multiplier

Parameters

Name
Type
Description

_groupIndex

uint256

group index (pairs storage fee index)

getFeeTiersTraderInfo

Returns a trader's info (lastDayUpdated, trailingPoints)

Parameters

Name
Type
Description

_trader

address

trader address

getFeeTiersTraderDailyInfo

Returns a trader's daily fee tier info (feeMultiplierCache, points)

Parameters

Name
Type
Description

_trader

address

trader address

_day

uint32

day

getTraderFeeTiersEnrollment

Returns a trader's fee tiers enrollment status

Parameters

Name
Type
Description

_trader

address

trader address

getTraderUnclaimedPoints

Returns a trader's unclaimed points, credited by Governance

Parameters

Name
Type
Description

_trader

address

trader address

Last updated

Was this helpful?