-
Notifications
You must be signed in to change notification settings - Fork 208
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
Ability to override the ProvisionPool
governedParam PerAccountInitialAmount
#10562
Comments
cc: @Chris-Hibbert |
In VaultFactory, we pass parameters called
I think the EC has not changed the value of this parameter in the running contract. That means, this time around, that resetting the value to its default wouldn't have any effect. We still want to set up the upgradable code so that if the EC does change it, the new value stays set through any subsequent upgrade. |
…verrides to privateArgs rel: #10562
To ensure that , after the contract upgrade, the provisionPool However, I am reconsidering whether it makes sense to include all these methods—particularly those declared in Question: |
As part of the core-eval proposal required to upgrade provisionPool, we need to fetch the current value of the governed parameter, specifically PerAccountInitialAmount. This value must be included in the privateArgs to ensure it is overridden and does not reset to the default value during the upgrade. From what I understand, we have two methods from the provisionPool public facet that can be used for retrieving the PerAccountInitialAmount value:
Question: |
…verrides to privateArgs rel: #10562
Definitely not necessary. You do have to check existing code to ensure that anything that will get called remains, but if all callers will be updated with the upgrade, it's fine to drop methods that won't be used going forward. If there might be UIs or other tools that use the methods, you have to tread very carefully. Usually with two separately-release tools, you have to do a multi-release dance to remove usages from the caller before reming them from the service.
We've used both methods in various places when one or the other was blocked or recalcitrant. I would say that looking them up from governance is more general, and more likely to be the common path that works consistently for most upgrades. |
What is the Problem Being Solved?
The
ProvisionPool
contract seems to not provide the ability to override the governed parameterPerAccountInitialAmount
during a contract upgrade, which means that it will reset to the default value and discard any value previously changed by theeconomicCommittee
.Description of the Design
privateArgs
.makeParamManagerFromTerms
method from the governance package to set or retain the desired parameter value.Parameter Change Proposal
to restore PerAccountInitialAmount to the desired value.Security Considerations
I am unclear on the impact of resetting PerAccountInitialAmount on the Agoric chain and Inter-Protocol. Further analysis is needed to assess potential risks or disruptions this might cause
Scaling Considerations
No consideration
Test Plan
Leverage the
a3p-integration
acceptance test forgovernance
that is included in PR #10555 , which has a test case that verifies that the governance node of ProvisionPool retains its parameter values after a null upgrade.Upgrade Considerations
No consideration
The text was updated successfully, but these errors were encountered: