BigShort Docs

遷移與外盤 AMM

說明最後一筆內盤買入的原子遷移、USDC精度轉換、LP鎖定、捐贈邊界及外盤恆定乘積定價。

內盤可售 Token 歸零後,BigShortProtocol-EVM 使用預留 Token + 曲線實際淨 USDC 儲備建立外盤流動性,同時啟動該 Token 的獨立 Short Engine。遷移不使用虛擬 USDC,不混入其他 Token 曲線的資金,也不把借貸儲備當作外盤初始流動性。

1. 觸發條件與執行順序

順序動作業務結果
1執行最終買入結算可售 Token 餘額歸零,狀態設為 Complete
2發放本次 Token、退回超額付款退款接收者為交易發起者
3發出內盤成交與完成事件記錄最終內盤儲備快照
4複核該 Token 的設定快照和 Engine 預期位址不改用後來設定的新預設 Profile
5狀態設為 Migrating,驗證主 Pair檢查 Pair 身分、執行程式碼、儲備及餘額
6轉入 206,900,000 Token 和可表示的真實 USDC形成真實外盤流動性
7將遷移 LP 鑄造給零位址並驗證檢查初始 LP 全部由零位址持有
8部署並初始化 Short Engine綁定實際 Pair 儲備及已有借貸庫存
9校驗綁定並開放主 Pair 交易externalTradingEnabled 變為真
10清零該曲線真實 USDC 餘額並記錄遷移結果狀態最終為 Migrated

2. 從 native18 到 ERC-20 USDC 六位精度

Arc 原生 USDC 餘額與外盤 USDC ERC-20 介面對應同一報價資產,但精度不同。目前程式碼使用:

情境精度一單位 USDC
內盤支付、Factory 帳本、Engine 內部記帳native1810¹⁸
外盤 Pair 的 USDC ERC-20 介面external610⁶
兩者換算比例 s—10¹²

設待遷移真實 USDC 儲備為 Q18:

Q6=⌊Q181012⌋Qmigrated,18=Q6⋅1012,D=Q18mod1012

其中 Q6 是向 Pair 轉入的 ERC-20 USDC 最小單位,D 是不足 0.000001 USDC 的餘數。合約不會把這部分餘數向上補足,也不把它偷偷算入 Pair 儲備。

遷移餘數的歸屬

遷移從所有未遷移曲線的總負債中移除本曲線完整的 Q18,同時增加餘數負債 D。其他 Token 的曲線儲備不因本次遷移減少。

3. 完整規模清盤算例與三種估值

算例 D:初始狀態一次性買完,無稅、無捐贈

買完 793,100,000 Token,淨入曲線為:

Q18=⌈(4,292×1018)⋅(793,100,000×1018)(1,073,000,000−793,100,000)×1018⌉
項目精確結果
淨入曲線 USDC12,161.433369060378706681
加入 Pair 的 Token206,900,000 Token
加入 Pair 的 USDC12,161.433369 USDC
external6 USDC 整數12,161,433,369
遷移餘數0.000000060378706681 USDC

以上是明確初始基線的一次性算例,不承諾所有多次買賣路徑累計得到完全相同的最小單位結果;逐筆整數捨入和精確預算入口會產生差異。

內盤終點、外盤實值與理想錨點不能混用

指標本例數值用途
最後一筆後的內盤虛擬 USDC16,453.433369060378706681內盤結束時的虛擬儲備記錄
內盤終點虛擬 Token279,900,000內盤結束時的虛擬儲備記錄
內盤終點協議市值58,783.256052377201524405 USDC由內盤虛擬儲備計算
實際外盤初始 USDC12,161.433369真實 Pair 資金
實際外盤初始 Token206,900,000真實 Pair 資金
實際外盤初始協議市值58,779.281628806186563557 USDCactualStartMarketCap
固定理想遷移 USDC 參數12,161.433370風險模型參數,不是強制轉帳金額
固定理想遷移市值58,779.281633639439342677 USDCstartMarketCap,用於風險/保證金曲線錨點

