GHO Facilitator Replacement
01Summary
This proposal migrates GHO minting from a misconfigured CoreGhoDirectMinter facilitator to a new, correctly configured instance. The old facilitator has an improper proxy admin ownership structure that prevents future upgrades. The migration transfers state, removes the old facilitator, and updates permissions to a new facilitator while maintaining all GHO balances and bucket capacity.
- Type
- contract upgrade
Key changes
- Migrate bucket capacity and GHO minting state from old CoreGhoDirectMinter (0x593B09afc075B3c326CE2AD7750888645BA8943d) to new facilitator (0x5513224daaEABCa31af5280727878d52097afA05)(high)
- Remove old facilitator from GhoToken's list of facilitators and disable it(high)
- Fix proxy admin ownership structure to allow future upgrades by directly assigning to GovernanceV3Ethereum.EXECUTOR_LVL_1 instead of nested ProxyAdmin(high)
- Transfer RISK_ADMIN role and GhoBucketSteward control from old to new facilitator(medium)
Notable concerns
- The original configuration had improper admin-chain structure that prevented future upgrades despite being controlled by DAO contracts
- New facilitator address is 0x5513224daaEABCa31af5280727878d52097afA05
Generated by Kvorum
02Description
Simple Summary
This proposal outlines the migration from the current CoreGhoDirectMinter to a new, correctly configured instance.
Motivation
During the Aave V3.4 upgrade, the model of GHO on the v3 Core Ethereum pool was changed, for the DAO to mint GHO to borrow via a Direct Minter facilitator, same as on v3 Prime Ethereum.
However, this CoreGhoDirectMinter facilitator was configured wrongly (here) in what regards the ownership of the facilitator’s upgradeability: the ownership of the ProxyAdmin (0xf02d4931e0d5c79af9094cd9dff16ea6e3d9acb8) (proxy admin of the direct minter itself) was assigned to another ProxyAdmin contract (0xD3cF979e676265e4f6379749DECe4708B9A22476) controlled by the Governance Executor, instead of assigning it to the GovernanceV3Ethereum.EXECUTOR_LVL_1 directly.
Even if the ownership/admin-chain of the setup doesn’t create any type of security issue (all contracts are part the DAO or contracts controlled), this setup doesn’t allow for future upgrades of the CoreGhoDirectMinter: the GovernanceV3Ethereum.EXECUTOR_LVL_1 owns the top-level ProxyAdmin but cannot use it to command the facilitator’s the ProxyAdmin below to perform an upgrade.
This proposal resolves the issue by migrating the minted GHO and permissions from the old, non-upgradeable facilitator to a new, correctly configured CoreGhoDirectMinter instance.
This operation has no negative effect as the Direct Minter is internal infrastructure of the DAO, with end users not having any contact with it.
Addresses of the old facilitator:
UpgradePayloadMainnetcontract (V3.4 upgrade payload for the Ethereum Core instance):0xC2584B9cA7759FE1ac48D8aE38aeAFE12dbC9876GhoDirectMinterimplementation:0xe4c958de49303c9be571e00582cf9454586de76fGhoDirectMinterproxy:0x593B09afc075B3c326CE2AD7750888645BA8943dGhoDirectMinter’sProxyAdmincontract:0xf02d4931e0d5c79af9094cd9dff16ea6e3d9acb8MiscEthereum.PROXY_ADMINcontract (which itself is an owner of theGhoDirectMinter’sProxyAdmincontract):0xD3cF979e676265e4f6379749DECe4708B9A22476- Owner of the
MiscEthereum.PROXY_ADMINcontract (GovernanceV3Ethereum.EXECUTOR_LVL_1):0x5300A1a15135EA4dc7aD5a167152C01EFc9b192A
Specification
This proposal will execute a payload to perform the following migration steps:
- Transfer state to new Facilitator
- The bucket capacity and current GHO level of the old facilitator (
0x593B09afc075B3c326CE2AD7750888645BA8943d) are read. - The new facilitator (new
GhoDirectMinteron0x5513224daaEABCa31af5280727878d52097afA05) is added to theGhoTokenwith the same bucket capacity as the previous one. - The new facilitator mints and supplies GHO to the Aave Pool, matching the GHO level of the old facilitator.
- Disable the old Facilitator:
- After the mint and supply on step 1, there is now liquidity available on the pool for the old facilitator to withdraw its GHO from the pool and burn it..
- The old facilitator is removed from the GhoToken’s list of facilitators.
- Update permissions:
- The
RISK_ADMINrole is granted to the new facilitator and revoked from the old one. - The
GhoBucketStewardis updated to control the new facilitator and cease control of the old one.
This ensures a seamless/exact transition of the facilitator’s role and funds (aGHO) while restoring the DAO’s ability to perform future upgrades.
References
- Implementation:
AaveV3Ethereum - Tests:
AaveV3Ethereum - Aave V3.4 upgrade payload:
UpgradePayloadMainnet - Discussion
Copyright
Copyright and related rights waived via CC0.
03Mismatch analysis
A calldata-vs-description analysis is not generated yet. Review the decoded actions →
04Actions
- Target
- 0xfc91…6410
- Value
- 0 wei
- Function
- fallback()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
No votes recorded yet.
07Forum
No forum thread is confidently linked to this proposal.
08Similar proposals
- aaveexecutedGHO CCIP Integration Maintenance (CCIP v1.5 upgrade)75%
- aaveexecutedGHO Risk Stewards Update and GHO CCIP Integration Upgrade75%
- aaveexecutedGHO update on Aave V3 Ethereum Pool75%
- aaveexecutedActivate Gho Stewards74%
- aaveexecutedGHO Steward v2 Upgrade74%
- aaveexecutedExtend GHO Steward on Aave Prime Instance72%
- aaveexecutedGho Steward Update71%
- aaveexecutedGho unpause and freezing70%
- aaveexecutedGHO update on Aave V3 Ethereum Pool for 13/11/2023 Report67%
- aaveexecutedGrant Claim Helper Role to StkGhoMigrator67%