Passer au contenu principal
GET
Répertorier les versions de l’IDL
Les paramètres de chemin, le schéma de réponse et les exemples de cette page sont générés à partir de la définition OpenAPI. Répertorier les versions d’IDL renvoie l’historique de l’interface d’un programme depuis le catalogue d’IDL utilisé par Parsed Events et Parsed Streams pour décoder les instructions. Chaque élément correspond à une version, identifiée par le slot auquel elle est devenue active. Les éléments sont triés du plus ancien au plus récent ; le dernier correspond donc à la version actuelle. Transmettez n’importe quelle valeur slot de la réponse à Obtenir un IDL pour récupérer le document IDL de cette version. L’explorateur Orb utilise ces endpoints pour afficher les IDL des programmes.

Cas d’utilisation

  • Suivre les modifications de l’interface. Interrogez régulièrement Répertorier les versions d’IDL pour un programme dont vous dépendez. Lorsqu’une nouvelle version apparaît, récupérez-la ainsi que la précédente avec Obtenir un IDL, puis comparez leurs instructions. L’ajout d’une instruction d’administration ou d’autorité mérite un examen de sécurité.
  • Vérifier la couverture du catalogue. Une réponse 404 signifie que le catalogue ne contient aucun IDL pour le programme. Les programmes tels que SPL Token sont plutôt décodés par des décodeurs intégrés et renvoient également 404.

Exemple : détecter une nouvelle version d’IDL

Ce script répertorie les versions d’IDL d’un programme, récupère les deux plus récentes et affiche les instructions ajoutées ou supprimées :
diff-idl-versions.js
Pour détecter les modifications au fil du temps, stockez la valeur slot de la dernière version observée et comparez-la lors de chaque interrogation.

Crédits

Chaque requête coûte 10 crédits et est disponible avec toutes les offres. L’exemple ci-dessus effectue trois requêtes et coûte donc 30 crédits. Consultez Crédits.

Erreurs

Les autres erreurs renvoient un corps JSON contenant un message error, tel que {"error": "no IDLs found for program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}.

Paramètres de la requête

string
requis
Adresse du programme, encodée en base58.

Autorisations

api-key
string
query
requis

Paramètres de chemin

programId
string
requis

Adresse du programme, encodée en base58.

Exemple:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

Réponse

Versions de l’IDL du programme, triées par slot croissant.

slot
integer<uint64>
requis

Slot auquel cette version de l’IDL est devenue active. Transmettez-le à Obtenir l’IDL pour récupérer cette version.

sources
string[]
requis

Emplacements où Événements analysés a trouvé cette version. Les valeurs comprennent anchor, program_metadata et github, et d’autres pourront être ajoutées. Une version peut avoir plusieurs sources.