jinn
1
i keep getting
Error: Source "openzeppelin-contracts-upgradeable/contracts/utils/cryptography/MerkleProofUpgradeable.sol" not found:
i followed the instructions on https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable
and i have searched for that file on my hd and the internet in and can't find it.
i used forge to install it and it's just not there. i don't know what i'm doing wrong
where/how to i get the upgradable.sol files?
this file exists and folks use it but i'm just confused - where does it come from? i can see references to it on github issues (https://github.com/search?q=merkleproofupgradeable.sol&type=issues) but not sure what's going wrong. can anyone here help me?
It's a library, so it can reside only under openzeppelin-contracts
.
It doesn't need to reside also under openzeppelin-contracts-upgradeable
.
You can find it here.
1 Like
jinn
3
that's for a different repo. the contract i'm using is upgradable so the format is different, right?
see: https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable
and the repo is different right? it's actually here:
and the file is missing from the latest releases but may be found in 4.x.x.x releases which is rather curious. does anyone know why?
also, that's how i solved it. i'm not sure what you're on about.
As far as I know, there is nothing that prevents working with (importing from) both repositories.
There's probably a good reason for that, you know?
You solved it by mixing openzeppelin-contracts-upgradeable
v4 and v5?
Not a good idea, see this answer (and there are probably a bunch more around this issue).
1 Like
The documentation has a note on this:
Interfaces and libraries are not included in the Upgradeable package, but are instead imported from the main OpenZeppelin Contracts package.
1 Like