I have set up a merch bridge for an erc721 nft project. Doing some testing on a Goerli deployment and seeing an issue with the list of eligible tokens the integration is finding.
Was initially seeing a long lag time in a newly minted token showing in the shopify store list.
When they do end up showing, some tokens are not showing up in this list. Testing with an address holding 10 tokens and only 2 are showing.
Is there some caching going on somewhere that might no be refreshing the data?
Let me knpow what other info I can share to help de-bug.
Your gate was configured with a single attribute restriction set. Attribute restrictions mean that the NFT must have ALL of the attributes defined. If you want an ‘OR’ type (i.e. any NFT with X OR Y) you need to add multiple restriction sets.
Further, looks like token 15’s metadata wasn’t able to be ingested (an issue with IPFS), so you’ll want to refresh the metadata for the entire contract.
To do this, go to https://developer.manifoldxyz.dev and login.
Go to snapshot tools
Select Goerli network
Enter your contract address
Check “Tokens by Attribute”
Under " Not seeing attributes you expect?" click refresh.
Yeah I only have one rule - metadata attr Redeemed :: True.
Did a refresh in the snapshot tool and still no luck. But to be clear, I don’t want to use the ‘Snapshot’ feature for my token gate. I want these erc721 to be redeemable by anyone holding it at anytime (once per token id).
This address holds 3 tokens with Redeemed: True
0xAe2f0Af98a3fE6504321F00DC3f7Dae0d2150AD0
hey, you can refresh metadata directly in the Shopify App Product Gate whenever you add the rule (Blue Button). Since you are doing a Non-snapshot 721 gate only, you can just delete the rule and readd it in order to get to this. Can you try hitting the Refresh metadata button here?
I deleted and re-added the rule then refreshed the data and one more of the held tokens showed up. Still missing one - but I guess we’re making progress!.
Thank you very much for all the help. I’ll continue testing.
Should I expect to need to do manual data refreshes a lot when the campaign is live on mainnet? We have a open mint period so new tokens will be getting minted and redeemed for a while.
no, goerli is less reliable which is why this issue surfaced. You DO need to hit the refresh button if you change the tokenURI though, which seems like is what happened with token 14.
Ok makes sense. That is how this nft works - it’s minted, then a function is run to ‘redeem’ it and this changes the tokenURI so the metadata is updated - new image and redeemed:true attr. Is your server ingesting directly from an RPC or something like opensea? I also have to manually refresh the data for opensea sometimes in these instances.
I don’t suppose I can hit that refresh endpoint from my app?