Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →

1 段落での説明

CPMM — Constant Product Market Maker(Raydium UI では公式に「Standard AMM」と呼ばれます)は、古典的な x · y = k AMM の Solana ネイティブ実装です。OpenBook オーダーブック、Serum レガシー、SPL Token と Token-2022 以外の外部依存関係はありません。すべてのプールは(2 つのトークンボルト、1 つの LP ミント)の 3 つ組で構成され、プログラム所有の権限 PDA によって管理され、ボルト残高の積によって価格が決定されます。これは Raydium が新しいすべての定数積プールに推奨する AMM であり、/pools/create エンドポイントと Web UI の「Create pool」フローがデフォルトでターゲットにするものです。

CPMM が提供するもの

クリエイターフィー収集の更新。 任意のペイヤーが CollectCreatorFeePermissionless をトリガーできます。資金はプールクリエイターの正規トークンアカウントにのみ送られ、既存のクリエイター署名済み CollectCreatorFee は引き続き利用可能です。Instructions を参照してください。
  • 検証済み拡張機能許可リスト付き Token-2022。 CPMM は任意の Token-2022 ミントを受け入れません。プログラムはプール作成時に安全な拡張機能のホワイトリストを強制します:TransferFeeConfigMetadataPointerTokenMetadataInterestBearingConfigScaledUiAmount。ミント上の他の拡張機能は InitializeNotSupportMint で拒否します。ただし、ミント自体がプログラムで保持される小さなハードコードされたミント許可リスト上にある場合は除きます(特定のミントをケースバイケースでオンボードするために使用)。特に転送フィーはスワップ数学に影響を与え、トレードの正しい側に適用されます。algorithms/token-2022-transfer-fees を参照してください。
  • 予測可能なフィー。 各プールは作成時に選択された AmmConfig を参照します。設定には取引フィーレート(LP、プロトコル、ファンドに分割)と別の独立したクリエイターフィーレートが含まれます。クリエイターフィーは独自のバケットです。取引フィーのスライスではありません。プールは作成時にそれを請求することを選択します。デフォルトと完全な分割数学は products/cpmm/fees にあります。
  • オブザベーション リング バッファを介したオンチェーン TWAP。 すべてのスワップは observation アカウントを更新します。外部コントラクトは累積価格オブザベーションを読み取り、カスタムオラクルなしで TWAP を計算できます。
  • フラットなアカウント レイアウト。 プールは 6 つの PDA(権限、プール状態、LP ミント、2 つのボルト、オブザベーション)で完全に記述されます。マーケットごとの OpenBook アカウント、イベント キュー、リクエスト キューはありません。トランザクションは計算とアカウント数の両方で AMM v4 より安価です。
  • バーン・アンド・アーン互換。 LP トークンは LP Lock プログラムの下でロックでき、プールクリエイターはリクイディティを引き出す権利を保持することなくフィーを請求し続けることができます。「永続的な」リクイディティ ローンチに使用されます。

CPMM ではないもの

  • 集中型ではない。 リクイディティは Uniswap v2 のように全価格範囲に均等に分散されます。資本効率的なマーケット メイキング(つまり、現在の価格の近くにリクイディティを集中させる)が必要な場合は、CLMM を使用してください。
  • ハイブリッドではない。 AMM v4 とは異なり、CPMM プールは OpenBook マーケットに休止中のオーダーを配置しません。CPMM プール間のルーティングは CLOB ではなく AMM Routing プログラムを通じて行われます。
  • 任意の曲線でローンチ可能ではない。 曲線は定数積にハードコードされています。トークン ローンチ用のボンディング曲線が必要な場合は、LaunchLab を使用してください。これは満杯になると CPMM プールに卒業します。

CPMM と AMM v4 の違い

マイグレーション ストーリーの詳細な説明は protocol-overview/versions-and-migration にあります。

メンタル モデル

CPMM プールはプログラム所有のオブジェクトで、3 つの残高を保持します:vault0(token0)、vault1(token1)、LP ミントの供給量です。LP ミントの供給量はデポジターのプールに対する請求権を追跡します。トークン ボルトは実際の資産を保持します。その他すべて(権限 PDA、オブザベーション アカウント、フィー設定ポインター)は、その 3 変数関係を取引可能、フィー収集可能、観測可能にするためのブックキーピングです。 すべてのユーザー向け操作は、明確に定義された状態遷移に縮約されます:
  • デポジット: token0 と token1 を転送、ユーザーに LP をミント、価格に変化なし。
  • ウィズドロー: ユーザーから LP をバーン、プールの現在の比率で token0 と token1 を転送、価格に変化なし。
  • スワップ: 1 つのトークンを転送、もう 1 つを転送。比率は x · y = k 曲線に沿って移動します(フィーを除く)。オブザベーション アカウントは新しい価格をサンプリングします。
フィー収集は別のトランザクションです。すべてのスワップで発生するわけではありません。プロトコルとファンド収集には、それぞれの権限が必要です。クリエイター フィーは、クリエイター署名パスまたは宛先制約パスを通じたパーミッションレス呼び出し元によって収集できます。数学は products/cpmm/math に、命令セットは products/cpmm/instructions に説明されています。

CPMM を選択する場合

以下の場合に CPMM を選択してください:
  • 新しいトークンまたは新しいペアをローンチしており、どの範囲で取引が行われるかについて強い意見がない。
  • トークンの一方または両方が Token-2022 拡張機能を使用している。
  • 動的なティックベースのモデルよりも単純なトレードあたりのフィー モデルが必要。
  • 統合中で、CLMM ポジションの複雑さを引き受けることなく Raydium を通じてルーティングしたい。
以下の場合は CLMM を選択してください:
  • ペアが安定しているか高度に相関している(ステーブルコイン対ステーブルコイン、LST-SOL)で、パリティの周辺にリクイディティを集中させたい。
  • TVL あたりのドルあたりのフィー APR を高くするために、積極的に範囲を管理する意思のあるマーケット メイキング チーム。
以下の場合は AMM v4 を選択してください:
  • 既存の AMM v4 ツーリングを移行しており、新しいプールを作成していない。
(注:AMM v4 の OpenBook ハイブリッド モードはもはやアクティブではありません。これは AMM v4 を選択する理由ではなくなりました。)

次のステップ

  • Accounts — CPMM プールの 6 つの PDA とそれらの導出方法。
  • MathSwapBaseInput vs SwapBaseOutput、Token-2022 転送フィー処理、オブザベーション更新。
  • Instructions — 完全な命令サーフェスとアカウント リスト。
  • Fees — 4 方向フィー分割と収集方法。
  • Code demos — create / swap / deposit / withdraw の実行可能な TypeScript スニペット。
ソース: