Investissements (Farm Miner) et TIP tiers
Dans le système actuel (comment cela fonctionne maintenant)
1) Règles de base pour créer un investissement
- Un investissement est créé uniquement si le système dispose d'actifs actifs :
- USDT (BSC) et USDO (Interne)
- L'utilisateur investisseur doit avoir
referredByUserId(c.-à-d. s'être inscrit avec un invite code). - L'investissement nécessite un
investmentInviteCode(8 caractères, A-Z/0-9) — c'est le placement code pour l'arbre Yield. - Investissement minimum : 10 USDT.
2) Classification TIP (TIP1/TIP2/TIP3)
TIP est calculé à partir du montant de l'investissement selon les paramètres Block :
tier1MaxBase(par défaut : 480 USDT)tier2MaxBase(par défaut : 975 USDT)
Si :
- amount ≤ tier1Max →
TIP1 - amount ≤ tier2Max →
TIP2 - sinon →
TIP3
Important : le programTier global de l'utilisateur est calculé en additionnant le principal de tous les farm miners ACTIVE (pas seulement un investissement). Cela permet les upgrades TIP via des investissements multiples.
3) Durée/rendement Farm Miner et “hourly mint”
Après l'investissement, un FarmMiner est créé avec la logique suivante :
termMonthsetreturnMinPercent/returnMaxPercentproviennent des paramètres selon TIP.returnPercenta deux couches :- Au moment de l'investissement, un
returnPercentinitial est défini (aléatoire dans[min, max]). - Le worker earn peut re-randomiser
returnPercentà chaque mint/crédit et stocke la dernière valeur utilisée.
- Au moment de l'investissement, un
profitBase = principal * returnPercent / 100totalMintBase = principal + profitBase- L'intervalle mint provient de
farmMinerMintIntervalMinutes(par défaut : 60 minutes).
Earn/mint est calculé au prorata selon le temps écoulé :
- Le worker calcule
mintedTargetà partir des heures écoulées (ou minutes si intervalle < 60) et detotalMintBase. - Puis il crédite
mintDue = mintedTarget - mintedBasesur le solde USDO de l'utilisateur (entrée ledger). - Quand la durée se termine ou
mintedBase >= totalMintBase, le miner devientCOMPLETED.
4) Placement d'investissement (LEFT/RIGHT)
investmentInviteCode doit appartenir à un utilisateur :
- S'il est égal à
inviteCodeLeftde cet utilisateur →placementSide=LEFT - S'il est égal à
inviteCodeRight→placementSide=RIGHT
Dans l'UI, cela est généralement affiché comme USDOL (LEFT) et USDOR (RIGHT).
5) Investment invite code verrouillé après le premier investissement
- Si un utilisateur a déjà un investissement et
investmentInviteCodeLocked=true, alors pour les investissements suivants, le mêmeinvestmentInviteCodedoit être utilisé. - Après le premier investissement, le backend enregistre/verrouille toujours le placement code choisi.
6) Bonus referral (direct/bouche-à-oreille)
Dans le système actuel, la commission referral va au marketing inviter (referredByUserId) — c.-à-d. la personne dont l'invite code a été utilisé à l'inscription :
- Le pourcentage referral vient des paramètres (
referralPercent, par défaut : 10%). - L'éligibilité dépend du TIP du destinataire :
- TIP1 → 0% (ne reçoit pas)
- TIP2/TIP3 → reçoit, mais avec un cap maximum (
tip2ReferralMaxBase/tip3ReferralMaxBase).
7) Miners multiples et “upgrade” (augmentation uniquement)
- Un utilisateur peut avoir plusieurs farm miners (investissements multiples).
- Dans l'API actuelle, il est possible d'augmenter le principal d'un miner existant (upgrade). Dans ce cas :
- le principal augmente
- TIP peut changer selon le nouveau principal
- la durée et
returnPercentsont recalculés (returnPercentredevient aléatoire) - le miner redémarre “à partir de maintenant” (
mintedBase=0,accruedHours=0,endsAtrecalculé)