mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
MOR at $1.58, $14.3M cap, about $1.3M of DEX depth and $57K of daily volume, from CoinGecko and GeckoTerminal. Figures derived from them move with them: a $100K sell is now about two days of volume rather than eleven, and the emission worked example uses today's ~12,050 MOR/day. The protocol-owned share is stated as most of the depth; the exact share was an August read. Co-authored-by: Hanzo Dev <[email protected]>
90 lines
4.6 KiB
TeX
90 lines
4.6 KiB
TeX
\documentclass[11pt,a4paper]{article}
|
|
\usepackage{../shared/luxcover} % black cover (self-contained TikZ logo)
|
|
\usepackage{../shared/proposal} % \proposalhead helpers and the stake environment
|
|
\usepackage[utf8]{inputenc}\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath,amssymb}
|
|
\usepackage{listings}\usepackage{xcolor}
|
|
\input{../shared/lstlang}
|
|
|
|
\newcommand{\code}[1]{\texttt{\small #1}}
|
|
\setlength{\emergencystretch}{3em}
|
|
|
|
\title{Four Fixes on Base, No Migration}
|
|
\author{Zach Kelling\\\textit{Lux Industries, Inc.}\\\texttt{[email protected]}}
|
|
\date{2026}
|
|
|
|
\begin{document}
|
|
\luxcoverpage
|
|
\sloppy
|
|
|
|
\noindent{\color{muted}\footnotesize\sffamily ADOPT-09 \quad\textbullet\quad Hanzo AI \& Lux Industries \quad\textbullet\quad 2026}\par
|
|
\vspace{0.8ex}
|
|
\noindent{\LARGE\bfseries Four Fixes on Base, No Migration}\par
|
|
\vspace{0.7ex}
|
|
\noindent{\color{rule}\rule{\linewidth}{1.1pt}}\par
|
|
\vspace{1.0ex}
|
|
|
|
\noindent
|
|
Fifty lines of Solidity make Morpheus settlement real, with no chain move. It is the
|
|
cheapest entry in this series.
|
|
|
|
\vspace{0.6ex}
|
|
\noindent\textbf{The problem, in their numbers.}
|
|
MOR trades at \$1.58, market cap near \$14M [verified]. Real revenue is Lido and Aave yield,
|
|
about \$476K a year and falling, down from \$3.24M a quarter at the 2024 launch [verified].
|
|
Emission outruns real revenue near ten to one [verified]. This is not a fraud: principal is
|
|
withdrawable one to one. The honest problem is dilution outrunning revenue, over a settlement
|
|
number no one can check. Settlement is \code{pricePerSecond} times elapsed time [verified]. The
|
|
provider node signs a seven-field receipt, including the input and output token counts that say
|
|
how much inference happened (\code{abi.go:12-19}) [verified]. The contract decodes five of the
|
|
seven and drops the two that matter (\code{SessionRouter.sol:237}) [verified]. Only the provider
|
|
signs (\code{SessionRouter.sol:227}). Nothing stops a provider opening a session against its own
|
|
bid (\code{SessionRouter.sol:106}). The owner key, an anonymous five-of-nine, can rewrite any
|
|
facet in one transaction, with no timelock [verified]. Morpheus built the honest half. The node
|
|
already signs the work. The contract discards it.
|
|
|
|
\vspace{0.6ex}
|
|
\noindent\textbf{The fix.}
|
|
Four edits to the \code{SessionRouter} facet in \code{Morpheus-Lumerin-Node/smart-contracts/}.
|
|
None touch the token, the treasury, the staking math, or the chain.
|
|
\begin{itemize}
|
|
\item \textbf{Decode the whole receipt.} Add two \code{uint32} fields to the decode tuple at
|
|
\code{SessionRouter.sol:237}. Settlement then reads the tokens, not just the clock. About five lines.
|
|
\item \textbf{Make the consumer co-sign.} \code{closeSession} already holds \code{session.user}
|
|
and the recover-and-compare helper (\code{SessionRouter.sol:543}). Run it against the
|
|
consumer, and a provider cannot post volume the consumer will not sign.
|
|
\item \textbf{Forbid self-dealing.} One \code{require(session.user != bid.provider)} removes the
|
|
wash trade where a provider funds a session against its own bid.
|
|
\item \textbf{Timelock the owner.} A timelock between the Safe and the owner role turns a stolen
|
|
key into an announced upgrade with a withdrawal window, not an instant silent loss.
|
|
\end{itemize}
|
|
|
|
\vspace{0.4ex}
|
|
\noindent\textbf{The outcome.}
|
|
About fifty lines of Solidity [illustrative: sum of the four edits above], on the diamond that
|
|
already exists. No migration, no new token, no vote to move capital. Best case: settlement reads
|
|
work the node already signs, both parties sign the bill, self-dealing is blocked, and a
|
|
compromised owner key buys a window instead of the treasury.
|
|
|
|
\vspace{0.4ex}
|
|
\noindent\textbf{Assumptions.}
|
|
Reading \code{inputTokens} proves a count was signed, not that the tokens were produced;
|
|
attesting the work is a later step (LP-313). The receipt still settles on the provider's reported
|
|
count until a consumer disputes it. A timelock narrows the owner key's blast radius; it does not
|
|
remove it. This makes the base honest, not complete.
|
|
|
|
\vspace{0.4ex}
|
|
\noindent\textbf{Relevance.}
|
|
Lux built \code{mord}, an un-fakeable settlement engine where faked work earns zero and model
|
|
substitution is slashed; forty tests pass as of 2026-08-29 [verified]. We know which fifty lines,
|
|
and why. This fix is the first rung, and the rest of the series stands on an honest receipt.
|
|
|
|
\vspace{0.6ex}
|
|
\noindent{\color{muted}\footnotesize\sffamily
|
|
ADOPT-09. Facet \code{SessionRouter} in \code{Morpheus-Lumerin-Node/smart-contracts/}. Diamond
|
|
\texttt{0x6aBE1d282f72B474E54527D93b979A4f64d3030a} on Base. Citations checked against the working
|
|
tree. Leads to LP-313 and LP-323.
|
|
\quad\textbullet\quad \texttt{[email protected]}}
|
|
|
|
\end{document}
|