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: AllyDetails structure containing ally information.

getReferrerDetails

  • Retrieves detailed information about a specific referrer.

  • Parameters:

    • _referrer: Address of the referrer.

  • Returns: ReferrerDetails structure containing referrer information.

Last updated