-
Notifications
You must be signed in to change notification settings - Fork 11.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SUI Graphql transactionBlocks not returning expected digests and endCursor for some addresses #20902
Comments
Thanks for reporting this issue. We've investigated and found that when we enabled pruning on the db backing graphql, there was an inconsistency in how prunable historical data was handled. This consequently affects the responses of some queries. We'll work on a fix for this issue |
Hi team, is there any update on this? This is pretty critical – impossible to get transaction history for many addresses |
Just curious, what is your current use case? How far back in history do you require? A workaround would be to determine the earliest unpruned checkpoint available, and then use that to anchor your query. This changes only once per epoch:
However, if you need more than the past 30 days worth of data, you may need to use jsonrpc instead. We're currently revamping our indexer and graphql implementations, so the current pruning configuration is a compromise for people to try things out without it being a significant cost on our end. We suggest not to scaffold any critical production applications on graphql as this is still in beta. |
@wlmyng thank you for this suggestion. Our use case is fetching SUI wallet transaction history for tax purposes. In our case we need the full history. Currently there aren't any viable options for fetching all the wallet digests, rpc methods (suix_queryTransactionBlocks) don't seem to work. Example: The script:
Response:
|
@wlmyng is there any update here? What is the best way to fetch transaction history for a wallet? RPC solution doesn't work, so maybe there is an option whereby GraphQL could still return all transaction hashes, and then we can use RPC to fetch transaction blocks themselves? |
You should be able to use graphql without the workaround now, we've cleared out the dead tuples that were bloating the db. However, note that these public good rpcs will remain pruned to the last 30 days. Our recommendation is for your team to spin up a custom indexer so you have greater control over data retention needs. |
Steps to Reproduce Issue
Go to https://sui-mainnet.mystenlabs.com/graphql
Use query:
Use parameters:
Expected Result
A list of digest for this wallet with a correct endCursor for pagination.
Actual Result
Two things wrong here:
true
even though the node list is empty and the endCursor is nullThis query works for some addresses, for example:
0xc45e5ea887e037ddc6a482afa412773b4291c8fdc338f647fb0fcea324975d8e
Doesn't work for:
0xd38e8c2b650693f7af0a808969a735f1868342c74fccc295ff062a03e2cde4f3
0x26727461b769990746a6ebea663196cd1732ff1d24e93c4fd14bc97972deed10
The text was updated successfully, but these errors were encountered: