View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005077||Taler||exchange||public||2017-06-11 15:52||2018-04-15 20:34|
|Reporter||Christian Grothoff||Assigned To||Christian Grothoff|
|Platform||i7||OS||Debian GNU/Linux||OS Version||squeeze|
|Product Version||SVN HEAD|
|Target Version||0.5||Fixed in Version||0.5|
|Summary||0005077: wirewatch should wire back transfers with invalid wtid|
|Description||If the WTID is not well-formed, wirewatch should "automatically" send the money back. Note that it may be important to extend the wire plugin with an additional API for this, as the banking system must know that this back-transfer is to cancel the invalid incoming transfer (least the incoming transfer can be rolled back and the back-transfer is still valid!).|
The test_taler_exchange_wirewatch should be extended to cover this case (trivial), and the plugin_wire_test's "bhist_cb" includes a NOTE pointing out the location in the code that likely needs to be modified; except that the modification should probably be to return the 'subject' as a 'char *' instead of a wtid (thereby removing the "if") and then have the wirewatch application deal with the subject->wtid conversion failure.
|Additional Information||For nicer testing, this also means the bank should support doing wire transfers with arbitrary subjects.|
|Tags||No tags attached.|
||This also relates to the wire plugin's API, as right now the API also returns "reserve_pub" wire subjects for *outgoing* wire transfers, which is nonsense.|
reserve_pub/wtid confusion in naming was fixed.
Current wire plugin API returns also wtid or wtid_s, depending on whether the WTID was well-formed.
Current wire plugin API has a method that allows rejection of incoming transfers, and taler-exchange-wirewatch now uses this if the wtid was invalid.
However, the 'test' wire plugin does not yet implement rejection, and the bank API, fakebank implementation and the real bank do not include an API for transfer rejection. So todo:
1) spec /reject API for bank
2) implement and test /reject API in bank lib & fakebank
3) use /reject API in test wire plugin
4) implement /reject API in bank.
5) implement 0005169
6) test wirewatch wire-back functionality in production with Python bank
As cof commit 5540747..0426168
1) Specification done.
2) implementation in fakebank and bank lib done; testcase done
3) /reject use in test wire plugin done
(4) is now filed as 0005191.
||Test committed and works in d36de3b..6623afa|
|2017-06-11 15:52||Christian Grothoff||New Issue|
|2017-06-11 15:52||Christian Grothoff||Status||new => assigned|
|2017-06-11 15:52||Christian Grothoff||Assigned To||=> Christian Grothoff|
|2017-10-01 09:53||Christian Grothoff||Priority||normal => high|
|2017-10-12 20:52||Christian Grothoff||Note Added: 0012474|
|2017-11-12 15:45||Christian Grothoff||Note Added: 0012579|
|2017-11-12 15:45||Christian Grothoff||Relationship added||related to 0005169|
|2017-12-06 12:47||Christian Grothoff||Relationship added||related to 0005191|
|2017-12-06 19:24||Christian Grothoff||Note Added: 0012629|
|2017-12-06 19:24||Christian Grothoff||Target Version||0.9 => 0.5|
|2017-12-10 16:02||Christian Grothoff||Note Added: 0012652|
|2017-12-10 16:02||Christian Grothoff||Status||assigned => resolved|
|2017-12-10 16:02||Christian Grothoff||Resolution||open => fixed|
|2017-12-10 16:02||Christian Grothoff||Fixed in Version||=> 0.5|
|2018-04-15 20:34||Christian Grothoff||Status||resolved => closed|