I'm using OpenZeppelin hardhat plugin to deploy proxy contracts and I was asking myself how to achieve the same thing but from a contract. So for example I want to have a ProxyContractFactory that can create Proxy contracts, so this is the structure:
ProxyContractFactory ---- ProxyContract1 ------> Implementation1OfProxy1 |---- ProxyContract2 ------> Implementation1OfProxy2 |------> Implementation2OfProxy2
and so on...
Can you point me to any documentation that can help me understand this? Thank you in advance.