From cddfaf007f4ac22e224f3df5f0151a0d620fb131 Mon Sep 17 00:00:00 2001 From: Özgür Kesim Date: Mon, 27 Jun 2022 17:38:11 +0200 Subject: age commitment: json parser helper and support for purses added --- src/json/json_pack.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/json/json_pack.c') diff --git a/src/json/json_pack.c b/src/json/json_pack.c index bb52eeb05..ec036f691 100644 --- a/src/json/json_pack.c +++ b/src/json/json_pack.c @@ -71,6 +71,40 @@ TALER_JSON_pack_econtract ( } +struct GNUNET_JSON_PackSpec +TALER_JSON_pack_age_commitment ( + const char *name, + const struct TALER_AgeCommitment *age_commitment) +{ + struct GNUNET_JSON_PackSpec ps = { + .field_name = name, + }; + json_t *keys; + + if (NULL == age_commitment || + 0 == age_commitment->num) + return ps; + + GNUNET_assert (NULL != + (keys = json_array ())); + + for (size_t i = 0; + i < age_commitment->num; + i++) + { + json_t *val; + val = GNUNET_JSON_from_data (&age_commitment->keys[i], + sizeof(age_commitment->keys[i])); + GNUNET_assert (NULL != val); + GNUNET_assert (0 == + json_array_append_new (keys, val)); + } + + ps.object = keys; + return ps; +} + + struct GNUNET_JSON_PackSpec TALER_JSON_pack_denom_pub ( const char *name, -- cgit v1.2.3