From b89e433f4f48f5be8d35d7a7eaf45d5ac45169fd Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 13 Jul 2020 19:03:05 +0200 Subject: add more detail to coin state machine --- doc/system/taler/coin.dot | 4 +++- doc/system/taler/coin.pdf | Bin 17066 -> 17151 bytes doc/system/taler/design.tex | 7 ++++--- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/system/taler/coin.dot b/doc/system/taler/coin.dot index ab1f8139f..3112a1b65 100644 --- a/doc/system/taler/coin.dot +++ b/doc/system/taler/coin.dot @@ -6,7 +6,8 @@ digraph Coin { partial [color=blue, label="dirty coin", shape="box"]; revoked [color=blue, label="revoked coin", shape="box"]; zombie [color=blue, label="zombie coin", shape="box"]; - spent [color=blue, label="spent coin", shape="doublecircle"]; + spent [color=blue, label="spent coin", shape="box"]; + wired [color=blue, label="wired coin", shape="doublecircle"]; expired [color=blue, label="expired coin", shape="doublecircle"]; subgraph { @@ -36,6 +37,7 @@ digraph Coin { melt->spent; spent->refund; refund->partial; + spent->wired [style=dotted]; partial->expired [style=dotted]; partial->melt; partial->deposit [color=red]; diff --git a/doc/system/taler/coin.pdf b/doc/system/taler/coin.pdf index a5590b75e..dcd47292e 100644 Binary files a/doc/system/taler/coin.pdf and b/doc/system/taler/coin.pdf differ diff --git a/doc/system/taler/design.tex b/doc/system/taler/design.tex index d78acac19..535dc51ac 100644 --- a/doc/system/taler/design.tex +++ b/doc/system/taler/design.tex @@ -727,8 +727,9 @@ the {\em withdraw} protocol or the refresh protocol. The most common scenario is that the {\em fresh coin} is {\em deposited}. This payment creates a deposit (see Figure~\ref{fig:deposit:states}) and either a {\em dirty coin} (if the payment was for a fraction of the coin's value) or a {\em spent coin}. -A spent coin can be {\em refunded} by the merchant (until the deposit is due), -creating a {\em dirty coin}. +A spent coin can be {\em refunded} by the merchant, creating a {\em dirty + coin}. Once the exchange has aggregated a coin and wired the amount to the +merchant, a coin can no longer be refunded. A {\em fresh coin} may also be subject to key {\em revocation}, at which point the wallet ends up with a {\em revoked coin}. At this point, the wallet can @@ -754,7 +755,7 @@ when the committment made for the {\em refresh session} is checked during the \begin{figure} \begin{center} - \includegraphics[scale=0.75]{taler/coin.pdf} + \includegraphics[scale=0.65]{taler/coin.pdf} \end{center} \caption{State machine of a coin.} \label{fig:coin:states} -- cgit v1.2.3