diff --git a/definitions.tex b/definitions.tex index 8493a13..5c7426a 100644 --- a/definitions.tex +++ b/definitions.tex @@ -1,18 +1,18 @@ \section{Definitions} \input{location} \input{instance} \input{participant} \input{currency} +\input{target} \input{payment-request} \input{version} \input{bandwidth} \input{transaction} \input{account} \input{range} \input{balance} -\input{target} \input{latency-probability} \input{latency-profile} \input{path} \input{payment} \input{agreement} diff --git a/target.tex b/target.tex index 53cdb85..7a36dfa 100644 --- a/target.tex +++ b/target.tex @@ -1,35 +1,41 @@ \subsection{Target} -A \emph{target} is a \json{} object with -some combination of the following members, -none of which are compulsory: -\begin{jsondescription} - \item[host] An instance identity. - \item[username] - This member is only meaningful if - the \textjson{host} member is also included. - The value of this member indicates - the username of a member of the specified host. - \item[currency] - A currency. - It is \recommended{} that the value of this member is +A \emph{target} can contain information that +might assist instances' pathfinding attempts for +an intended transaction. +\nextlines{10} + +Its elements have the following meanings: +\begin{asndescription} + \item[participant] + Information about an intended participant in the transaction. + The subelement \textasn{host} specifies + the participant's instance; + the subelement \textasn{username}, if present, specifies + the participant's username on that instance. + \item[payload] + Information about the currency or value of + a payment intended to be made by the transaction. + It's \recommended{} that + the value of the \textasn{currency} subelement is specified in a form that will be widely understood. - In particular, if the \textjson{host} member is also included, - then the value of this member \should{} be in a form that + In particular, + if the target's \textasn{participant} element is present, + then the value of the payload's \textasn{currency} element + \should{} be in a form that will be understood if it is included in a payment specification sent to the specified host. The currency it specifies \should{} be one used by the specified host, and, - if the \textjson{username} member is also included, then - it \should{} be a currency used by that member of the host. - \item[approximateValue] - This member is only meaningful if - the \textjson{currency} member is also included. - The value of this member is a \json{} number encoding - a positive integer, - specifying the numerator of + if the participant's \textasn{username} element is present, + then + the currency \should{} be one used by that member of the host. + + If + the payload's \textasn{approximateValue} element is present, + its value specifies the numerator of a fraction whose denominator is the value of - the \textjson{denominator} member of - the \textjson{currency} member, - indicating the approximate value of an intended transaction, + the \textasn{denominator} element of + the payload's \textasn{currency} element, + indicating the approximate value of the intended transaction, as measured in the specified currency. -\end{jsondescription} +\end{asndescription}