FeeReferral
FeeReferral
User referrals for Domination Finance exchange
Tracks referrals. Grants discounted trade fees to users who submit a referral code, and redirects part of their trade fees to the referrer.
Addresses
Chain | Address |
---|---|
Arbitrum Sepolia | 0xf606877986bB70D78a2b098d096150a284Ca8e1C |
Base Sepolia | 0x396575939c6223e007FCB71bA914bb94B09B05E0 |
Base Mainnet | 0xC20bBbA2081B3aE77C6cc23b32c6BBC8C15dFDCd |
Functions
initialize
function initialize(struct StorageInstance _store) external
referrerOf
Get the registered referrer of an account.
function referrerOf(address account) external view returns (address referrer)
Parameters
Name | Type | Description |
---|---|---|
account | address | Address that registered a referrer |
Return Values
Name | Type | Description |
---|---|---|
referrer | address | Address that referred account to Domination Finance, or 0x0 if no referrer has been registered |
setReferrerRedirect
function setReferrerRedirect(address referrer, FPUnsigned redirect) external
setReferrerFeeDiscount
function setReferrerFeeDiscount(address referrer, FPUnsigned discount) external
setReferrer
Register an address as user
's referrer. The caller must either
be user
or their manager as returned by DomFiPerp.isManagerFor
.
Reverts if user
's referrer has already been set.
function setReferrer(address user, address referrer) external
Only the administrator can reset a fee referral that has already been set.
Parameters
Name | Type | Description |
---|---|---|
user | address | The user who wishes to redeem someone's referral code |
referrer | address | An address that referred them to Domination Finance |
getReferrerDiscount
Get the fee discount applied to everyone who signed up using
referrer
's code.
function getReferrerDiscount(address referrer) external view returns (FPUnsigned)
Used by FeeCalculator to compute fees. Applies before any redirect.
Parameters
Name | Type | Description |
---|---|---|
referrer | address | Address that referred another user |
Return Values
Name | Type | Description |
---|---|---|
[0] | FPUnsigned |
getReferrerRedirect
Get the fraction of fees that should be redirected to referrer
from everyone they've referred.
function getReferrerRedirect(address referrer) external view returns (FPUnsigned)
Used by FeeDistributor when distributing trade fees. Applies to whatever fees remain after the discount.
Parameters
Name | Type | Description |
---|---|---|
referrer | address | Address that referred another user |
Return Values
Name | Type | Description |
---|---|---|
[0] | FPUnsigned |
referrerDiscounts
function referrerDiscounts(address referrer) external view returns (FPUnsigned)
MAX_REFERRER_TRADE_DISCOUNT
function MAX_REFERRER_TRADE_DISCOUNT() external view returns (FPUnsigned)
DEFAULT_REFFERER_TRADE_DISCOUNT
function DEFAULT_REFFERER_TRADE_DISCOUNT() external view returns (FPUnsigned)
referrerRedirect
function referrerRedirect(address referrer) external view returns (FPUnsigned)
MAX_REFERRER_REDIRECT
function MAX_REFERRER_REDIRECT() external view returns (FPUnsigned)
DEFAULT_REFERRAL_REDIRECT
function DEFAULT_REFERRAL_REDIRECT() external view returns (FPUnsigned)
Events
ReferrerRedirectSet
event ReferrerRedirectSet(address referrer, FPUnsigned redirect)
ReferrerSet
event ReferrerSet(address user, address referrer)
ReferrerFeeDiscountSet
event ReferrerFeeDiscountSet(address referer, FPUnsigned discounts)
Errors
RedirectFractionAboveMax
error RedirectFractionAboveMax(address referrer, FPUnsigned requested, FPUnsigned max)
DiscountAboveMax
error DiscountAboveMax(address referrer, FPUnsigned requested, FPUnsigned max)
ReferrerAlreadySet
error ReferrerAlreadySet()
Unauthorized
error Unauthorized()
SelfReferral
Users cannot register as their own referrers.
error SelfReferral()