I'm planning to upgrade a contract that one of my company's products is using with two small changes:
- Changing a require check from
require(price >= 5);
to
require(price >= 3000000000000000000);
- Changing some function logic from
uint256 cost = price * 1000000000000000000;
to
uint256 cost = price;
Does any of that stand out as dangerous for an upgrade? Will adding those 0s change the variable type or size in a way that will break the contract?
Also, I used OpenZeppelin's upgradeable tests and it threw a bunch of errors because my contracts use constructors and set initial variable values. Are these things that will for sure break my contract? I've used upgradeable contracts with these things before and never had any issues. Thoughts?
We've minted tens of thousands of NFTs from this contract so I want to make sure we don't break it.
Thank you!