Skip to main content
Este guia constrói um filtro real passo a passo: observe os swaps do Jupiter de uma carteira, usando descoberta de programa para que o filtro esteja correto antes mesmo de você abrir uma assinatura.
1

Pesquisar o Programa

Nomes de instrução adivinhados são a maneira mais comum de um filtro não corresponder a nada silenciosamente. Chame describeProgram primeiro para obter os nomes exatos que o comparador utiliza.
Request
Response
Prefira o endereço do programa em vez de um nome de catálogo — mais de uma entrada de catálogo pode compartilhar um nome, e uma consulta pelo nome pode resolver para uma versão mais antiga do programa. route e shared_accounts_route são as duas instruções que cobrem a maioria dos swaps Jupiter v6, então é neles que você deve filtrar.
2

Construir o Filtro

Combine o id do programa, os nomes das instruções do passo anterior e a carteira que você está observando. Os campos se combinam com E, então isso corresponde a instruções de rota que tocam na conta SOL da carteira:
accounts.roles fixa user_transfer_authority à posição exata da carteira na instrução, que é mais restritiva do que accounts.include sozinha: uma correspondência de endereço simples também capturaria a carteira aparecendo como uma conta não relacionada em outro lugar na instrução. Os nomes dos papéis correspondem exatamente, então eles são copiados da lista describeProgram’s roles, não adivinhados. Deixe includeCpi: true (o padrão) — os movimentos reais de token de um swap acontecem em instruções internas.
3

Assine e Gerencie Notificações

Abra a assinatura com o filtro e, em seguida, leia cada argumento decodificado da instrução correspondente:
matchedIndexes aponta apenas para as instruções que seu filtro encontrou — ignore todo o resto na transação. Verifique se decoded está presente antes de lê-lo: uma instrução de rota de uma versão de programa não indexada chega com decoded: null e campos brutos em vez disso.

Próximas Etapas

Referência de Campos de Filtro

Todos os campos de filtro, opções e limites.

Gerenciando Reconexões

Mantenha esta assinatura ativa durante desconexões e implantações.