MoralisWeb3 / issue-tracker

25 stars 7 forks source link

/nft/{address} missing data and/or having duplicates on some contracts, and wrong 'total' #121

Open josoul opened 2 years ago

josoul commented 2 years ago

Here's two examples: 1) Contract: 0x3b707f0f718f186151b856464e07ddebf22aeb21 Missing token: 444, this one is not indexed, not found inside result table. (this can be reproduced easily with /nft/{address}/{token_id} ) Also the variable 'total' counts '778' while inside the 'result' there are 769 tokens (this number should be 770 as per etherscan total supply)

2) Contract: 0xa5c0bd78d1667c13bfb403e2a3336871396713c5 Duplicate tokens inside 'result': 9061, 9055, 8898, 8968, 9007, 8958, 6500, 5000, 3002, 3000, 808, 807, 806, 804, 809, 805, 504, 501 Missing tokens: 0, 8, 2498, 2503, 4499, 5999, 8385, 8478, 8479, 8504, 8531, 8622 (these are not reproduced with /nft/{address}/{token_id} though) And finally, the variable 'total' counts '10061' when inside the 'result' I have 10006 with the duplicates (and as per etherscan total supply the number should be 10000)

It is seemingly random on which contracts these bugs happen and in which they dont.

wondernet commented 2 years ago

In first case I get same result, with that 444 token id missing. In second case I don't get any missing tokens.

josoul commented 2 years ago

Update: I run the second contract a couple times more. The 'total' is repeatedly the same and wrong at 10061, while inside 'result' I receive 10006 tokens (only 10000 are unique though). In one run I got 8 duplicates inside 'result' and 2 missing tokens. In the other run I got 7 duplicates and 1 missing token. This is what I use "https://deep-index.moralis.io/api/v2/nft/0xa5c0bd78d1667c13bfb403e2a3336871396713c5?chain=eth&format=decimal&offset=0" and increase the offset by 500 until I get all 10006 results it has.