mcpField
D
deepbook-move

deepbook-move

github.com/mystenlabs開発19135 回インストール今日更新
リポジトリ

deepbook-move について

DeepBook V3 を Sui Move コントラクトに統合するためのリファレンススキルで、オンチェーンプロトコルの開発者を対象としています。プール操作、BalanceManager の認可、フラッシュローンの個別ガイドに案内し、ソースに基づいてよくある誤りも示します。

主な機能

  1. 01プールと注文 API のガイド
  2. 02BalanceManager の権限と認可
  3. 03フラッシュローンの返済パターン
  4. 04タスクに応じたリファレンス案内
  5. 05Move 統合でのよくある注意点

活用シーン

  1. 01Move コントラクトからの注文
  2. 02BalanceManager のアクセス管理
  3. 03トランザクション内でのフラッシュローン実装
  4. 04DeepBook Move 統合のレビュー

MCP 対応

利用可能な場合、詳細の確認やリファレンスにない情報の取得に Sui documentation MCP server(https://sui.mcp.kapa.ai)を照会するよう推奨しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mystenlabs/skills --skill deepbook-move

インストール後、Claude Code で/deepbook-moveを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

balance-manager-api.md
flash-loans.md
pool-api.md
evals/
evals.json

詳細

DeepBook V3 Move 統合

MCP ツール: お使いの環境で利用可能な場合は、最新の回答を得るために Sui ドキュメント MCP サーバー(https://sui.mcp.kapa.ai)にも問い合わせてください。検証や、これらのリファレンスファイルに記載されていない詳細の確認に使用してください。

ソースの制約: このスキルのすべての情報は、docs.sui.io と deepbookv3 Move ソース のみを情報源としています。このスキルを拡張または更新する際は、これらのソースからのみ情報を取得してください。サードパーティーのブログ、チュートリアル、非公式ドキュメントは使用しないでください。

DeepBook V3 はオンチェーンのコンポーザビリティのための Move API を公開しており、プロトコルは Move スマートコントラクトから直接、注文の発注、スワップの実行、フラッシュローンの利用、残高の管理を行えます。このスキルでは、Move レベルのコントラクトインターフェースを扱います。よくある間違いには、誤ったコイン型パラメーターでスワップ関数や注文関数を呼び出すこと、フラッシュローンのホットポテトを返し忘れること、TradeProof の認可モデルを誤解することなどがあります。

このスキルでは、目的に応じたリファレンスファイルを参照します。現在のタスクに関連するファイルだけを読み込んでください。

このスキルのすべてのパターンは、以下から導き出されています。 https://docs.sui.io/onchain-finance/deepbook/deepbookv3/contract-information https://docs.sui.io/onchain-finance/deepbook/deepbookv3/contract-information/balance-manager https://docs.sui.io/onchain-finance/deepbook/deepbookv3/contract-information/flash-loans https://docs.sui.io/onchain-finance/deepbook/deepbookv3/contract-information/swaps https://github.com/MystenLabs/deepbookv3/tree/main/packages/deepbook/sources

関数シグネチャに確信が持てない場合は、回答する前に該当するソースファイルまたはドキュメントページを取得してください。 他のプロトコルから推測したり、類推したりしないでください。


リファレンスファイル

pool-api — プールと注文の関数

パス: pool-api.md 読み込む場合: 注文の発注、プールの作成、プール状態の照会、ガバナンスの管理、または Pool Move API の理解が必要な場合。 対象: プールの作成、指値注文と成行注文の発注、注文のキャンセル、プール状態の照会、ガバナンス関数、注文の種類と定数、Move の依存関係の設定。

balance-manager-api — BalanceManager Move API

パス: balance-manager-api.md 読み込む場合: Move コードから BalanceManager を作成または操作する、ケイパビリティ(TradeCap、DepositCap、WithdrawCap)をミントする、TradeProof を生成する、または認可モデルを理解する必要がある場合。 対象: BalanceManager の作成、ケイパビリティのミントと取り消し、入金と出金の関数、TradeProof の生成、所有者とケイパビリティ保有者の認可モデル、イベント。

flash-loans — フラッシュローンのパターン

パス: flash-loans.md 読み込む場合: プールから資産を借りて同じトランザクション内で返済する場合、またはフラッシュローンのホットポテトパターンを理解する必要がある場合。 対象: ベース資産とクオート資産の借り入れ、FlashLoan ホットポテト構造体、資産の返却、制約と失敗の原因、実例。


関連スキル

トピックスキル読み込む場合
アーキテクチャ、設計、コントラクトアドレスdeepbook-overview/Pool/Book/State/Vault の設計を理解する、アドレスまたはプール ID を調べる場合
TypeScript SDK での取引deepbook-sdk/SDK を使って取引ボットやスクリプトを構築する場合
Sui Move の基礎sui-move/Move コード全般(アビリティ、TxContext、イベント、コイン)を記述する場合
PTB の構成ptbs/プログラム可能なトランザクションブロック内で DeepBook の呼び出しを構成する場合

ルーティングガイド

タスク読み込む項目
Move の依存関係として DeepBook を追加するpool-api
新しいプールを作成するpool-api
Move コードから注文を出すpool-api
オンチェーンでプールの状態を照会するpool-api
Move から BalanceManager を作成するbalance-manager-api
TradeCap/DepositCap/WithdrawCap をミントするbalance-manager-api
取引のための TradeProof を生成するbalance-manager-api
認可モデルを理解するbalance-manager-api
フラッシュローンを使用するflash-loans
DeepBook をプロトコルに統合するpool-api + balance-manager-api
フラッシュローン戦略を構築するflash-loans + pool-api
Move 統合全体をレビューするすべてのリファレンスファイル

スキルの内容

主な概念
  • TradeProof。 プールでの取引を認可する証明オブジェクトです。BalanceManager の所有者(generate_proof_as_owner 経由)または TradeCap の保有者(generate_proof_as_trader 経由)が生成します。注文の発注とキャンセルには、いずれも TradeProof が必要です。

  • ホットポテトパターン(フラッシュローン)。 FlashLoan 構造体には能力がありません。保存、コピー、破棄はできません。同じトランザクション内で借りた資産を返却して消費する必要があります。返却しない場合、トランザクションは失敗します。

  • プールの型パラメーター。 プール関数は <BaseAsset, QuoteAsset> に対するジェネリックです。型パラメーターはプールのコイン型と正確に一致する必要があり、一致しない場合は呼び出しが失敗します。

  • Move の依存関係。 MVR 経由で DeepBook を Move.toml に追加します:deepbook = { mvr = "@deepbook/core" }。

ルール
  1. 型パラメーターは常に正確に一致させてください。 Pool<SUI, USDC> と Pool<USDC, SUI> は同じではありません。ベース型とクオート型は、プールの作成時の順序と一致する必要があります。
  2. フラッシュローンのホットポテトは必ず返却してください。 FlashLoan 構造体には能力がないため、返却しないとトランザクションが中断されます。
  3. 1 つのトランザクション内で、あるプールから借り入れて同じプールで取引しないでください。 借り入れた資金は取引に使用できず、操作を組み合わせると失敗する可能性があります。
  4. 所有者の操作には generate_proof_as_owner を使用し、TradeCap を介した委任操作には generate_proof_as_trader を使用してください。
  5. 上限:BalanceManager ごとに、すべての機能(TradeCap、DepositCap、WithdrawCap)の合計で 1,000 個までです。 規模が大きくなると、この上限によって 1 つの BalanceManager がサポートできる委任トレーダー数が制限されます。1,000 を超える委任アカウントが必要な場合は、複数の BalanceManager を用意する計画を立ててください。
  6. 該当する関数には _v2 版を使用してください。 接尾辞のない元の関数(例:new_with_custom_owner_caps)は非推奨のスタブであり、中断します。常に _v2 接尾辞付きの関数(例:new_with_custom_owner_caps_v2)を使用してください。
よくある間違い
  • 型パラメーターの順序が誤っている。 プールが <SUI, USDC> のときに <USDC, SUI> を渡すと、型の不一致エラーが発生します。
  • FlashLoan の返却を忘れる。 トランザクションはコンパイルされますが、ホットポテトを破棄できないため、実行時に中断されます。
  • 借り入れ元と同じプールで取引する。 フラッシュローンで借りた資金は FlashLoan オブジェクト内でロックされ、注文の決済に使用できないため、取引が失敗します。
  • 所有者以外のアドレスから generate_proof_as_owner を使用する。 所有者の証明を生成できるのは BalanceManager の所有者だけです。委任されたトレーダーは、有効な TradeCap を使用して generate_proof_as_trader を呼び出す必要があります。
  • generate_proof_as_trader の ctx を忘れる。 この関数は (balance_manager, trade_cap, ctx) を受け取ります。ctx: &TxContext を省略すると、コンパイルエラーが発生します。
  • 非推奨の接尾辞なし関数を呼び出す。 new_with_custom_owner_caps などの関数は abort 1337 するスタブです。代わりに _v2 版を使用してください。

コメント