Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment preparation: Vault Factory V2 #209

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

EndymionJkb
Copy link
Collaborator

@EndymionJkb EndymionJkb commented Mar 14, 2025

Deployment preparation: Vault Factory V2

build-info: balancer/balancer-v3-monorepo@e1ae7f0

This is the new "Vault" task, used to deploy the Vault on new chains. The original Vault task (which contains the Vault artifacts, which are of course unchanged) deploys the ProtocolFeeController inside the VaultFactory, which is incompatible with an upgradeable fee controller: it would always deploy the original controller, so there would need to be an immediate migration. The new VaultFactory accepts the ProtocolFeeController address as an argument to create, rather than deploying it.

This task deploys the VaultFactory as before, then deploys the ProtocolFeeController (V2). Then it calls create on the VaultFactory, passing in the latest Protocol Fee Controller address.

Draft because the fork test is still failing. It says the Vault bytecode doesn't match. What's happening is the evm.runCode() in checkBytecodeAndSaveEVMState is reverting with the unhelpful message: "EvmError { error: 'revert', errorType: 'EvmError' }"

It is actually deploying everything correctly; it just can't verify the Vault. If you get the vault contract using instanceAt with the predicted address, the fork test passes. But since it doesn't verify, it doesn't get saved, and isn't in the output.

Deployment preparation tasks checklist:

  • Deployments README is updated with the new task name and link
  • Task README has a description and links to the artifacts
  • build-info is updated with artifacts compiled at the specified commit
  • Artifacts are generated from build-info
  • New task has a working fork test

Code checklist:

  • The diff is legible and has no extraneous changes
  • Complex code has been commented in tests and scripts
  • Fork test block number and test cases are appropriate for this deployment
  • The base branch is either master, or there's a description of how to merge

Issue Resolution

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