Why do we need upgradeable versions of library contracts like Address + Context given they have no storage?

This is for consistency, so that if you are writing upgradeable contracts, you can just have all of your imports from @openzeppelin/contracts-upgradeable without having to figure out which libraries to use from which package.

1 Like