I am trying to assess if two smart contracts (address_1 and address_2) are both Uni V3 pools using web3.
My idea was to request each contract's runtime bytecode as follows:
sc_i_bytecode = w3.eth.getCode(w3.toChecksumAddress(address_i))
And then compare them with the bytecode of another smart contract that I know represents a Uni V3 pool. I do know that both contacts at address_1 and address_2 are Uni V3 pools, but when I get their bytecodes as above they do not match (i.e.
sc_1_bytecode != sc_2_bytecode, although both of them were implemented by the same Uni V3 factory?). They do not seem to match the bytecode of my Uni V3 reference bytecode either. I am just wondering if I am missing something and those can have indeed different bytecodes?