Will customizing some OpenZeppelin standard contracts make it harder to verify?

For example, if I remove a function from ERC20 default template, like mint function or burn function, will it become harder to verify that contract? Or what if I add a few functions, what if I completely change a few functions?
As far as I am aware, it’s all about exact bytecode match, so by doing anything of above will make it harder to verify a contract. Need to confirm, is that correct?

1 Like

Hi @Solidity-Snake,

To keep your system secure, you should always use the installed code as-is, and neither copy-paste it from online sources, nor modify it yourself.
_From: https://docs.openzeppelin.com/contracts/3.x/#usage_

You could override functions in the OpenZeppelin Contracts implementation in your own contract or use hooks. See: https://docs.openzeppelin.com/contracts/3.x/extending-contracts

If you are modifying functionality that you really can't do with overriding or with hooks then you may want to clone the specific contract, making sure that you comply with the MIT license. It is also a good idea to add a reference to the original in the comments of your contract.


Changing contract code won't make it harder to verify. Verification will be just as easy (or as painful) as it usually is. I use the following process for multi-file verification: How to verify with Hardhat or Truffle a smart contract using OpenZeppelin Contracts

1 Like

Thank you for clarifying.
I forgot about that I can just override some stuff, will see how and what can be done in phase 0.

1 Like