流動性プール
x/liquiditypoolモジュールは、Sunriseブロックチェーンに集中流動性自動マーケットメーカー(AMM)メカニズムを実装します。このモジュールにより、ユーザーは流動性プールを作成し、特定の価格範囲でポジションを追加し、取引手数料やインセンティブから報酬を得ることができます。
主な特徴
「主な特徴」セクションへのリンク- 集中流動性AMM:
- Uniswap V3と同様のモデルに従い、流動性プロバイダーは特定の価格範囲内に資産を集中させることができます。
- 従来の定数積AMMと比較して、資本効率が向上します。
- ポジションベースの流動性:
- ユーザーは、定義された価格範囲(ティック)でポジションを作成します。
- 各ポジションには一意のIDがあり、流動性プロバイダーの貢献を追跡します。
- 手数料の生成:
- ポジションは、その価格範囲内で発生した取引から手数料を得ます。
- 手数料は、プールのベースデノミネーションとクォートデノミネーションで徴収されます。
vRISEインセンティブ:- 流動性プロバイダーは、追加のインセンティブとしてvRISEトークンを獲得します。
- 詳細については、流動性インセンティブを参照してください。
コア機能
「コア機能」セクションへのリンク注意: 次のセクションでは、経験豊富なユーザーまたは開発者向けの高度なトピックについて説明します。
プール管理
「プール管理」セクションへのリンク各プールは、いくつかのパラメータによって定義されます:
id: プールの一意の識別子denom_base&denom_quote: トークンペアのデノミネーションfee_rate: プール内のスワップで請求される手数料tick_params: ティックシステムを定義するパラメータcurrent_tick,current_tick_liquidity,current_sqrt_price: 現在の状態変数
ティックシステム
「ティックシステム」セクションへのリンクティックシステムは、価格比率の式に基づいています。
一般的なケース(price_ratio = 1.0001、base_offset = 0)では:
これにより、特定の価格範囲内に流動性を正確に配置できます。
ワークフロー:ポジションの作成と使用
「ワークフロー:ポジションの作成と使用」セクションへのリンク注意: 次のセクションでは、経験豊富なユーザーまたは開発者向けの高度なトピックについて説明します。
sequenceDiagram
participant User as ユーザー
participant LiquidityPool as x/liquiditypool モジュール
participant SwapModule as x/swap モジュール
User->>LiquidityPool: MsgCreatePosition
LiquidityPool->>User: ポジションIDを返す
User->>LiquidityPool: MsgIncreaseLiquidity
LiquidityPool->>User: 新しいポジションIDを返す
User->>LiquidityPool: MsgDecreaseLiquidity
LiquidityPool->>User: トークンを返す
User->>SwapModule: スワップを実行(x/swap経由)
SwapModule->>LiquidityPool: プールの流動性を使用
LiquidityPool->>LiquidityPool: ポジションの手数料を徴収
LiquidityPool->>User: スワップされた金額を送信
User->>LiquidityPool: MsgClaimRewards
LiquidityPool->>User: 獲得した手数料とvRISEインセンティブを送金
メッセージ
「メッセージ」セクションへのリンクこのモジュールは、さまざまなメッセージタイプを提供します。
- MsgUpdateParams:モジュールパラメータの更新(ガバナンス操作)
- MsgCreatePool:指定されたパラメータで新しい流動性プールを作成
- MsgCreatePosition:プール内の価格範囲内にポジションを作成
- MsgIncreaseLiquidity:既存のポジションに流動性を追加
- MsgDecreaseLiquidity:既存のポジションから流動性を削除
- MsgClaimRewards:ポジションで蓄積された手数料とインセンティブを請求
このモジュールは、さまざまなクエリエンドポイントを提供します。
- Params:モジュールパラメータのクエリ
- Pool:特定のプールの詳細を取得
- Pools:すべての流動性プールを一覧表示
- Position:特定のポジションの詳細を取得
- Positions:すべてのポジションを一覧表示
- PoolPositions:特定のプール内のポジションを一覧表示
- AddressPositions:アドレスが所有するポジションを一覧表示
- PositionFees:ポジションで発生した手数料を取得
- CalculationCreatePosition:ポジション作成のプレビュー
- CalculationIncreaseLiquidity:流動性増加のプレビュー
詳細については、Githubを参照してください。