BigShort Docs

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.

NotationUnité dans les formules entièresExemple
T, a, bToken181 Token = 10¹⁸
Q, N, C, Anative18 USDC1 USDC = 10¹⁸
E, Rexternal6 USDC1 USDC = 10⁶
σFacteur de conversion de précision 10¹²Ce n'est pas un taux de change
BPSDénominateur de proportion 10,000100 bps = 1%
PPMDénominateur de proportion 1,000,00010 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 :

Q=Eσ,σ=1012

Conversion de native18 avec arrondi inférieur :

E=⌊Qσ⌋,ε=Qmodσ

ε est la poussière de précision native18. Une conversion exacte exige :

Qmodσ=0

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

SymboleSignificationUsages fréquents
floor(x) / ⌊x⌋Arrondi à l'entier inférieurProgression proportionnelle, distributions partielles, accumulation d'indices
sqrtFloor(x)Racine carrée entière arrondie à l'inférieurRéserves théoriques du modèle de risque
sqrtCeil(x)Racine carrée entière arrondie au supérieurRéserves restantes prudentes dans la capacité de risque
feeUp(A,f)=⌈Af10,000⌉

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 :

⌊ab⌋c≠⌊acb⌋

Indices en virgule fixe

Les prix cumulés TWAP utilisent une échelle 2¹¹² ; Funding et Legacy utilisent 2¹²⁸ . Pour Funding, par exemple :

ΔI=⌊rΔt2128106⋅86,400⌋,F=⌊NΔI2128⌋

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:

M=⌊QST⌋

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.

BigShort Protocol · ARCÉmettre · Échanger · Vendre à découvert