Sécurité
Choix de conception
| Piège fréquent sur ce type de protocole | Choix retenu pour MoonCoin |
|---|---|
| Taux d’émission modifiable à la main, sans plafond propre à la fonction | Taux plafonné en dur à 10 MOON/seconde, quel que soit le mode |
| TVL et comptabilité basées sur le solde ERC‑20 brut du contrat | Comptabilité interne totalStaked, indépendante des transferts directs |
| Contrôleur hors chaîne propriétaire | Rôle emissionUpdater dédié, limité à la publication de deux prix positifs bornés |
| Aucun délai sur les changements administratifs | Timelock avec plancher permanent de 48 h, non réductible même par une opération timelockée |
| Owner unique | Multisig 2 sur 3, trois signataires distincts et non nuls |
Plafonds figés dans le contrat
Le timelock ne peut jamais dépasser ces limites, et aucun rôle ne peut les changer :
| Paramètre | Plafond |
|---|---|
| Taux d’émission global | 10 MOON/seconde |
| Part marketing | 20 % |
| Part trésorerie | 20 % |
| Part investisseur | 10 % |
| Frais de retrait (normal et d’urgence) | 7 % |
| Délai minimum du timelock | 48 heures |
| Total des points d’allocation | Toujours exactement 1 000 |
Réduire une part ou un frais est toujours possible par le timelock ; les augmenter au-delà de ces plafonds est impossible, même pour le timelock lui-même.
Ce que le gardien peut et ne peut pas faire
Un rôle « gardien » séparé peut suspendre les dépôts et les harvests, pour réagir vite à un incident. Il ne peut :
- ni reprendre le protocole (seul le timelock peut
unpause) ; - ni bloquer
withdraw, qui reste actif même pendant une pause ; - ni mint, ni changer une adresse, un paramètre économique ou un bénéficiaire.
Prix et expiration
Les prix MOON/LP publiés par l’emissionUpdater expirent après 24 heures. Passé ce délai,
l’émission effective retombe à zéro jusqu’à une nouvelle publication : le contrat ne continue jamais
sur une valorisation périmée.
Ce que le contrat ne fait pas
- Pas de proxy ni de fonction d’upgrade sur
MoonCoin,MoonMasterChef,MoonTimelockouMoonReserveVault. - Pas de blacklist, de taxe de transfert ou de pause du token lui-même.
- Pas de vote de gouvernance on-chain ni de délégation.
- Pas de rewarder externe, de migrateur de pool, ni de fonction de récupération administrative des dépôts utilisateurs.
Le contrat exige des transferts exacts et rejette les tokens à taxe de transfert ou à rebase testés. Cela ne constitue pas une détection universelle de tout bytecode hostile : tout actif candidat pour PID 1 doit être explicitement revu avant d’être admis.