What changed, and why it matters
This commit only updates documentation files: a diagram source file and its exported PDF. It changes the 'last updated' date, the referenced Monero version number, and removes one method ('setProxyUri') from a wallet interface diagram. No executable code, build scripts, or configuration files were modified, so it cannot directly affect software security or be exploited.
No security action needed. Treat as a routine documentation update.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is limited to docs/monero-spec.drawio and docs/monero-spec.pdf. The drawio XML shows a version/date bump, a Monero version string change from v0.18.4.1 to v0.18.4.3, removal of the ‘setProxyUri(string proxyUri): void’ cell from the ‘Monero Wallet Interface 1/3’ swimlane, and corresponding geometry height/offset adjustments. The PDF is a regenerated binary export. There are no source-code, dependency, or build changes.
Changed components
docs/monero-spec.drawiodocs/monero-spec.pdfInspect captured patch +38 / −41
diff --git a/docs/monero-spec.drawio b/docs/monero-spec.drawio
index 6715df0..cedb18c 100644
--- a/docs/monero-spec.drawio
+++ b/docs/monero-spec.drawio
@@ -1,4 +1,4 @@
-<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/27.0.9 Chrome/134.0.6998.205 Electron/35.4.0 Safari/537.36" version="27.0.9">
+<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/28.2.5 Chrome/138.0.7204.251 Electron/37.6.1 Safari/537.36" version="28.2.5">
<diagram id="jkpiRzuIiflFzzsLA60C" name="Page-1">
<mxGraphModel dx="1106" dy="1983" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
@@ -787,7 +787,7 @@
<mxGeometry y="136" width="246" height="28" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-169" value="Monero Wallet Interface 1/3" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=32;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontSize=16;whiteSpace=wrap;fillColor=#E6E6E6;" parent="1" vertex="1">
- <mxGeometry x="16" y="5522" width="814" height="1072" as="geometry" />
+ <mxGeometry x="16" y="5522" width="814" height="1046" as="geometry" />
</mxCell>
<mxCell id="WNzz8yExWbWV7_RDduce-1" value="addListener(MoneroWalletListener listener): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
<mxGeometry y="32" width="814" height="26" as="geometry" />
@@ -807,107 +807,104 @@
<mxCell id="WNzz8yExWbWV7_RDduce-3" value="getDaemonConnection(): MoneroDaemonConnection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
<mxGeometry y="162" width="814" height="26" as="geometry" />
</mxCell>
- <mxCell id="pXSIlQdI6LqUALZHXAqV-5" value="setProxyUri(string proxyUri): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="188" width="814" height="26" as="geometry" />
- </mxCell>
<mxCell id="WNzz8yExWbWV7_RDduce-4" value="isConnectedToDaemon(): bool" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="214" width="814" height="26" as="geometry" />
+ <mxGeometry y="188" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="Jw1WPmfkti2_QFpjUuk9-9" value="getVersion(): MoneroVersion" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="240" width="814" height="26" as="geometry" />
+ <mxGeometry y="214" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-410" value="getNetworkType(): MoneroNetworkType" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="266" width="814" height="26" as="geometry" />
+ <mxGeometry y="240" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-170" value="getPath(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="292" width="814" height="26" as="geometry" />
+ <mxGeometry y="266" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-212" value="getSeed(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="318" width="814" height="26" as="geometry" />
+ <mxGeometry y="292" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-412" value="getSeedLanguage(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="344" width="814" height="26" as="geometry" />
+ <mxGeometry y="318" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-213" value="getSeedLanguages(): string[]" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="370" width="814" height="26" as="geometry" />
+ <mxGeometry y="344" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-215" value="getPrivateSpendKey(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="396" width="814" height="26" as="geometry" />
+ <mxGeometry y="370" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-214" value="getPrivateViewKey(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="422" width="814" height="26" as="geometry" />
+ <mxGeometry y="396" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-337" value="getPublicSpendKey(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="448" width="814" height="26" as="geometry" />
+ <mxGeometry y="422" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-336" value="getPublicViewKey(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="474" width="814" height="26" as="geometry" />
+ <mxGeometry y="448" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-216" value="getPrimaryAddress(): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="500" width="814" height="26" as="geometry" />
+ <mxGeometry y="474" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-217" value="getAddress(uint accountIdx, uint subaddressIdx): string" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="526" width="814" height="26" as="geometry" />
+ <mxGeometry y="500" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-218" value="getAddressIndex(string address): MoneroSubaddress" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="552" width="814" height="26" as="geometry" />
+ <mxGeometry y="526" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-411" value="getDaemonConnection(): MoneroRpcConnection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="578" width="814" height="26" as="geometry" />
+ <mxGeometry y="552" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-223" value="getDaemonHeight(): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="604" width="814" height="26" as="geometry" />
+ <mxGeometry y="578" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-413" value="getDaemonMaxPeerHeight(): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="630" width="814" height="26" as="geometry" />
+ <mxGeometry y="604" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-414" value="getApproximateChainHeight(): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="656" width="814" height="26" as="geometry" />
+ <mxGeometry y="630" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-222" value="getHeight(): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="682" width="814" height="26" as="geometry" />
+ <mxGeometry y="656" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="GzpRJj3ebbrnQ5iH3lzg-1" value="getHeightByDate(uint year, uint month, uint day): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="708" width="814" height="26" as="geometry" />
+ <mxGeometry y="682" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-224" value="sync(ulong startHeight=null, MoneroSyncListener listener=null): MoneroSyncResult" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="734" width="814" height="26" as="geometry" />
+ <mxGeometry y="708" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-225" value="startSyncing(): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="760" width="814" height="26" as="geometry" />
+ <mxGeometry y="734" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-226" value="stopSyncing(): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="786" width="814" height="26" as="geometry" />
+ <mxGeometry y="760" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="CiOaTlzwxWrPjcKj9Ww_-1" value="scanTxs(string[] txHashes): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="812" width="814" height="26" as="geometry" />
+ <mxGeometry y="786" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-227" value="rescanSpent(): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="838" width="814" height="26" as="geometry" />
+ <mxGeometry y="812" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-228" value="rescanBlockchain(): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="864" width="814" height="26" as="geometry" />
+ <mxGeometry y="838" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-231" value="getBalance(uint accountIdx=null, uint subaddressIdx=null): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="890" width="814" height="26" as="geometry" />
+ <mxGeometry y="864" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-234" value="getUnlockedBalance(uint accountIdx=null, uint subaddressIdx=null): ulong" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="916" width="814" height="26" as="geometry" />
+ <mxGeometry y="890" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-235" value="getAccounts(bool includeSubaddresses=false, string tag=null): MoneroAccount[]" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="942" width="814" height="26" as="geometry" />
+ <mxGeometry y="916" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-326" value="getAccount(uint accountIdx, bool includeSubaddresses=false): MoneroAccount" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="968" width="814" height="26" as="geometry" />
+ <mxGeometry y="942" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-237" value="createAccount(string label=null): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="994" width="814" height="26" as="geometry" />
+ <mxGeometry y="968" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-238" value="getSubaddresses(uint accountIdx, uint[] subaddressIndices): void" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="1020" width="814" height="26" as="geometry" />
+ <mxGeometry y="994" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-239" value="getSubaddress(uint accountIdx, uint subaddressIdx): MoneroSubaddress" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="QYUe6zCbC_x82nWfNGpH-169" vertex="1">
- <mxGeometry y="1046" width="814" height="26" as="geometry" />
+ <mxGeometry y="1020" width="814" height="26" as="geometry" />
</mxCell>
<mxCell id="QYUe6zCbC_x82nWfNGpH-248" value="Monero Wallet Interface 2/3" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=32;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontSize=16;whiteSpace=wrap;fillColor=#E6E6E6;" parent="1" vertex="1">
<mxGeometry x="16" y="6617" width="814" height="1046" as="geometry" />
@@ -1904,8 +1901,8 @@
<mxCell id="e5HWKQ1rQ-4_89Y86yYL-12" value="<p style="line-height: 240% ; font-size: 24px"></p><div style="font-size: 25px"><font style="font-size: 25px">with implementations in Java, TypeScript, and C++&nbsp;</font></div><p style="font-size: 24px"></p>" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;fontStyle=2;fontSize=24;spacing=2;" parent="1" vertex="1">
<mxGeometry x="133.74999999999946" y="-872" width="582" height="81" as="geometry" />
</mxCell>
- <mxCell id="e5HWKQ1rQ-4_89Y86yYL-14" value="<p style="line-height: 0% ; font-size: 19px"></p><div style="font-size: 19px"><span style="font-size: 19px"><span style="font-size: 19px">Last updated July 22, 2025</span></span><br style="font-size: 19px"></div><p style="font-size: 19px"></p>" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;fontStyle=0;fontSize=19;spacing=2;" parent="1" vertex="1">
- <mxGeometry x="303.74999999999966" y="-756" width="246" height="67" as="geometry" />
+ <mxCell id="e5HWKQ1rQ-4_89Y86yYL-14" value="<p style="line-height: 0% ; font-size: 19px"></p><div style="font-size: 19px"><span style="font-size: 19px"><span style="font-size: 19px">Last updated October 14, 2025</span></span><br style="font-size: 19px"></div><p style="font-size: 19px"></p>" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;fontStyle=0;fontSize=19;spacing=2;" parent="1" vertex="1">
+ <mxGeometry x="286.74999999999966" y="-756" width="280" height="67" as="geometry" />
</mxCell>
<mxCell id="e5HWKQ1rQ-4_89Y86yYL-15" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" parent="1" vertex="1">
<mxGeometry x="373" y="13360" width="100" height="100" as="geometry" />
@@ -2077,7 +2074,7 @@
<mxCell id="skZ1SUWrHV_8W1a_cNyf-37" value="i2p: 4" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontFamily=Verdana;" parent="skZ1SUWrHV_8W1a_cNyf-32" vertex="1">
<mxGeometry y="154" width="211" height="28" as="geometry" />
</mxCell>
- <mxCell id="Whbs5CVNDTOYxdUCeosP-1" value="<p style="line-height: 240% ; font-size: 24px"></p><div style="font-size: 25px"><span>using monero v0.18.4.1 'Flourine Fermi'</span></div><span style="font-size: 25px"><br></span><p style="font-size: 24px"></p>" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;fontStyle=2;fontSize=24;spacing=2;" parent="1" vertex="1">
+ <mxCell id="Whbs5CVNDTOYxdUCeosP-1" value="<p style="line-height: 240% ; font-size: 24px"></p><div style="font-size: 25px"><span>using monero v0.18.4.3 'Flourine Fermi'</span></div><span style="font-size: 25px"><br></span><p style="font-size: 24px"></p>" style="text;html=1;resizable=0;points=[];autosize=1;align=center;verticalAlign=top;spacingTop=-4;fontStyle=2;fontSize=24;spacing=2;" parent="1" vertex="1">
<mxGeometry x="197.74999999999966" y="-835" width="457" height="114" as="geometry" />
</mxCell>
<mxCell id="UTYBNJX3NSuSBxuMePmN-21" value="" style="group" parent="1" vertex="1" connectable="0">
diff --git a/docs/monero-spec.pdf b/docs/monero-spec.pdf
index 36b3acb..938f542 100644
Binary files a/docs/monero-spec.pdf and b/docs/monero-spec.pdf differ
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.