I checked the network operation going out when i call client.getToken( ... ) and it's also returning the correct info so I drilled down on how the response is parsed and I think I've identified the problem.
In the lines I've linked below, there's an initial filter that first gets rid of all the saleStrategies that have saleActive set to false.
This ends up returning an empty array for valid strategies even though secondaryMarketActive is true so that results in all the downstream calls to mark this token as unavailable to mint or buy on secondary.
When checking if the secondary market is active with the
collectorClient.getToken( ... )
method I get incorrect results.Example for token
0x07b72045a5997e51ef4f701cd06542ef1cdc7536
and tokenId143
If I do a custom read contract operation on the timed strategy deployed contract I get the correct result
I checked the network operation going out when i call
client.getToken( ... )
and it's also returning the correct info so I drilled down on how the response is parsed and I think I've identified the problem. In the lines I've linked below, there's an initial filter that first gets rid of all the saleStrategies that havesaleActive
set tofalse
. This ends up returning an empty array for valid strategies even thoughsecondaryMarketActive
istrue
so that results in all the downstream calls to mark this token as unavailable to mint or buy on secondary.https://github.com/ourzora/zora-protocol/blob/54ceed4b00337aa7894c097c2e03b80e987099bf/packages/protocol-sdk/src/mint/subgraph-mint-getter.ts#L177-L189