Converting from an OpenSea Contract to ERC721

Hello All,

I have a unique question that I could use some insight and consulting on before I begin development. The goal I am trying to accomplish is to develop an ECR721 contract that allows individual to swap their token minted originally from an OpenSea contract for a new ERC721 token, that OpenSea token will then be burned so scarcity will not change.

Any advice or material on accomplishing this would be deeply appreciated!

Are all OpenSea tokens burnable?

Are you planning to use the onERC721Received function?