Investimenti (Farm Miner) e TIP tiers
Nel sistema attuale (come funziona ora)
1) Regole principali per creare un investimento
- Un investimento viene creato solo se il sistema ha asset attivi:
- USDT (BSC) e USDO (Interno)
- L'utente che investe deve avere
referredByUserId(cioè deve essersi registrato con un invite code). - L'investimento richiede un
investmentInviteCode(8 caratteri, A-Z/0-9) — questo è il placement code per l'albero Yield. - Investimento minimo: 10 USDT.
2) Classificazione TIP (TIP1/TIP2/TIP3)
TIP viene calcolato dall'importo dell'investimento in base alle impostazioni del Block:
tier1MaxBase(predefinito: 480 USDT)tier2MaxBase(predefinito: 975 USDT)
Se:
- amount ≤ tier1Max →
TIP1 - amount ≤ tier2Max →
TIP2 - altrimenti →
TIP3
Importante: il programTier complessivo dell'utente è calcolato sommando il principal di tutti i farm miners ACTIVE (non solo un investimento). Questo consente upgrade TIP tramite investimenti multipli.
3) Durata/rendimento Farm Miner e “hourly mint”
Dopo l'investimento, viene creato un FarmMiner con la seguente logica:
termMonthsereturnMinPercent/returnMaxPercentprovengono dalle impostazioni in base al TIP.returnPercentha due livelli:- Al momento dell'investimento, viene impostato un
returnPercentiniziale (casuale in[min, max]). - L'earn worker può ri-randomizzare
returnPercenta ogni mint/credito e memorizza l'ultimo valore usato.
- Al momento dell'investimento, viene impostato un
profitBase = principal * returnPercent / 100totalMintBase = principal + profitBase- L'intervallo mint proviene da
farmMinerMintIntervalMinutes(predefinito: 60 minuti).
Earn/mint viene calcolato pro rata in base al tempo trascorso:
- Il worker calcola
mintedTargetda ore trascorse (o minuti se intervallo < 60) etotalMintBase. - Poi accredita
mintDue = mintedTarget - mintedBaseal saldo USDO dell'utente (voce ledger). - Quando il termine finisce o
mintedBase >= totalMintBase, il miner diventaCOMPLETED.
4) Placement investimento (LEFT/RIGHT)
investmentInviteCode deve appartenere a un utente:
- Se è uguale a
inviteCodeLeftdi quell'utente →placementSide=LEFT - Se è uguale a
inviteCodeRight→placementSide=RIGHT
Nella UI questo di solito è mostrato come USDOL (LEFT) e USDOR (RIGHT).
5) Investment invite code bloccato dopo il primo investimento
- Se un utente ha già un investimento e
investmentInviteCodeLocked=true, allora per gli investimenti successivi deve essere usato lo stessoinvestmentInviteCode. - Dopo il primo investimento, il backend salva/blocca sempre il placement code scelto.
6) Bonus referral (diretto/passaparola)
Nel sistema attuale, la commissione referral va al marketing inviter (referredByUserId) — cioè la persona il cui invite code è stato usato dall'utente in registrazione:
- La percentuale referral proviene dalle impostazioni (
referralPercent, predefinito: 10%). - L'idoneità dipende dal TIP del destinatario:
- TIP1 → 0% (non riceve)
- TIP2/TIP3 → riceve, ma esiste un cap massimo (
tip2ReferralMaxBase/tip3ReferralMaxBase).
7) Miners multipli e “upgrade” (solo aumento)
- Un utente può avere più farm miners (investimenti multipli).
- Nell'API attuale è possibile aumentare il principal di un miner esistente (upgrade). In quel caso:
- il principal aumenta
- TIP può cambiare in base al nuovo principal
- durata e
returnPercentvengono ricalcolati (returnPercenttorna casuale) - il miner riparte “da ora” (
mintedBase=0,accruedHours=0,endsAtricalcolato)