mcpField
G
grimoire-pendle

grimoire-pendle

github.com/franalgabaその他61.0k 回インストール25 週間前に更新
リポジトリ

grimoire-pendle について

grimoire-pendleは、spellの作成や実行に向けてPendleのメタデータを調べ、ルーティング設定を事前確認するスキルです。マーケットやトークン情報を照会し、Pendleトークンのシンボル解決とルート出力の比較を行います。

主な機能

  1. 01対応チェーンとアグリゲーターの照会
  2. 02マーケットと資産の一覧表示
  3. 03マーケットトークンアドレスの照会
  4. 04ビルド時のPT、YT、SYシンボル解決
  5. 05ルート出力見積もりの比較

活用シーン

  1. 01spell作成前のマーケット検索と選択
  2. 02マーケットに対応するPT、YT、SYアドレスの取得
  3. 03ルーティング設定と見積もり出力の確認

インストール

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

$npx skills add https://github.com/franalgaba/grimoire --skill grimoire-pendle

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

詳細

Grimoire Pendle スキル

このスキルを使って Pendle のメタデータを確認し、スペルを実行する前に Pendle のルーティング設定を事前チェックします。

推奨される呼び出し方法:

  • grimoire venue pendle ...
  • npx -y @grimoirelabs/cli venue pendle ...(インストール不要)
  • bun run packages/cli/src/index.ts venue pendle ...(リポジトリ内で実行)
  • grimoire-pendle ...(@grimoirelabs/venues から直接実行するバイナリ)

推奨される事前チェック:

  • grimoire venue doctor --adapter pendle --chain 1 --rpc-url <rpc> --json

コマンド

  • grimoire venue pendle info [--base-url <url>] [--format <auto|json|table>]
  • grimoire venue pendle chains [--base-url <url>] [--format <auto|json|table>]
  • grimoire venue pendle supported-aggregators --chain <id> [--base-url <url>] [--format <auto|json|table>]
  • grimoire venue pendle markets [--chain <id>] [--active <true|false>] [--base-url <url>] [--format <auto|json|table>]
  • grimoire venue pendle assets [--chain <id>] [--type <PT|YT|LP|SY>] [--base-url <url>] [--format <auto|json|table>]
  • grimoire venue pendle market-tokens --chain <id> --market <address> [--base-url <url>] [--format <auto|json|table>]

例

grimoire venue pendle info --format table
grimoire venue pendle chains
grimoire venue pendle supported-aggregators --chain 1 --format json
grimoire venue pendle markets --chain 1 --active true --format table
grimoire venue pendle assets --chain 8453 --type PT --format table
grimoire venue pendle market-tokens --chain 8453 --market 0x... --format json

作成ワークフロー

Pendle では、まずマーケットを確認する必要があります。利用可能なマーケットを照会する前に、Pendle のスペルを書かないでください。

  1. 対象のチェーンと原資産について、マーケットを照会します:

    grimoire venue pendle markets --chain 1 --active true --format json
    
  2. マーケットを選択します。アドレスと満期を記録してください。マーケットごとに PT/YT/SY トークンが異なります。

  3. マーケットトークンを照会し、正確なトークンアドレスを取得します:

    grimoire venue pendle market-tokens --chain 1 --market 0x... --format json
    
  4. 手順 3 のトークンアドレスを使ってスペルを書きます:

    pendle.add_liquidity(0x<SY_address>, params.amount) with (max_slippage=100)
    
よくある間違い
  • pendle.deposit(USDC, ...) — Pendle に deposit アクションはありません。add_liquidity、mint_py、mint_sy、または swap を使用してください。
  • アドレスを指定せずにトークンシンボルを使用する — PT/YT/SY トークンは Pendle API を通じて自動解決されますが、USDC などの標準トークンでは、そのトークンの最小単位で生の数量を指定する必要があります。
  • enable_aggregator の指定漏れ — ルートによってはアグリゲーターが必要です。ルートが見つからない場合は、with() 句に enable_aggregator=true を指定して再試行してください。
サポートされているアクション
アクション説明入力出力
swap任意の Pendle トークン間でスワップします単一トークン単一トークン
add_liquidity単一側から流動性を追加します原資産/SYLP トークン
remove_liquidity単一側から流動性を取り除きますLP トークン原資産/SY
mint_py原資産から PT と YT をミントします原資産/SYPT + YT
redeem_pyPT と YT を原資産に償還しますPT + YT原資産/SY
mint_sy原資産を SY にラップします原資産SY
redeem_sySY を原資産にアンラップしますSY原資産

メトリクスの仕様(スペルの比較)

Pendle は、ルート出力の比較に quote_out を提供します:

pendle_out = metric("quote_out", pendle, USDC, "asset_out=DAI,amount=1000000,slippage_bps=1000")

セレクターフィールド:

  • 必須:asset_out
  • 任意:amount(入力アセットの 1 単位を既定値とします)、slippage_bps、enable_aggregator

スペルの制約

.spell ファイルで Pendle アクションを記述する場合は、with 句を使用します:

pendle.swap(PT_TOKEN, SY_TOKEN, params.amount) with (
  max_slippage=100,
  require_quote=true,
)
制約型説明
max_slippage整数(bps)最大スリッページ。[0, 10000] の整数として検証され、API 用に小数へ変換されます
min_output整数(wei)出力額の下限
require_quote真偽値Pendle API の見積もりが失敗した場合に処理を失敗させます
max_gas整数(wei)ガス見積もりの上限

Pendle の swap がサポートするのは mode: exact_in のみです。exact_out はサポートされていません。

Pendle API が複数のルートを返す場合、アダプターは最初の(最良の)ルートを選択し、onWarning を通じて警告を出力します。これは JSON 以外の CLI 実行時にログへ記録されます。

PT/YT/SY トークンの解決

Pendle の PT、YT、SY トークン(例:PT_FXSAVE、YT_EETH、SY_WSTETH)は、ビルド時に Pendle API を通じて自動的に解決されます。明示的なアドレスを指定しなくても、これらのシンボルをそのままスペル内で使用できます。

pendle.swap(PT_FXSAVE, USDC, params.amount) with (max_slippage=100)

アダプターは、アンダースコア区切りの名前(例:PT_FXSAVE)を Pendle API の形式に変換し、最適な一致を選択します。複数の満期がある場合は、最初の(一番近い)満期が選択されます。

特定の満期を指定する場合や、あいまいさを解消する場合は、代わりに完全な 0x アドレスを使用してください。

pendle.swap(0xb1e926428ebec4421cce1ec6d9ff65d27f4b4bb6, USDC, params.amount)

grimoire venue pendle assets --chain <id> --type PT を使用すると、利用可能なトークンとアドレスを確認できます。

注意事項

  • デフォルトの API ベース URL は https://api-v2.pendle.finance/core です。
  • --base-url または PENDLE_API_BASE_URL でベース URL を上書きできます。
  • 自動化やネストされたペイロードには --format json を使用してください。
  • Pendle の swap が現在サポートしているのは mode: exact_in のみです。
  • 明示的に有効化しない限り、アダプターのアクションではアグリゲーターはデフォルトで無効になっています。
  • Pendle のトークン出力(assetOut、outputs)には、引用符で囲んだ文字列(\"0x...\")ではなく、アドレスのリテラル値(0x...)を使用してください。
  • アドレスのように見える値を引用符で囲むと、バリデーターコード QUOTED_ADDRESS_LITERAL が発生します。
  • max_slippage は [0, 10000] の整数 bps として検証され、API リクエストの前に小数(bps / 10000)へ変換されます。

コメント