openzeppelin-foundry-upgrades
openzeppelin-foundry-upgrades copied to clipboard
Foundry library for deploying and managing upgradeable contracts
Hi folks. Quite blocked here simply trying to deploy transparent proxy. Trying to deploy a very straightforward erc20 not sure why this is breaking for me. My contract is ```...
Clarifies documentation for custom output directory and adds steps to set file permissions. Fixes #46
Fixes #44 Fixes #34 `forge coverage` does not work with Upgrades.sol because that library performs deployments using artifact bytecode instead of instantiating contracts directly. It needs to use bytecode for...
Hi, I am using `Upgrades.deployUUPSProxy` to deploy an upgradeable contract. When running `forge coverage` it shows 0.00% for the upgradeable contract, even though I am certain to go through some...
This would be a good alternative to default foundry dependency system using git submodules, that is not always using in practice actually
Hi all, Thanks a lot for bringing OZ storage layout checks to foundry. However, the current way this library works makes hard to actually use `Upgrades` helper in tests, due...
I was searching for a method to create proposals (e.g. upgrade proposals) that require approval from a multisig wallet through the OpenZeppelin Defender but couldn't find anything out there. Normally,...
Users may want to migrate from Hardhat to Foundry, and they may have contracts and/or proxies already deployed with OpenZeppelin Contracts 4.x. This would include: - [ ] Add support...
trying to build this repo, steps: `git clone https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades --recursive` `forge install foundry-rs/forge-std forge install OpenZeppelin/openzeppelin-foundry-upgrades forge install OpenZeppelin/[email protected] forge install OpenZeppelin/[email protected]` Set the following in remappings.txt: @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ ```...
All the examples make it look like to upgrade a contract, you are changing the proxy to a new implementation address whose Contract name is different from the old implementation....