feat(provisionPool): allow overriding PerAccountInitialAmount
during contract upgrade
#10594
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.
closes: #10562
Description
This PR updates the provisionPool contract to allow overriding the PerAccountInitialAmount parameter, which is governed by the Economic Committee during contract upgrades.
To achieve the above functionality, this PR introduces the following changes:
The core-eval proposal used to upgrade provisionPool was also updated to fetch the current value of PerAccountInitialAmount set on Vstorage and include it on the new privateArgs
Security Considerations
The changes introduced in this PR modifies the provisionPool publicFacet, which no longer exposes all method declared in the
publicMixinAPI
methodGuard, more specifically, those declared intypedAccessors
.My analysis indicates that these methods are not utilized by any contract consuming the provisionPool publicFacet, which is why they were omitted.
However, if this analysis overlooked any instances where the removed methods are in use, their absence could introduce vulnerabilities.
Scaling Considerations
Documentation Considerations
Testing Considerations
The existing unit tests for the inter-protocol and vats packages, as well as the a3p-integration tests have been verified to continue passing with these changes.
Additionally, these changes were tested against the governance acceptance tests in the a3p-integration which ensures that governed parameter values remain intact after a contract upgrade.
To maintain the scope of this PR, that specific test is not included here. However, it will be introduced in PR #10555, which is planned to be opened once this change is merged.
Upgrade Considerations