Advanced Foundry, Upgradeable Smart Contracts: Pin version in openzeppelin-contracts-upgradeable and initialize proxy in demo code #299
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pin to latest v4 because in openzeppelin-contracts-upgradeable v5, there are 2 changes that result in the tutorial's demo code to not work and returns error:
__Ownable_init()
takes a parameter in v5upgradeTo()
deprecated in v5(Perhaps a note for instructors when they update the lesson in the future 😀)
Latest v4 is v4.9.6
https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/tags
Added a line that's missing in written lesson's demo code, so that
forge test
works: Initialize proxy.The line is in the demo code's GitHub repository but not in the demo code in the written lesson.
https://github.com/Cyfrin/foundry-upgrades-cu/blob/main/script/DeployBox.s.sol#L18