For testing purposes, I need to be able to generate a (formally) valid CID in Go, i.e., a fake CID! The function could be given a sequence of bytes, the content type, CID version, etc. I tried understanding how the CID is built by digging the codebase but couldn't really find my way through it.