JavReferrals
General Description
The JavReferrals contract used for manage a referral system, which incentivizes trading activities through rewards for allies (partners) and referrers. It supports the configuration of fees, reward structures, and ally/referrer whitelisting, while also enabling the distribution and claiming of rewards. Additionally, it provides getter functions to fetch detailed referral-related data.
Core Functionalities
initializeReferrals
Initializes the referral system with specified parameters.
Parameters:
_allyFeeP: Fee percentage for allies._startReferrerFeeP: Initial fee percentage for referrers._openFeeP: Fee percentage for open trades._targetVolumeUsd: Target trading volume in USD for additional benefits.
Access Control:
reinitializer(2).
updateAllyFeeP
Updates the ally fee percentage.
Parameters:
_value: New ally fee percentage.
Access Control:
onlyRole(Role.GOV).
updateStartReferrerFeeP
Updates the initial referrer fee percentage.
Parameters:
_value: New initial referrer fee percentage.
Access Control:
onlyRole(Role.GOV).
updateReferralsOpenFeeP
Updates the open fee percentage for referrals.
Parameters:
_value: New open fee percentage.
Access Control:
onlyRole(Role.GOV).
updateReferralsTargetVolumeUsd
Updates the target trading volume in USD.
Parameters:
_value: New target volume in USD.
Access Control:
onlyRole(Role.GOV).
whitelistAllies
Adds allies to the whitelist, enabling them to participate in the referral program.
Parameters:
_allies: Array of ally addresses to whitelist.
Access Control:
onlyRole(Role.GOV).
unwhitelistAllies
Removes allies from the whitelist.
Parameters:
_allies: Array of ally addresses to remove from the whitelist.
Access Control:
onlyRole(Role.GOV).
whitelistReferrers
Adds referrers to the whitelist and associates them with specific allies.
Parameters:
_referrers: Array of referrer addresses._allies: Array of ally addresses corresponding to the referrers.
Access Control:
onlyRole(Role.GOV).
unwhitelistReferrers
Removes referrers from the whitelist.
Parameters:
_referrers: Array of referrer addresses to remove.
Access Control:
onlyRole(Role.GOV).
registerPotentialReferrer
Links a trader with a potential referrer.
Parameters:
_trader: Address of the trader._referrer: Address of the potential referrer.
Access Control:
onlySelf.
distributeReferralReward
Distributes rewards based on a trader's activity and trading volume.
Parameters:
_trader: Address of the trader._volumeUsd: Trading volume in USD._pairOpenFeeP: Open fee percentage for the pair._javPriceUsd: Price of JAV token in USD.
Returns: Amount of reward distributed.
Access Control:
onlySelf.
claimAllyRewards
Allows allies to claim their accrued rewards.
Access Control: Public.
claimReferrerRewards
Allows referrers to claim their accrued rewards.
Access Control: Public.
getReferrerFeeP
Retrieves the referrer fee percentage based on trading volume.
Parameters:
_pairOpenFeeP: Open fee percentage for the pair._volumeReferredUsd: Trading volume referred in USD.
Returns: Referrer fee percentage.
getTraderLastReferrer
Retrieves the last referrer associated with a trader.
Parameters:
_trader: Address of the trader.
Returns: Address of the last referrer.
getTraderActiveReferrer
Retrieves the currently active referrer for a trader.
Parameters:
_trader: Address of the trader.
Returns: Address of the active referrer.
getReferrersReferred
Retrieves all referrers associated with a specific ally.
Parameters:
_ally: Address of the ally.
Returns: Array of referrer addresses.
getTradersReferred
Retrieves all traders referred by a specific referrer.
Parameters:
_referrer: Address of the referrer.
Returns: Array of trader addresses.
getReferralsAllyFeeP
Retrieves the current ally fee percentage.
Returns: Ally fee percentage.
getReferralsStartReferrerFeeP
Retrieves the current starting referrer fee percentage.
Returns: Starting referrer fee percentage.
getReferralsOpenFeeP
Retrieves the current open fee percentage for referrals.
Returns: Open fee percentage.
getReferralsTargetVolumeUsd
Retrieves the current target trading volume in USD.
Returns: Target volume in USD.
getAllyDetails
Retrieves detailed information about a specific ally.
Parameters:
_ally: Address of the ally.
Returns:
AllyDetailsstructure containing ally information.
getReferrerDetails
Retrieves detailed information about a specific referrer.
Parameters:
_referrer: Address of the referrer.
Returns:
ReferrerDetailsstructure containing referrer information.
Last updated