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
The otherwise reachably durable contract governor holds onto the governed contract's ephemeral paramManager. If the governed contract upgrades, the ephemeral object turns into a pumpkin.
To Reproduce
This bit the auctions and vaults coreEval in RC2, necessitating RC3.
Expected behavior
Upgrading the contract shouldn't break its governor.
Additional context
In contractGovernorKit.js, we check to see if we have a saved version of the paramManager, and use it if we do. If the contract has been upgraded, sending a message to this object will fail. We can catch that error, and call provideParamGovernance() again when that happens.
…10163)
closes: #9982closes: #10172
## Description
When a governed contract is upgraded, its paramManager (which was ephemeral) is replaced, and the contractGovernor needs to get a fresh copy.
### Security Considerations
This bug caused us to need to cut RC2 when preparing the vaultFactory release. That time, the fix was to upgrade the contractGovernor when upgrading a governed contract.
### Scaling Considerations
No scaling impacts.
### Testing Considerations
added a new test, which fails without the fix.
### Upgrade Considerations
This is staged on top of #10074, and the goal is to include it with the priceFeed coreEval. Recent commits have updated the coreEval to include upgrading and installing the contractGovernor code.
Describe the bug
The otherwise reachably durable contract governor holds onto the governed contract's ephemeral paramManager. If the governed contract upgrades, the ephemeral object turns into a pumpkin.
To Reproduce
This bit the auctions and vaults coreEval in RC2, necessitating RC3.
Expected behavior
Upgrading the contract shouldn't break its governor.
Additional context
In
contractGovernorKit.js
, we check to see if we have a saved version of the paramManager, and use it if we do. If the contract has been upgraded, sending a message to this object will fail. We can catch that error, and callprovideParamGovernance()
again when that happens.The text was updated successfully, but these errors were encountered: