GSM Migration
GSM Migration
GSM Migration
Author
@TokenLogic
Simple Summary
With the launch of what is known as the new Remote GSM, this publication updates the existing Mainnet GSMs to the new version.
Motivation
To create a unified GSM paradigm for both mainnet and L2s, a newer version of the GSM has been developed. The new GSMs use and restore GHO to a DAO controlled GhoReserve that holds a predefined amount of GHO and the DAO allows entities (such as the GSMs) to draw GHO up to a predefined amount.
Specification
- Deploy GhoDirectFacilitator to mint GHO for GSMs
- Deploy GhoReserve to hold GHO to be used by GSMs
- Deploy new stataUSDC and stataUSDT GSM4626 from the Gho-Core repository with their respective Oracles
- Grant the Executor the
'LIQUIDATOR_ROLE'to be able to seize the existing GSMs - Grant the RiskCouncil the
LIMIT_MANAGER_ROLEon the GhoReserve andMINTER_ROLEon the GhoDirectFacilitator to manage capacity - Seize the current USDC and USDT GSMs by calling the
seize()function.- This freezes actions on them and transfers the underlying tokens to the collector
- Add the
GhoDirectFacilitatoras a facilitator on the GHO token contract - Add the
GhoDirectFacilitatoras a controlled facilitator on theGhoBucketSteward - Add new GSMs to the GSMRegistry
- Update the FeeStrategy of the new GSMs:
- Register new swap freeze oracles
- Transfer stataUSDC and stataUSDT from the Collector to the proposal contract
- With the obtained stataUSDC and stataUSDT, exchange for GHO on the new respective GSMs
- Use the obtained GHO to
burnAfterSeize()on the current USDC and USDT GSMs. If there are any discrepancies in the amount of GHO, use GHO from the treasury to bring the minted GHO by the GSMs to zero - Remove existing GSMs as facilitators of the GHO token
- Remove existing GSMs from the GSMRegistry
- Remove existing USDC and USDT GSMs from being a controlled facilitator on the GhoBucketSteward
- Revoke roles assigned to EXECUTOR and old GSMs
The below details the configuration of the stataUSDC GSM.
| Parameter | Value |
|---|---|
| Draw Limit (GHO) | 110.00M |
| Exposure Capacity (USDC) | 87.00M |
| Price Strategy | 1:1 |
| Freeze Lower Bound | $0.990 |
| Freeze Upper Bound | $1.010 |
| Unfreeze Lower Bound | $0.995 |
| Unfreeze Upper Bound | $1.005 |
| Mint GHO Fee | 0.00% |
| Burn GHO Fee | 0.08% |
The below details the configuration of the stataUSDT GSM.
| Parameter | Value |
|---|---|
| Draw Limit (GHO) | 70.00M |
| Exposure Capacity (USDT) | 55.00M |
| Price Strategy | 1:1 |
| Freeze Lower Bound | $0.990 |
| Freeze Upper Bound | $1.010 |
| Unfreeze Lower Bound | $0.995 |
| Unfreeze Upper Bound | $1.005 |
| Mint GHO Fee | 0.00% |
| Burn GHO Fee | 0.10% |
References
- Implementation: AaveV3Ethereum
- Tests: AaveV3Ethereum
- Snapshot
- Discussion
- Audit
Copyright
Copyright and related rights waived via CC0.