diff --git a/docs/general/images/architecture/client-km-compute.svg b/docs/general/images/architecture/client-km-compute.svg index 445fe55b7e..9d1eadb20d 100644 --- a/docs/general/images/architecture/client-km-compute.svg +++ b/docs/general/images/architecture/client-km-compute.svg @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- Do not edit this file with editors other than draw.io --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="764px" height="486px" viewBox="-0.5 -0.5 764 486" content="<mxfile host="app.diagrams.net" modified="2023-12-13T11:51:26.562Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="AERsRifxl3iZ6WRSKPWk" version="22.1.8" type="device"><diagram id="0lp0ar3YvEH75QBAiC_L" name="Page-1">5Vpbc6M2FP41zLQPZgTCFx5jx0l3umnTdaabPCog29oAokI49v76lUAYRLCDbezsTvOQQYdzdP30nQs24CRc3zIUL++ojwPDBv7agNeGbY+GQ/FfCja5YADsXLBgxM9FVimYke9YCYGSpsTHiabIKQ04iXWhR6MIe1yTIcboq642p4E+aowWakRQCmYeCvAbta/E50u1rH5F+w9MFstiZAuoNyEqlJUgWSKfvlZEcGrACaOU50/heoIDuXfFvuR2NzvebifGcMTbGKyuP91vHq/4lx67A+Bf5x/beugN1Nz4plgwo2nkY2kDDDimjC/pgkYo+ExpLISWEH7DnG/UUaGUUyFa8jBQb/Ga8Edpbg77qvmkepPP1+tqY1M0Is42j9XGU6UL2S7tslZhmHDE+JU8aCGIaIQL2Q0JAqXzdqfU5iU0ZR7esz0F4hBbYL5HT2Ea+4sqbNQ53GIaYjFnocBwgDhZ6dhCCqKLrV55iuJBHeQBh6qu3AoFqRrJsAeBmP/YJyvxuJCPtlkIxRgVeYPqrVi7DabxEoeYoaC13T1i6IGEWBjfp88B8cTDn3hTaD6zum29xxo05fZ+Rs+CYDTAoYAsIvHsiePFTAhWmHEirvCVehES35d9jBlOyHf0nPUngRFTEvFs9/tjo38tNSgXB0SlFYRDIQjkeGPkvSyyizGhAWUl0t4ia98tk/PC6ybaUnPSmEEDjrICJnRhbqn4tOfkzdbIUn3fy6WXHfccR+/WgnoXdD5PJAxq0NxO8Xi0uo3nPFNNtdGns1IzwXTALgXfFdz3VHluJrvz8xHsmo+aUWMPgYYa6AK9i3xByqp76BRBwn6mg+2Zbhp5bBPLFQoJCmPJLtl/IZmlzyHhrbt6YChKkJeRya9BeLZtwq4Yz+2K8XrAtIE70mBmdUJ5Vr/GeO6lGM9qg9pJQOQWt4Xbb3+JyNv8lhi2mBO4wxzdoeQla7Xs4W+UEGEOJp8//X40YkuelkB9XRKOZzHKOO1V5Ac6jueCRAt4GTbEo3l/Lv4yjmX0BVfeAeAO1bud7PkGbDtBZdk13oKq/VqG+FudZSW8H4DdKDspZBtdxgkWoXlrV9XGAfooWW6PfOtnt402fvZ4j2i39IjWhTziqIYsp4aYfKLn84jOZYFk9s8HpTckAEcjZz8FdAaXzgOok9jBbuMwCv6WjqA16WfpGLhDEVpg1trKuAGGe2O4juHaH+IqPA+j3a5C/nXjKOBAv87bYs6HOQrLvvAFHzjDyhUX4RgA8OR7XmZj5qAPNU9huu7wHW+Rte4xI2JLZfy7nUNddg4GgS0ZpPOSULPDcfo1hI7aORxxQGhTUVOZwTlcEmzDXs5Fy1Ez7LGsFxT5re0nVOBOZHTSXiRNOK9mxYiwoznwAgneXMy66QZ0kuYVbNRFZcuynOEZ0ryBXi+7YJY33OPyOgzgRYJcBGFdx/DAHNpOlZ2tgv0PZefz823nAf5pbnrUhvQGB1emxBnZoKG09K79F5ykAf+ZiWo/IVXrVNC0DqCo4mtIF6UoC0BXo5Ouyu+WzlL26FIs1co5H5VaVNzthIZxytub/m/zC8f58PzC3Q8IUFx5If0vld+uxwGe87JVPyUZf2gHUyjKF70k83RXQsGy4nVuVu9IA4MgvzTJaXC6xl6akyCYRivCaBTqJdN87INQIw6ON3NctsyTGE7683zBDfUNxXNVICrRoZHawSis1az6BRlVQeg2gBCeC4T2O991TkCT1cblntD/LY5EUpIlB60r+CcMV0tAjgZ3Fw78LPCWG6HCYavZ6x8M9+GOjLkKd9AA9/7Z4P7OB6FTyLMrFu6bB/LqTzZ/kbzPiS9AQ1AQbLbeI49Oirz+V15gVskAXxnJ1iQSRxuMA+q9eEtEtC/QHUy2a9f6gexT55dd5ZIugj1Xzx0ct4F4Rt0Qj2iWvyzMc4Xy55lw+gM=</diagram></mxfile>"><defs/><g><path d="M 210 165 L 426.24 71.3" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 433.46 68.17 L 425.91 77.16 L 426.24 71.3 L 421.74 67.52 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)rotate(337 202.30425113776323 55.60794065738571)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 56px; margin-left: 202px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>2.</div><div>Get Ephemeral</div><div>ParaTime Public Key<br /></div></div></div></div></foreignObject><text x="202" y="59" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">2....</text></switch></g><path d="M 255 255 L 426.18 326.33" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 433.45 329.35 L 421.74 330.16 L 426.18 326.33 L 425.78 320.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)rotate(22.3 233.0130724453877 170.2299045365471)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 170px; margin-left: 233px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>3.</div><div>Encrypt & Submit</div><div>Transaction<br /></div></div></div></div></foreignObject><text x="233" y="174" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">3....</text></switch></g><rect x="75" y="165" width="180" height="90" rx="13.5" ry="13.5" fill="#e8f5ffff" stroke="#0097ffff" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 140px; margin-left: 51px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Client</div><div>(Node.js, MetaMask,</div><div>Oasis CLI)<br /></div></div></div></div></foreignObject><text x="110" y="144" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Client...</text></switch></g><path d="M 435 90 L 263.82 161.33" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><path d="M 256.55 164.36 L 264.22 155.47 L 263.82 161.33 L 268.26 165.16 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><path d="M 525 90 L 525 320.45" fill="none" stroke="#3884ff" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><path d="M 525 328.32 L 519.75 317.82 L 525 320.45 L 530.25 317.82 Z" fill="#3884ff" stroke="#3884ff" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><rect x="435" y="0" width="180" height="90" rx="13.5" ry="13.5" fill="#cceaffff" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 30px; margin-left: 291px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Oasis Node</div><div>Key Manager</div><div>🔒<br /></div></div></div></div></foreignObject><text x="350" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Oasis Node...</text></switch></g><path d="M 551.46 329.73 L 552.5 99.28" fill="none" stroke="#3884ff" stroke-width="1.5" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 552.53 91.41 L 557.74 101.93 L 552.5 99.28 L 547.24 101.88 Z" fill="#3884ff" stroke="#3884ff" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 150px; margin-left: 430px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #3884ff; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(56, 132, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>4.</div><div>Get Ephemeral</div><div>ParaTime Secret and</div><div>Contract State Keypair<br /></div></div></div></div></foreignObject><text x="430" y="153" fill="#3884ff" font-family="Helvetica" font-size="11px" text-anchor="middle">4....</text></switch></g><path d="M 435 352.5 L 214.12 258.99" fill="none" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" stroke-dasharray="4.5 4.5" pointer-events="stroke"/><path d="M 206.86 255.92 L 218.58 255.18 L 214.12 258.99 L 214.49 264.85 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="1.5" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)rotate(23.1 210.30151213591694 230.73210669354512)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 231px; margin-left: 210px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>6.</div><div>Encrypted Transaction</div><div>Result<br /></div></div></div></div></foreignObject><text x="210" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">6....</text></switch></g><rect x="435" y="330" width="180" height="90" rx="13.5" ry="13.5" fill="#cceaffff" stroke="#000000" stroke-width="1.5" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 250px; margin-left: 291px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Oasis Node</div><div>ParaTime Compute</div><div>🔒<br /></div></div></div></div></foreignObject><text x="350" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Oasis Node...</text></switch></g><rect x="15" y="439.5" width="285" height="45" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 308px; margin-left: 12px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div align="left"><font style="font-size: 11px;">🔒 Trusted Execution Environment</font></div></div></div></div></foreignObject><text x="12" y="312" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">🔒 Trusted Execution Environment</text></switch></g><rect x="0" y="90" width="150" height="75" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 85px; margin-left: 50px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 11px;">1.</div><div style="font-size: 11px;">Generate Client</div><div style="font-size: 11px;">Keypair</div></div></div></div></foreignObject><text x="50" y="88" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">1....</text></switch></g><rect x="493.5" y="405" width="270" height="75" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)scale(1.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 295px; margin-left: 419px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #3884ff; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(56, 132, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 11px;"><font style="font-size: 11px;">5.</font></div><div style="font-size: 11px;"><font style="font-size: 11px;">Confidentially Execute Contract</font></div><div style="font-size: 11px;"><font style="font-size: 11px;">and Write to Blockchain<br style="font-size: 11px;" /></font></div></div></div></div></foreignObject><text x="419" y="298" fill="#3884ff" font-family="Helvetica" font-size="11px" text-anchor="middle">5....</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="764px" height="486px" viewBox="-0.5 -0.5 509 324" class="ge-export-svg-auto" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" scale="1" border="0" version="25.0.3"> <diagram id="0lp0ar3YvEH75QBAiC_L" name="Page-1"> <mxGraphModel dx="1010" dy="668" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="vDIPyXAtR-rM00V4Q21T-6" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;startArrow=none;startFill=0;" parent="1" source="vDIPyXAtR-rM00V4Q21T-1" target="vDIPyXAtR-rM00V4Q21T-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-7" value="&lt;div&gt;2.&lt;/div&gt;&lt;div&gt;Get Ephemeral&lt;/div&gt;&lt;div&gt;ParaTime Public Key&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=337;labelBackgroundColor=none;" parent="vDIPyXAtR-rM00V4Q21T-6" vertex="1" connectable="0"> <mxGeometry x="0.393" y="-4" relative="1" as="geometry"> <mxPoint x="-44" y="-13" as="offset" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-9" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0;entryDx=0;entryDy=0;startArrow=none;startFill=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" parent="1" source="vDIPyXAtR-rM00V4Q21T-1" target="vDIPyXAtR-rM00V4Q21T-3" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="270" y="390" as="sourcePoint" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-10" value="&lt;div&gt;3.&lt;/div&gt;&lt;div&gt;Encrypt &amp;amp; Submit&lt;/div&gt;&lt;div&gt;Transaction&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=22.3;labelBackgroundColor=none;" parent="vDIPyXAtR-rM00V4Q21T-9" vertex="1" connectable="0"> <mxGeometry x="-0.2098" y="1" relative="1" as="geometry"> <mxPoint x="15" y="-19" as="offset" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-1" value="&lt;div&gt;Client&lt;/div&gt;&lt;div&gt;(Node.js, MetaMask,&lt;/div&gt;&lt;div&gt;Oasis CLI)&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e8f5ffff;strokeColor=#0097ffff;" parent="1" vertex="1"> <mxGeometry x="120" y="330" width="120" height="60" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-8" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;startArrow=none;startFill=0;dashed=1;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="1" source="vDIPyXAtR-rM00V4Q21T-2" target="vDIPyXAtR-rM00V4Q21T-1" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="280" y="340" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-14" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;startArrow=none;startFill=0;dashed=1;strokeColor=#3884ff;" parent="1" source="vDIPyXAtR-rM00V4Q21T-2" target="vDIPyXAtR-rM00V4Q21T-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-2" value="&lt;div&gt;Oasis Node&lt;/div&gt;&lt;div&gt;Key Manager&lt;/div&gt;&lt;div&gt;🔒&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#cceaffff;strokeColor=#000000;" parent="1" vertex="1"> <mxGeometry x="360" y="220" width="120" height="60" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-12" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.647;exitY=-0.003;exitDx=0;exitDy=0;startArrow=none;startFill=0;entryX=0.653;entryY=0.997;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;strokeColor=#3884ff;" parent="1" source="vDIPyXAtR-rM00V4Q21T-3" target="vDIPyXAtR-rM00V4Q21T-2" edge="1"> <mxGeometry relative="1" as="geometry"> <mxPoint x="450" y="280" as="targetPoint" /> <Array as="points" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-13" value="&lt;div&gt;4.&lt;/div&gt;&lt;div&gt;Get Ephemeral&lt;/div&gt;&lt;div&gt;ParaTime Secret and&lt;/div&gt;&lt;div&gt;Contract State Keypair&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#3884ff;labelBackgroundColor=none;" parent="vDIPyXAtR-rM00V4Q21T-12" vertex="1" connectable="0"> <mxGeometry x="0.1147" y="1" relative="1" as="geometry"> <mxPoint x="63" y="19" as="offset" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-17" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;startArrow=none;startFill=0;dashed=1;entryX=0.724;entryY=1.003;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="vDIPyXAtR-rM00V4Q21T-3" target="vDIPyXAtR-rM00V4Q21T-1" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-18" value="&lt;div&gt;6.&lt;/div&gt;&lt;div&gt;Encrypted Transaction&lt;/div&gt;&lt;div&gt;Result&lt;br&gt;&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;rotation=23.1;" parent="vDIPyXAtR-rM00V4Q21T-17" vertex="1" connectable="0"> <mxGeometry x="-0.1039" y="-4" relative="1" as="geometry"> <mxPoint x="-13" y="28" as="offset" /> </mxGeometry> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-3" value="&lt;div&gt;Oasis Node&lt;/div&gt;&lt;div&gt;ParaTime Compute&lt;/div&gt;&lt;div&gt;🔒&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#cceaffff;strokeColor=#000000;" parent="1" vertex="1"> <mxGeometry x="360" y="440" width="120" height="60" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-19" value="&lt;div align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 11px;&quot;&gt;🔒 Trusted Execution Environment&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;labelBackgroundColor=none;" parent="1" vertex="1"> <mxGeometry x="80" y="513" width="190" height="30" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-20" value="&lt;div style=&quot;font-size: 11px;&quot;&gt;1.&lt;/div&gt;&lt;div style=&quot;font-size: 11px;&quot;&gt;Generate Client&lt;/div&gt;&lt;div style=&quot;font-size: 11px;&quot;&gt;Keypair&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;labelBackgroundColor=none;fontSize=11;" parent="1" vertex="1"> <mxGeometry x="70" y="280" width="100" height="50" as="geometry" /> </mxCell> <mxCell id="vDIPyXAtR-rM00V4Q21T-21" value="&lt;div style=&quot;font-size: 11px;&quot;&gt;&lt;font style=&quot;font-size: 11px;&quot;&gt;5.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px;&quot;&gt;&lt;font style=&quot;font-size: 11px;&quot;&gt;Confidentially Execute Contract&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px;&quot;&gt;&lt;font style=&quot;font-size: 11px;&quot;&gt;and Write to Blockchain&lt;br style=&quot;font-size: 11px;&quot;&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=11;fontColor=#3884ff;" parent="1" vertex="1"> <mxGeometry x="399" y="490" width="180" height="50" as="geometry" /> </mxCell> </root> </mxGraphModel> </diagram> </mxfile> "><defs><style type="text/css">@media (prefers-color-scheme: dark) {
svg.ge-export-svg-auto:not(mjx-container > svg) { filter: invert(100%) hue-rotate(180deg); }
svg.ge-export-svg-auto foreignObject img,
svg.ge-export-svg-auto image:not(svg.ge-export-svg-auto switch image),
svg.ge-export-svg-auto svg:not(mjx-container > svg)
{ filter: invert(100%) hue-rotate(180deg) }
}</style><style type="text/css">@import url(https://fonts.googleapis.com/css2?family=Architects+Daughter:wght@400;500);
</style></defs><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="vDIPyXAtR-rM00V4Q21T-6"><g><path d="M 140 110 L 284.16 47.53" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 288.97 45.44 L 283.94 51.44 L 284.16 47.53 L 281.16 45.02 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-7"><g><g transform="translate(-0.5 -0.5)rotate(337 202.8473890268392 55.60786147341105)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 56px; margin-left: 203px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>2.</div><div>Get Ephemeral</div><div>ParaTime Public Key<br /></div></div></div></div></foreignObject><text x="203" y="59" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="11px" text-anchor="middle">2....</text></switch></g></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-9"><g><path d="M 170 170 L 284.12 217.55" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 288.97 219.57 L 281.16 220.11 L 284.12 217.55 L 283.85 213.65 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-10"><g><g transform="translate(-0.5 -0.5)rotate(22.3 232.73441524096688 170.34464063126507)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 170px; margin-left: 233px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>3.</div><div>Encrypt & Submit</div><div>Transaction<br /></div></div></div></div></foreignObject><text x="233" y="174" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="11px" text-anchor="middle">3....</text></switch></g></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-1"><g><rect x="50" y="110" width="120" height="60" rx="9" ry="9" fill="#e8f5ffff" stroke="#0097ffff" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 140px; margin-left: 51px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Client</div><div>(Node.js, MetaMask,</div><div>Oasis CLI)<br /></div></div></div></div></foreignObject><text x="110" y="144" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Client...</text></switch></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-8"><g><path d="M 290 60 L 175.88 107.55" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 171.03 109.57 L 176.15 103.65 L 175.88 107.55 L 178.84 110.11 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-14"><g><path d="M 350 60 L 350 213.63" fill="none" stroke="#3884ff" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 350 218.88 L 346.5 211.88 L 350 213.63 L 353.5 211.88 Z" fill="#3884ff" stroke="#3884ff" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-2"><g><rect x="290" y="0" width="120" height="60" rx="9" ry="9" fill="#cceaffff" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 30px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Oasis Node</div><div>Key Manager</div><div>🔒<br /></div></div></div></div></foreignObject><text x="350" y="34" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Oasis Node...</text></switch></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-12"><g><path d="M 367.64 219.82 L 368.33 66.19" fill="none" stroke="#3884ff" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 368.35 60.94 L 371.82 67.95 L 368.33 66.19 L 364.82 67.92 Z" fill="#3884ff" stroke="#3884ff" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-13"><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 150px; margin-left: 431px;"><div data-drawio-colors="color: #3884ff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(56, 132, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>4.</div><div>Get Ephemeral</div><div>ParaTime Secret and</div><div>Contract State Keypair<br /></div></div></div></div></foreignObject><text x="431" y="154" fill="#3884ff" font-family=""Helvetica"" font-size="11px" text-anchor="middle">4....</text></switch></g></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-17"><g><path d="M 290 235 L 142.74 172.66" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 137.91 170.62 L 145.72 170.12 L 142.74 172.66 L 142.99 176.57 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-18"><g><g transform="translate(-0.5 -0.5)rotate(23.1 210.67765428165785 231.12466530426832)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 231px; margin-left: 211px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>6.</div><div>Encrypted Transaction</div><div>Result<br /></div></div></div></div></foreignObject><text x="211" y="234" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="11px" text-anchor="middle">6....</text></switch></g></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-3"><g><rect x="290" y="220" width="120" height="60" rx="9" ry="9" fill="#cceaffff" stroke="#000000" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 250px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><div>Oasis Node</div><div>ParaTime Compute</div><div>🔒<br /></div></div></div></div></foreignObject><text x="350" y="254" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px" text-anchor="middle">Oasis Node...</text></switch></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-19"><g><rect x="10" y="293" width="190" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 308px; margin-left: 12px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div align="left"><font style="font-size: 11px;">🔒 Trusted Execution Environment</font></div></div></div></div></foreignObject><text x="12" y="312" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="12px">🔒 Trusted Execution Environment</text></switch></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-20"><g><rect x="0" y="60" width="100" height="50" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 85px; margin-left: 50px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 11px;">1.</div><div style="font-size: 11px;">Generate Client</div><div style="font-size: 11px;">Keypair</div></div></div></div></foreignObject><text x="50" y="88" fill="rgb(0, 0, 0)" font-family=""Helvetica"" font-size="11px" text-anchor="middle">1....</text></switch></g></g></g><g data-cell-id="vDIPyXAtR-rM00V4Q21T-21"><g><rect x="329" y="270" width="180" height="50" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 295px; margin-left: 419px;"><div data-drawio-colors="color: #3884ff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(56, 132, 255); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div style="font-size: 11px;"><font style="font-size: 11px;">5.</font></div><div style="font-size: 11px;"><font style="font-size: 11px;">Confidentially Execute Contract</font></div><div style="font-size: 11px;"><font style="font-size: 11px;">and Write to Blockchain<br style="font-size: 11px;" /></font></div></div></div></div></foreignObject><text x="419" y="298" fill="#3884ff" font-family=""Helvetica"" font-size="11px" text-anchor="middle">5....</text></switch></g></g></g></g></g></g></svg> \ No newline at end of file diff --git a/external/oasis-core b/external/oasis-core index 18da8bc49d..fb92f74e1f 160000 --- a/external/oasis-core +++ b/external/oasis-core @@ -1 +1 @@ -Subproject commit 18da8bc49d92a543795246b8bb7fb574df070eec +Subproject commit fb92f74e1f64373d2f67de82141c0a9f80fc485c diff --git a/external/sapphire-paratime b/external/sapphire-paratime index d45181d448..c2a7a11327 160000 --- a/external/sapphire-paratime +++ b/external/sapphire-paratime @@ -1 +1 @@ -Subproject commit d45181d448b30b1ee203308e9cf92121677f78d0 +Subproject commit c2a7a1132721f5b3f7c5bbca099a0ca64f01e407 diff --git a/src/css/custom.css b/src/css/custom.css index 5d1a500ef6..c084450079 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -142,11 +142,6 @@ html[data-theme="dark"] { --ifm-link-hover-color: inherit !important; } -/* Hack to make .svg and .png diagrams readable in dark theme */ -html[data-theme='dark'] main img { - background-color: #fff; -} - /* Show the content of tabs slightly indented with a border on the left */ .tabs-container > div { margin-top: inherit !important;