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

Latest commit

 

History

History
512 lines (370 loc) · 19.9 KB

File metadata and controls

512 lines (370 loc) · 19.9 KB

Add LUSD to Arbitrum Aave V3

Subreports

Proposal text

Summary

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

Abstract

LUSD is decentralised stable coin backed by ETH that is minted on the non-custodial, immutable, and governance-free, Liquidity Protocol.

Adding LUSD to Arbitrum will promote stable coin diversity. All Liquidity Protocol contracts are immutable, which makes LUSD the most trustless stablecoin available.

This publication proposes listing LUSD with collateral disabled (LTV 0%) with borrowing enabled.

Motivation

LUSD is currently listed on the following Aave deployments:

  • Ethereum V3
  • Ethereum V2
  • Optimism V3

This publication seeks to list LUSD on Aave v3 Arbitrum.

Past publications, which can be found here and here, provide insight and context.

LUSD brings more stable coin diversity to the Aave Protocol and will further empower the support for decentralized stablecoins. The LUSD stable coin mechanism is relatively simple and is in line with the risk averse ethos of the Aave Community.

LUSD is overcollateralised by ETH with two main mechanisms helping it keep its peg:

  • LUSD can be redeemed for ETH at face value (i.e., 1 LUSD for $1 of ETH).
  • Minimal collateral ratio of 110%.

Both mechanisms respectively create a price floor and ceiling through arbitrage opportunities.

LUSD on Arbitrum and Optimism relies on users transferring LUSD through each networks respective bridge to arbitrage the price variation across the networks.

This proposal aims to add LUSD as a borrowable asset (LTV 0%).

Specification

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

Ticker: LUSD

Contract Address: 0x93b346b6BC2548dA6A1E7d98E9a421B42541425b

Chainlink Oracle LUSD/USD 0x0411D28c94d85A36bC72Cb0f875dfA8371D8fFfF

Parameter Value
Isolation Mode No
Borrowable Yes
Collateral Enabled No
Supply Cap 900,000 units
Borrow Cap 900,000 units
Debt Ceiling 0
LTV NA
LT NA
Liquidation Bonus NA
Liquidation Protocol Fee NA
Variable Base 0.00%
Variable Slope1 4.00%
Variable Slope2 87.00%
Uoptimal 80.00
Reserve Factor 10.00%
Stable Borrowing Disabled
Stable Slope1 4.00%
Stable Slope2 87.00%
Base Stable Rate Offset 1.00%
Stable Rate Excess Offset 8.00%
Optimal Stable To Total Debt Ratio 20.00%

Implementation

A list of relevant links like for this proposal:

The proposal Payload was reviewed by Bored Ghost Developing.

Disclaimer

@llamaxyz and contributor, @TokenLogic, are not associated with or compensated by Liquity for publishing this AFRC.

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 @@
- 0x5c581b8c0961f93543112bf1ffa27c1ca166e0e5
+ 0x3824b7a9c6d4ea93456df9b07df4ffdb37ffbcbf
# TransparentUpgradeableProxy at `0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a` with implementation Bridge at `0x1066CEcC8880948FE55e427E94F1FF221d626591`
@@ Slot `0x0000000000000000000000000000000000000000000000000000000000000006` @@
- "0x00000000000000000000000000000000000000000000000000000000000e0fe4"
+ "0x00000000000000000000000000000000000000000000000000000000000e0fe5"
@@ Slot `0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f378a1d23` @@
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "0xc3ae02cdcfff47b354729b710c31b2e06f9a8feb42fb2af55b42758b0fbd5958"

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: 921572, beforeInboxAcc: 0x762912e7aac187c61e7d2727fb6b7e27e62116c8b9eb84c6ad0a3458f5b5a685, inbox: 0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f, kind: 9, sender: 0xff67e2b3d491590b5b31738cc34d5232f378b9e6, messageDataHash: 0x65050c3ad5e3106ae22db389c541395fd7bb85053f126876c682c003a96c5359, baseFeeL1: 14643440163, timestamp: 1687078931)
    • TransparentUpgradeableProxy at 0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f with implementation Inbox at 0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94
      • InboxMessageDelivered(messageNum: 921572, data: 0x0000000000000000000000007d9103572be58ffe99dc390e8246f02dcae6f6110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206a600039b3000000000000000000000000000000000000000000000000000006d6035dd7b300000000000000000000000007d9103572be58ffe99dc390e8246f02dcae6f611000000000000000000000000bbd9f90699c1fa0d7a65870d241dd1f1217c96eb000000000000000000000000000000000000000000000000000000000006ddd0000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000244d9a4cbdf00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000098bc9dfa3cecb37f1bdeadc6e774d39082756b1900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009657865637574652829000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001)
    • KeeperRegistry at 0x02777053d6764996e594c3E88AF1D58D5363a2e6
      • UpkeepPerformed(id: 95299183306293242919258731417449887125989356901836642522229237728515662948291, success: true, from: 0x3824b7a9c6d4ea93456df9b07df4ffdb37ffbcbf, payment: 0, performData: 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000f30000000000000000000000000000000000000000000000000000000000000001)

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:
    • 0x3824b7a9c6d4ea93456df9b07df4ffdb37ffbcbf: 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'