Token 生命週期
從固定供給建立、內盤發行到外盤遷移,說明每個階段的許可權、資產歸屬和狀態轉換。
BigShortProtocol-EVM 將一個 Token 的生命週期分為建立、內盤交易、原子遷移、外盤交易與做空。建立即確定供給和發行設定;最後一筆內盤買單同時完成外盤建池與 Short Engine 初始化,不存在由營運手動點擊的常規「畢業」步驟。
1. 固定供給與初始分配
每個 Token 在建構時一次性鑄造總供給;曲線額度和借貸儲備是兩類不同用途的資產。
| 組成 | Token 數量 | 初始持有者 | 用途 |
|---|---|---|---|
| 內盤可售額度 | 793,100,000 | Factory | 向內盤買家出售,賣回時補充可售餘額 |
| 外盤遷移儲備 | 206,900,000 | Factory | 內盤完成時一次性加入主 Pair |
| 借貸儲備 | 199,861,071 | 預先計算的獨立 Short Engine 位址 | 遷移後提供做空所需 Token 本金 |
| 總供給 | 1,199,861,071 | 上述兩類合約位址 | 建立時一次性鑄造 |
其中,曲線供給基數為:
總供給為:
市值模型使用 1,000,000,000 Token 的曲線供給基數,不使用 1,199,861,071 的 ERC-20 總供給。 這是一種協議約定的計價口徑,不應與流通市值或完整總供給估值混為一談。
建立者不會因為發起建立而自動獲得 Token 分配。若建立者希望持有可售 Token,同樣需要透過交易取得。借貸儲備也不是遷移時新增鑄幣:Token 在建立時已經轉入預先計算的 Engine 位址,只是該位址此時尚未部署 Engine 合約程式碼。
2. 建立時確定的業務設定
| 設定 | 約束與含義 |
|---|---|
名稱 name | 非空,最多 64 位元組 |
符號 symbol | 非空,最多 16 位元組 |
中繼資料 uri | 最多 512 位元組,可以為空 |
建立者 creator | 非零位址;可以與交易發起者不同 |
上述長度以 UTF-8 位元組數計,不是中文字元數。名稱與符號等資料參與確定性部署位址推導;不同發起者與建立序號具有不同的部署命名空間。
建立的執行順序
- 校驗中繼資料、建立者和稅收設定。
- 讀取目前預設 Launch Profile,並鎖定 Token、曲線、Engine、交易場所四個版本。
- 計算 Token 與獨立 Short Engine 的預期位址。
- 部署 Token;一次性鑄造曲線供給和借貸儲備。選擇有稅模式時,同時部署該 Token 專屬的 Tax Processor。
- 建立或重用指定 Token/USDC Pair,校驗 Pair 身分與程式碼,並綁定為
mainPair。 - 將曲線設為
Bonding,記錄初始儲備、中繼資料、稅率和設定快照,發出建立事件。
每個 Token 都儲存自己的 Launch Profile。管理員後來選擇新的預設 Profile,不會把已建立 Token 自動切換到新曲線或新交易場所;Factory 的代理升級權限與這一設定快照機制是不同維度,見權限章節。
3. 狀態機與使用者可執行動作
| 狀態 | 業務含義 | 常規可執行動作 |
|---|---|---|
None | 尚未在 Factory 中建立 | 建立 Token |
Bonding | 內盤可售餘額大於 0 | 內盤買入、賣出;普通錢包間轉帳 |
Complete | 最後一筆買單已使可售餘額歸零 | 同一交易內立即進入遷移;不是獨立等待階段 |
Migrating | 同一交易內正校驗 Pair、加池和部署 Engine | 無獨立面向使用者的遷移入口 |
Migrated | 外盤池與 Engine 均已就緒 | 外盤交易、滿足條件的做空及部位管理;內盤入口不再接受交易 |
正常成功交易的階段轉換為:
None → Bonding → Complete → Migrating → Migrated
其中最後三個階段可以出現在同一筆最終買入交易的執行過程中。只有交易整體成功,新的鏈上狀態和日誌才被保留。
內盤完成的唯一數量判據
設初始可售額度為
這裡
完成條件為
4. 內盤階段的交易邊界
內盤使用 Factory 記錄的虛擬儲備報價、真實儲備結算。三個入口分別滿足不同需求:
買入方可以指定 Token 接收者,但不能把主 Pair 作為接收者;退款始終退給交易發起者,而非 Token 接收者。賣出需由持幣人事先授權 Factory 支出 Token。
主 Pair 尚未開放
- 普通持幣人可以在錢包之間轉帳。
- 外盤開放前,與
mainPair的非零 Token 轉帳受到限制;Factory 是為遷移保留的控制方例外。 - 不能透過內盤買單把 Token 直接發送給 Pair。
- Pair 位址可以事先存在,但「Pair 已建立」不等於「外盤已經開盤」。
本約束針對協議綁定的 mainPair,不應宣傳為對一切第三方位址或自行建立市場的全域封鎖。
5. 最終買入與遷移的原子性
最終買單先按內盤規則結算,再依次完成外盤加池、Engine 部署初始化和外盤開放。任何必需步驟失敗,整個最終買單回滾:本次 Token 轉賬、曲線儲備更新、退款及相關日誌均不保留;已經完成的更早交易不受影響。
最終買入需要比普通買入更多執行資源,用戶端不應照搬普通買單的固定 gas limit。遷移資金、LP 去向和精度處理見遷移與外盤 AMM。
6. 遷移後各模組的職責
| 模組 | 遷移後職責 |
|---|---|
| Token | ERC-20 轉帳、主 Pair 買賣稅識別、稅處理觸發 |
| 主 Pair | 持有真實 Token/USDC 流動性並執行恆定乘積交換 |
| Short Engine | 管理該 Token 獨立借貸庫存、保證金、資金費、平倉和清算 |
| Risk Oracle | 為 Engine 提供容量相關的時間加權風險約束 |
| Factory | 儲存發行與遷移記錄、設定管理及協議收入相關管理 |
| Quoter | 提供唯讀報價和可執行容量預覽,不替使用者執行交易 |
遷移不會把借貸儲備加進 AMM,也不會把初始 LP 分給建立者或最終買家。交易價格由遷移後的真實 Pair 儲備決定,做空仍須同時滿足風險容量、借貸庫存和保證金要求。