Deployment preparation: Vault Factory V2 #209
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
README
is updated with the new task name and linkREADME
has a description and links to the artifactsbuild-info
is updated with artifacts compiled at the specified commitbuild-info
Code checklist:
master
, or there's a description of how to mergeIssue Resolution