Précision et conventions mathématiques
Les conventions cohérentes Token, native18, external6, bps et fixé-point distinguent les modèles continus de l'exécution entière du contrat.
Distinguer les montants des entiers bruts
Les contrats ne stockent pas de montants d'USDC ou de Token en virgule flottante. Les exemples en unités usuelles de ce document indiquent par exemple 1,000 USDC; les formules marquées implémentation entière utilisent les entiers bruts de la chaîne.
| Notation | Unité dans les formules entières | Exemple |
|---|---|---|
T, a, b | Token18 | 1 Token = 10¹⁸ |
Q, N, C, A | native18 USDC | 1 USDC = 10¹⁸ |
E, R | external6 USDC | 1 USDC = 10⁶ |
σ | Facteur de conversion de précision 10¹² | Ce n'est pas un taux de change |
BPS | Dénominateur de proportion 10,000 | 100 bps = 1% |
PPM | Dénominateur de proportion 1,000,000 | 10 ppm = 0.001% |
Dans le code source, ether est le suffixe numérique Solidity correspondant à 10¹⁸ ; il ne signifie pas que le protocole utilise ETH comme actif de cotation. L'adaptation actuelle traite les USDC natifs d'Arc et l'interface USDC ERC-20 avec respectivement 18/6 décimales ; cette propriété ne peut pas être généralisée directement à n'importe quel réseau EVM.
Conversion entre les deux précisions USDC
De external6 vers native18 :
Conversion de native18 avec arrondi inférieur :
ε est la poussière de précision native18. Une conversion exacte exige :
Par exemple, la conversion avec arrondi inférieur de 1.234567890123456789 USDC donne 1.234567 USDC, avec un reste de 0.000000890123456789 USDC. Si le chemin de conversion exacte est appelé, cette entrée est refusée plutôt qu'arrondie silencieusement.
Symboles d'arrondi
| Symbole | Signification | Usages fréquents |
|---|---|---|
floor(x) / ⌊x⌋ | Arrondi à l'entier inférieur | Progression proportionnelle, distributions partielles, accumulation d'indices |
sqrtFloor(x) | Racine carrée entière arrondie à l'inférieur | Réserves théoriques du modèle de risque |
sqrtCeil(x) | Racine carrée entière arrondie au supérieur | Réserves restantes prudentes dans la capacité de risque |
L'entrée requise pour une sortie exacte V2 standard utilise floor(ratio) + 1. Même lorsque ratio est un entier exact, 1 est ajouté ; on ne peut donc pas la remplacer systématiquement par ceil(ratio). Le Quoter conserve également une borne stricte pour cette raison dans sa capacité maximale exécutable.
Ordre des opérations non interchangeable
En général :
Indices en virgule fixe
Les prix cumulés TWAP utilisent une échelle 2¹¹² ; Funding et Legacy utilisent 2¹²⁸ . Pour Funding, par exemple :
Les indices séparent le taux cumulé global des parts de chaque position, évitant une écriture en stockage chaque seconde. Deux arrondis inférieurs peuvent créer un écart minime avec une approximation flottante ; Legacy conserve en outre séparément les restes de haute précision.
Offre fixe utilisée pour la capitalisation
La capitalisation interne du protocole est calculée sur Offre de la courbe S = un milliard de Token:
Ce n'est ni la FDV calculée sur l'offre totale de 1,199,861,071 Token , ni une capitalisation calculée sur l'offre en circulation. L'affichage externe doit distinguer la capitalisation spot brute de la capitalisation de risque bornée, pour éviter d'intervertir ces indicateurs.