summaryrefslogtreecommitdiff
path: root/design-documents/055-wallet-problem-report.rst
blob: a7ae783c411d9dc4fa331b0f79593669c93412cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
DD 55: Wallet Problem Reports
#############################

.. note::

   **Status**: Early work in progress / DD number reservation.

Summary
=======

This design document specifies global error reports generated/managed by wallet-core
and rendered by the wallet UIs.

Motivation
==========

Sometimes the wallet encounters issues that go beyond the scope of single transaction.

Requirements
============

* problem reports must have a clear lifecycle
* problem reports must have some type of identification that allows to
  easily find out if a new problem report needs to be created when an
  error happens or whether an existing one has been created

Proposed Solution
=================

Report identification
---------------------

The report identifier serves multiple purposes:

1. Usage as a reference in wallet-core APIs
2. De-duplication. The report ID should allow easy identification of an already existing report for a particular problem.

New wallet-core requests
------------------------

* ``listProblemReports``
* ``acknowledgeProblemReport``: Mark a problem report as read.
* ``deleteProblemReport``: Delete the problem report.

New wallet-core notification type
---------------------------------

* ``problem-report`` to notify clients about status changes or an error report
  (including creation!)


Types of reports
----------------

* money lost due to the exchange stopping to offer a denomination
* money locked behind a (long) pending refresh
* money lost due to a permanently failing refresh
* exchange changed its master public key
* a denomination changed its info (expiration, fees)


Definition of Done
==================

TBD.

Alternatives
============

TBD.

Drawbacks
=========

TBD.

Discussion / Q&A
================

* When is a report amended vs a new report created?

 * example: Exchange stops offering denomination D1. Later, it stops offering D2.
   Are two reports generated or is the first report changed?