Skip to content

Commit

Permalink
Updated OETH contract dependency diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
naddison36 committed May 3, 2024
1 parent 0ece8b9 commit ce11531
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 124 deletions.
Binary file modified contracts/docs/plantuml/oethContracts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
196 changes: 72 additions & 124 deletions contracts/docs/plantuml/oethContracts.puml
Original file line number Diff line number Diff line change
@@ -1,150 +1,116 @@
@startuml

!$originColor = DeepSkyBlue
' !$originColor = WhiteSmoke
!$newColor = LightGreen
!$changedColor = Orange
!$thirdPartyColor = WhiteSmoke

legend
blue - existing
' green - new
' orange - changed
white - 3rd Party
end legend

title "Origin Ether Contract Dependencies"

object "OETHZapper" as zap <<Origin>> #DeepSkyBlue {
assets: ETH, sfrxETH
object "OETHZapper" as zap <<Origin>> #$originColor {
assets: ETH
}

object "OETHDripper" as drip <<Origin>><<Proxy>> #DeepSkyBlue {
object "OETHDripper" as drip <<Origin>><<Proxy>> #$originColor {
asset: WETH
}

object "OETHVaultValueChecker" as checker <<Origin>> #DeepSkyBlue {
object "OETHVaultValueChecker" as checker <<Origin>> #$originColor {
}

object "WOETH" as woeth <<Origin>><<Proxy>> #DeepSkyBlue {
object "WOETH" as woeth <<Origin>><<Proxy>> #$originColor {
asset: OETH
symbol: WOETH
name: Wrapped OETH
}

object "OETH" as oeth <<Origin>><<Proxy>> #DeepSkyBlue {
object "OETH" as oeth <<Origin>><<Proxy>> #$originColor {
symbol: OETH
name: Origin Ether
}

object "OETH Vault" as oethv <<Origin>><<Proxy>> #DeepSkyBlue {
assets:
WETH
frxETH
stETH
rETH
}

object "Swapper1InchV5" as swap <<Origin>> #DeepSkyBlue {
asset: any
object "OETH Vault" as oethv <<Origin>><<Proxy>> #$originColor {
asset: WETH
}

object "OETHHarvester" as harv <<Origin>><<Proxy>> #DeepSkyBlue {
rewards: CRV, CVX, BAL, AURA
object "OETHHarvester" as harv <<Origin>><<Proxy>> #$originColor {
rewards: CRV, CVX
}

' Strategies
object "FraxETHStrategy" as frxethstrat <<Origin>><<Proxy>> #DeepSkyBlue {
asset: frxETH, WETH
vault: sfrxETH
}
object "ConvexEthMetaStrategy" as cvxStrat <<Origin>><<Proxy>> #DeepSkyBlue {
object "ConvexEthMetaStrategy" as cvxStrat <<Origin>><<Proxy>> #$originColor {
asset: WETH
Curve metapool: OETHCRV-f
Convex pool: cvxOETHCRV-f
Rewards: CRV, CVX
}
object "MorphoAaveStrategy" as morphAaveStrat <<Origin>><<Proxy>> #DeepSkyBlue {
asset: WETH
Aave token: aWETH
}

object "BalancerMetaPoolStrategy" as balancerStrat <<Origin>><<Proxy>> #DeepSkyBlue {
asset: rETH, WETH
Balancer Pool Token: B-rETH-STABLE
Rewards: BAL, AURA
object "NativeStakingStrategy" as nativeStrat <<Origin>><<Proxy>> #$originColor {
assets: WETH, ETH
Rewards: ETH, SSV
}

' Oracle
object "OETHOracleRouter" as oracle <<Origin>> #DeepSkyBlue {
pairs:
frxETH/ETH
stETH/ETH
rETH/ETH
CRV/ETH
CVX/ETH
object "FeeAccumulator" as feeAcc <<Origin>><<Proxy>> #$originColor {
assets: ETH
}

' object "EACAggregatorProxy" as chain <<Chainlink>> {
' prices: CVX/ETH, CRV/ETH,\nrETH/ETH, stETH/ETH, frxETH/ETH,\nWETH/ETH
' ' Oracle
' object "OETHOracleRouter" as oracle <<Origin>> #$originColor {
' pairs:
' CRV/ETH
' CVX/ETH
' }

' ' SushiSwap
' object "UniswapV2Router02" as sushi <<SushiSwap>> {
' pairs: CRV/ETH, CVX/ETH
' }

