GSMs Migration to stataGSM4626














GSMs Migration to stataGSM4626







Author

TokenLogic

Creator

0x57ab7ee15cE5ECacB1aB84EE42D5A9d0d8112922

Simple Summary

Deploy two stataToken GSMs using the ERC4626 implementation developed by Aave Labs to replace the existing USDC and USDT GSMs.

Motivation

While the primary focus of the GSM is to ensure price stability, the current GSMs issue GHO backed 1:1 with USDC and USDT, which are then held unproductively. The opportunity cost of passively holding USDC and USDT increases as the GSM size grows over time.

With the recent completion of Certora’s ERC4626 GSM audit, there is an opportunity to deploy two new stataToken GSMs to replace the existing GSMs. The USDC and USDT holdings in the current GSMs will be migrated to the new stataUSDC and stataUSDT GSMs, allowing yield generated by these assets to be claimed as revenue by the Aave DAO.

The yield from stataTokens functions as a proxy Borrow Rate and accrues revenue to the DAO continuously, unlike GHO Borrow Rate interest, which is only realized when users repay loans. The chart below illustrates the native deposit yield for USDC and USDT compared to the GHO Borrow Rate over time.

Specification

  • 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
  • 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 two new GSMs as facilitators on the GHO token contract
  • Add the new stataUSDC and stataUSDT GSMs as controlled facilitators on the GhoBucketSteward
  • Add new GSMs to the GSMRegistry
  • Update the FeeStrategy of the new GSMs to the existing FeeStrategy: 0x83896a35db4519BD8CcBAF5cF86CCA61b5cfb938
  • Register new swap freeze oracles
  • With the withdrawn assets above (in the seize step), obtain stataUSDC and stataUSDT via deposit on the respective vaults
  • 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.

ParameterValue
Bucket Capacity (GHO)16.00M
Exposure Capacity (USDC)8.00M
Price Strategy1:1
Freeze Lower Bound$0.990
Freeze Upper Bound$1.010
Unfreeze Lower Bound$0.995
Unfreeze Upper Bound$1.005
Mint GHO Fee0.00%
Burn GHO Fee0.20%

The below details the configuration of the stataUSDT GSM.

ParameterValue
Bucket Capacity (GHO)24.00M
Exposure Capacity (USDT)16.00M
Price Strategy1:1
Freeze Lower Bound$0.990
Freeze Upper Bound$1.010
Unfreeze Lower Bound$0.995
Unfreeze Upper Bound$1.005
Mint GHO Fee0.00%
Burn GHO Fee0.20%

References

Copyright

Copyright and related rights waived via CC0.

by BGD Labs