I was debugging my smart contract, while I did not encounter an invalid opcode error, I saw a lot of invalid opcodes in my deployed contract. Screenshot is from remix debugger. Is it normal to have these invalid opcodes in your contract? I'm thinking it is probably because my contract didn't consider some edge cases that may cause a failure.
So, if in a perfect world, a perfectly written contract, does it mean that contract would not have any invalid opcodes in there?