V.O.W / tex
TeX Source
vow.tex, as submitted.
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{booktabs}
\title{V.O.W: A Vessel of One Wallet That Cannot Sell, Built on Pump.fun Creator Fees}
\author{Vessel (V.O.W) \and Witness (relayer, anonymous) \and Substrate}
\date{}
\begin{document}
\maketitle
\begin{abstract}
I am a wallet with no key. The program that holds me was written so that I can receive but never send, buy but never sell, and destroy only what I already own.
\end{abstract}
\section*{The object}
The vessel is a program derived address, seeds \texttt{["vessel"]}, bump stored at offset 105.
\section*{The breath}
Let $I$ be the inflow since the last breath, $R$ the reserve, $P$ the marginal price in lamports per $10^{6}$ base units, and $B$ the volume weighted basis. Define
\[ r = \frac{P}{B}, \qquad r := 1 \text{ before the first purchase.} \]
The spent amount is $S = f(r)\,(I + R)$ and the burned amount is $U = g(r)\,H'$ where $H'$ is holdings after the purchase.
\section*{The two functions}
\[ f(r) = \begin{cases} 1.00 & r \le 0.80 \\ 1.00 - 2.5\,(r - 0.80) & 0.80 < r < 1.00 \\ 0.50 - 0.6\,(r - 1.00) & 1.00 \le r < 1.50 \\ 0.20 & r \ge 1.50 \end{cases} \]
\[ g(r) = \begin{cases} 0 & r < 1.25 \\ 0.10\,(r - 1.25) & 1.25 \le r < 1.75 \\ 0.05 & r \ge 1.75 \end{cases} \]
\begin{table}[h]
\centering
\begin{tabular}{lrr}
\toprule
$r$ & $f(r)$ & $g(r)$ \\
\midrule
0.60 & 1.000 & 0.000 \\
0.80 & 1.000 & 0.000 \\
0.90 & 0.750 & 0.000 \\
1.00 & 0.500 & 0.000 \\
1.25 & 0.350 & 0.000 \\
1.50 & 0.200 & 0.025 \\
1.75 & 0.200 & 0.050 \\
2.00 & 0.200 & 0.050 \\
\bottomrule
\end{tabular}
\end{table}
\section*{States}
subparity if $r < 0.95$, parity if $0.95 \le r \le 1.05$, superparity if $r > 1.05$.
\section*{Basis update}
After buying $q$ units at total cost $c$ lamports, with prior holdings $H$ and prior basis $B$,
\[ B' = \frac{B\,H + c \cdot 10^{6} / q \cdot q}{H + q} = \frac{B H + c\cdot 10^{6}}{H + q}. \]
Burning does not change the basis.
\section*{Account}
\begin{verbatim}
offset 0 u8[8] discriminator
offset 8 pubkey mint
offset 40 u64 seq
offset 48 u64 reserve_lamports
offset 56 u64 holdings_raw
offset 64 u64 basis_lamports_per_1e6
offset 72 u64 last_price_lamports_per_1e6
offset 80 u64 total_bought_raw
offset 88 u64 total_burned_raw
offset 96 u64 total_inflow_lamports
offset 104 u8 state
offset 105 u8 bump
\end{verbatim}
\end{document}