Skip to content
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

Sound Protocol is not being properly crawled. #75

Open
reimertz opened this issue Nov 14, 2022 · 4 comments
Open

Sound Protocol is not being properly crawled. #75

reimertz opened this issue Nov 14, 2022 · 4 comments

Comments

@reimertz
Copy link
Member

reimertz commented Nov 14, 2022

No description provided.

@reimertz reimertz changed the title Sound. xyz tracks are not being crawled. Sound Protocol is not being properly crawled. Nov 16, 2022
@il3ven
Copy link
Collaborator

il3ven commented Nov 17, 2022

Sound protocol is being crawled and sound.xyz isn't. sound.xyz is the older protocol used by Sound. Have there been any songs published using the old protocol?

@reimertz
Copy link
Member Author

reimertz commented Nov 18, 2022

Yes, I know Sound.xyz is deprecated. What I am flagging is that we seem to only crawl a subset of the Sound Protocol.

An example; This should be crawled but it isn't:
https://etherscan.io/tx/0xa8f39acf4cae43b8bdea8de26122192b06adbea5658d85eef91c5c37b742368c

Whereas this is crawled: https://etherscan.io/tx/0xcce6e1528e6b5ea20db92dc02aca187e89d244540ef8ae8d01b10108e4e783e3

@reimertz
Copy link
Member Author

My guess is that this has to do with it being two different contracts SoundEditionV1 and SoundCreatorV1.

Reference

@il3ven
Copy link
Collaborator

il3ven commented Dec 2, 2022

My guess is that this has to do with it being two different contracts SoundEditionV1 and SoundCreatorV1.

I checked and I don't think that this is the case. As per my understanding SoundCreatorV1 is a factory contract which creates SoundEditionV1 contracts. We use sound-protocol-filter-contracts strategy to find SoundEditionV1 contracts. We then crawl all the found SoundEditionV1 contracts for tokenIds, tokenUri and so on.

A little background on how /data repository is working. All findings are written in flat files. A strategy reads the complete flat file of the previous strategy. We want a strategy to only process the new data for eg. the new logs found therefore we write the new data to a separate flat file. Once the crawl is done the new data is merged with the old data and committed.

In terms of sound-protocol, sound-protocol-filter-contracts finds newly created contracts and writes them to sound-protocol-filter-contracts-transformation. sound-protocol-call-tokenuri reads the sound-protocol-filter-contracts-transformation file and for each contract finds all minted tokenIDs.

Imagine a scenario where an artist creates a SoundEditionV1 contract using SoundCreatorV1 at block number 5. When the crawl runs for block number 1-5 the new SoundEditionV1 contract is found. Suppose, the artist didn't mint any token yet. At block number 10, the artist mints their first token. The crawl now runs again for block number 5-10. sound-protocol-filter-contract finds nothing as no new contract has been created. sound-protocol-call-tokenuri reads sound-protocol-filter-contract-transformation file and finds no contracts to crawl. Note, there are two flat files and the new flat file is empty.

tl;dr: I think tokens are not found if the mint happens a while after the SoundEditionV1 contract is created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants