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?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.