int-withdraw.tex (1899B)
1 \section{Withdraw} 2 3 \begin{figure}[h!] 4 \begin{sequencediagram} 5 \newinst{wallet}{\shortstack{Customer wallet \\ 6 \\ \begin{tikzpicture} 7 \node [fill=gray!20,draw=black,thick,align=center] { Unique \\ Wallet ID}; 8 \end{tikzpicture} 9 }} 10 \newinst[2]{exchange}{\shortstack{Taler (exchange) \\ 11 \\ \begin{tikzpicture}[shape aspect=.5] 12 \tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}} 13 \node at (1.5,0) {\shortstack{{{\tiny Database}}}}; 14 \end{tikzpicture} 15 }} 16 \newinst[2]{bank}{\shortstack{Customer bank \\ 17 \\ \begin{tikzpicture} 18 \node [fill=gray!20,draw=black,thick,align=center] {Checking \\ Accounts}; 19 \end{tikzpicture} 20 }} 21 \postlevel 22 \mess[0]{wallet}{Withdraw {(Amount)}}{exchange} 23 \mess[0]{exchange}{{Configuration (ToS, Fees)}}{wallet} 24 \begin{sdblock}{once}{} 25 \begin{callself}{wallet}{Accept ToS}{} 26 \end{callself} 27 \end{sdblock} 28 \begin{callself}{wallet}{Review withdraw fees}{} 29 \end{callself} 30 \mess[0]{wallet}{{Initiate transfer (Amount, Credit account, Wallet ID)}}{bank} 31 \mess[0]{bank}{{Credit (Wallet ID)}}{exchange} 32 33 \begin{sdblock}{Acceptable transfer?}{} 34 \mess[0]{exchange}{{Bounce funds}}{bank} 35 \end{sdblock} 36 \postlevel 37 \mess[0]{exchange}{Confirm wire transfer}{wallet} 38 \mess[0]{wallet}{Request digital cash}{exchange} 39 \mess[0]{exchange}{Distribute digital cash}{wallet} 40 \postlevel 41 \begin{sdblock}{Withdraw period expired?}{} 42 \mess[0]{exchange}{{Return remaining funds}}{bank} 43 \end{sdblock} 44 \end{sequencediagram} 45 \caption{Withdraw interactions between customer, Taler exchange (payment 46 service provider) and bank. The amount of digital cash distributed is 47 subject to limits per origin account (see Section~\ref{sec:kyc:withdraw}).} 48 \label{fig:int:withdraw} 49 \end{figure}