-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdiagram.puml
More file actions
81 lines (63 loc) · 1.71 KB
/
diagram.puml
File metadata and controls
81 lines (63 loc) · 1.71 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
@startuml
'https://plantuml.com/use-case-diagram
left to right direction
actor User as user
actor "Node Operator" as operator
actor "Pause Account" as pauser
actor "Oracle Account" as oracle
package "Staking Contract" {
rectangle {
usecase "createNode/deleteNode" as S1
usecase "deposit/requestWithdrawal" as S2
usecase "setTaxRateBasisPoints4Node" as S3
usecase "claimWithdrawal" as S4
}
rectangle {
usecase "pause" as S7
usecase "unpause" as S8
}
rectangle {
usecase "stake" as S9
usecase "requestUnstake" as S10
usecase "claimUnstake" as S11
usecase "stakeToPublicPool" as S12
}
rectangle {
usecase "withdraw2Treasury" as S13
usecase "distributeRewards" as S14
usecase "slashNodes" as S15
usecase "setTaxRateBasisPoints4PublicPool" as S16
}
}
package "Settlement Contract" {
usecase "distributeRewards" as ST1
usecase "setTaxRateBasisPoints4PublicPool" as ST2
usecase "updateRewardsRatio" as ST3
usecase "slashNodes" as ST4
}
package "Chips Contract" {
usecase "mintBatch" as C1
usecase "tokenURI" as C2
usecase "burn" as C3
}
user --> S9
user --> S10
user --> S11
user --> S12
operator --> S1
operator --> S2
operator --> S3
operator --> S4
pauser --> S7
pauser --> S8
oracle --> ST1
oracle --> ST2
oracle --> ST3
oracle --> ST4
S9 --> C1 #blue;line.dotted;text:blue : mint chips
S12 --> C1 #blue;line.dotted;text:blue : mint chips
S10 --> C3 #blue;line.dotted;text:blue : burn chips
ST1 ..> S14 #blue;line.dotted;text:blue : call
ST2 ..> S16 #blue;line.dotted;text:blue : call
ST4 ..> S15 #blue;line.dotted;text:blue : call
@enduml