Hooks
hookの開発に関する詳細な技術ドキュメントをお探しの開発者の方は、こちらをご覧ください。
HooksはPancakeSwap Infinityの流動性プールの動作を開発者が拡張・カスタマイズできる強力なアドオンです。流動性プールに新機能を追加する「プラグイン」や「ウィジェット」のようなものだと考えてください。
🔍 Hooksとは何ですか?
Hooksは開発者、プロトコル、またはコミュニティメンバーなど誰でも作成できる外部スマートコントラクトであり、流動性プールにアタッチして動作を拡張または変更します。
各プールにアタッチできるhookは1つのみですが、1つのhookが多くのプールに対応できます。
Hooksは以下のような主要なアクションの前後にカスタムコードを実行できます:
プールの初期化
スワップ
流動性の追加・削除
寄付
⛓️ Hooksの仕組み:
Hookはプール作成時に選択され、後で変更することはできません。
Hookコントラクトは特定のアクション(スワップ、流動性追加など)時にトリガーされ、コントラクト内で定義されたロジックをそれらのアクションの前後に実行します。
例えば、hookは以下のことができます:
CAKEホルダーにスワップ手数料の割引を提供する
カスタム手数料を徴収して報酬を配布する
StableSwapやTWAMM形式の注文などの新しいスワップロジックを有効にする
⚙️ Hookコールバック
Hooksは10の特定のタイミングでトリガーできます。開発者はどれを実装するかを選択できます:
beforeInitialize / afterInitialize
beforeAddLiquidity / afterAddLiquidity
beforeRemoveLiquidity / afterRemoveLiquidity
beforeSwap / afterSwap
beforeDonate / afterDonate
これらにより、hooksを通じて高度にカスタマイズ可能なモジュラーな動作を実装できます。
🔧 2種類のHooks
タイプ1:承認不要
これらのhooksは自動的に実行され、ユーザーの許可を必要としません。スワップや流動性変更などのアクションによってトリガーされます。
例:
動的手数料:市場のボラティリティに基づいてスワップ手数料を調整する
手数料リベート:CAKEを保有しているユーザーや高取引量のユーザーに割引を提供する
フロー例(CAKE手数料割引):
ユーザーがスワップを開始します。
Hookが
beforeSwaphookコールバックを通じてユーザーのCAKE残高を確認します。ユーザーが定義された閾値に達するほど十分なCAKEを保有している場合、プール手数料が50%割引になります。
トランザクションの残りは通常通り進行します。
これらのhooksは特別なUIや追加の操作を必要としません。メリットは自動的に適用されます。
タイプ2:ユーザーの承認が必要
これらのhooksは、ユーザーが直接やり取りし、承認を提供する必要があり、ポジションの作成や管理のために資金の転送が必要になる場合があります。
例:
指値注文:目標価格に達した時にのみスワップを実行する。
TWAMM:より良い約定のために大きな注文を小さく分割する。
アクティブ流動性管理:最適な収益のためにLPポジションを自動管理する。
フロー例(指値注文Hook):
ユーザーがhookコントラクトと直接やり取りします(通常のスワップUIではありません)。
指値価格、トークンペア、数量などの詳細を入力します。
Hookが注文を表すレシートトークンを発行します。
その後、プール価格が目標に達したとき、hookがafterSwapを使用して注文を実行します。
ユーザーはレシートトークンを返却してスワップされたアセットを受け取ることができます。
これらのhooksはカスタムUIが必要なことが多く、ユーザーはhookコントラクトが資金を保持することを信頼し承認する必要があります。
🚀 活用例とイノベーション
Hooksは無限の可能性を開きます:
カスタムAMM(例:ステーブルコイン曲線)
流動性マイニング報酬
自動取引戦略、流動性管理
オンチェーン指値注文、その他の注文タイプ
動的価格設定と手数料調整
収益強化LP戦略
Hooksを使用することで、開発者はPancakeSwap Infinityの既存インフラを活用して全く新しいDeFi体験を構築でき、開発のスピードアップとコスト削減が実現できます。
Last updated
Was this helpful?