commit 71054778232ae9831d461554fb0d51135f6f6439
parent 758113039a67f5dd6b80c705b28615f7ecd23cfc
Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch>
Date: Thu, 6 Jun 2024 13:53:50 +0200
update uml
Diffstat:
4 files changed, 183 insertions(+), 131 deletions(-)
diff --git a/doc/thesis/images/donau_flow_issue_receipt.png b/doc/thesis/images/donau_flow_issue_receipt.png
Binary files differ.
diff --git a/doc/thesis/images/donau_flow_submit_receipt.png b/doc/thesis/images/donau_flow_submit_receipt.png
Binary files differ.
diff --git a/doc/thesis/images/uml/donau_flow_issue_receipt.drawio b/doc/thesis/images/uml/donau_flow_issue_receipt.drawio
@@ -1,196 +1,229 @@
-<mxfile host="Electron" modified="2024-05-28T22:55:34.311Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="v95PFEzPbUUMy5VbGAGY" version="24.4.8" type="device">
+<mxfile host="Electron" modified="2024-06-06T11:44:04.837Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="ZYPNL2VforjKYDmPZeip" version="24.4.8" type="device">
<diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">
- <mxGraphModel dx="954" dy="658" grid="1" gridSize="5" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
+ <mxGraphModel dx="2568" dy="1012" grid="1" gridSize="7" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
- <mxCell id="7baba1c4bc27f4b0-8" value="donor" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
- <mxGeometry x="200" y="41" width="100" height="800" as="geometry" />
+ <mxCell id="7baba1c4bc27f4b0-8" value="Wallet of the Donor" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
+ <mxGeometry x="200" y="41" width="100" height="924" as="geometry" />
</mxCell>
<mxCell id="7baba1c4bc27f4b0-9" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7baba1c4bc27f4b0-8" vertex="1">
- <mxGeometry x="45" y="50" width="10" height="730" as="geometry" />
- </mxCell>
- <mxCell id="jwiRQB-RJB6SAp2JKjDF-14" value="Add Donau" style="html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" edge="1">
- <mxGeometry width="60" relative="1" as="geometry">
- <mxPoint x="-60" y="80" as="sourcePoint" />
- <mxPoint x="45" y="80" as="targetPoint" />
- <mxPoint as="offset" />
- </mxGeometry>
+ <mxGeometry x="45" y="50" width="10" height="860" as="geometry" />
</mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-16" value="CreateDonationIdentifier()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="140" as="sourcePoint" />
+ <mxPoint x="55" y="287" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="140" />
- <mxPoint x="85" y="171" />
+ <mxPoint x="85" y="287" />
+ <mxPoint x="85" y="318" />
</Array>
- <mxPoint x="56" y="171" as="targetPoint" />
- </mxGeometry>
- </mxCell>
- <mxCell id="jwiRQB-RJB6SAp2JKjDF-9" value="GET /keys" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" target="jwiRQB-RJB6SAp2JKjDF-2" edge="1">
- <mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="55" y="90" as="sourcePoint" />
- <mxPoint x="340" y="90" as="targetPoint" />
- </mxGeometry>
- </mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-1" value="return keys" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" source="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
- <mxGeometry relative="1" as="geometry">
- <mxPoint x="135" y="119.5" as="sourcePoint" />
- <mxPoint x="55" y="119.5" as="targetPoint" />
- </mxGeometry>
- </mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-5" value="Donate to charity" style="html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" edge="1">
- <mxGeometry width="60" relative="1" as="geometry">
- <mxPoint x="-60" y="200" as="sourcePoint" />
- <mxPoint x="45" y="200" as="targetPoint" />
- <mxPoint as="offset" />
+ <mxPoint x="56" y="318" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-8" value="CreateBlindedDonationIdentifier()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;entryX=1.08;entryY=0.447;entryDx=0;entryDy=0;entryPerimeter=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="220" as="sourcePoint" />
+ <mxPoint x="55" y="366" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="220" />
- <mxPoint x="85" y="251" />
+ <mxPoint x="85" y="366" />
+ <mxPoint x="85" y="397" />
</Array>
- <mxPoint x="56" y="251" as="targetPoint" />
+ <mxPoint x="56" y="397" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-10" value="CreateBlindedDonationIdentifierKeyPair()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;entryX=1.08;entryY=0.447;entryDx=0;entryDy=0;entryPerimeter=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="260" as="sourcePoint" />
+ <mxPoint x="55" y="406" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="260" />
- <mxPoint x="85" y="291" />
+ <mxPoint x="85" y="406" />
+ <mxPoint x="85" y="437" />
</Array>
- <mxPoint x="56" y="291" as="targetPoint" />
+ <mxPoint x="56" y="437" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-26" value="VerifySig()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;entryX=1.08;entryY=0.447;entryDx=0;entryDy=0;entryPerimeter=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="692" as="sourcePoint" />
+ <mxPoint x="55" y="804" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="692" />
- <mxPoint x="85" y="723" />
+ <mxPoint x="85" y="804" />
+ <mxPoint x="85" y="835" />
</Array>
- <mxPoint x="56" y="723" as="targetPoint" />
+ <mxPoint x="56" y="835" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-27" value="UnblindSig()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;entryX=1.08;entryY=0.447;entryDx=0;entryDy=0;entryPerimeter=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="653" as="sourcePoint" />
+ <mxPoint x="55" y="765" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="653" />
- <mxPoint x="85" y="684" />
+ <mxPoint x="85" y="765" />
+ <mxPoint x="85" y="796" />
</Array>
- <mxPoint x="56" y="684" as="targetPoint" />
+ <mxPoint x="56" y="796" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-28" value="CreateDonationReceipt()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;entryX=1.08;entryY=0.447;entryDx=0;entryDy=0;entryPerimeter=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="731.03" as="sourcePoint" />
+ <mxPoint x="55" y="843.03" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="731.03" />
- <mxPoint x="85" y="762.03" />
+ <mxPoint x="85" y="843.03" />
+ <mxPoint x="85" y="874.03" />
</Array>
- <mxPoint x="56" y="762.03" as="targetPoint" />
+ <mxPoint x="56" y="874.03" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="jwiRQB-RJB6SAp2JKjDF-9" value="&nbsp; &nbsp;&nbsp;" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;align=left;" parent="7baba1c4bc27f4b0-8" edge="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="55" y="237" as="sourcePoint" />
+ <mxPoint x="644" y="237" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-1" value="Donau" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
- <mxGeometry x="500" y="41" width="100" height="800" as="geometry" />
+ <mxGeometry x="799" y="41" width="100" height="924" as="geometry" />
</mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="jwiRQB-RJB6SAp2JKjDF-1" vertex="1">
- <mxGeometry x="45" y="50" width="10" height="730" as="geometry" />
+ <mxGeometry x="45" y="50" width="10" height="860" as="geometry" />
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-18" value="Verify charity signature" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="450" as="sourcePoint" />
+ <mxPoint x="55" y="601" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="480" />
+ <mxPoint x="85" y="631" />
</Array>
- <mxPoint x="60" y="479.9999999999998" as="targetPoint" />
+ <mxPoint x="60" y="630.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-22" value="Blind Sign BUDI's" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="540" as="sourcePoint" />
+ <mxPoint x="55" y="691" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="570" />
+ <mxPoint x="85" y="721" />
</Array>
- <mxPoint x="60" y="569.9999999999998" as="targetPoint" />
+ <mxPoint x="60" y="720.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-23" value="send blind signatures" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
- <mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="55" y="605" as="sourcePoint" />
- <mxPoint x="325" y="605" as="targetPoint" />
- </mxGeometry>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-15" value="<span style="font-size: 11px; text-align: left; text-wrap: nowrap; background-color: rgb(255, 255, 255);">return keys</span>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="jwiRQB-RJB6SAp2JKjDF-1">
+ <mxGeometry x="-33" y="243" width="60" height="30" as="geometry" />
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-24" value="send blind signatures" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
- <mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="324.99999999999955" y="635" as="sourcePoint" />
- <mxPoint x="-245" y="635" as="targetPoint" />
+ <mxCell id="RNT9XIpHyLaZ2cgxR4a1-4" value="check donation limit" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="55" y="647" as="sourcePoint" />
+ <Array as="points">
+ <mxPoint x="85" y="677" />
+ </Array>
+ <mxPoint x="60" y="676.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-2" value="charity" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
- <mxGeometry x="780" y="41" width="100" height="800" as="geometry" />
+ <mxGeometry x="500" y="41" width="100" height="924" as="geometry" />
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-4" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="gqEucMnvXZBW8aS9mki2-2" vertex="1">
- <mxGeometry x="45" y="50" width="10" height="730" as="geometry" />
+ <mxGeometry x="45" y="50" width="10" height="860" as="geometry" />
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-15" value="Verify payment" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="gqEucMnvXZBW8aS9mki2-2" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="345" as="sourcePoint" />
+ <mxPoint x="55" y="475" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="375" />
+ <mxPoint x="85" y="505" />
</Array>
- <mxPoint x="60" y="374.9999999999998" as="targetPoint" />
+ <mxPoint x="60" y="504.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="gqEucMnvXZBW8aS9mki2-16" value="Sign BKP's" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="gqEucMnvXZBW8aS9mki2-2" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="385" as="sourcePoint" />
+ <mxPoint x="55" y="521" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="415" />
+ <mxPoint x="85" y="551" />
</Array>
- <mxPoint x="60" y="414.9999999999998" as="targetPoint" />
+ <mxPoint x="60" y="550.9999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-17" value="POST /batch_issue" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="gqEucMnvXZBW8aS9mki2-2" target="jwiRQB-RJB6SAp2JKjDF-2" edge="1">
+ <mxCell id="gqEucMnvXZBW8aS9mki2-9" value="<div style="font-size: 8px;">foreach</div><div style="font-size: 8px;"><font style="font-size: 8px;"><font style="font-size: 8px;">donation unit</font><font style="font-size: 8px;"><br></font></font></div>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=60;height=25;" parent="1" vertex="1">
+ <mxGeometry x="180" y="398" width="320" height="90" as="geometry" />
+ </mxCell>
+ <mxCell id="gqEucMnvXZBW8aS9mki2-12" value="Send BKP's, donation" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="1" edge="1">
<mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="45" y="440" as="sourcePoint" />
- <mxPoint x="-24.976190476190595" y="440.0000000000001" as="targetPoint" />
+ <mxPoint x="255" y="508" as="sourcePoint" />
+ <mxPoint x="545" y="508" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-9" value="<div style="font-size: 8px;">foreach</div><div style="font-size: 8px;"><font style="font-size: 8px;"><font style="font-size: 8px;">donation unit</font><font style="font-size: 8px;"><br></font></font></div>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=60;height=25;" parent="1" vertex="1">
- <mxGeometry x="180" y="251" width="320" height="90" as="geometry" />
+ <mxCell id="gqEucMnvXZBW8aS9mki2-21" value="foreach BKP" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;" parent="1" vertex="1">
+ <mxGeometry x="480" y="556" width="230" height="43" as="geometry" />
+ </mxCell>
+ <mxCell id="gqEucMnvXZBW8aS9mki2-25" value="<div style="font-size: 8px;"><font style="font-size: 8px;">foreach<br></font></div><div style="font-size: 8px;"><font style="font-size: 8px;"><font style="font-size: 8px;">blind signature<br></font></font></div>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=60;height=25;" parent="1" vertex="1">
+ <mxGeometry x="180" y="798" width="320" height="125" as="geometry" />
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-1" value="<font style="font-size: 10px;">Donor</font>" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+ <mxGeometry x="-63" y="35" width="24" height="48" as="geometry" />
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-2" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="-49" y="966" as="sourcePoint" />
+ <mxPoint x="-49" y="105" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-4" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" vertex="1" parent="1">
+ <mxGeometry x="-54" y="117" width="10" height="835" as="geometry" />
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-13" value="Payment" style="html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;curved=0;rounded=0;" parent="1" target="gqEucMnvXZBW8aS9mki2-4" edge="1">
- <mxGeometry width="60" relative="1" as="geometry">
- <mxPoint x="705" y="381" as="sourcePoint" />
- <mxPoint x="785" y="381" as="targetPoint" />
- <mxPoint as="offset" />
+ <mxCell id="gqEucMnvXZBW8aS9mki2-17" value="POST /batch_issue" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;exitX=1;exitY=0.536;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" edge="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="555" y="617.28" as="sourcePoint" />
+ <mxPoint x="844" y="617.28" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-12" value="Send BKP's" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="1" target="gqEucMnvXZBW8aS9mki2-4" edge="1">
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-6" value="donation request" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;exitX=0.959;exitY=0.017;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="WMqh-AE5CI4WssVs_gXZ-4">
<mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="255" y="361" as="sourcePoint" />
- <mxPoint x="784.5" y="361" as="targetPoint" />
+ <mxPoint x="-42" y="131" as="sourcePoint" />
+ <mxPoint x="245" y="131" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-21" value="foreach BKP" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;" parent="1" vertex="1">
- <mxGeometry x="480" y="571" width="230" height="50" as="geometry" />
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-7" value="donation request" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" edge="1" parent="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="255" y="160" as="sourcePoint" />
+ <mxPoint x="545" y="160" as="targetPoint" />
+ </mxGeometry>
</mxCell>
- <mxCell id="gqEucMnvXZBW8aS9mki2-25" value="<div style="font-size: 8px;"><font style="font-size: 8px;">foreach<br></font></div><div style="font-size: 8px;"><font style="font-size: 8px;"><font style="font-size: 8px;">blind signature<br></font></font></div>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;width=60;height=25;" parent="1" vertex="1">
- <mxGeometry x="180" y="686" width="320" height="125" as="geometry" />
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-9" value="return different supported Donaus" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;exitX=-0.347;exitY=0.129;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.129;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="gqEucMnvXZBW8aS9mki2-4" target="7baba1c4bc27f4b0-9">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="843" y="185.5" as="sourcePoint" />
+ <mxPoint x="255" y="185" as="targetPoint" />
+ </mxGeometry>
</mxCell>
- <mxCell id="RNT9XIpHyLaZ2cgxR4a1-4" value="check donation limit" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="1">
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-10" value="list Donaus" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;exitX=-0.239;exitY=0.15;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.96;entryY=0.123;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="7baba1c4bc27f4b0-9" target="WMqh-AE5CI4WssVs_gXZ-4">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="556" y="532" as="sourcePoint" />
- <Array as="points">
- <mxPoint x="586" y="562" />
- </Array>
- <mxPoint x="561" y="561.9999999999998" as="targetPoint" />
+ <mxPoint x="241" y="205" as="sourcePoint" />
+ <mxPoint x="-42" y="220" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-11" value="choose a Donau" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;exitX=0.983;exitY=0.153;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.179;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="WMqh-AE5CI4WssVs_gXZ-4" target="7baba1c4bc27f4b0-9">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="-42" y="225" as="sourcePoint" />
+ <mxPoint x="244.75" y="225" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-14" value="<span style="font-size: 11px; text-align: left; text-wrap: nowrap; background-color: rgb(255, 255, 255);">GET /keys</span>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
+ <mxGeometry x="270" y="254" width="60" height="30" as="geometry" />
+ </mxCell>
+ <mxCell id="gqEucMnvXZBW8aS9mki2-24" value="send blind signatures" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;dashed=1;exitX=-0.065;exitY=0.779;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" edge="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="843.3499999999999" y="770.6700000000001" as="sourcePoint" />
+ <mxPoint x="554" y="771" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="gqEucMnvXZBW8aS9mki2-1" value="" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;align=left;entryX=1;entryY=0.252;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="jwiRQB-RJB6SAp2JKjDF-1" edge="1" target="7baba1c4bc27f4b0-9">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="848.5" y="307.5" as="sourcePoint" />
+ <mxPoint x="259" y="308" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-18" value="send blind signatures" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;dashed=1;exitX=-0.092;exitY=0.799;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.102;entryY=0.8;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="gqEucMnvXZBW8aS9mki2-4" target="7baba1c4bc27f4b0-9">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="541.3499999999999" y="777.6700000000001" as="sourcePoint" />
+ <mxPoint x="259" y="777" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="WMqh-AE5CI4WssVs_gXZ-19" value="donation confirmation" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;dashed=1;exitX=-0.092;exitY=0.799;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.102;entryY=0.8;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="244" y="938" as="sourcePoint" />
+ <mxPoint x="-44" y="939" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
diff --git a/doc/thesis/images/uml/donau_flow_submit_receipt.drawio b/doc/thesis/images/uml/donau_flow_submit_receipt.drawio
@@ -1,35 +1,37 @@
-<mxfile host="app.diagrams.net" modified="2024-05-28T16:20:53.611Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0" etag="LTpaZLRN4BOOsezB7BFL" version="24.4.9" type="device">
+<mxfile host="Electron" modified="2024-06-06T11:51:36.283Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.8 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="F2xTyaxUiKOWuq84lL4D" version="24.4.8" type="device">
<diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">
- <mxGraphModel dx="2033" dy="799" grid="1" gridSize="5" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
+ <mxGraphModel dx="2054" dy="658" grid="1" gridSize="5" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
- <mxCell id="7baba1c4bc27f4b0-8" value="donor" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
+ <mxCell id="7baba1c4bc27f4b0-8" value="Wallet of the Donor" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
<mxGeometry x="200" y="80" width="100" height="360" as="geometry" />
</mxCell>
<mxCell id="7baba1c4bc27f4b0-9" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7baba1c4bc27f4b0-8" vertex="1">
<mxGeometry x="45" y="50" width="10" height="290" as="geometry" />
</mxCell>
- <mxCell id="jwiRQB-RJB6SAp2JKjDF-14" value="Submit receipts" style="html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" edge="1">
- <mxGeometry width="60" relative="1" as="geometry">
- <mxPoint x="-65" y="80" as="sourcePoint" />
- <mxPoint x="45" y="80" as="targetPoint" />
- <mxPoint as="offset" />
- </mxGeometry>
- </mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-9" value="POST /submit" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="7baba1c4bc27f4b0-8" edge="1">
<mxGeometry width="80" relative="1" as="geometry">
<mxPoint x="55" y="100" as="sourcePoint" />
<mxPoint x="345" y="100" as="targetPoint" />
</mxGeometry>
</mxCell>
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-6" value="create QR-Code" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="7baba1c4bc27f4b0-8">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="55" y="291" as="sourcePoint" />
+ <Array as="points">
+ <mxPoint x="85" y="321" />
+ </Array>
+ <mxPoint x="60" y="321.0344827586207" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-1" value="Donau" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="1" vertex="1">
<mxGeometry x="500" y="80" width="100" height="360" as="geometry" />
</mxCell>
<mxCell id="jwiRQB-RJB6SAp2JKjDF-2" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="jwiRQB-RJB6SAp2JKjDF-1" vertex="1">
<mxGeometry x="45" y="50" width="10" height="290" as="geometry" />
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-2" value="Verify()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="jwiRQB-RJB6SAp2JKjDF-1">
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-2" value="Verify()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="55" y="120" as="sourcePoint" />
<Array as="points">
@@ -38,7 +40,7 @@
<mxPoint x="60" y="150.0344827586207" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-3" value="InsertDonationReceipt()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="jwiRQB-RJB6SAp2JKjDF-1">
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-3" value="InsertDonationReceipt()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="55" y="160" as="sourcePoint" />
<Array as="points">
@@ -47,35 +49,52 @@
<mxPoint x="60" y="190.0344827586207" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-7" value="CreateDonationStatement()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="jwiRQB-RJB6SAp2JKjDF-1">
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-7" value="CreateDonationStatement()" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" parent="jwiRQB-RJB6SAp2JKjDF-1" edge="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="55" y="280" as="sourcePoint" />
+ <mxPoint x="55" y="233" as="sourcePoint" />
<Array as="points">
- <mxPoint x="85" y="310" />
+ <mxPoint x="85" y="263" />
</Array>
- <mxPoint x="60" y="310.0344827586207" as="targetPoint" />
+ <mxPoint x="60" y="263.0344827586207" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-4" value="<font style="font-size: 7px;">foreach donation receipt<br></font>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;" vertex="1" parent="1">
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-4" value="<font style="font-size: 7px;">foreach donation receipt<br></font>" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;" parent="1" vertex="1">
<mxGeometry x="475" y="190" width="245" height="90" as="geometry" />
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-5" value="Get Donation Statement" style="html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;curved=0;rounded=0;" edge="1" parent="1">
- <mxGeometry width="60" relative="1" as="geometry">
- <mxPoint x="100" y="320" as="sourcePoint" />
- <mxPoint x="245" y="320" as="targetPoint" />
- <mxPoint as="offset" />
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-6" value="GET /donation-statement" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" parent="1" edge="1">
+ <mxGeometry width="80" relative="1" as="geometry">
+ <mxPoint x="255" y="300" as="sourcePoint" />
+ <mxPoint x="545" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-6" value="GET /donation-statement" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" edge="1" parent="1">
+ <mxCell id="YEmzHlgfu5xY-nhSzUvz-8" value="return donation statement" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;" parent="1" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="545" y="356" as="sourcePoint" />
+ <mxPoint x="255" y="356" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-1" value="<font style="font-size: 10px;">Donor</font>" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+ <mxGeometry x="-62" y="73" width="24" height="48" as="geometry" />
+ </mxCell>
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-2" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="-51" y="440" as="sourcePoint" />
+ <mxPoint x="-50.84000000000003" y="142" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-3" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" vertex="1" parent="1">
+ <mxGeometry x="-56" y="155" width="10" height="265" as="geometry" />
+ </mxCell>
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-4" value="Donation Statement request" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;" edge="1" parent="1">
<mxGeometry width="80" relative="1" as="geometry">
- <mxPoint x="255" y="340" as="sourcePoint" />
- <mxPoint x="545" y="340" as="targetPoint" />
+ <mxPoint x="-45" y="160" as="sourcePoint" />
+ <mxPoint x="245" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
- <mxCell id="YEmzHlgfu5xY-nhSzUvz-8" value="return donation statement" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;" edge="1" parent="1" target="7baba1c4bc27f4b0-9">
+ <mxCell id="O59T3d6kOZ-3-7sBT_h8-5" value="display results" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
- <mxPoint x="545" y="400" as="sourcePoint" />
- <mxPoint x="465" y="400" as="targetPoint" />
+ <mxPoint x="244" y="410" as="sourcePoint" />
+ <mxPoint x="-46" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>