-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathwethContracts.puml
More file actions
89 lines (67 loc) · 2.15 KB
/
Copy pathwethContracts.puml
File metadata and controls
89 lines (67 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
@startuml
!$originColor = DeepSkyBlue
' !$originColor = WhiteSmoke
!$newColor = LightGreen
!$changedColor = Orange
!$thirdPartyColor = WhiteSmoke
' legend
' blue - Origin
' white - 3rd Party
' end legend
title "WETH\nAutomated Redemption Manager (ARM)\nContract Dependencies"
object "ZapperARM" as zapper <<Origin>> #$originColor {
wraps ETH
deposits WETH
}
object "MultiAssetARM\n(WETH ARM)" as arm <<Origin>><<Proxy>> #$originColor {
shares: ARM-WETH
liquidity asset: WETH
base assets: stETH, wstETH, eETH, weETH
}
object "Morpho Market" as morphoMarket <<Origin>><<Proxy>> #$originColor {
asset: WETH
}
object "Yearn WETH ARM Vault" as morphoVault <<Morpho>> #$thirdPartyColor {
asset: WETH
}
object "CapManager" as capMan <<Origin>><<Proxy>> #$originColor {
total-assets cap
liquidity-provider caps
}
object "StETHAssetAdapter" as stethAdapter <<Origin>><<Proxy>> #$originColor {
base asset: stETH
pegged: true
}
object "WstETHAssetAdapter" as wstethAdapter <<Origin>><<Proxy>> #$originColor {
base asset: wstETH
unwraps to: stETH
}
object "EtherFiAssetAdapter" as eethAdapter <<Origin>><<Proxy>> #$originColor {
base asset: eETH
pegged: true
}
object "WeETHAssetAdapter" as weethAdapter <<Origin>><<Proxy>> #$originColor {
base asset: weETH
unwraps to: eETH
}
object "Lido\nWithdrawalQueueERC721" as lidoQueue <<Lido>><<Proxy>> #$thirdPartyColor {
}
object "Ether.fi\nWithdrawal Queue" as etherfiQueue <<EtherFi>><<Proxy>> #$thirdPartyColor {
}
object "Ether.fi\nWithdrawal NFT" as etherfiNft <<EtherFi>><<Proxy>> #$thirdPartyColor {
}
zapper ..> arm : deposits for receiver
arm .right.> morphoMarket : deposit /\nredeem
morphoMarket ...> morphoVault : deposit /\nredeem
capMan <.> arm : deposit caps
arm ..> stethAdapter : request / claim
arm ..> wstethAdapter : request / claim
arm ..> eethAdapter : request / claim
arm ..> weethAdapter : request / claim
stethAdapter ..> lidoQueue : request / claim
wstethAdapter ..> lidoQueue : request / claim
eethAdapter ..> etherfiQueue : requests
eethAdapter ..> etherfiNft : claims
weethAdapter ..> etherfiQueue : requests
weethAdapter ..> etherfiNft : claims
@enduml