0

I'm working on a project in Node.js executed within a browser, where I'm attempting to process transactions received from various applications and display what they initiate, similar to how wallets like Phantom do. For example, displaying a swap of 2 SOL for 200 USDC, or the sending of 2 SOL. However, I find myself a bit lost when dealing with the transaction object itself.

Specifically, I'm struggling to understand how the compiledInstructions within a transaction manage the multitude of staticAccountKeys, especially in complex operations like swaps through platforms such as Jupiter.

If anyone could provide some guidance or tips on how to achieve the analysis and display of transaction actions to users, that would be greatly appreciated. Currently, I'm not clear on how to interpret these transactions accurately to extract and display meaningful action descriptions from them.

Thank you in advance for any help you can offer !

1 Answer 1

0

You can use Parsed Transaction History API by Helius and get already parsed transaction history. Otherwise, generally wallets have a lot of functions to parse all types of interactions and show custom details. For example, you can check out source code of how Backpack wallet does it here

There are many DeFi applications and its hard to get all of their interaction parsed as you would need to essentially create a switch statement to check for each of their program id and run specific parsing functions to get human readable transaction summary back. But above two resources should be a good starting point for you!

1
  • I am looking to work with transactions that have not yet been signed. For instance, if I wanted to create my own wallet app like Phantom or Solflare, what would be the approach to process incoming transaction requests? Specifically, I need to display to the user details such as the destination address of the funds, the amount being sent, and possibly what is being received in exchange, etc.
    – scal
    Commented Feb 18 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.