Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
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.
2026-04-18 21:50:07 -07:00

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}
%% =========================================================================