mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
41 lines
1.7 KiB
TeX
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}
|
|
|