Logo Aflos Aflos Documentation aflos.xyz
Dokumentasi/Whitepaper

Vesting et blocage

L'architecture d'un contrat par blocage.

Le blocage utilise le modèle un contrat par blocage. Chaque fois que vous bloquez quelque chose, un nouveau contrat est émis spécifiquement pour ce blocage — chaque plan dispose donc de sa propre adresse, inspectable par chacun sans lire la logique d'un gros contrat.

Fabrique et coffre

AflosVestingFactory            fabrique, sans propriétaire
   |
   +-- AflosVestingVault       un nouveau contrat par blocage
          paramètres IMMUABLES : token, tokenId, beneficiary,
                                 creator, start, cliff, duration, mode
          release() -> peut UNIQUEMENT envoyer au bénéficiaire
La fabrique peutLa fabrique ne peut pas
Émettre un nouveau coffreDétenir des actifs, même un instant
Appeler sync() une fois, juste après l'approvisionnementAppeler sync() deux fois
Déclencher release(), qui envoie toujours au bénéficiaireRetirer des actifs d'un coffre
 Modifier un plan déjà existant

Paramètres du plan

ParamètreSignification
startQuand le décompte commence. 0 signifie maintenant. Une date passée est acceptée.
cliffPériode d'attente. Avant start + cliff, 0 % peut être libéré.
durationDurée de la libération linéaire. 0 signifie une libération totale à la fin du cliff.
modeAfterCliff : linéaire après le cliff. Retroactive : linéaire décompté depuis start.
cliff 12 mois + duration 36 mois + AfterCliff
   -> 0 % jusqu'au mois 12, puis linéaire, 100 % au mois 48

cliff 12 mois + duration 48 mois + Retroactive
   -> 25 % dès le mois 12, puis linéaire, 100 % au mois 48

Libérer les actifs

// libérer un blocage
AflosVestingVault(vault).release();

// via la fabrique
factory.release(id);
factory.releaseBatch([0, 1, 2]);

// consulter
factory.vaultAt(id);           // l'adresse du coffre
factory.vaultsOf(beneficiary); // tous les coffres d'une personne

release() peut être appelé par n'importe qui. Les actifs sont toujours envoyés au beneficiary enregistré, donc le déclencher n'apporte aucun avantage à l'appelant. C'est délibéré : si le destinataire est inactif, n'importe qui peut aider à libérer les actifs.

🛑
N'envoyez jamais d'actifs directement à l'adresse d'un coffre. Seul le blocage via la fabrique est enregistré comme un plan. Les actifs arrivés par un transfer ordinaire ne sont liés à aucun plan et ne pourront jamais être retirés, car le contrat n'a volontairement aucune fonction de sauvetage.