|
48 | 48 | $\Uinit \gets \bigcup_{j=1}^{n} U_j$ \; |
49 | 49 | % $\Out~(\hpSnap,(0,U_0))$ \; |
50 | 50 | $\hatmL \gets \Uinit$ \; |
51 | | - $\bar{\mc S} \gets \Sno(0, 0, [], \Uinit, \emptyset , \emptyset)$ \; |
| 51 | + $\bar{\mc S} \gets \Sno(0, 0, [], \Uinit, \emptyset , \emptyset, \textcolor{red}{\accUTxO(\Uinit)})$ \; |
52 | 52 | $\hatv, \hats \gets 0$ \; |
53 | 53 | $\hatmT \gets \emptyset$ \; |
54 | 54 | $\tx_\omega \gets \bot$ \; |
|
165 | 165 | $\msCSig \gets \msComb(\hydraKeys^{setup}, \hatSigma)$ \; |
166 | 166 |
|
167 | 167 | % TODO: DRY message creation |
168 | | - \textcolor{red}{$\eta \gets \accUTxO(\hatmU)$} \; |
| 168 | + \textcolor{red}{$A \gets \bar{\mc S}.A$} \; |
| 169 | + \textcolor{red}{$\eta \gets \bar{\mc S}.U$} \; |
169 | 170 |
|
170 | | - \textcolor{red}{$\eta_\alpha \gets \accUTxO(U_\alpha)$} \; |
| 171 | + \textcolor{red}{$\eta_\alpha \gets \bar{\mc S}.U_\alpha$} \; |
171 | 172 | $U_\omega \gets \mathsf{outputs}(\tx_\omega)$ \; |
172 | | - \textcolor{red}{$\eta_\omega \gets \accUTxO(U_\omega)$} \; |
| 173 | + \textcolor{red}{$\eta_\omega \gets \bar{\mc S}.U_\omega$} \; |
173 | 174 | % NOTE: Implementation differs here and |
174 | 175 | % below as it stores seen version in seen |
175 | 176 | % snapshot and uses that to verify |
176 | 177 | \Req{} $\msVfy(\hydraKeysAgg, (\cid || \hatv || \hats || \eta || \eta_\alpha || \eta_\omega), \msCSig)$ \; |
177 | 178 | % create confirmed snapshot for later reference |
178 | | - $\bar{\mc S} \gets \Sno(\hatv, \hats, \hatmT, \hatmU, U_\alpha, U_\omega)$ \; |
| 179 | + $\bar{\mc S} \gets \Sno(\hatv, \hats, \hatmT, \hatmU, U_\alpha, U_\omega, \bar{\mc S}.A)$ \; |
179 | 180 | $\bar{\mc S}.\sigma \gets \msCSig$ \; |
180 | 181 | %$\Out~(\hpSnap,(\bar{\mc S}.s,\bar{\mc S}.U))$ \; |
181 | 182 | $\forall \tx \in \mT_{\mathsf{req}} : \Out (\hpConf,\tx)$ \; |
|
261 | 262 | \begin{walgo}{0.6} |
262 | 263 | % CLOSE from client |
263 | 264 | \On{$(\hpClose)$ from client}{ |
264 | | - \textcolor{red}{$\eta \gets \accUTxO(\bar{\mc S}.U)$} \; |
265 | | - \textcolor{red}{$\eta_\alpha \gets \accUTxO(\bar{\mc S}.U_\alpha$)} \; |
266 | | - \textcolor{red}{$\eta_\omega \gets \accUTxO(\bar{\mc S}.U_\omega)$} \; |
| 265 | + \textcolor{red}{$\eta \gets \hash(\bar{\mc S}.A)$} \; |
| 266 | + \textcolor{red}{$\eta_\alpha \gets \hash(\accUTxO(\bar{\mc S}.U_\alpha))$} \; |
| 267 | + \textcolor{red}{$\eta_\omega \gets \hash(\accUTxO(\bar{\mc S}.U_\omega))$} \; |
267 | 268 | $\xi \gets \bar{\mc S}.\sigma$ \; |
268 | 269 | % XXX: \hatv needed to distinguish between CloseType redeemer, explain how exactly? |
269 | 270 | $\PostTx{}~(\mtxClose, \hatv, \bar{\mc S}.v, \bar{\mc S}.s, \eta , \eta_\alpha, \eta_\omega, \xi)$ \; |
|
275 | 276 | % CLOSE TX |
276 | 277 | \On{$(\gcChainClose, \eta) \lor (\gcChainContest, s_{c}, \eta)$ from chain}{ |
277 | 278 | \If{$\bar{\mc S}.s > s_{c}$}{ |
278 | | - \textcolor{red}{$\eta \gets \accUTxO(\bar{\mc S}.U)$} \; |
279 | | - \textcolor{red}{$\eta_\alpha \gets \accUTxO(\bar{\mc S}.U_\alpha$)} \; |
280 | | - \textcolor{red}{$\eta_\omega \gets \accUTxO({\bar{\mc S}.U_\omega})$} \; |
| 279 | + \textcolor{red}{$\eta \gets \hash(\bar{\mc S}.A)$} \; |
| 280 | + \textcolor{red}{$\eta_\alpha \gets \hash(\accUTxO(\bar{\mc S}.U_\alpha))$} \; |
| 281 | + \textcolor{red}{$\eta_\omega \gets \hash(\accUTxO(\bar{\mc S}.U_\omega))$} \; |
281 | 282 | $\xi \gets \bar{\mc S}.\sigma$ \; |
282 | 283 | % XXX: \hatv needed to distinguish between CloseType redeemer, explain how exactly? |
283 | 284 | $\PostTx{}~(\mtxContest, \hatv, \bar{\mc S}.v, \bar{\mc S}.s, \eta , \eta_\alpha, \eta_\omega , \xi)$ \; |
|
0 commit comments