mirror of
https://github.com/luxfi/indexer.git
synced 2026-09-24 00:25:37 +00:00
Seventeen of the twenty-three marketplace topics in nft.go did not hash from the signature written beside them. The wrong ones were not typos. Zora's AskCreated and AskCancelled were the same sixty-three characters with a different first byte. Foundation's settled topic was "e6" thirty-two times. Blur's cancel matched the real hash for eighteen characters and then diverged — a remembered prefix with the rest filled in. The six that were right were Seaport's and LooksRare v1's, the ones anybody could have copied. Fourteen are corrected by derivation. Three name a struct — LibPart.Part, Item, Ask — and a topic hashes the canonical signature, where a struct is written out as a tuple, so those cannot be derived from the text beside them. They are marked unverified rather than guessed at, because replacing a fabricated value with a confident one is the same mistake twice. A wrong topic does not fail. It matches no log, so an indexer built on it reports that a marketplace has never traded, and from outside that is indistinguishable from a quiet market. The test derives every topic it can and refuses the two shapes the bad ones had: a repeating unit, and a long head shared with a sibling. Nothing imports this package yet, which is the only reason it never showed. Co-authored-by: Hanzo Dev <[email protected]>