You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
setupApiGovernance() is called with the current set of governed APIs when a contract is first created. If the contract updates the list on an upgrade, the API governor won't notice it.
where getGovernedFoo() should be a function passed through that calls E(creatorFacet).getGovernedApis() or E(creatorFacet).getGovernedApiNames() later.
Security Considerations
superior robustness for upgrading contracts.
Scaling Considerations
No consequences.
Test Plan
A test that upgrades contracts.
The text was updated successfully, but these errors were encountered:
closes: #9990
## Description
When a contract is upgraded, we'll read the governed APIs afresh.
### Security Considerations
Nothing special. The point of governed APIs is that contracts can make access to calling specific APIs legible in the sense used by governance.
### Scaling Considerations
Not an issue.
### Documentation Considerations
If we had detailed documentation on governance, this would be worth adding to the docs.
### Testing Considerations
Added a bootstrap test showing that a contract can be upgraded and the new APIs will be available after upgrade.
### Upgrade Considerations
AssetReserve, fluxAggregator, and VaultFactory use `apiGovernance` and might need this support if any governed APIs were added.
What is the Problem Being Solved?
setupApiGovernance()
is called with the current set of governed APIs when a contract is first created. If the contract updates the list on an upgrade, the API governor won't notice it.Description of the Design
rather than
We should call
where
getGovernedFoo()
should be a function passed through that callsE(creatorFacet).getGovernedApis()
orE(creatorFacet).getGovernedApiNames()
later.Security Considerations
superior robustness for upgrading contracts.
Scaling Considerations
No consequences.
Test Plan
A test that upgrades contracts.
The text was updated successfully, but these errors were encountered: