Gouvernance
Toute modification non urgente suit le même chemin : deux signatures Safe, puis un délai d’au moins 48 heures, puis deux signatures Safe pour exécuter.
Safe 2 sur 3
- Trois signataires distincts et non nuls, seuil de 2 signatures.
- Aucun module ni guard actif.
- Peut appeler
claimBeneficiary()directement, sans passer par le timelock. Cette fonction ne modifie aucun paramètre, elle retire seulement des récompenses déjà acquises.
MoonTimelock
- Fork de
TimelockController(OpenZeppelin), avec un plancher permanent de 48 h : ce délai ne peut être réduit par aucune opération, y compris une opération timelockée elle-même. - Administré par lui-même ; ses rôles proposer/executor/canceller restent liés au Safe fixe.
- Aucun rôle n’est accordé au déployeur d’origine après la mise en place.
Ce que le timelock peut appeler sur le MasterChef
| Fonction | Effet |
|---|---|
setEmissionRate(rate) | Passe en mode manuel, taux ≤ 10 MOON/s |
setAutomaticEmission(enabled) | Bascule entre calcul automatique (TVL) et taux manuel |
setEmissionUpdater(address) | Change le rôle autorisé à publier les prix |
updateValuation(moonPrice, lpPrice) | Publie une valorisation (normalement via l’emissionUpdater) |
setShares(dev, treasury, investor) | Plafonds 20 % / 20 % / 10 % |
setWithdrawalFee(fee) | Entre 0 et 7 % |
setAllocPoints(moonPoints, lpPoints) | Total toujours égal à 1 000 |
setBeneficiaries(dev, treasury, investor, feeTreasury) | Change les destinataires des parts |
setGuardian(address) | Rotation du rôle de pause d’urgence |
pause() / unpause() | Seul le timelock peut lever une pause |
Une modification administrative solde toujours d’abord la période sous les anciens paramètres (checkpoint), avant d’appliquer les nouveaux. Les utilisateurs ne perdent jamais de récompenses déjà acquises à cause d’un changement de configuration.
Réserve promotionnelle
Toute libération de fonds depuis MoonReserveVault exige : un campaignHash non nul, une
planification via le timelock (48 h minimum), puis une exécution. Jamais un versement direct.