' ' Curve
' object "Gauge" as gauge <<Curve>> {
' asset: OETHCRV-f
' symbol: OETHCRV-f-gauge
' name: Curve.fi OETHCRV-f Gauge Deposit
' }
' object "StableSwap" as crvPool <<Curve>> {
' assets: [ETH, OETH]
' symbol: OETHCRV-f
' name: Curve.fi Factory Pool: OETH
' }
' ' Convex
' ' object "Booster" as cvxBoost <<Convex>> {
' ' }
' object "BaseRewardPool" as cvxPool <<Convex>> {
' }
' Curve
object "Gauge" as gauge <<Curve>> {
asset: OETHCRV-f
symbol: OETHCRV-f-gauge
name: Curve.fi OETHCRV-f Gauge Deposit
}
object "StableSwap" as crvPool <<Curve>> {
assets: [ETH, OETH]
symbol: OETHCRV-f
name: Curve.fi Factory Pool: OETH
}
' Convex
object "Booster" as cvxBoost <<Convex>> {
}
object "BaseRewardPool" as cvxPool <<Convex>> {
}
' object "DepositToken" as cvxPoolLp <<Convex>> {
' symbol: cvxOUSD3CRV-f
' name: Origin Dollar Convex Deposit
' }

' ' Aave Morpho
' object "Morpho\nAave V2" as morphoV2 <<Morpho>> {
' }
' object "Morpho\nLens" as morphoLens <<Morpho>> {
' }

' object "aWETH" as aweth <<Aave>> {
' symbol: aWETH
' name: Aave interest bearing WETH
' }
' object "variableDebtWETH" as vdweth <<Aave>> {
' symbol: variableDebtWETH
' name: Aave variable debt bearing WETH
' }

' ' Assets
' SSV
object "SSV Network" as ssvNet <<SSV>> #$thirdPartyColor {
assets: ETH, SSV
}

' object "sfrxETH" as sfrxeth <<FRAX>> {
' asset: frxETH
' symbol: sfrxETH
' name: Staked Frax Ether
' }
object "Deposit" as bDep <<Beacon>> #$thirdPartyColor {
assets: ETH
}

' object "frxETH" as frxeth <<FRAX>> {
' symbol: frxETH
' name: Frax Ether
' }

' ' Assets
' object "WETH9" as weth <<Dapphub>> {
' symbol: WETH
' name: Wrapped Ether
' }

' object "RocketTokenRETH" as reth <<Rocket Pool>> {
' symbol: rETH
' name: Rocket Pool ETH
' }

' object "Lido" as steth <<Lido>><<Proxy>> {
' symbol: stETH
' name: Liquid staked Ether 2.0
' }

' ' Rewards
' object "ConvexToken" as cvx <<Convex>> {
' symbol: CVX
Expand All @@ -158,8 +124,6 @@ pairs:

zap ..> oeth
zap ..> oethv
' zap ....> sfrxeth
' zap .....> frxeth
' zap .....> weth

' drip .....> weth
Expand All @@ -176,51 +140,35 @@ drip <.. harv

woeth ..> oeth
oeth <.> oethv
oethv ..> oracle
oethv .> swap
' oethv ..> oracle
' oracle ...> chain


' Staked FRAX ETH Strategy
oethv ...> frxethstrat
' frxethstrat ..> sfrxeth

' Convex ETH Metapool Strategy
harv <..> cvxStrat
oethv <...> cvxStrat
oeth <... cvxStrat

' cvxStrat ..> crvPool
harv <..> nativeStrat
oethv <...> nativeStrat
nativeStrat <.> feeAcc
nativeStrat ..> ssvNet
nativeStrat ..> bDep

cvxStrat ..> crvPool
' cvxStrat ..> cvxPool
' cvxStrat ...> weth
' cvxStrat ...> cvx
' cvxStrat ...> crv
' cvxPool ..> cvxPoolLp
' cvxPool ..> crv
' cvxPool .> gauge
' gauge .> crvPool
' oeth <... crvPool

' Morpho Aave Strategy
oethv <...> morphAaveStrat
oeth <... morphAaveStrat
' morphAaveStrat ..> morphoV2
' morphAaveStrat ..> morphoLens
' morphoLens .> morphoV2
' morphoV2 ..> aweth
' morphoV2 ..> vdweth

' Balancer Strategy
oethv <...> balancerStrat
oeth <... balancerStrat
harv <..> balancerStrat
gauge <. cvxPool
crvPool <.. gauge
oeth <... crvPool
cvxStrat ..> cvxBoost
cvxBoost ..> cvxPool

' ' Vault to Assets
' oethv .....> frxeth
' oethv .....> weth
' oethv .....> reth
' oethv .....> steth

' sfrxeth ..> frxeth
' oethv ....> weth

@enduml

0 comments on commit ce11531

Please sign in to comment.