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

Latest commit

 

History

History
496 lines (362 loc) · 20 KB

File metadata and controls

496 lines (362 loc) · 20 KB

Add rETH to Arbitrum Aave v3

Subreports

Proposal text

Summary

This publication presents the community with the opportunity to add rETH to Aave Arbitrum v3.

Abstract

This proposal will add rETH to the Aave Arbtirum v3 deployment as collateral, with borrowing enabled and no isolation mode.

rETH can be used for creating a range of yield maximising and lower carry cost leveraged trading strategies. Given the typically low borrowing cost for LSTs, users are able to borrow the LST and participate in yield strategies beyond the Aave protocol.

Motivation

rETH is listed on Aave v3 Ethereum and has over $20M of deposits. Rocket Pool is expanding its support for rETH across the L2 ecosystem, first Optimism, now Arbitrum and soon Polygon. There are currently only Chainlink Oracles for Arbitrum and Ethereum. This AIP focusses on listing rETH on Arbitrum.

LST collateral types drive material borrowing revenue to Aave as users deposit the LST and borrow the corresponding network token. This is most evident on Ethereum where the LST-wETH-yield-maximising loop is the source of the vast majority of wETH borrowing demand.

By providing LST diversification, Aave presents itself as a neutral platform offering users the choice between various LSTs. An added benefit of offering a variety of LSTs is the respective communities may elect to compete for user acquisition via Aave through offering incentives. This is currently happening on Aave v3 Polygon and Aave’s TVL has meaningfully increased from a relatively small base.

Specification

The parameters shown below are the combined recommendation of Gauntlet and Chaos Labs.

Ticker: rETH

Contract Address: arbitrum: 0xec70dcb4a1efa46b8f2d97c310c9c4790ba5ffa8

Chainlink Oracle rETH/ETH 0xF3272CAfe65b190e76caAF483db13424a3e23dD2

Newly deployed Oracle rETH/ETH/USD 0x04c28D6fE897859153eA753f986cc249Bf064f71

Parameter Value
Isolation Mode No
Borrowable Yes
Collateral Enabled Yes
Supply Cap 325 units
Borrow Cap 85 units
LTV 67.00%
LT 74.00%
Liquidation Bonus 7.50%
Liquidation Protocol Fee 10.00%
Reserve Factor 15.00%
Variable Base 0.00%
Variable Slope 1 7.00%
Variable Slope 2 300.00%
Uoptimal 45.00%
Stable Borrowing Disabled
Stable Slope 1 13.00%
Stable Slope 2 300.00%
Base Stable Rate Offset 3.00%
Stable Rate Excess Offset 5.00%
Optimal Stable to Total Debt Ratio 20.00%
Flahloanable Yes
Siloed Borrowing No
Borrowed in Isolation No

Implementation

A list of relevant links like for this proposal:

Chaos Labs and Gauntlet both contributed to the development of the risk parameters presented above.

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:
# KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
@@ `s_upkeep` key `"95299183306293242919258731417449887125989356901836642522229237728515662948291"`.lastKeeper @@
- 0x86c5d9efb1377dba0535cf944bd6f5736c4290cb
+ 0xd6060b36f7142aea27231c28932c67d76beba173
# TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000006` @@
- "0x00000000000000000000000000000000000000000000000000000000000e0be0"
+ "0x00000000000000000000000000000000000000000000000000000000000e0be1"
@@ Slot `0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f378a191f` @@
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "0xd6217c3753591366011bc7c3b4266b089f9fd46142faa00f9fe493e6ad2529e9"

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:
    • TransparentUpgradeableProxy at 0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a with implementation Bridge at 0x1066CEcC8880948FE55e427E94F1FF221d626591
      • MessageDelivered(messageIndex: 920544, beforeInboxAcc: 0xda05d23e901d7e46fb40254860d5b4ef5f01ede9233f58a4bf194ca5e9089158, inbox: 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f, kind: 9, sender: 0xff67e2b3d491590b5b31738cc34d5232f378b9e6, messageDataHash: 0xbf5ccc708acbe60965df20f63b67168a27516d0c6b820043ae331924e6eed46b, baseFeeL1: 41085537708, timestamp: 1687017827)
    • TransparentUpgradeableProxy at 0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f with implementation Inbox at 0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94
      • InboxMessageDelivered(messageNum: 920544, data: 0x0000000000000000000000007d9103572be58ffe99dc390e8246f02dcae6f611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000027c01de8cfec00000000000000000000000000000000000000000000000000000e2bc1466dec00000000000000000000000007d9103572be58ffe99dc390e8246f02dcae6f611000000000000000000000000bbd9f90699c1fa0d7a65870d241dd1f1217c96eb000000000000000000000000000000000000000000000000000000000006ddd0000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000244d9a4cbdf00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000015066c53340cd87480e3a33046a77edd4063984f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009657865637574652829000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001)
    • KeeperRegistry at 0x02777053d6764996e594c3E88AF1D58D5363a2e6
      • UpkeepPerformed(id: 95299183306293242919258731417449887125989356901836642522229237728515662948291, success: true, from: 0xd6060b36f7142aea27231c28932c67d76beba173, payment: 0, performData: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000001)

