[æge-withdraw] WiP: towards new API

This commit is contained in:
Özgür Kesim 2023-05-14 13:11:36 +02:00
parent 9f1f069cea
commit 4a31a180a4
Signed by: oec
GPG Key ID: 3D76A56D79EDD9D7
2 changed files with 17 additions and 13 deletions

View File

@ -92,9 +92,20 @@ struct AgeWithdrawContext
struct TALER_EXCHANGEDB_AgeWithdrawCommitment commitment; struct TALER_EXCHANGEDB_AgeWithdrawCommitment commitment;
/** /**
* Current time for the DB transaction. * Number of coins/denonations in the reveal
*/ */
struct GNUNET_TIME_Timestamp now; uint32_t num_coins;
/**
* kappa * #num_coins hashes of blinded coin planchets.
*/
struct TALER_BlindedPlanchet *coin_evs;
/**
* #num_coins hashes of the denominations from which the coins are withdrawn.
* Those must support age restriction.
*/
struct TALER_DenominationHashP *denoms_h;
}; };

View File

@ -30,10 +30,9 @@ BEGIN
',max_age SMALLINT NOT NULL CONSTRAINT max_age_positive CHECK(max_age>=0)' ',max_age SMALLINT NOT NULL CONSTRAINT max_age_positive CHECK(max_age>=0)'
',reserve_pub BYTEA NOT NULL CONSTRAINT reserve_pub_length CHECK(LENGTH(reserve_pub)=32)' ',reserve_pub BYTEA NOT NULL CONSTRAINT reserve_pub_length CHECK(LENGTH(reserve_pub)=32)'
',reserve_sig BYTEA NOT NULL CONSTRAINT reserve_sig_length CHECK(LENGTH(reserve_sig)=64)' ',reserve_sig BYTEA NOT NULL CONSTRAINT reserve_sig_length CHECK(LENGTH(reserve_sig)=64)'
',num_coins SMALLINT NOT NULL CONSTRAINT num_coins_positive CHECK(num_coins>0)'
',denominations_serials INT8[] NOT NULL CONSTRAINT denominations_serial_array_length CHECK(cardinality(denominations_serials)=num_coins)'
',denom_sigs BYTEA[] NOT NULL CONSTRAINT denom_sigs_array_length CHECK(cardinality(denom_sigs)=num_coins)'
',noreveal_index SMALLINT NOT NULL CONSTRAINT noreveal_index_positive CHECK(noreveal_index>=0)' ',noreveal_index SMALLINT NOT NULL CONSTRAINT noreveal_index_positive CHECK(noreveal_index>=0)'
',denominations_serials INT8[] NOT NULL CONSTRAINT denominations_serial_array_length CHECK(cardinality(denominations_serials)=cardinality(denom_sigs))'
',denom_sigs BYTEA[] NOT NULL CONSTRAINT denom_sigs_array_length CHECK(cardinality(denom_sigs)=cardinality(denominations_serials))'
') %s ;' ') %s ;'
,table_name ,table_name
,'PARTITION BY HASH (reserve_pub)' ,'PARTITION BY HASH (reserve_pub)'
@ -75,20 +74,14 @@ BEGIN
,table_name ,table_name
,partition_suffix ,partition_suffix
); );
PERFORM comment_partinioned_column(
'Number of coins to be withdrawn'
,'num_coins'
,table_name
,partition_suffix
);
PERFORM comment_partitioned_column( PERFORM comment_partitioned_column(
'Array of #num_coins of references to the denominations' 'Array of references to the denominations'
,'denominations_serials' ,'denominations_serials'
,table_name ,table_name
,partition_suffix ,partition_suffix
); );
PERFORM comment_partitioned_column( PERFORM comment_partitioned_column(
'Array of #num_coins signatures over the blinded envelopes' 'Array of signatures over the blinded envelopes'
,'denom_sigs' ,'denom_sigs'
,table_name ,table_name
,partition_suffix ,partition_suffix