I want to get spl token’s, which 0 decimal, previous owner from the last owner.
When I check solscan’s transfers tab I can see which wallets it has been transferred between. But on transactions tab I can only see the transaction which we are creating token account for other addresses.
import * as anchor from "@project-serum/anchor"; const connection = new anchor.web3.Connection("https://ssc-dao.genesysgo.net/", 'confirmed'); let txs=await connection.getTransaction("SPL TOKEN ADDRESS") txs.map((element)=>{ console.log(element.signature); }); // Returns signatures where transaction tab.
Hence how can I get transfer list not transaction list.
Advertisement
Answer
To get the previous owner of an SPL token account, you’ll need to go through a few steps:
- Get all of the transaction signatures that reference the address of the account using
getSignaturesForAddress
: https://docs.solana.com/developing/clients/jsonrpc-api#getsignaturesforaddress - Get each of the transactions using
getTransaction
withjsonParsed
encoding: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction - Check the instructions at
['result']['transaction']['instructions']
and the inner instructions at['result']['meta']['innerInstructions']
forinstruction_type: "setAuthority"
, and then see thesigners
for the old owner