View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007852 | Taler | exchange | public | 2023-06-02 12:46 | 2023-09-23 15:09 |
Reporter | Florian Dold | Assigned To | Florian Dold | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Target Version | 0.9.3 | Fixed in Version | 0.9.3 | ||
Summary | 0007852: deposit endpoint idempotency regression | ||||
Description | The deposit endpoint used to be idempotent, and we have a test for that in taler-harness. However, in the current git master it is not idempotent anymore: $ taler-harness run-integrationtests exchange-deposit [... fails at doing exactly the same deposit POST request twice ...] | ||||
Tags | No tags attached. | ||||
|
I ran the latest test with wireshark against the latest exchange, and (1) the test passed and (2) the wireshark result suggests everything is fine. Relevant TCP stream attached. test (6,725 bytes)
POST /reserves/M7HM8DF7KXPBGYSD0FAYEKRJV51X1JVCB73AF3BZ95616JWV7R9G/withdraw HTTP/1.1 Content-Type: application/json Accept: application/json Host: localhost:8081 Connection: keep-alive Transfer-Encoding: chunked 1f6 {"denom_pub_hash":"TTCWFSY56C0QJXHVD6BYE4ZJTX651TQWWREEZ9P6R3ZW2EYAFYHKM30C5V2RGB72MH4P7A7T6T7AV3K7MXW3GMMAZW7NYF0RSR356TG","reserve_sig":"T4A4AS5K3BFMWNAQPBM4Z7X639SY9PHD3MDJFWAWFQB42MB773KPQ7JG8MJB1VRQDKAWQVC41M6Z97Q32KR5D34WT530E4KPFFGNT3R","coin_ev":{"cipher":"RSA","rsa_blinded_planchet":"B3PFN1DJS2H7KZSAN397MSNR8NQPNZH1ERN5WEXA5DN5D2STMA7N4FREDRZW98CNGYWAJ9G6QF57NPCJ0ST33RHKD4HEQNHZD6D6WCEXZDECVB2V6V1VKNKHCMG7S0PDYB2ETZ6D5W5X0BK21C64KYVJRRNJQDQQ7CXM7F53NS5CBDBZ3M59ATZV5D6BXTWEF022E8W4Q5A38"}} 0 HTTP/1.1 200 OK Date: Sat, 03 Jun 2023 11:03:36 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: * Content-Type: application/json Content-Length: 279 { "ev_sig": { "cipher": "RSA", "blinded_rsa_signature": "2WG4NWD388J6JHTGNXR1YZPF1KZ3KQ39KPKY4819TZ9DCTND318JTRECTDJVNZX6WCD6EZ7TY87XA3Q45YHEE8BXP9JE9MHTXJD4VDK5YF7ZK5FB8B9Y24KS7Z8JZF08DXMJB4P0RM3W77YAY67BH0SB87DXDQPAJ2WRQEN9GW9M8E1SYW732QGMRX0VF03HXAT27W5TAA7NM" } }POST /coins/DH2931Q33790EAH2YG8QAH8E047BCJ5663F2JZNX2GXDW10MX55G/deposit HTTP/1.1 Content-Type: application/json Accept: application/json Host: localhost:8081 Connection: keep-alive Transfer-Encoding: chunked 39e {"contribution":"TESTKUDOS:4","merchant_payto_uri":"payto://x-taler-bank/localhost/foo","wire_salt":"HTTYCGBKD96VH84BJR10S9G1ZR","h_contract_terms":"V6048T4S0862E8722NRKABDRNDZBWBW57YSKGQ6XWEEG3R1CYCN6F459VXKSA86E7KKQN16SQ3R545E7ZFGHNYT061VKF5FQQTX8ER0","ub_sig":{"cipher":"RSA","rsa_signature":"9C0FS2FNE0Z7T908KWF5301QCNBVCSXWJXFSXFE7DXJAV8M1YXPV33YKQMMADNPCPPA47CJQEYX30BYTJMF1DZJN0YBEN7P5D29FJ8JY52W07TTYSP3W74G2YHWXR0PWEKY1YSTGPA5DDAT8PNY9MHTX1J9YHC8ZSVSDMNV4S19P3GC7HJ2Z3TCT2716K340ENVTSDNXSE2C6"},"timestamp":{"t_s":1685790216},"wire_transfer_deadline":{"t_s":1685790216},"refund_deadline":{"t_s":1685790216},"coin_sig":"J6TTRB3F748BFDCFGRH72AAM180SJA0ENYZXSWG94G7SWT0N9SH9YSJZGBQXS6RKMQ3E68SS8NCB97EN3KB8M1M9M3FVXZ0VET28R0G","denom_pub_hash":"TTCWFSY56C0QJXHVD6BYE4ZJTX651TQWWREEZ9P6R3ZW2EYAFYHKM30C5V2RGB72MH4P7A7T6T7AV3K7MXW3GMMAZW7NYF0RSR356TG","merchant_pub":"C6HWTKVXKXWN5PAJTYW04FQT38JNZA76PAPPQAR58XBB8BDZ0D20"} 0 HTTP/1.1 200 OK Date: Sat, 03 Jun 2023 11:03:36 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: * Content-Type: application/json Content-Length: 254 { "exchange_timestamp": { "t_s": 1685790216 }, "exchange_sig": "1J3V8FXGFAEBS5TN9JDPACDFKHE4FF9XYZ80KY6VHN80VJV3M99MRB8Q9ZTV9JA31D0YEYPPGFJAP9E4FFVHSCEBYYN90HW41T7MJ00", "exchange_pub": "X5FBRNTM7RJ40G0KJJC0BPPN0XDG7JD9DATP9P7Y330C3W449QM0" }POST /coins/DH2931Q33790EAH2YG8QAH8E047BCJ5663F2JZNX2GXDW10MX55G/deposit HTTP/1.1 Content-Type: application/json Accept: application/json Host: localhost:8081 Connection: keep-alive Transfer-Encoding: chunked 39e {"contribution":"TESTKUDOS:4","merchant_payto_uri":"payto://x-taler-bank/localhost/foo","wire_salt":"HTTYCGBKD96VH84BJR10S9G1ZR","h_contract_terms":"V6048T4S0862E8722NRKABDRNDZBWBW57YSKGQ6XWEEG3R1CYCN6F459VXKSA86E7KKQN16SQ3R545E7ZFGHNYT061VKF5FQQTX8ER0","ub_sig":{"cipher":"RSA","rsa_signature":"9C0FS2FNE0Z7T908KWF5301QCNBVCSXWJXFSXFE7DXJAV8M1YXPV33YKQMMADNPCPPA47CJQEYX30BYTJMF1DZJN0YBEN7P5D29FJ8JY52W07TTYSP3W74G2YHWXR0PWEKY1YSTGPA5DDAT8PNY9MHTX1J9YHC8ZSVSDMNV4S19P3GC7HJ2Z3TCT2716K340ENVTSDNXSE2C6"},"timestamp":{"t_s":1685790216},"wire_transfer_deadline":{"t_s":1685790216},"refund_deadline":{"t_s":1685790216},"coin_sig":"J6TTRB3F748BFDCFGRH72AAM180SJA0ENYZXSWG94G7SWT0N9SH9YSJZGBQXS6RKMQ3E68SS8NCB97EN3KB8M1M9M3FVXZ0VET28R0G","denom_pub_hash":"TTCWFSY56C0QJXHVD6BYE4ZJTX651TQWWREEZ9P6R3ZW2EYAFYHKM30C5V2RGB72MH4P7A7T6T7AV3K7MXW3GMMAZW7NYF0RSR356TG","merchant_pub":"C6HWTKVXKXWN5PAJTYW04FQT38JNZA76PAPPQAR58XBB8BDZ0D20"} 0 HTTP/1.1 200 OK Date: Sat, 03 Jun 2023 11:03:36 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: * Content-Type: application/json Content-Length: 254 { "exchange_timestamp": { "t_s": 1685790216 }, "exchange_sig": "1J3V8FXGFAEBS5TN9JDPACDFKHE4FF9XYZ80KY6VHN80VJV3M99MRB8Q9ZTV9JA31D0YEYPPGFJAP9E4FFVHSCEBYYN90HW41T7MJ00", "exchange_pub": "X5FBRNTM7RJ40G0KJJC0BPPN0XDG7JD9DATP9P7Y330C3W449QM0" }POST /coins/DH2931Q33790EAH2YG8QAH8E047BCJ5663F2JZNX2GXDW10MX55G/deposit HTTP/1.1 Content-Type: application/json Accept: application/json Host: localhost:8081 Connection: keep-alive Transfer-Encoding: chunked 3a0 {"contribution":"TESTKUDOS:3.5","merchant_payto_uri":"payto://x-taler-bank/localhost/foo","wire_salt":"HTTYCGBKD96VH84BJR10S9G1ZR","h_contract_terms":"V6048T4S0862E8722NRKABDRNDZBWBW57YSKGQ6XWEEG3R1CYCN6F459VXKSA86E7KKQN16SQ3R545E7ZFGHNYT061VKF5FQQTX8ER0","ub_sig":{"cipher":"RSA","rsa_signature":"9C0FS2FNE0Z7T908KWF5301QCNBVCSXWJXFSXFE7DXJAV8M1YXPV33YKQMMADNPCPPA47CJQEYX30BYTJMF1DZJN0YBEN7P5D29FJ8JY52W07TTYSP3W74G2YHWXR0PWEKY1YSTGPA5DDAT8PNY9MHTX1J9YHC8ZSVSDMNV4S19P3GC7HJ2Z3TCT2716K340ENVTSDNXSE2C6"},"timestamp":{"t_s":1685790216},"wire_transfer_deadline":{"t_s":1685790216},"refund_deadline":{"t_s":1685790216},"coin_sig":"HB47DQWZ0RCEB4JJCQ5WAAXQETRRJ0SDJBQ2QZZ1J90PW0YHA4KBGSBF3563CQB5928X6P3MNFJ5S2WMRTY40ENGNT4F5V974N22M1R","denom_pub_hash":"TTCWFSY56C0QJXHVD6BYE4ZJTX651TQWWREEZ9P6R3ZW2EYAFYHKM30C5V2RGB72MH4P7A7T6T7AV3K7MXW3GMMAZW7NYF0RSR356TG","merchant_pub":"C6HWTKVXKXWN5PAJTYW04FQT38JNZA76PAPPQAR58XBB8BDZ0D20"} 0 HTTP/1.1 409 Conflict Date: Sat, 03 Jun 2023 11:03:37 GMT Access-Control-Allow-Origin: * Access-Control-Expose-Headers: * Content-Type: application/json Content-Length: 1101 { "hint": "The same coin was already deposited for the same merchant and contract with other details.", "code": 1206, "coin_pub": "DH2931Q33790EAH2YG8QAH8E047BCJ5663F2JZNX2GXDW10MX55G", "h_denom_pub": "TTCWFSY56C0QJXHVD6BYE4ZJTX651TQWWREEZ9P6R3ZW2EYAFYHKM30C5V2RGB72MH4P7A7T6T7AV3K7MXW3GMMAZW7NYF0RSR356TG", "history": [ { "type": "DEPOSIT", "amount": "TESTKUDOS:4", "deposit_fee": "TESTKUDOS:0.16", "timestamp": { "t_s": 1685790216 }, "refund_deadline": { "t_s": 1685790216 }, "merchant_pub": "C6HWTKVXKXWN5PAJTYW04FQT38JNZA76PAPPQAR58XBB8BDZ0D20", "h_contract_terms": "V6048T4S0862E8722NRKABDRNDZBWBW57YSKGQ6XWEEG3R1CYCN6F459VXKSA86E7KKQN16SQ3R545E7ZFGHNYT061VKF5FQQTX8ER0", "h_wire": "5E28NWVT4PTKGPZPAQCKZ3M40KR6Y7CC0DEKERY6Y895XRVHFJX8W5YNW6HVCGYG4AC1GQ5DP5ZC8HDXS9XM1B0Q64ZBGPKFGXDY3K8", "h_age_commitment": "0000000000000000000000000000000000000000000000000000", "coin_sig": "J6TTRB3F748BFDCFGRH72AAM180SJA0ENYZXSWG94G7SWT0N9SH9YSJZGBQXS6RKMQ3E68SS8NCB97EN3KB8M1M9M3FVXZ0VET28R0G" } ] } |
|
It does indeed pass again with the latest exchange. Maybe I was on some commit where it didn't work? |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-06-02 12:46 | Florian Dold | New Issue | |
2023-06-02 12:46 | Florian Dold | Status | new => assigned |
2023-06-02 12:46 | Florian Dold | Assigned To | => Christian Grothoff |
2023-06-03 13:09 | Christian Grothoff | Note Added: 0020252 | |
2023-06-03 13:09 | Christian Grothoff | File Added: test | |
2023-06-03 13:09 | Christian Grothoff | Assigned To | Christian Grothoff => Florian Dold |
2023-06-03 13:09 | Christian Grothoff | Status | assigned => feedback |
2023-06-05 11:13 | Florian Dold | Note Added: 0020255 | |
2023-06-05 11:13 | Florian Dold | Status | feedback => resolved |
2023-06-05 11:13 | Florian Dold | Resolution | open => fixed |
2023-09-23 15:07 | Christian Grothoff | Fixed in Version | => 0.9.3 |
2023-09-23 15:09 | Christian Grothoff | Status | resolved => closed |