-
Notifications
You must be signed in to change notification settings - Fork 7
/
uml.drawio
199 lines (199 loc) · 18.2 KB
/
uml.drawio
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<mxfile host="65bd71144e">
<diagram id="2sSWdcVANpwXDTMMq90L" name="Page-1">
<mxGraphModel dx="1085" dy="779" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="54" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="53" target="37" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="600" y="610" as="sourcePoint"/>
<mxPoint x="530" y="530" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="52" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="51" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="249.5" y="240" as="sourcePoint"/>
<mxPoint x="249.5" y="145" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="50" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="1" source="49" target="37" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="300" y="600" as="sourcePoint"/>
<mxPoint x="440" y="520" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="46" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="1" source="45" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="110" y="320" as="sourcePoint"/>
<mxPoint x="210" y="150" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="28" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="1" source="24" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="110" y="250" as="sourcePoint"/>
<mxPoint x="170" y="170" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="29" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="26" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="120" y="260" as="sourcePoint"/>
<mxPoint x="210" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="32" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="27" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="150" y="290" as="sourcePoint"/>
<mxPoint x="250" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="2" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><br><b>ServiceProxy</b></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="180" y="85" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="3" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br><b>IRpcClient</b></p><br><hr size="1"><p style="margin: 0px ; margin-left: 4px"><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="490" y="71" width="110" height="70" as="geometry"/>
</mxCell>
<mxCell id="6" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="2" target="3" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="220" y="129.5" as="sourcePoint"/>
<mxPoint x="480" y="151" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="7" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="3" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="500" y="195" as="sourcePoint"/>
<mxPoint x="660" y="75" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="8" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="3" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="560" y="95" as="sourcePoint"/>
<mxPoint x="660" y="135" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="9" value="WebSocketRpcClient" style="html=1;rounded=0;" parent="1" vertex="1">
<mxGeometry x="680" y="50" width="130" height="50" as="geometry"/>
</mxCell>
<mxCell id="10" value="" style="endArrow=none;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=2;" parent="1" source="9" target="11" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="11" value="" style="ellipse;html=1;fontSize=11;align=center;fillColor=none;points=[];aspect=fixed;resizable=0;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;flipH=1;" parent="1" vertex="1">
<mxGeometry x="660" y="71" width="8" height="8" as="geometry"/>
</mxCell>
<mxCell id="16" value="HttpRpcClient" style="html=1;rounded=0;" parent="1" vertex="1">
<mxGeometry x="680" y="115" width="130" height="50" as="geometry"/>
</mxCell>
<mxCell id="17" value="" style="endArrow=none;html=1;rounded=0;align=center;verticalAlign=top;endFill=0;labelBackgroundColor=none;endSize=2;" parent="1" source="16" target="18" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="18" value="" style="ellipse;html=1;fontSize=11;align=center;fillColor=none;points=[];aspect=fixed;resizable=0;verticalAlign=bottom;labelPosition=center;verticalLabelPosition=top;flipH=1;" parent="1" vertex="1">
<mxGeometry x="660" y="136" width="8" height="8" as="geometry"/>
</mxCell>
<mxCell id="19" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">CrawlerProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="30" y="240" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="22" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" source="19" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="550" y="470" as="sourcePoint"/>
<mxPoint x="710" y="470" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="23" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">DaemonProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="180" y="240" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="24" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">HarvesterProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="30" y="310" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="25" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">FarmerProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="330" y="240" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="26" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">FullNodeProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="180" y="310" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="27" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">WalletProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="330" y="310" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="30" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="1" source="25" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="130" y="270" as="sourcePoint"/>
<mxPoint x="205" y="190" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="31" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="23" target="2" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="140" y="280" as="sourcePoint"/>
<mxPoint x="215" y="200" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="33" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">TradeManager</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="610" y="270" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="34" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="33" target="27" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="330" y="447" as="sourcePoint"/>
<mxPoint x="500" y="430" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="37" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center ; text-decoration: underline"><b>Wallet</b></p><hr><p style="margin: 0px ; margin-left: 8px">WalletID = uint32<br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="360" y="430" width="160" height="90" as="geometry"/>
</mxCell>
<mxCell id="38" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">CATWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="220" y="600" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="39" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" source="38" target="37" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="300" y="260" as="sourcePoint"/>
<mxPoint x="300" y="165" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="40" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">PoolWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="370" y="600" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="41" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="37" target="27" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="610" y="370" as="sourcePoint"/>
<mxPoint x="480" y="350" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="42" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="40" target="37" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="360" y="580" as="sourcePoint"/>
<mxPoint x="440" y="520" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="43" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">DIDWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="600" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="44" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="1" source="43" target="37" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="490" y="590" as="sourcePoint"/>
<mxPoint x="450" y="530" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="45" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">PlotterProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="30" y="380" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="49" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">NFTWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="220" y="670" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="51" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">DataLayerProxy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="180" y="380" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="53" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">DataLayerWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="520" y="670" width="140" height="60" as="geometry"/>
</mxCell>
<mxCell id="55" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">VerifiedCredentialManager</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
<mxGeometry x="610" y="360" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="56" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="55" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="610" y="400" as="sourcePoint"/>
<mxPoint x="470" y="340" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="57" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center">CRCATWallet</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" vertex="1" parent="1">
<mxGeometry x="370" y="670" width="140" height="60" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>