Proxy methods: (logic and storage is separated)
-
external storage
-
transparent proxy
upgrade function is in the proxy contract
-
universally upgradeable proxy (UUPS)
upgrade function is in the logic/implementation contract
-
beacon proxy
upgrade a lot of contracts at the same time
-
diamond proxy
Problems about proxy:
- function collision
- storage collision
Thanks Patrick Collins!