實際外盤初始價格約為 0.000058779281628806186564 USDC/Token。目前參數並不強制「遷移前後邊際價格逐最小單位完全連續」;內盤虛擬儲備與遷移真實儲備是兩套不同數值。

固定理想錨點提供可重複的風險模型基線;真實 Pair 儲備決定現貨價格、債務回購成本以及每一筆實際交換。不要把 12,161.433370 USDC 的模型參數寫成每次遷移必然到帳的資金。

4. Pair 預先建立、捐贈與污染防護

哪些預先狀態可以接受?

遷移開始要求:

  • Pair 的 Token 儲備為 0。
  • Pair 的實際 Token 餘額為 0。
  • Pair 的 LP 總供給為 0,不能已經存在他人持有的舊 LP。
  • Pair 的 USDC 儲備不得大於其真實 USDC 餘額。
  • Pair 位址、代幣組成、關聯交易場所及程式碼身分通過 Profile 驗證。

遷移轉帳後還會檢查實際新增 USDC 數量;LP 鑄造後驗證 Token 儲備等於遷移額度,USDC 儲備等於遷移前實際 USDC 餘額 + 本次入池 USDC。不匹配會觸發 PairContaminated 或相應校驗錯誤並回滾。

設定快照不是只核對一個版本編號。遷移會重新驗證 Engine 部署器、Engine 實作、交易場所 Factory/Router 的程式碼雜湊及關聯關係,檢查 Engine 參數雜湊和 Oracle 設定,並透過 Pair 初始化程式碼雜湊推導預期位址、透過執行階段程式碼雜湊驗證實際 Pair。部署器或實作的執行程式碼偏離登記值時,最終買單會原子回滾,而不是靜默使用變化後的實作。

上述規則不是承諾任意規模的捐贈都能被接納;Pair 的整數儲備範圍、LP 鑄造和其他執行約束仍然成立。未計入儲備的捐贈也可能在遷移前被 Pair 的正常操作移走,因此應以遷移執行時餘額為準。

捐贈去了哪裡?

設遷移時已有 USDC 餘額為 Qpre,6:

Qactual,6=Qpre,6+Q6

本曲線加入的 Token 仍為固定的 206,900,000。遷移保留的 USDC 捐贈進入真實池子,不返給捐贈人,也不返給最後買家;它會抬高真實初始價格與 actualStartMarketCap,不會改寫固定理想遷移錨點。容量的時間加權釋放也不會僅因遷移瞬間的高價捐贈立即完成。

算例 E:在算例 D 的主 Pair 中額外保留 170 USDC

項目無捐贈增加 170 USDC 捐贈
外盤 Token 儲備206,900,000206,900,000
外盤 USDC 儲備12,161.43336912,331.433369
實際初始協議市值58,779.28162880618656355759,600.934601256645722571
固定理想遷移市值58,779.28163363943934267758,779.281633639439342677

直接把 USDC 轉給 Factory 是另一回事:它不會自動增加某個 Token 的 realNativeReserves,因而不會自動成為該 Token 的遷移資金。曲線記帳餘額、Factory 總餘額、Pair 實際餘額必須分開理解。

5. LP 與借貸庫存的最終去向

初始 LP 全部不可由普通持有人贖回

LPBalancezero=LPTotalSupply

同時要求本次鑄造的 LP 大於 0、總 LP 大於本次傳回的流動性數量,以涵蓋 V2 初始最小流動性結構。建立者、營運、協議錢包和最終買家都不會收到本次遷移 LP。

這裡「銷毀 LP」指 LP 由零位址持有、無法由普通帳戶拿出贖回,不是 ERC-20 總供應量 變為 0;Pair 內的 Token 也沒有因此被銷毀。遷移檢查針對初始時刻,不能據此聲稱外部 AMM 以後永遠不會新增流動性或鑄造其他 LP。

借貸儲備保持獨立

199,861,071 Token 早已持有於預先計算 Engine 位址,遷移只部署並初始化 Engine,不重複鑄幣、不把這批本金轉進 Pair。Engine 初始化讀取實際 Pair 儲備,並以獨立帳本追蹤可用借貸本金。

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