BigShort Docs

精度與數學約定

統一 Token、native18、external6、bps 與定點數口徑,避免把連續模型和合約整數執行混為一談。

先區分「金額」與「原始整數」

合約並不儲存浮點 USDC 或 Token。本文中的 人類單位範例 會寫 1,000 USDC;標記為 整數實作 的公式使用鏈上原始整數。

記號整數公式中的單位範例
T、a、bToken181 Token = 10¹⁸
Q、N、C、Anative18 USDC1 USDC = 10¹⁸
E、Rexternal6 USDC1 USDC = 10⁶
σ精度轉換係數 10¹²不是貨幣匯率
BPS比例分母 10,000100 bps = 1%
PPM比例分母 1,000,00010 ppm = 0.001%

原始碼中的 ether 是 Solidity 的 10¹⁸ 數量後綴,不表示本協議以 ETH 作為報價資產。目前適配把原生 Arc USDC 與 ERC-20 USDC 介面按 18/6 位處理;該特性不可直接推廣到任意 EVM 網路。

USDC 雙精度轉換

從 external6 到 native18:

Q=Eσ,σ=1012

從 native18 向下轉換:

E=⌊Qσ⌋,ε=Qmodσ

ε 是 native18 dust。精確轉換要求:

Qmodσ=0

例如 1.234567890123456789 USDC 向下轉換得到 1.234567 USDC,餘數為 0.000000890123456789 USDC。如果呼叫的是精確轉換路徑,這個輸入會被拒絕,而不是靜默捨入。

捨入符號

符號含義常見用途
floor(x) / ⌊x⌋向下取整比例進度、部分分配、指數累計
sqrtFloor(x)向下取整的整數平方根風險模型理論儲備
sqrtCeil(x)向上取整的整數平方根風險容量中的保守剩餘儲備
feeUp(A,f)=⌈Af10,000⌉

標準 V2 精確輸出輸入量使用 floor(ratio) + 1。當 ratio 恰好為整數時,它仍加 1,因此不能無條件替換為 ceil(ratio)。Quoter 的最大可執行額度也為此保留了嚴格邊界。

不能交換的運算順序

一般而言:

⌊ab⌋c≠⌊acb⌋

定點指數

TWAP 累計價格使用 2¹¹² 縮放;Funding 與 Legacy 使用 2¹²⁸ 縮放。以 Funding 為例:

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

指數把全域累計率與單倉份額分開,使部位不必每秒寫入儲存。兩次向下取整可能使結果與浮點近似有極小差異;Legacy 還單獨保留高精度餘數。

市值的固定供應口徑

協議內部市值基於 曲線供應 S = 10 億 Token:

M=⌊QST⌋

它不是以總供應 1,199,861,071 Token 計算的 FDV,也不是已流通供應口徑。對外展示時應區分原始 spot 市值與夾緊後的風險市值,避免把不同指標互換。

BigShort Protocol · ARC發行 · 交易 · 做空