Files
papers/lux-evm-precompiles/sections/11-precompile-upgrade-process.tex
zeekay fc9b2e03e1 papers: fix LaTeX/ref/typo errors from swarm review (42 papers)
Auto-fixes from the paper accuracy swarm: unambiguous build-breakers, broken
\ref/\cite/\input targets, and prose typos. Substantive accuracy findings
(dates, contradictory numbers, LP numbering) reported separately for review.
2026-06-27 02:02:47 +00:00

41 lines
1.7 KiB
TeX

\section{Precompile Upgrade Process}
\label{sec:upgrade}
\subsection{Adding New Precompiles}
New precompiles are added through the Lux Improvement Proposal (LIP) process:
\begin{enumerate}
\item \textbf{LIP Draft}: Specification of interface, gas model, and security analysis.
\item \textbf{Reference Implementation}: Go implementation in the Lux VM codebase.
\item \textbf{Audit}: External security audit for cryptographic correctness.
\item \textbf{Testnet Deployment}: 30-day testing period on Lux testnet.
\item \textbf{Governance Vote}: Supermajority validator approval.
\item \textbf{Mainnet Activation}: Scheduled activation at a future block height.
\end{enumerate}
\subsection{Appchain-Specific Precompiles}
Individual appchains can enable additional precompiles not available on the primary network:
\begin{definition}[Custom Appchain Precompile]
An appchain creator can register custom precompiles at addresses \texttt{0x03...01} through \texttt{0x03...FF} in their appchain's VM configuration. These precompiles run only on that appchain and do not affect other chains.
\end{definition}
Example use cases:
\begin{itemize}
\item Gaming appchains: Verifiable random function (VRF) precompile for provably fair randomness.
\item DeFi appchains: Fixed-point arithmetic precompile for precise financial calculations.
\item AI appchains: Tensor operation precompile for on-chain ML inference verification.
\end{itemize}
\subsection{Deprecation Policy}
Precompiles are never removed (backward compatibility) but can be deprecated:
\begin{enumerate}
\item Gas cost increased to discourage new usage.
\item Warning emitted in node logs.
\item Replacement precompile documented.
\end{enumerate}