summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-02-07 15:09:10 +0100
committerFlorian Dold <florian.dold@gmail.com>2017-02-07 15:09:10 +0100
commit92246c3e8841978cb8f495c3e2da3deca19d7391 (patch)
treecda2fb5623f6b544c3f6eb2005c48c0228b551f6 /src/include
parent8c820b6916841d746475a4f67904272a518a7aa9 (diff)
downloadexchange-92246c3e8841978cb8f495c3e2da3deca19d7391.tar.gz
exchange-92246c3e8841978cb8f495c3e2da3deca19d7391.tar.bz2
exchange-92246c3e8841978cb8f495c3e2da3deca19d7391.zip
remove transaction_id, only one payment per proposal allowed
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_crypto_lib.h5
-rw-r--r--src/include/taler_error_codes.h2
-rw-r--r--src/include/taler_exchange_service.h6
-rw-r--r--src/include/taler_exchangedb_plugin.h24
-rw-r--r--src/include/taler_signatures.h53
5 files changed, 1 insertions, 89 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index ecdb2e3b0..c5ddeb0f7 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -380,11 +380,6 @@ struct TALER_TrackTransferDetails
*/
struct TALER_Amount coin_fee;
- /**
- * Merchant's transaction identifier.
- */
- uint64_t transaction_id;
-
};
diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h
index 7a0d9340e..5e8088350 100644
--- a/src/include/taler_error_codes.h
+++ b/src/include/taler_error_codes.h
@@ -1139,7 +1139,7 @@ enum TALER_ErrorCode
/**
* The backend encountered an error while trying to store the
- * pair <proposal_data, h_transaction_id> into the database.
+ * h_proposal_data into the database.
* The response is provided with HTTP status code MHD_HTTP_INTERNAL_SERVER_ERROR.
*/
TALER_EC_PROPOSAL_STORE_DB_ERROR = 2501,
diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h
index 2133e5770..05256ddb9 100644
--- a/src/include/taler_exchange_service.h
+++ b/src/include/taler_exchange_service.h
@@ -456,7 +456,6 @@ typedef void
* @param denom_pub denomination key with which the coin is signed
* @param denom_sig exchange’s unblinded signature of the coin
* @param timestamp timestamp when the contract was finalized, must match approximately the current time of the exchange
- * @param transaction_id transaction id for the transaction between merchant and customer
* @param merchant_pub the public key of the merchant (used to identify the merchant for refund requests)
* @param refund_deadline date until which the merchant can issue a refund to the customer via the exchange (can be zero if refunds are not allowed); must not be after the @a wire_deadline
* @param coin_sig the signature made with purpose #TALER_SIGNATURE_WALLET_COIN_DEPOSIT made by the customer with the coin’s private key.
@@ -475,7 +474,6 @@ TALER_EXCHANGE_deposit (struct TALER_EXCHANGE_Handle *exchange,
const struct TALER_DenominationSignature *denom_sig,
const struct TALER_DenominationPublicKey *denom_pub,
struct GNUNET_TIME_Absolute timestamp,
- uint64_t transaction_id,
const struct TALER_MerchantPublicKeyP *merchant_pub,
struct GNUNET_TIME_Absolute refund_deadline,
const struct TALER_CoinSpendSignatureP *coin_sig,
@@ -540,7 +538,6 @@ typedef void
* (with deposit fee) of the original deposit contribution of this coin
* @param refund_fee fee applicable to this coin for the refund
* @param h_proposal_data hash of the contact of the merchant with the customer that is being refunded
- * @param transaction_id transaction id for the transaction being refunded, must match @a h_proposal_data
* @param coin_pub coin’s public key of the coin from the original deposit operation
* @param rtransaction_id transaction id for the transaction between merchant and customer (of refunding operation);
* this is needed as we may first do a partial refund and later a full refund. If both
@@ -557,7 +554,6 @@ TALER_EXCHANGE_refund (struct TALER_EXCHANGE_Handle *exchange,
const struct TALER_Amount *amount,
const struct TALER_Amount *refund_fee,
const struct GNUNET_HashCode *h_proposal_data,
- uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
uint64_t rtransaction_id,
const struct TALER_MerchantPrivateKeyP *merchant_priv,
@@ -1219,7 +1215,6 @@ typedef void
* @param h_wire hash of merchant's wire transfer details
* @param h_proposal_data hash of the proposal data
* @param coin_pub public key of the coin
- * @param transaction_id transaction identifier
* @param cb function to call with the result
* @param cb_cls closure for @a cb
* @return handle to abort request
@@ -1230,7 +1225,6 @@ TALER_EXCHANGE_track_transaction (struct TALER_EXCHANGE_Handle *exchange,
const struct GNUNET_HashCode *h_wire,
const struct GNUNET_HashCode *h_proposal_data,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
- uint64_t transaction_id,
TALER_EXCHANGE_TrackTransactionCallback cb,
void *cb_cls);
diff --git a/src/include/taler_exchangedb_plugin.h b/src/include/taler_exchangedb_plugin.h
index 779c9892e..fa0c48a8b 100644
--- a/src/include/taler_exchangedb_plugin.h
+++ b/src/include/taler_exchangedb_plugin.h
@@ -254,12 +254,6 @@ struct TALER_EXCHANGEDB_Deposit
json_t *receiver_wire_account;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions.
- */
- uint64_t transaction_id;
-
- /**
* Time when this request was generated. Used, for example, to
* assess when (roughly) the income was achieved for tax purposes.
* Note that the Exchange will only check that the timestamp is not "too
@@ -338,13 +332,6 @@ struct TALER_EXCHANGEDB_Refund
struct GNUNET_HashCode h_proposal_data;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions, of the original transaction that is being
- * refunded.
- */
- uint64_t transaction_id;
-
- /**
* Merchant-generated REFUND transaction ID to detect duplicate
* refunds.
*/
@@ -562,7 +549,6 @@ struct TALER_EXCHANGEDB_Session;
* @param coin_pub public key of the coin
* @param amount_with_fee amount that was deposited including fee
* @param deposit_fee amount the exchange gets to keep as transaction fees
- * @param transaction_id unique transaction ID chosen by the merchant
* @param h_proposal_data hash of the proposal data known to merchant and customer
* @param wire_deadline by which the merchant adviced that he would like the
* wire transfer to be executed
@@ -576,7 +562,6 @@ typedef int
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *amount_with_fee,
const struct TALER_Amount *deposit_fee,
- uint64_t transaction_id,
const struct GNUNET_HashCode *h_proposal_data,
struct GNUNET_TIME_Absolute wire_deadline,
const json_t *receiver_wire_account);
@@ -609,7 +594,6 @@ typedef void
* @param coin_pub public key of the coin
* @param coin_sig signature from the coin
* @param amount_with_fee amount that was deposited including fee
- * @param transaction_id unique transaction ID chosen by the merchant
* @param h_proposal_data hash of the proposal data known to merchant and customer
* @param refund_deadline by which the merchant adviced that he might want
* to get a refund
@@ -626,7 +610,6 @@ typedef int
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_CoinSpendSignatureP *coin_sig,
const struct TALER_Amount *amount_with_fee,
- uint64_t transaction_id,
const struct GNUNET_HashCode *h_proposal_data,
struct GNUNET_TIME_Absolute refund_deadline,
struct GNUNET_TIME_Absolute wire_deadline,
@@ -644,7 +627,6 @@ typedef int
* @param coin_pub public key of the coin
* @param coin_sig signature from the coin
* @param amount_with_fee amount that was deposited including fee
- * @param transaction_id unique transaction ID chosen by the merchant
* @param h_proposal_data hash of the proposal data known to merchant and customer
* @param refund_deadline by which the merchant adviced that he might want
* to get a refund
@@ -674,7 +656,6 @@ typedef int
* @param merchant_pub public key of the merchant
* @param merchant_sig signature of the merchant
* @param h_proposal_data hash of the proposal data known to merchant and customer
- * @param transaction_id original transaction ID chosen by the merchant
* @param rtransaction_id refund transaction ID chosen by the merchant
* @param amount_with_fee amount that was deposited including fee
* @return #GNUNET_OK to continue to iterate, #GNUNET_SYSERR to stop
@@ -686,7 +667,6 @@ typedef int
const struct TALER_MerchantPublicKeyP *merchant_pub,
const struct TALER_MerchantSignatureP *merchant_sig,
const struct GNUNET_HashCode *h_proposal_data,
- uint64_t transaction_id,
uint64_t rtransaction_id,
const struct TALER_Amount *amount_with_fee);
@@ -785,7 +765,6 @@ typedef void
* @param h_wire hash of wire transfer details of the merchant (should be same for all callbacks with the same @e cls)
* @param exec_time execution time of the wire transfer (should be same for all callbacks with the same @e cls)
* @param h_proposal_data which proposal was this payment about
- * @param transaction_id merchant's transaction ID for the payment
* @param coin_pub which public key was this payment about
* @param coin_value amount contributed by this coin in total (with fee)
* @param coin_fee applicable fee for this coin
@@ -796,7 +775,6 @@ typedef void
const struct GNUNET_HashCode *h_wire,
struct GNUNET_TIME_Absolute exec_time,
const struct GNUNET_HashCode *h_proposal_data,
- uint64_t transaction_id,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_Amount *coin_value,
const struct TALER_Amount *coin_fee);
@@ -1508,7 +1486,6 @@ struct TALER_EXCHANGEDB_Plugin
* @param h_wire hash of merchant wire details
* @param coin_pub public key of deposited coin
* @param merchant_pub merchant public key
- * @param transaction_id transaction identifier
* @param cb function to call with the result
* @param cb_cls closure to pass to @a cb
* @return #GNUNET_OK on success, #GNUNET_SYSERR on DB errors,
@@ -1521,7 +1498,6 @@ struct TALER_EXCHANGEDB_Plugin
const struct GNUNET_HashCode *h_wire,
const struct TALER_CoinSpendPublicKeyP *coin_pub,
const struct TALER_MerchantPublicKeyP *merchant_pub,
- uint64_t transaction_id,
TALER_EXCHANGEDB_TrackTransactionCallback cb,
void *cb_cls);
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 3740eb205..ef241c8b8 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -296,18 +296,6 @@ struct TALER_DepositRequestPS
struct GNUNET_TIME_AbsoluteNBO refund_deadline;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions. The merchant must communicate a merchant-unique ID
- * to the customer for each transaction. Note that different coins
- * that are part of the same transaction can use the same
- * transaction ID. The transaction ID is useful for later disputes,
- * and the merchant's contract offer (@e h_proposal_data) with the
- * customer should include the offer's term and transaction ID
- * signed with a key from the merchant.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* Amount to be deposited, including deposit fee charged by the
* exchange. This is the total amount that the coin's value at the exchange
* will be reduced by.
@@ -364,12 +352,6 @@ struct TALER_DepositConfirmationPS
struct GNUNET_HashCode h_wire GNUNET_PACKED;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* Time when this confirmation was generated.
*/
struct GNUNET_TIME_AbsoluteNBO timestamp;
@@ -423,11 +405,6 @@ struct TALER_RefundRequestPS
struct GNUNET_HashCode h_proposal_data GNUNET_PACKED;
/**
- * Merchant-generated transaction ID of the orginal transaction.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* The coin's public key. This is the value that must have been
* signed (blindly) by the Exchange.
*/
@@ -482,11 +459,6 @@ struct TALER_RefundConfirmationPS
struct GNUNET_HashCode h_proposal_data GNUNET_PACKED;
/**
- * Merchant-generated transaction ID of the orginal transaction.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* The coin's public key. This is the value that must have been
* signed (blindly) by the Exchange.
*/
@@ -929,14 +901,6 @@ struct TALER_DepositTrackPS
struct GNUNET_HashCode h_wire GNUNET_PACKED;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions. Chosen by the merchant and used to group
- * deposits when there are multiple payments the same proposal
- * (typically from different customers).
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* The Merchant's public key. The deposit inquiry request is to be
* signed by the corresponding private key (using EdDSA).
*/
@@ -969,11 +933,6 @@ struct TALER_WireDepositDetailP
struct GNUNET_TIME_AbsoluteNBO execution_time;
/**
- * Merchant's transaction ID in NBO.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* Coin's public key.
*/
struct TALER_CoinSpendPublicKeyP coin_pub;
@@ -1099,18 +1058,6 @@ struct TALER_ConfirmWirePS
struct TALER_CoinSpendPublicKeyP coin_pub;
/**
- * Merchant-generated transaction ID to detect duplicate
- * transactions, in big endian. The merchant must communicate a
- * merchant-unique ID to the customer for each transaction. Note
- * that different coins that are part of the same transaction can
- * use the same transaction ID. The transaction ID is useful for
- * later disputes, and the merchant's contract offer (@e h_proposal_data)
- * with the customer should include the offer's term and transaction
- * ID signed with a key from the merchant.
- */
- uint64_t transaction_id GNUNET_PACKED;
-
- /**
* When did the exchange execute this transfer? Note that the
* timestamp may not be exactly the same on the wire, i.e.
* because the wire has a different timezone or resolution.