Check all targets are verified on Etherscan ✅ Passed

Info:

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

Check all touched contracts are verified on Etherscan ✅ Passed

Info:

  • Touched address:
    • 0xd6060b36f7142aea27231c28932c67d76beba173: EOA (verification not applicable)
    • 0x02777053d6764996e594c3e88af1d58d5363a2e6: Contract (verified) (KeeperRegistry)
    • 0x169e633a2d1e6c10dd91238ba11c4a708dfef37c: Contract (verified) (EACAggregatorProxy)
    • 0x785433d8b06d77d68df6be63944742130a4530d1: Contract (verified) (AccessControlledOffchainAggregator)
    • 0xdc530d9457755926550b59e8eccdae7624181557: Contract (verified) (EACAggregatorProxy)
    • 0xbba12740de905707251525477bad74985dec46d2: Contract (verified) (AccessControlledOffchainAggregator)
    • 0x943acd0c93d7a8bee7da5fd0dc3d0028237074d6: Contract (verified) (EthRobotKeeper)
    • 0xec568fffba86c094cf06b22134b23074dfe2252c: Contract (verified) (AaveGovernanceV2)
    • 0xee56e2b3d491590b5b31738cc34d5232f378a8d5: Contract (verified) (Executor)
    • 0xb7e383ef9b1e9189fc0f71fb30af8aa14377429e: Contract (verified) (GovernanceStrategy)
    • 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9: Contract (verified) (InitializableAdminUpgradeabilityProxy)
    • 0x96f68837877fd0414b55050c9e794aecdbcfca59: Contract (verified) (AaveTokenV2)
    • 0xd1b3e25fd7c8ae7caddc6f71b461b79cd4ddcfa3: Contract (not verified)
    • 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f: Contract (verified) (TransparentUpgradeableProxy)
    • 0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94: Contract (verified) (Inbox)
    • 0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a: Contract (verified) (TransparentUpgradeableProxy)
    • 0x1066cecc8880948fe55e427e94f1ff221d626591: Contract (verified) (Bridge)

Runs solc against the verified contracts ✅ Passed

Info:

View Details
View warnings for KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
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 Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
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 EACAggregatorProxy at `0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C`
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 TransparentUpgradeableProxy at `0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f` with implementation Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
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 Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
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 AccessControlledOffchainAggregator at `0x785433d8b06D77D68dF6be63944742130A4530d1`
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 TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
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 EthRobotKeeper at `0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6`
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 AccessControlledOffchainAggregator at `0xbba12740DE905707251525477bAD74985DeC46D2`
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 EACAggregatorProxy at `0xDC530D9457755926550b59e8ECcdaE7624181557`
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 KeeperRegistry at `0x02777053d6764996e594c3E88AF1D58D5363a2e6`
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 Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
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 EACAggregatorProxy at `0x169E633A2D1E6c10dD91238Ba11c4A708dfEF37C`
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 TransparentUpgradeableProxy at `0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f` with implementation Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
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 Inbox at `0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94`
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 AccessControlledOffchainAggregator at `0x785433d8b06D77D68dF6be63944742130A4530d1`
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 TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
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 EthRobotKeeper at `0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6`
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 AccessControlledOffchainAggregator at `0xbba12740DE905707251525477bAD74985DeC46D2`
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 EACAggregatorProxy at `0xDC530D9457755926550b59e8ECcdaE7624181557`
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'