Hello! I have a python script that needs to know every 1st of month the last transaction of a NFT token from a huge list of tokens. I’m working with Solana blockchain.
Until a few days ago, I managed to do this with the following query:
query nft_list_last_tx($list: [String!]) {
solana(network: solana) {
transfers(
currency: {in: $list}
options: {
desc: "block.timestamp.unixtime",
limitBy: {each: "currency.address", limit: 1}
}
)
currency {
address // with this field the script can associate a tx with a token
}
... // the other fields I need like txHash, receiver, sender, and so on...
This query allowed me to get all the information I need with few queries, optimizing the entire workflow very well, doing all the queries in approx. 2 minutes with less than 70 queries. Also, this allowed me to repeat the whole process like 20 times before crossing my apiKey limit if I needed to.
The last time I was able to do this without errors was August 1st. This month I get "-"
as currency.address
and only one transaction in the response with the same query. I checked it in solsea and sure enough, what I receive corresponds to the last transaction of the first token in the list, but the only field that is still missing in the response of the query is the address. I imagine that, since the address looks like "-"
and having set the limit of currency.address
to 1, it effectively returns only 1 result, because for all the tokens in the eyes of the query the address is "-"
but weeks ago this was not the case, here I received the address of the token and everything was fine.
Since I had to solve the situation at work, I decided to query the tokens 1 by 1, increasing the workflow to almost 20 hours, since I had to do 1 query every 7 seconds to be able to adjust to the limits of the free account and, of course, the apiKeys of all my co-workers to complete the task. This solution was really a patch of the moment, this is not at all sustainable over time.
My question is, is this really a bug and is it going to be fixed or should I instead adapt the workflow to this new query response? (hope it’s the first )
Thanks in advance, regards