mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Restructured from flat .tex/.pdf files into per-paper subdirectories. Added Antje Worring as co-author on all papers. Synced PDFs to pdfs/ for download site.
91 lines
3.5 KiB
TeX
91 lines
3.5 KiB
TeX
\section{Accounting and Reporting}
|
|
\label{sec:accounting}
|
|
|
|
\subsection{Oracle Integration}
|
|
|
|
The exchange rate $\rho(t)$ is updated on-chain at every epoch boundary. A Chainlink-compatible oracle reports $\rho(t)$ to DeFi protocols that require external price feeds:
|
|
|
|
\begin{algorithm}[H]
|
|
\caption{Exchange Rate Oracle Update}
|
|
\label{alg:oracle}
|
|
\begin{algorithmic}[1]
|
|
\Procedure{UpdateExchangeRate}{}
|
|
\State $\rho \gets \mathsf{totalPooled} / \mathsf{totalShares}$
|
|
\State $\mathsf{lastUpdate} \gets \mathsf{block.timestamp}$
|
|
\State Emit $\mathsf{ExchangeRateUpdated}(\rho, \mathsf{lastUpdate})$
|
|
\State Push to oracle aggregator contract
|
|
\EndProcedure
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
\subsection{APR Calculation}
|
|
|
|
The current annual percentage rate (APR) is computed as:
|
|
\begin{equation}
|
|
\text{APR}(t) = \frac{\rho(t) - \rho(t - 365)}{365} \cdot 365 = \frac{\rho(t)}{\rho(t-365)} - 1
|
|
\end{equation}
|
|
|
|
For real-time estimates (when 365 epochs of history are not available), the protocol extrapolates from the last 7 epochs:
|
|
\begin{equation}
|
|
\text{APR}_{\text{est}} = \left(\frac{\rho(t)}{\rho(t - 7)}\right)^{365/7} - 1
|
|
\end{equation}
|
|
|
|
\subsection{Tax Reporting Support}
|
|
|
|
The protocol emits structured events for tax reporting:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Deposit event}: Records amount deposited and sLUX received.
|
|
\item \textbf{Rebase event}: Records per-share value change at each epoch (for income-based jurisdictions).
|
|
\item \textbf{Withdrawal event}: Records sLUX burned and LUX received (for capital-gains-based jurisdictions).
|
|
\item \textbf{wsLUX wrap/unwrap}: Records exchange rate at time of conversion.
|
|
\end{enumerate}
|
|
|
|
\subsection{Emergency Withdrawal}
|
|
|
|
In case of protocol emergency (critical vulnerability, governance attack), an emergency withdrawal mechanism allows users to exit at a guaranteed minimum rate:
|
|
|
|
\begin{algorithm}[H]
|
|
\caption{Emergency Withdrawal}
|
|
\label{alg:emergency}
|
|
\begin{algorithmic}[1]
|
|
\Procedure{EmergencyWithdraw}{user}
|
|
\State \textbf{require} $\mathsf{emergencyMode} = \text{true}$ (set by governance)
|
|
\State $\mathsf{amount} \gets \mathsf{shares}_{\text{user}} \cdot \mathsf{totalPooled} / \mathsf{totalShares}$
|
|
\State $\mathsf{guarantee} \gets \mathsf{shares}_{\text{user}} \cdot 0.95$ \Comment{95\% floor}
|
|
\State Transfer $\max(\mathsf{amount}, \mathsf{guarantee})$ to user
|
|
\State Burn user's sLUX shares
|
|
\EndProcedure
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
The 95\% floor ensures users can recover at least 95\% of their principal even under worst-case conditions (e.g., simultaneous slashing of multiple validators while insurance pool is depleted).
|
|
|
|
\subsection{Restaking Integration}
|
|
|
|
sLUX and wsLUX are compatible with restaking protocols that provide additional yield by securing additional services:
|
|
|
|
\begin{definition}[Restaking]
|
|
Restaking allows sLUX holders to opt into additional slashing conditions in exchange for rewards from auxiliary protocols (oracles, bridges, data availability layers):
|
|
\begin{equation}
|
|
\text{Total Yield} = y_{\text{staking}} + \sum_{j \in \text{AVS}} y_j - \text{Risk Premium}_j
|
|
\end{equation}
|
|
where AVS denotes Actively Validated Services.
|
|
\end{definition}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\caption{Projected restaking yield by AVS type.}
|
|
\label{tab:restaking}
|
|
\begin{tabular}{lrrr}
|
|
\toprule
|
|
\textbf{AVS Type} & \textbf{Additional Yield} & \textbf{Additional Slash Risk} & \textbf{Net Premium} \\
|
|
\midrule
|
|
Oracle network & 1.5\% & 2\% & +1.0\% \\
|
|
Cross-chain bridge & 2.0\% & 5\% & +1.2\% \\
|
|
Data availability & 1.0\% & 1\% & +0.8\% \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|