commit 2b7891083ae77d6f191f143c1bfc56d69a80ff1a
parent c653d31903a0b4015b503de2ed72d0727e8c06c7
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 9 Nov 2022 00:12:13 +0100
-more work on draft
Diffstat:
1 file changed, 37 insertions(+), 21 deletions(-)
diff --git a/standards/draft-grothoff-taler.xml b/standards/draft-grothoff-taler.xml
@@ -117,7 +117,7 @@
</t>
<figure>
<artwork type="abnf"><![CDATA[
- taler-URI = ("taler://" / "TALER://" / "taler+http" / "TALER+HTTP" )
+ taler-URI = ("taler://" / "TALER://" / "taler+http" / "TALER+HTTP" )
action path-abempty [ "?" opts ] ["#" ssid ]
action = ALPHA *( ALPHA / DIGIT / "-" / "." )
opts = opt *( "&" opt )
@@ -266,7 +266,7 @@ also <xref target="taler-registry" />).
<t>merchant_prefix_path: list of path components that identifies the path prefix of the merchant base URL</t>
<t>order_id: the order ID that the customer is asked to pay for</t>
<t>session_id: the session ID under which the payment takes place</t>
- <t>c: a high-entropy order "ClaimToken"</t>
+ <t>c: a high-entropy order "ClaimToken"</t>
</list>
</t>
<t>
@@ -331,24 +331,23 @@ also <xref target="taler-registry" />).
<section anchor="registry-entry-pay-push" title="Action: pay-push">
<t>
- A pay-push URI instructs the wallet to ask the user about accepting
- a P2P payment. The wallet should download, decrypt and display the
- underlying contract and accept the offered money if the user agrees
- to the contract.
+ A pay-push URI instructs the wallet to ask the user about accepting a P2P
+ payment. The wallet should download, decrypt and display the underlying
+ contract and accept the offered money if the user agrees to the contract.
</t>
<t>
The specific arguments of a "pay-push" action are:
<list style="symbols">
<t>exchange_host: the hostname of the exchange (possibly including a port number)</t>
<t>exchange_prefix_path: list of path components that identifies the path prefix of the exchange base URL</t>
- <t>contract_priv: the private key of the peer push payment contract stored at the exchange</t>
+ <t>merge_priv: private key that grants the capability to take the money in the purse</t>
</list>
</t>
<t>
<list style="symbols">
<t>Name: pay-push</t>
-<t>Syntax: taler://pay-push/{exchange_host}{/exchange_prefix_path*}/{contract_priv}</t>
-<t>Example: taler://pay-push/exchange.example.com/FIXME</t>
+<t>Syntax: taler://pay-push/{exchange_host}{/exchange_prefix_path*}/{merge_priv}</t>
+<t>Example: taler://pay-push/exchange.example.com/KAMRGDM8FNQ82HSBVDEH8MCAF13Q0B51P4R35RFG2CBVHKGT321G</t>
<t>Contact: N/A</t>
<t>References: [this.I-D]</t>
</list>
@@ -356,20 +355,25 @@ also <xref target="taler-registry" />).
</section>
<section anchor="registry-entry-pay-pull" title="Action: pay-pull">
+ <t>
+ A pay-pull URI instructs the wallet about a request made to the user to
+ pay an invoice (or to simply send money to another wallet). The wallet
+ should download, decrypt and display the underlying contract and ask the
+ user if they agree to pay the invoice.
+ </t>
<t>
The specific arguments of a "pay-pull" action are:
<list style="symbols">
<t>exchange_host: the hostname of the exchange (possibly including a port number)</t>
<t>exchange_prefix_path: list of path components that identifies the path prefix of the exchange base URL</t>
- <t>XXX: </t>
+ <t>contract_priv: the private key of the peer push payment contract stored at the exchange</t>
</list>
</t>
<t>
<list style="symbols">
<t>Name: pay-pull</t>
-<t>Syntax:
-</t>
-<t>Example: taler://pay-pull/exchange.example.com/FIXME</t>
+<t>Syntax: taler://pay-pull/{exchange_host}{/exchange_prefix_path*}/{contract_priv}</t>
+<t>Example: taler://pay-pull/exchange.example.com/PN3W8SN6N8V1V5MTEZRPJJ2ANY8GGZMB1MBXC7NMSRXJN6MZ5SWG</t>
<t>Contact: N/A</t>
<t>References: [this.I-D]</t>
</list>
@@ -384,7 +388,8 @@ also <xref target="taler-registry" />).
<t>
The specific arguments of an "exchange" action are:
<list style="symbols">
- <t></t>
+ <t>exchange_host: the hostname of the exchange (possibly including a port number)</t>
+ <t>exchange_prefix_path: list of path components that identifies the path prefix of the exchange base URL</t>
</list>
</t>
<t>
@@ -401,12 +406,13 @@ also <xref target="taler-registry" />).
<section anchor="registry-entry-auditor" title="Action: auditor">
<t>
An "auditor" action instructs the wallet to display a prompt to the user, asking
- the user to confirm/decline adding the exchange to the list of trusted auditors.
+ the user to confirm/decline adding the auditor to the list of trusted auditors.
</t>
<t>
The specific arguments of an "auditor" action are:
<list style="symbols">
- <t></t>
+ <t>auditor_host: the hostname of the auditor (possibly including a port number)</t>
+ <t>auditor_prefix_path: list of path components that identifies the path prefix of the auditor base URL</t>
</list>
</t>
<t>
@@ -422,17 +428,22 @@ also <xref target="taler-registry" />).
<section anchor="registry-entry-restore" title="Action: restore">
<t>
+ A "restore" action instructs the wallet to restore a wallet backup
+ and merge it into its current state.
+</t>
+<t>
The specific arguments of a "restore" action are:
<list style="symbols">
- <t></t>
+ <t>sync_host: the hostname of the backup service (possibly including a port number)</t>
+ <t>sync_prefix_path: list of path components that identifies the path prefix of the backup service base URL</t>
+ <t>symkey: symmetric key that was used to encrypt the backup</t>
</list>
</t>
<t>
<list style="symbols">
<t>Name: restore</t>
-<t>Syntax:
-</t>
-<t>Example: taler://restore/backup.com/KEY</t>
+<t>Syntax: taler://auditor/{sync_host}{/sync_prefix_path*}/{symkey}</t>
+<t>Example: taler://restore/backup.example.com/FIXME</t>
<t>Contact: N/A</t>
<t>References: [this.I-D]</t>
</list>
@@ -441,11 +452,16 @@ also <xref target="taler-registry" />).
<section anchor="registry-entry-error" title="Action: error">
<t>
+ An "error" action instructs the wallet to simulate a particular
+ error scenario. This action can be used to test the user interface.
+ Wallets that are not in developer mode should not run
+ the specified action and instead inform the user that "error"
+ action are only supported in developer mode.
</t>
<t>
The specific arguments of an "error" action are:
<list style="symbols">
- <t></t>
+ <t>name: specifies the specific type of error to be simulated</t>
</list>
</t>
<t>