Skip to content

Conversation

@peersky
Copy link

@peersky peersky commented Nov 20, 2025

This PR introduces ZamaEthereumConfigInitializable, an abstract contract designed to support EIP-1167 Minimal Proxy Clones (and other proxy patterns) when using the fhevm library.

It allows developers to initialize the FHEVM coprocessor configuration within an initialize() function, solving the issue where configuration is lost because constructors do not execute in the context of a proxy.

Todo:

Constructor ideally should have bool isTesting variable to ensure both local tests & prod follows best practices:

constructor(bool isTesting)
{
   if(!isTesting) disableInitializers();
}

This is in a way breaking API change as current constructor takes no arguments. I just leave it open for maintainers to edit PR and figure out approach.

This PR introduces ZamaEthereumConfigInitializable, an abstract contract designed to support EIP-1167 Minimal Proxy Clones (and other proxy patterns) when using the fhevm library.

It allows developers to initialize the FHEVM coprocessor configuration within an initialize() function, solving the issue where configuration is lost because constructors do not execute in the context of a proxy.
@peersky peersky requested a review from a team as a code owner November 20, 2025 12:51
@cla-bot
Copy link

cla-bot bot commented Nov 20, 2025

Thank you for your pull request. We require contributors to sign our Contributor License Agreement / Terms and Conditions, and we don't seem to have the users @peersky on file. In order for us to review and merge your code, please sign:

  • For individual contribution: our CLA
  • for Bounty submission, if you are an individual: our T&C
  • for Bounty submission, if you are a company: our T&C
    to get yourself added.

If you already signed one of this document, just wait to be added to the bot config.

@cla-bot
Copy link

cla-bot bot commented Nov 27, 2025

Thank you for your pull request. We require contributors to sign our Contributor License Agreement / Terms and Conditions, and we don't seem to have the users @peersky on file. In order for us to review and merge your code, please sign:

  • For individual contribution: our CLA
  • for Bounty submission, if you are an individual: our T&C
  • for Bounty submission, if you are a company: our T&C
    to get yourself added.

If you already signed one of this document, just wait to be added to the bot config.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant