Pular para o conteúdo principal
GET
Obter IDL
Os parâmetros de caminho, o esquema de resposta e os exemplos desta página são gerados a partir da definição OpenAPI. Obter IDL retorna a IDL de um programa referente a um slot: a versão mais recente que entrou em vigor em ou antes de slot. slot não precisa corresponder exatamente a uma versão, portanto você pode passar qualquer ponto no histórico. Para buscar uma versão específica, passe o slot dela em Listar versões da IDL. A IDL vem do mesmo catálogo que o Parsed Events e o Parsed Streams usam para decodificar instruções. O explorador Orb usa esses endpoints para exibir as IDLs dos programas.

Casos de uso

  • Decodifique o histórico com a interface correta. Passe o slot de uma transação para obter a IDL que estava em vigor quando ela foi executada. Os programas alteram suas instruções e contas ao longo do tempo, portanto a IDL atual pode interpretar incorretamente transações mais antigas.
  • Encontre os nomes exatos para os filtros. Examinar o histórico de transações match.programs[].instructions aceita nomes de instruções exatamente como aparecem na IDL.
  • Analise alterações na interface. Busque duas versões e compare os respectivos instructions para ver o que uma atualização adicionou ou removeu. Consulte o exemplo em Listar versões da IDL.

Formatos de IDL

A resposta é o documento da IDL conforme armazenado. Os programas no catálogo usam um de dois formatos do Anchor, e as versões de um mesmo programa podem usar ambos. Verifique qual formato você recebeu antes de interpretá-lo: Ambos os formatos têm instructions. A maioria das IDLs também tem accounts, types e errors, e muitas têm events.

Créditos

Cada solicitação custa 10 créditos e está disponível em todos os planos. Consulte Créditos.

Erros

Outros erros retornam um corpo JSON com uma mensagem error, como {"error": "no IDL found for program KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD at or before slot 1"}.

Parâmetros da solicitação

string
obrigatório
Endereço do programa, codificado em base58.
number
obrigatório
Slot a ser consultado. Ele não precisa corresponder ao slot de ativação de uma versão. Passe um slot de Listar versões da IDL para obter essa versão exata, ou o slot de uma transação para obter a IDL que estava em vigor quando ela foi executada.

Autorizações

api-key
string
query
obrigatório

Parâmetros de caminho

programId
string
obrigatório

Endereço do programa, codificado em base58.

Exemplo:

"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"

slot
integer<uint64>
obrigatório

Slot a ser consultado. Ele não precisa corresponder ao slot de ativação de uma versão. Passe um slot de Listar versões de IDL para obter essa versão exata ou o slot de uma transação para obter a IDL que estava em vigor quando ela foi executada.

Intervalo obrigatório: x >= 0
Exemplo:

205509752

Resposta

O documento IDL conforme armazenado. Tanto o formato legado do Anchor quanto o formato do Anchor 0.30+ podem ocorrer, então verifique qual deles você recebeu antes de lê-lo.

Um documento IDL, retornado conforme armazenado. Há dois formatos:

  • Anchor legado (antes da versão 0.30): name e version no nível superior. As contas das instruções usam isMut e isSigner.
  • Anchor 0.30+: address e metadata (name, version, spec, description) no nível superior. As instruções têm um discriminator, e as contas das instruções usam writable e signer.

Ambos os formatos têm instructions. A maioria das IDLs também tem accounts, types e errors, e muitas têm events. As versões de um mesmo programa podem usar formatos diferentes.