このページは 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 ミントを受け入れません。プログラムはプール作成時に安全な拡張機能のホワイトリストを強制します:
TransferFeeConfig、MetadataPointer、TokenMetadata、InterestBearingConfig、ScaledUiAmount。ミント上の他の拡張機能はInitializeをNotSupportMintで拒否します。ただし、ミント自体がプログラムで保持される小さなハードコードされたミント許可リスト上にある場合は除きます(特定のミントをケースバイケースでオンボードするために使用)。特に転送フィーはスワップ数学に影響を与え、トレードの正しい側に適用されます。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 を通じてルーティングしたい。
- ペアが安定しているか高度に相関している(ステーブルコイン対ステーブルコイン、LST-SOL)で、パリティの周辺にリクイディティを集中させたい。
- TVL あたりのドルあたりのフィー APR を高くするために、積極的に範囲を管理する意思のあるマーケット メイキング チーム。
- 既存の AMM v4 ツーリングを移行しており、新しいプールを作成していない。
次のステップ
- Accounts — CPMM プールの 6 つの PDA とそれらの導出方法。
- Math —
SwapBaseInputvsSwapBaseOutput、Token-2022 転送フィー処理、オブザベーション更新。 - Instructions — 完全な命令サーフェスとアカウント リスト。
- Fees — 4 方向フィー分割と収集方法。
- Code demos — create / swap / deposit / withdraw の実行可能な TypeScript スニペット。

