メインコンテンツへスキップ
GET
IDL バージョンの一覧表示
このページのパスパラメータ、レスポンススキーマ、例は OpenAPI 定義から生成されています。 List IDL Versions は、Parsed Events と Parsed Streams が命令のデコードに使用する IDL カタログから、プログラムのインターフェース履歴を返します。各項目は 1 つのバージョンを表し、そのバージョンが有効になったスロットによって識別されます。項目は古い順に並ぶため、最後の項目が現在のバージョンです。 レスポンス内の任意の slot を Get IDL に渡すと、そのバージョンの IDL ドキュメントを取得できます。Orb explorer は、これらのエンドポイントを使用してプログラムの IDL を表示します。

ユースケース

  • インターフェースの変更を追跡します。 依存しているプログラムについて、List IDL Versions をポーリングします。新しいバージョンが追加されたら、Get IDL でそのバージョンと直前のバージョンを取得し、それぞれの instructions を比較します。新しい管理者命令や権限命令が追加された場合は、セキュリティレビューを行う価値があります。
  • カタログの対応範囲を確認します。 404 は、カタログにそのプログラムの IDL がないことを示します。SPL Token などのプログラムは、代わりに組み込みデコーダーによってデコードされ、同様に 404 を返します。

例:新しい IDL バージョンを検出する

このスクリプトは、プログラムの IDL バージョンを一覧表示し、最新の 2 つを取得して、追加または削除された命令を出力します。
diff-idl-versions.js
時間の経過に伴う変更を検出するには、最後に確認したバージョンの slot を保存し、ポーリングのたびに比較します。

クレジット

各リクエストのコストは 10 クレジットで、すべてのプランで利用できます。上記の例では 3 回リクエストするため、コストは 30 クレジットです。詳しくはクレジットを参照してください。

エラー

その他のエラーでは、{"error": "no IDLs found for program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"} などの error メッセージを含む JSON 本文が返されます。

リクエストパラメータ

string
必須
base58 でエンコードされたプログラムアドレス。

承認

api-key
string
query
必須

パスパラメータ

programId
string
必須

base58 でエンコードされたプログラムアドレスです。

例:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

レスポンス

プログラムの IDL バージョン。slot の昇順で並べ替えられています。

slot
integer<uint64>
必須

この IDL バージョンが有効になったスロットです。このバージョンを取得するには、IDL の取得に渡してください。

sources
string[]
必須

解析済みイベントがこのバージョンを検出した場所です。値には anchor、program_metadata、github などがあり、今後さらに追加される可能性があります。1 つのバージョンに複数のソースがある場合があります。