移行と外部市場 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 をゼロアドレスへ mint して検証 | 初期 LP 全量のゼロアドレス保有を確認 |
| 8 | Short Engine をデプロイ・初期化 | 実 Pair 準備金と既存貸出在庫を紐づけ |
| 9 | 紐づけを検証し主 Pair 取引を開放 | externalTradingEnabled が true になる |
| 10 | 当該カーブの実 USDC 残高をゼロにし移行結果を記録 | 最終状態は Migrated |
2. native18 から ERC-20 USDC 六桁精度への変換
Arc ネイティブ USDC 残高と外部市場の USDC ERC-20 インターフェースは同じクォート資産に対応しますが、精度は異なります。現コードでは:
| 場面 | 精度 | USDC 一単位 |
|---|---|---|
| カーブ市場支払い、Factory 帳簿、Engine 内部記帳 | native18 | 10¹⁸ |
| 外部市場 Pair の USDC ERC-20 インターフェース | external6 | 10⁶ |
| 両者の変換比率 | — | 10¹² |
移行対象の実 USDC 準備金を
ここで
移行余剰の帰属
移行は未移行カーブ全体の負債から当該カーブの
3. フルスケール完売例と三種類の評価
計算例 D:初期状態から一括で完売、税・寄付なし
793,100,000 Token を購入する 曲線に入る純米USDCは:
| 項目 | 正確な結果 |
|---|---|
| カーブへのネット USDC | 12,161.433369060378706681 |
| Pair に追加する Token | 206,900,000 Token |
| Pair に追加する USDC | 12,161.433369 USDC |
| external6 USDC 整数 | 12,161,433,369 |
| 移行余剰 | 0.000000060378706681 USDC |
以上は初期基準を明確にした一回限りの計算例であり、複数売買のすべての経路で最小単位まで完全に同じ累積結果になることを保証しません。取引ごとの整数丸めと正確な予算のエントリーポイントにより差が生じます。
カーブ市場終点、外部市場実値、理想基準点を混同しない
| 指標 | 本例の値 | 用途 |
|---|---|---|
| 最終注文後のカーブ仮想 USDC | 16,453.433369060378706681 | カーブ市場終了時の仮想準備金記録 |
| カーブ終点の仮想 Token | 279,900,000 | カーブ市場終了時の仮想準備金記録 |
| カーブ終点のプロトコル時価総額 | 58,783.256052377201524405 USDC | カーブ仮想準備金で計算 |
| 実外部市場の初期 USDC | 12,161.433369 | 実 Pair 資金 |
| 実外部市場の初期 Token | 206,900,000 | 実 Pair 資金 |
| 実外部市場の初期プロトコル時価総額 | 58,779.281628806186563557 USDC | actualStartMarketCap |
| 固定理想移行 USDC パラメータ | 12,161.433370 | リスクモデルのパラメータ。強制的な送金額ではない |
| 固定理想移行時価総額 | 58,779.281633639439342677 USDC | startMarketCap。リスク/証拠金曲線の基準点 |
実外部市場の初期価格は約 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 mint 後は Token 準備金が移行枠と等しく、USDC 準備金が移行前の実 USDC 残高 + 今回の入池 USDCと等しいことを検証します。不一致なら PairContaminated または対応する検証エラーでロールバックします。
設定スナップショットはバージョン番号だけを確認するものではありません。移行時には Engine デプロイヤー、Engine 実装、取引場所の Factory/Router のコードハッシュと関連付けを再検証し、Engine パラメータハッシュと Oracle 設定を確認します。さらに Pair 初期化コードハッシュで予想アドレスを導出し、実行時コードハッシュで実 Pair を検証します。デプロイヤーや実装の実行コードが登録値と異なれば、変更後実装を暗黙に使用せず、最終買い注文をアトミックにロールバックします。
上記は任意規模の寄付を受け入れる保証ではありません。Pair の整数準備金範囲、LP mint、その他の実行制約は引き続き適用されます。準備金未反映の寄付は移行前に Pair の通常操作で取り出され得るため、移行実行時の残高を基準にしてください。
寄付の行き先
移行時の既存 USDC 残高を
当該カーブが追加する Token は引き続き固定の 206,900,000 です。移行時に残る USDC 寄付は実プールへ入り、寄付者や最後の買い手には返されません。実際の初期価格と actualStartMarketCap,固定理想移行基準点は書き換えません。移行瞬間の高価格寄付だけで容量の時間加重開放が即座に完了することもありません。
計算例 E:例 D の主 Pair に 170 USDC を追加で保持
| 項目 | 寄付なし | 170 USDC 寄付を追加 |
|---|---|---|
| 外部市場 Token 準備金 | 206,900,000 | 206,900,000 |
| 外部市場 USDC 準備金 | 12,161.433369 | 12,331.433369 |
| 実初期プロトコル時価総額 | 58,779.281628806186563557 | 59,600.934601256645722571 |
| 固定理想移行時価総額 | 58,779.281633639439342677 | 58,779.281633639439342677 |
Factory への直接 USDC 送金は別です。特定 Token の realNativeReservesは自動的に増えないため、その Token の移行資金に自動的になることもありません。カーブ帳簿残高、Factory 総残高、Pair 実残高を分けて理解してください。
5. LP と貸出在庫の最終的な行き先
初期 LP はすべて通常の保有者が償還できない
同時に今回の mint LP が 0 より大きく、総 LP が今回返された流動性数量より大きいことを要求し、V2 の初期最小流動性構造をカバーします。作成者、運用担当、プロトコルウォレット、最後の買い手はいずれも今回の移行 LP を受け取りません。
ここで「LP バーン」とは LP をゼロアドレスが保有し、通常アカウントが取り出して償還できないことで、ERC-20 総供給量 が 0 になることではありません。Pair 内の Token もバーンされません。移行検証は初期時点が対象であり、外部 AMM が将来一切流動性追加や別 LP mint をしないとは主張できません。
貸出準備金は独立したまま
199,861,071 Token は事前計算した Engine アドレスに既にあり、移行は Engine のデプロイ・初期化のみを行います。再 mint せず、この元本を Pair へ移しません。Engine 初期化は実 Pair 準備金を読み、独立帳簿で利用可能貸出元本を追跡します。