-reducing FIXMEs re: age restriction
- deposit info now carries h_age_commitment - benchmark does age commitment, too
This commit is contained in:
parent
f4f502d037
commit
71af4c539e
@ -493,6 +493,7 @@ run (void *cls,
|
|||||||
struct TALER_PlanchetMasterSecretP ps;
|
struct TALER_PlanchetMasterSecretP ps;
|
||||||
struct TALER_ExchangeWithdrawValues alg_values;
|
struct TALER_ExchangeWithdrawValues alg_values;
|
||||||
struct TALER_CoinSpendPublicKeyP coin_pub;
|
struct TALER_CoinSpendPublicKeyP coin_pub;
|
||||||
|
struct TALER_AgeCommitmentHash hac;
|
||||||
union TALER_DenominationBlindingKeyP bks;
|
union TALER_DenominationBlindingKeyP bks;
|
||||||
|
|
||||||
RANDOMIZE (&coin_pub);
|
RANDOMIZE (&coin_pub);
|
||||||
@ -525,10 +526,31 @@ run (void *cls,
|
|||||||
TALER_planchet_blinding_secret_create (&ps,
|
TALER_planchet_blinding_secret_create (&ps,
|
||||||
&alg_values,
|
&alg_values,
|
||||||
&bks);
|
&bks);
|
||||||
|
|
||||||
|
{
|
||||||
|
uint32_t seed;
|
||||||
|
struct TALER_AgeMask mask = {
|
||||||
|
.mask = 1 || 1 << 8 || 1 << 12 || 1 << 16 || 1 << 18
|
||||||
|
};
|
||||||
|
struct TALER_AgeCommitment ac = {0};
|
||||||
|
|
||||||
|
seed = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
|
||||||
|
UINT32_MAX);
|
||||||
|
|
||||||
|
GNUNET_assert (GNUNET_OK ==
|
||||||
|
TALER_age_restriction_commit (
|
||||||
|
&mask,
|
||||||
|
13,
|
||||||
|
seed,
|
||||||
|
&ac));
|
||||||
|
|
||||||
|
TALER_age_commitment_hash (&ac, &hac);
|
||||||
|
}
|
||||||
|
|
||||||
GNUNET_assert (GNUNET_OK ==
|
GNUNET_assert (GNUNET_OK ==
|
||||||
TALER_denom_blind (&denom_pub,
|
TALER_denom_blind (&denom_pub,
|
||||||
&bks,
|
&bks,
|
||||||
NULL, /* FIXME-oec */
|
&hac,
|
||||||
&coin_pub,
|
&coin_pub,
|
||||||
&alg_values,
|
&alg_values,
|
||||||
&c_hash,
|
&c_hash,
|
||||||
|
@ -73,7 +73,7 @@ TEH_RESPONSE_compile_transaction_history (
|
|||||||
&deposit->deposit_fee,
|
&deposit->deposit_fee,
|
||||||
&h_wire,
|
&h_wire,
|
||||||
&deposit->h_contract_terms,
|
&deposit->h_contract_terms,
|
||||||
NULL, /* h_age_commitment, FIXME-oec */
|
&deposit->h_age_commitment,
|
||||||
NULL /* h_extensions! */,
|
NULL /* h_extensions! */,
|
||||||
&deposit->h_denom_pub,
|
&deposit->h_denom_pub,
|
||||||
deposit->timestamp,
|
deposit->timestamp,
|
||||||
@ -110,6 +110,9 @@ TEH_RESPONSE_compile_transaction_history (
|
|||||||
&h_wire),
|
&h_wire),
|
||||||
GNUNET_JSON_pack_data_auto ("h_denom_pub",
|
GNUNET_JSON_pack_data_auto ("h_denom_pub",
|
||||||
&deposit->h_denom_pub),
|
&deposit->h_denom_pub),
|
||||||
|
GNUNET_JSON_pack_allow_null (
|
||||||
|
GNUNET_JSON_pack_data_auto ("h_age_commitment",
|
||||||
|
&deposit->h_age_commitment)),
|
||||||
GNUNET_JSON_pack_data_auto ("coin_sig",
|
GNUNET_JSON_pack_data_auto ("coin_sig",
|
||||||
&deposit->csig))))
|
&deposit->csig))))
|
||||||
{
|
{
|
||||||
|
@ -1188,6 +1188,7 @@ prepare_statements (struct PostgresClosure *pg)
|
|||||||
",denoms.fee_deposit_val"
|
",denoms.fee_deposit_val"
|
||||||
",denoms.fee_deposit_frac"
|
",denoms.fee_deposit_frac"
|
||||||
",denoms.denom_pub_hash"
|
",denoms.denom_pub_hash"
|
||||||
|
",kc.age_hash"
|
||||||
",wallet_timestamp"
|
",wallet_timestamp"
|
||||||
",refund_deadline"
|
",refund_deadline"
|
||||||
",wire_deadline"
|
",wire_deadline"
|
||||||
@ -3090,7 +3091,6 @@ postgres_insert_denomination_info (
|
|||||||
const struct TALER_EXCHANGEDB_DenominationKeyInformationP *issue)
|
const struct TALER_EXCHANGEDB_DenominationKeyInformationP *issue)
|
||||||
{
|
{
|
||||||
struct PostgresClosure *pg = cls;
|
struct PostgresClosure *pg = cls;
|
||||||
uint32_t age_mask = 0; /* FIXME-OEC */
|
|
||||||
struct GNUNET_PQ_QueryParam params[] = {
|
struct GNUNET_PQ_QueryParam params[] = {
|
||||||
GNUNET_PQ_query_param_auto_from_type (&issue->properties.denom_hash),
|
GNUNET_PQ_query_param_auto_from_type (&issue->properties.denom_hash),
|
||||||
TALER_PQ_query_param_denom_pub (denom_pub),
|
TALER_PQ_query_param_denom_pub (denom_pub),
|
||||||
@ -3104,7 +3104,7 @@ postgres_insert_denomination_info (
|
|||||||
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.deposit),
|
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.deposit),
|
||||||
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.refresh),
|
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.refresh),
|
||||||
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.refund),
|
TALER_PQ_query_param_amount_nbo (&issue->properties.fees.refund),
|
||||||
GNUNET_PQ_query_param_uint32 (&age_mask),
|
GNUNET_PQ_query_param_uint32 (&denom_pub->age_mask.mask),
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
struct TALER_DenomFeeSet fees;
|
struct TALER_DenomFeeSet fees;
|
||||||
@ -5641,11 +5641,14 @@ postgres_get_known_coin (void *cls,
|
|||||||
GNUNET_PQ_query_param_auto_from_type (coin_pub),
|
GNUNET_PQ_query_param_auto_from_type (coin_pub),
|
||||||
GNUNET_PQ_query_param_end
|
GNUNET_PQ_query_param_end
|
||||||
};
|
};
|
||||||
|
bool is_null;
|
||||||
struct GNUNET_PQ_ResultSpec rs[] = {
|
struct GNUNET_PQ_ResultSpec rs[] = {
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("denom_pub_hash",
|
GNUNET_PQ_result_spec_auto_from_type ("denom_pub_hash",
|
||||||
&coin_info->denom_pub_hash),
|
&coin_info->denom_pub_hash),
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("age_hash",
|
GNUNET_PQ_result_spec_allow_null (
|
||||||
&coin_info->h_age_commitment),
|
GNUNET_PQ_result_spec_auto_from_type ("age_hash",
|
||||||
|
&coin_info->h_age_commitment),
|
||||||
|
&is_null),
|
||||||
TALER_PQ_result_spec_denom_sig ("denom_sig",
|
TALER_PQ_result_spec_denom_sig ("denom_sig",
|
||||||
&coin_info->denom_sig),
|
&coin_info->denom_sig),
|
||||||
GNUNET_PQ_result_spec_end
|
GNUNET_PQ_result_spec_end
|
||||||
@ -6583,6 +6586,7 @@ add_coin_deposit (void *cls,
|
|||||||
struct TALER_EXCHANGEDB_DepositListEntry *deposit;
|
struct TALER_EXCHANGEDB_DepositListEntry *deposit;
|
||||||
struct TALER_EXCHANGEDB_TransactionList *tl;
|
struct TALER_EXCHANGEDB_TransactionList *tl;
|
||||||
uint64_t serial_id;
|
uint64_t serial_id;
|
||||||
|
bool is_null;
|
||||||
|
|
||||||
chc->have_deposit_or_melt = true;
|
chc->have_deposit_or_melt = true;
|
||||||
deposit = GNUNET_new (struct TALER_EXCHANGEDB_DepositListEntry);
|
deposit = GNUNET_new (struct TALER_EXCHANGEDB_DepositListEntry);
|
||||||
@ -6592,14 +6596,18 @@ add_coin_deposit (void *cls,
|
|||||||
&deposit->amount_with_fee),
|
&deposit->amount_with_fee),
|
||||||
TALER_PQ_RESULT_SPEC_AMOUNT ("fee_deposit",
|
TALER_PQ_RESULT_SPEC_AMOUNT ("fee_deposit",
|
||||||
&deposit->deposit_fee),
|
&deposit->deposit_fee),
|
||||||
|
GNUNET_PQ_result_spec_auto_from_type ("denom_pub_hash",
|
||||||
|
&deposit->h_denom_pub),
|
||||||
|
GNUNET_PQ_result_spec_allow_null (
|
||||||
|
GNUNET_PQ_result_spec_auto_from_type ("age_hash",
|
||||||
|
&deposit->h_age_commitment),
|
||||||
|
&is_null),
|
||||||
GNUNET_PQ_result_spec_timestamp ("wallet_timestamp",
|
GNUNET_PQ_result_spec_timestamp ("wallet_timestamp",
|
||||||
&deposit->timestamp),
|
&deposit->timestamp),
|
||||||
GNUNET_PQ_result_spec_timestamp ("refund_deadline",
|
GNUNET_PQ_result_spec_timestamp ("refund_deadline",
|
||||||
&deposit->refund_deadline),
|
&deposit->refund_deadline),
|
||||||
GNUNET_PQ_result_spec_timestamp ("wire_deadline",
|
GNUNET_PQ_result_spec_timestamp ("wire_deadline",
|
||||||
&deposit->wire_deadline),
|
&deposit->wire_deadline),
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("denom_pub_hash",
|
|
||||||
&deposit->h_denom_pub),
|
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("merchant_pub",
|
GNUNET_PQ_result_spec_auto_from_type ("merchant_pub",
|
||||||
&deposit->merchant_pub),
|
&deposit->merchant_pub),
|
||||||
GNUNET_PQ_result_spec_auto_from_type ("h_contract_terms",
|
GNUNET_PQ_result_spec_auto_from_type ("h_contract_terms",
|
||||||
|
@ -1119,6 +1119,12 @@ struct TALER_EXCHANGEDB_DepositListEntry
|
|||||||
*/
|
*/
|
||||||
struct TALER_DenominationHash h_denom_pub;
|
struct TALER_DenominationHash h_denom_pub;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Age commitment hash, if applicable ot the denomination. Should be all
|
||||||
|
* zeroes if age commitment is not applicable to the denonimation.
|
||||||
|
*/
|
||||||
|
struct TALER_AgeCommitmentHash h_age_commitment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detailed information about the receiver for executing the transaction.
|
* Detailed information about the receiver for executing the transaction.
|
||||||
* URL in payto://-format.
|
* URL in payto://-format.
|
||||||
|
Loading…
Reference in New Issue
Block a user