I've written my own optimized NFT contract, most derived from the OpenZeppelin, so that I don't make any mistake. It is on Polygon, on the Mumbai testchain, contract is verified, so you can see the source code:
My goal is to pre-mint it all, and then sell it on OpenSea (for a 10k NFT). Looks like it works:
I also tested a few re-sells etc., and looks like everything worked, including paying the 10% royalty. But it is my first NFT contract, maybe someone can take a look at it, if everything is ok? License is MIT, so you can use it as well, if you like. BTW, because it is all pre-minted, I didn't restrict the mint function, it mints to one fixed address anyway, so everybody could call it.