Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Latest commit

 

History

History
282 lines (192 loc) · 11.7 KB

File metadata and controls

282 lines (192 loc) · 11.7 KB

MaticX Supply Cap Increase Polygon v3

Subreports

Proposal text

Summary

This publication proposes increasing the MaticX Supply Cap on Polygon v3 from 17.2M units to 29.3M units.

Abstract

After a vote for increasing the communities counter party risk was passed on Snapshot, the Supply Cap for MaticX can be increased from 50% to 75% of circulating supply.

The dominant use case for MaticX on Aave Protocol is as collateral to borrow wMATIC. Since the MaticX oracle, a calculated price feed provided by Chainlink based upon the underlying asset's (MATIC) price, the risk of liquidation is minimal. As a result, the primary risk of increasing aave Protocol's exposure to MaticX is the assocaited counterparty risk which is expressed as concentration risk with up to 75% of supply on the Polygon network.

The current Supply Cap's utilisation is hovering around 94%, with 1.03M units of MaticX deposit capacity. Stader Labs is currently offering SD rewards to user who deposit MaticX. This proposal seeks to encourage Stader Labs to continue distributing SD rewards by increasing the Supply Cap and enabling more MaticX to be deposited into Aave.

Motivation

Over the previous months, Llama has been working with various communities to craft favourable conditions conducive to growing TVL and Revenue by facilitate the creation of several yield aggregation products.

With liquidity mining ongoing, MaticX deposit rewards (SD) and wMATIC borrowing rewards (stMATIC & MaticX), ensuring there is adequate capacity enabling the yield maximising strategies to grow is key for Aave Protcol's abililty to generate wMATIC revenue. Several liquidity pools on Balancer v2 now include bb-a-wMATIC with over 14.5M units of wMATIC being deposited in Aave Protocol. This has lead to reduced borrowing rates for wMATIC and supports the continued growth of yield maximising strategies on Aave Protocol.

To facilitate the continued growth of the MaticX reserve, the Supply Cap needs to be raised enabling more deposits into the reserve.

With reference to the new ARFC Aave V3 Caps update Framework the preferred path forward is to implement several upgrades to gradually increase Aave's MaticX exposure over time.

This proposal will increase the Supply Cap from 17.2M units to 29.3M units. Feedback from Chaos Labs and Gauntlet can be found here. The two appllicable Snapshot votes can be founds here and here.

Specification

Ticker: MaticX

Contract: polygon: 0xfa68FB4628DFF1028CFEc22b4162FCcd0d45efb6

Parameter Current Value Proposed Value
SupplyCap 17.2M units 29.3M units

Implementation

A list of relevant links like for this proposal:

The proposal Payload was reviewed by Bored Ghost Developing.

Copyright

Copyright and related rights waived via CC0.

Checks

Reports all state changes from the proposal ✅ Passed

Info:

  • State changes:
# StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
@@ counter @@
- 2680595
+ 2680596

Check stack trace of the proposal ✅ Passed

Info:

  • There is no SELFDESTRUCT inside of delegated call

Reports all events emitted from the proposal ✅ Passed

Info:

  • Events Emitted:
    • StateSender at 0x28e4F3a7f651294B9564800b2D01f35189A5bFbE
      • StateSynced(id: 2680596, contractAddress: 0x8397259c983751daf40400790063935a11afa28a, data: 0x000000000000000000000000ee56e2b3d491590b5b31738cc34d5232f378a8d5000000000000000000000000dc9a35b16db4e126cfedc41322b3a36454b1f7720000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000022c669eedf6e58de81777692b070cdb7432a4f8400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009657865637574652829000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001)

Check all targets are verified on Etherscan ✅ Passed

Info:

  • Targets:
    • 0x158a6bC04F0828318821baE797f50B0A1299d45b: Contract (not verified)

Check all touched contracts are verified on Etherscan ✅ Passed

Info:

  • Touched address:
    • 0x3cbded22f878afc8d39dcd744d3fe62086b76193: EOA (verification not applicable)
    • 0xec568fffba86c094cf06b22134b23074dfe2252c: Contract (verified) (AaveGovernanceV2)
    • 0xee56e2b3d491590b5b31738cc34d5232f378a8d5: Contract (verified) (Executor)
    • 0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e: Contract (verified) (GovernanceStrategy)
    • 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9: Contract (verified) (InitializableAdminUpgradeabilityProxy)
    • 0x96f68837877fd0414b55050c9e794aecdbcfca59: Contract (verified) (AaveTokenV2)
    • 0x158a6bc04f0828318821bae797f50b0a1299d45b: Contract (verified) (CrosschainForwarderPolygon)
    • 0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2: Contract (verified) (FxRoot)
    • 0x28e4f3a7f651294b9564800b2d01f35189a5bfbe: Contract (verified) (StateSender)

Runs solc against the verified contracts ✅ Passed

Info:

View Details
View warnings for CrosschainForwarderPolygon at `0x158a6bC04F0828318821baE797f50B0A1299d45b`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'
View warnings for StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'
View warnings for InitializableAdminUpgradeabilityProxy at `0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9` with implementation AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'
View warnings for AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'
View warnings for GovernanceStrategy at `0xb7e383ef9B1E9189Fc0F71fb30af8aa14377429e`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'
View warnings for FxRoot at `0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/crytic-compile", line 5, in <module>
    from crytic_compile.__main__ import main
ModuleNotFoundError: No module named 'crytic_compile'

Runs slither against the verified contracts ✅ Passed

Info:

View Details
Slither report for CrosschainForwarderPolygon at `0x158a6bC04F0828318821baE797f50B0A1299d45b`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'
Slither report for StateSender at `0x28e4F3a7f651294B9564800b2D01f35189A5bFbE`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'
Slither report for InitializableAdminUpgradeabilityProxy at `0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9` with implementation AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'
Slither report for AaveTokenV2 at `0x96F68837877fd0414B55050c9e794AECdBcfCA59`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'
Slither report for GovernanceStrategy at `0xb7e383ef9B1E9189Fc0F71fb30af8aa14377429e`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'
Slither report for FxRoot at `0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2`
Traceback (most recent call last):
  File "/home/sakulstra/.local/bin/slither", line 5, in <module>
    from slither.__main__ import main
ModuleNotFoundError: No module named 'slither'