Is it possible to have multiple Implementation contracts with Transparent proxy?

Is it possible to use multiple smart-contract with transparent proxy? Because of the 24Kb limit I had to split the contract and now we have multiple smart-contracts. Now I have doubt whether I can use Transparent Proxy or not. I can't use inheritence here because it will increase the contract-size further.

Transparent proxies don't work with multiple implementation contracts out of the box.

Thanks for clearing the doubt.

Couple of questions more:-

  1. Please suggest if there is any workaround.
  2. Few days ago, I got to know about Diamond Standard. Do you think that this can fix the Transparent Proxy limitations(single SC)? Is anything happening on this standard in Openzeppelin?

Diamond standard is not supported by OpenZeppelin currently and we don't have plans to support it in the near future.

With Transparent proxies, if you've hit the contract size limit, there's not a lot of options available. You can try to refactor part of your code into a linked external libary (i.e. a Solidity library with external functions).

1 Like