<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="drawio" version="30.3.14">
  <diagram name="System Architecture">
    <mxGraphModel dx="1000" dy="700" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="826" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="wallets" value="Wallets" style="swimlane;startSize=30;dashed=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=14;fontStyle=1;pointerEvents=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="55" width="200" height="200" as="geometry" />
        </mxCell>
        <mxCell id="metamask" value="MetaMask" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=13;" vertex="1" parent="wallets">
          <mxGeometry x="25" y="45" width="150" height="40" as="geometry" />
        </mxCell>
        <mxCell id="giwawallet" value="GIWA Wallet" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=13;" vertex="1" parent="wallets">
          <mxGeometry x="25" y="95" width="150" height="40" as="geometry" />
        </mxCell>
        <mxCell id="walletconnect" value="WalletConnect" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=13;" vertex="1" parent="wallets">
          <mxGeometry x="25" y="145" width="150" height="40" as="geometry" />
        </mxCell>
        <mxCell id="umul" value="Umul" style="swimlane;startSize=30;fillColor=none;strokeColor=#6c8ebf;fontSize=14;fontStyle=1;pointerEvents=0;" vertex="1" parent="1">
          <mxGeometry x="340" y="40" width="280" height="320" as="geometry" />
        </mxCell>
        <mxCell id="appc" value="App" style="swimlane;startSize=30;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;fontStyle=1;pointerEvents=0;" vertex="1" parent="umul">
          <mxGeometry x="40" y="50" width="200" height="130" as="geometry" />
        </mxCell>
        <mxCell id="inst" value="Installation" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#6c8ebf;fontSize=12;" vertex="1" parent="appc">
          <mxGeometry x="20" y="45" width="160" height="30" as="geometry" />
        </mxCell>
        <mxCell id="mlsdb" value="Local MLS DB" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#6c8ebf;fontSize=12;" vertex="1" parent="appc">
          <mxGeometry x="20" y="85" width="160" height="30" as="geometry" />
        </mxCell>
        <mxCell id="server" value="Server" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" vertex="1" parent="umul">
          <mxGeometry x="60" y="230" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="eas" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="umul" source="appc" target="server">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="xmtpc" value="XMTP Network" style="swimlane;startSize=30;dashed=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=14;fontStyle=1;pointerEvents=0;" vertex="1" parent="1">
          <mxGeometry x="740" y="30" width="380" height="290" as="geometry" />
        </mxCell>
        <mxCell id="n1" value="Node" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="40" y="55" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="n2" value="Node" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="260" y="55" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="n3" value="Node" style="ellipse;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="150" y="125" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="m1" style="endArrow=none;startArrow=none;dashed=1;html=1;strokeColor=#999999;" edge="1" parent="xmtpc" source="n1" target="n2">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="m2" style="endArrow=none;startArrow=none;dashed=1;html=1;strokeColor=#999999;" edge="1" parent="xmtpc" source="n1" target="n3">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="m3" style="endArrow=none;startArrow=none;dashed=1;html=1;strokeColor=#999999;" edge="1" parent="xmtpc" source="n2" target="n3">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="kinbox" value="Inbox ID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="15" y="225" width="110" height="34" as="geometry" />
        </mxCell>
        <mxCell id="kkeypkg" value="Key Package" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="135" y="225" width="110" height="34" as="geometry" />
        </mxCell>
        <mxCell id="ktopics" value="Topics (g-*, w-*)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#666666;fontSize=12;" vertex="1" parent="xmtpc">
          <mxGeometry x="255" y="225" width="110" height="34" as="geometry" />
        </mxCell>
        <mxCell id="pgc" value="Database" style="swimlane;startSize=30;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=14;fontStyle=1;pointerEvents=0;" vertex="1" parent="1">
          <mxGeometry x="360" y="430" width="240" height="130" as="geometry" />
        </mxCell>
        <mxCell id="entauth" value="Auth" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#82b366;fontSize=12;" vertex="1" parent="pgc">
          <mxGeometry x="30" y="55" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="entevi" value="Evidence" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#82b366;fontSize=12;" vertex="1" parent="pgc">
          <mxGeometry x="130" y="55" width="80" height="40" as="geometry" />
        </mxCell>
        <mxCell id="giwa" value="GIWA Sepolia" style="swimlane;startSize=30;dashed=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=14;fontStyle=1;pointerEvents=0;" vertex="1" parent="1">
          <mxGeometry x="700" y="430" width="420" height="170" as="geometry" />
        </mxCell>
        <mxCell id="evidence" value="Evidence Contract" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="giwa">
          <mxGeometry x="30" y="60" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="dojang" value="DojangScroll" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="giwa">
          <mxGeometry x="230" y="60" width="160" height="60" as="geometry" />
        </mxCell>
        <mxCell id="ew" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="appc" target="wallets">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="ex" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.43;entryDx=0;entryDy=0;" edge="1" parent="1" source="appc" target="xmtpc">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="esp" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="server" target="pgc">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="ee" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.85;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="appc" target="evidence">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="660" y="200" />
              <mxPoint x="660" y="390" />
              <mxPoint x="810" y="390" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="ed" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.65;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="appc" target="dojang">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="680" y="175" />
              <mxPoint x="680" y="370" />
              <mxPoint x="1010" y="370" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="e7" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="giwa" source="evidence" target="dojang">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
