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.
56 lines
3.1 KiB
TeX
56 lines
3.1 KiB
TeX
\section{Conformance Testing}
|
|
|
|
\label{sec:conformance}
|
|
%% =========================================================================
|
|
|
|
Adding a new chain to Teleport requires producing 6 artifacts that are validated by CI/CD before the chain is activated in production.
|
|
|
|
\subsection{Onboarding Kit}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\begin{tabular}{rp{9cm}}
|
|
\toprule
|
|
\textbf{\#} & \textbf{Artifact} \\
|
|
\midrule
|
|
1 & \textbf{Chain adapter implementation}: source code implementing the adapter interface for the target chain. \\
|
|
2 & \textbf{Contract deployment script}: idempotent deployment of the Teleporter (or TeleportVault) contract with constructor arguments matching the wire protocol. \\
|
|
3 & \textbf{Conformance test results}: passing output from the 47-case conformance test suite covering all four tags, nonce replay, backing monotonicity, staleness rejection, and auto-pause. \\
|
|
4 & \textbf{Confirmation depth justification}: written analysis of the chain's finality model with recommended confirmation depth and attack cost estimates. \\
|
|
5 & \textbf{Watcher configuration} (Class~C/D only): configuration for chain-specific event monitoring, including block polling interval, event signatures, and confirmation logic. \\
|
|
6 & \textbf{Gas cost profile}: measured gas costs for verify, mint, burn, and release operations on the target chain, with comparison to the reference EVM implementation. \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Required onboarding artifacts per chain}
|
|
\label{tab:artifacts}
|
|
\end{table}
|
|
|
|
\subsection{Conformance Test Suite}
|
|
|
|
The test suite exercises all wire protocol operations against a chain-specific adapter:
|
|
|
|
\begin{enumerate}[nosep]
|
|
\item \textbf{Tag verification} (4 tests): each of the four tags verifies correctly with a valid MPC signature.
|
|
\item \textbf{Tag rejection} (12 tests): each tag rejects signatures with wrong tag, wrong chain, wrong nonce, expired staleness, invalid signature, and insufficient backing.
|
|
\item \textbf{Nonce replay} (4 tests): resubmitting a processed nonce reverts.
|
|
\item \textbf{Sequential release nonces} (4 tests): out-of-order release nonces revert.
|
|
\item \textbf{Backing monotonicity} (4 tests): non-monotonic timestamps revert.
|
|
\item \textbf{Auto-pause} (6 tests): undercollateralization triggers pause; recovery requires fresh backing proof.
|
|
\item \textbf{Yield monotonicity} (4 tests): share price decrease reverts.
|
|
\item \textbf{Domain separation} (9 tests): cross-tag signature reuse fails for all tag pairs.
|
|
\end{enumerate}
|
|
|
|
Total: 47 test cases. All must pass before a chain adapter is merged.
|
|
|
|
\subsection{CI/CD Gating}
|
|
|
|
The conformance suite runs in CI on every pull request that modifies a chain adapter. A chain adapter cannot be deployed to production unless:
|
|
|
|
\begin{enumerate}[nosep]
|
|
\item All 47 conformance tests pass against a local testnet or devnet instance of the target chain.
|
|
\item Gas cost profile shows no operation exceeding $2\times$ the reference EVM cost (normalized by chain gas pricing).
|
|
\item Confirmation depth justification is reviewed and approved by at least two engineers.
|
|
\end{enumerate}
|
|
|
|
%% =========================================================================
|