Saltar al contenido principal
GET
Listar versiones de IDL
Los parámetros de ruta, el esquema de respuesta y los ejemplos de esta página se generan a partir de la definición de OpenAPI. Listar versiones de IDL devuelve el historial de la interfaz de un programa desde el catálogo de IDL que Eventos analizados y Flujos analizados usan para decodificar instrucciones. Cada elemento representa una versión, identificada por el slot en el que se activó. Los elementos se ordenan del más antiguo al más reciente, por lo que el último corresponde a la versión actual. Pasa cualquier slot de la respuesta a Obtener IDL para recuperar el documento IDL de esa versión. El explorador Orb usa estos endpoints para mostrar los IDL de los programas.

Casos de uso

  • Rastrea los cambios en la interfaz. Consulta periódicamente Listar versiones de IDL para un programa del que dependas. Cuando aparezca una nueva versión, obtén esa versión y la anterior con Obtener IDL y compara sus instructions. Una nueva instrucción de administrador o autoridad amerita una revisión de seguridad.
  • Comprueba la cobertura del catálogo. Un 404 significa que el catálogo no tiene un IDL para el programa. Los programas como SPL Token se decodifican mediante decodificadores integrados y también devuelven 404.

Ejemplo: detectar una nueva versión de IDL

Este script lista las versiones de IDL de un programa, obtiene las dos más recientes e imprime las instrucciones que se agregaron o eliminaron:
diff-idl-versions.js
Para detectar cambios con el tiempo, almacena el slot de la última versión que hayas visto y compáralo en cada consulta periódica.

Créditos

Cada solicitud cuesta 10 créditos y está disponible en todos los planes. El ejemplo anterior realiza tres solicitudes, por lo que cuesta 30 créditos. Consulta Créditos.

Errores

Otros errores devuelven un cuerpo JSON con un mensaje error, como {"error": "no IDLs found for program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}.

Parámetros de la solicitud

string
requerido
Dirección del programa, codificada en base58.

Autorizaciones

api-key
string
query
requerido

Parámetros de ruta

programId
string
requerido

Dirección del programa, codificada en base58.

Ejemplo:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

Respuesta

Las versiones de IDL del programa, ordenadas por slot de forma ascendente.

slot
integer<uint64>
requerido

Slot en el que se activó esta versión de la IDL. Pásalo a Obtener IDL para recuperar esta versión.

sources
string[]
requerido

Dónde encontró Eventos analizados esta versión. Los valores incluyen anchor, program_metadata y github, y se pueden agregar más. Una versión puede tener más de una fuente.