This is Work-In-Progress.
We will propose here a plugable mechanism in the exchange to support deposits with associated policy. An exchange can enable support for such policies via configuration.
The inital set of policy extensions that an exchange might provide consists of
The policies shall be implemented as extensions to the exchange (see DD6: Extensions for GNU Taler).
policy_hash_codes in table
policy_fulfillments is a binary
blob that consists of the concatenation of the sorted
policy_details.policy_hash_code entries from all policies that are fulfilled by
The fulfillment of a policy can be in one of the following five states:
commitment, but has otherwise been accepted. Funding can be continued by calling
/batch-depositwith more coins and the same policy details.
The following invariants need to be fulfilled and be checked by the auditor:
policy_details.commitmentis equal or larger than the amount in
policy_details.transferableMUST be equal or less than the amount in
policy_details.accumulated_totalMUST be equal to the total sum of contributions of the individual coins of the deposits that reference this policy.
policy_fulfillments.policy_hash_codesMUST refer to an existing
.fulfillment_idMUST point to the same
policy_details.fulfillment_idpoints to an entry in
policy_details.policy_hash_codeMUST be present in that entry’s
(This should be filled in with results from discussions on mailing lists / personal communication.)