Passer au contenu principal

Enveloppe de résultat de transaction

Les deux points de terminaison REST renvoient des objets TransactionResult.

Transaction analysée

Transferts natifs

nativeTransfers contiennent des mouvements SOL en lamports. Les transferts natifs incluent les instructions transfer et create_account du System Program, ainsi que les transferts SOL de SPL Token synthétiques close_account.

Transferts de tokens

tokenTransfers contiennent des mouvements de SPL Token et Token-2022. Les transferts de tokens incluent transfer, transfer_checked, transfer_checked_with_fee, burn, burn_checked, mint_to, et mint_to_checked. Les transferts de token de montant zéro sont omis.

Résumés

summary a une forme unique partout où il apparaît — sur la transaction et sur chaque instruction reconnue :
parsedData est la charge utile structurée derrière le résumé, lorsque disponible — par exemple les métadonnées d’échange avec le protocole, le type, les montants, les frappes et les échanges internes le long de la route. Sa forme varie selon le type de résumé et le protocole. Les montants des swaps dans parsedData, tels que in_amount, actual_out_amount, ainsi que les input_amount et output_amount de chaque swap interne, sont les montants indiqués par la plateforme. Ils ne correspondent pas aux montants réellement envoyés ou reçus par le portefeuille de l’utilisateur. Ils ne tiennent donc pas compte des frais de transfert Token-2022 ni des autres déductions appliquées en dehors du swap. Pour obtenir le montant exact reçu par l’utilisateur, comparez les soldes du compte de tokens de l’utilisateur avant et après la transaction. Les types de résumés actuellement disponibles sont les suivants :
  • add_liquidity
  • create_account
  • create_token_account
  • remove_liquidity
  • swap
  • transfer

Instructions analysées

Les comptes d’instruction décodés présentent la structure suivante :
Les clés args décodées et les noms de comptes sont en snake_case (source_account, in_amount), tels qu’ils sont publiés dans l’IDL du programme. Les arguments entiers sont généralement renvoyés sous forme de chaînes ("1500000000000"), car les valeurs u64 ne peuvent pas être représentées par les nombres JavaScript.

Erreurs décodées

Lorsqu’une transaction échoue en raison d’une erreur de programme personnalisée et que l’API peut identifier l’erreur du programme à l’origine de l’échec, decodedError peut inclure :

Exemple complet

Résultat Parse Transactions complet pour un swap Jupiter de SOL vers PUMP, présentant l’enveloppe, les transferts, les résumés et chaque instruction :