MultiCurrencyWallet
MultiCurrencyWallet copied to clipboard
Transaction history improvements
Problem
You dont see resulting balance Transaction status is not obvious You don't see pending transaction if someone initiataded a transfer
Task
You need to make it look good.
-
You need to make resulting balance of transaction visible
It should be visible in the currency of the current wallet.
-
The dollar (eur etc) amounts should be shown on hover. When you hover over an amount in BTC, you should see full amount in btc without rounding, and its approximate equivalent in fiat currency.
-
If its a multisig account and someone initiated a transaction, and haven't cancelled it, you need to see it in list of transaction with "requires signature" status. The resulting balance should not be affected, such transactions should be clearly visible:
The date will appear of initiation of transaciton, but once confirmed, it should be sorted by date (or block) of first confirmation .
-
When you click on transaciton you need to animate unfolding of the transaction block right inside the table of all transaction with more details.
- transaction id
- exact amount
- number of confirmations
- actions required (if any): cancel, sign, etc..
- fees taken
- fiat equivalents of amounts
- etc..
Most importantly we need to fix issues with jumping balances and transactions not appearing in status bars..
Purpose
Intuitiveness and usefulness.
Area
frontend and some backend changes to make changes immediate. we can't wait fo blockchain to swallow a transaction to display correct list of transaction including those that are pending backend need to cache whatever it got from blockchain or from us to make sure it has the most recent list of pending, confirmed and unconfirmed transactions. so when you do reloads or go back and forth between screens you receive always the same list of transactions unless there is some new comming in.
Estimate time of implementation
1 month?
Additional data
Also good idea to add accounting-friendly number of significant digits and have the same number of digits after the "."
Less significant digits we can make gray.
monospace font family will make it so that digits with same significance are on equal level
For every coin the number of significant difits will be different
This will also help align transaction amounts in different currencies when you show history of transactions for all wallets.
Диалоги должны быть
- закрываемые (кнопкой и крестиком)
- иметь одинаковый look and feel. то есть быть в том же месте и одинакового стиля
- размывать ненужный фон (возможноо кроме баланса) и делать его не кликабельным
- всегда работать как swiss watch
noxon: вынес в отдельный ишью
noxon: вынес в отдельный ишью
It would be nicer if send dialogues was on 1 screen. without having to click
The source wallets would be displayed in dropdown. by default - the last used wallet (for sending) or wallet with biggest balance in usd equivalent.
And isn't it nicer if cancel button is on the left?
And after you click withraw, there should be a confirmation screen asking you to confirm everyhting. You should be able to see:
- what wallet you are sending from
- what address you are sending to
- amount (including usd equivalent)
- transaction fees you are paying (including usd equivalent)
Here is the designers vision of transactions which needs actions, let's take this as basic design
history table, invoice table, table from the currency page are the same data and code just with different filters
therefore, you need to rewrite these 3 components, to 1 common, which will be based on the history table, but add filters there that will be thrown by props
this leads to a decrease in the code, its greater comprehensibility and reduces the risk of crash
if you upload a list of transactions and put it in the store, you don’t have to unload this data every time while change route just filter (display data from the store and update it in the background)
Here is the designers vision of transactions which needs actions, let's take this as basic design
Ok the designer didnt take into account the following:
https://user-images.githubusercontent.com/22708849/79560253-f36f2100-80af-11ea-8a7d-d613c19a8717.png
The rest looks ok.
Also, the designer did not change the resulting balance after transaction, not good. Must be as I asked. Dollar amounts should be visible on mouse over.
I know it looks nicer when there is no mono fonts, and too many colors, but from the pro user point imho, its better to stress the important part of the amounts.
Otherwise, i think its ok.
But the designer also needs to make an example of unfolded transaction (after clicking on it). So i can see all the details.
Строка поиска в истории транзакций - это бомбейская идея
посмотрите как сделано у gitlab issues (не github, а gitlab)
Надо сделать что-то типа того, так-же легко удобно и логично
Очень удобно работают покстазки
Например в нашем случае я вижу так
Набираю например "btc:13" и он автоматом дозаполняет полный адрес кошелька ибо у меня всего один начинается на 13... а если 2 или больше то в подсказках они выпадают. Очень удобно
Еще после того как я набрал btc:
автоматом btc оборачивается в серенький и система сама понимает что ты пытаешься найти транзы какогото кошелька и уже начинает во первых фильтровать а во-вторых выпадают подсказки всех твоих кошелей биткойновских чтобы ты фильтровал их
https://github.com/swaponline/MultiCurrencyWallet/issues/2687#issuecomment-616097987 The confirmation screen can be universal for a few scenarios:
- [ ] Confirmation of simple wallet transaction
- [ ] Multisignature wallets, when the other pary signs the trasaction
- [ ] 2FA comfirmation. Связанное ишью https://github.com/swaponline/MultiCurrencyWallet/issues/2625
Transaction ledger service
If we make trnsaction ledger service on the backend with the functionality to save transactions on all stages, we need to remove the "requests" folder
Instead, this will be a filter on regular transaction list:
And the link of such page should be:
-
https://swaponline.io/#/history?filter=tag:invoice
And there should be notifications, also different types:
- Incomming invoices
- Incomming multisig transactions that require signatures
- New Incomming transactions to wallets
(decomposition https://github.com/swaponline/MultiCurrencyWallet/issues/2419 ) Unlike many other blockchain explorers, our must be more accounting-oriented, rather than blockchain oriented. This means, our transaction list must be more user-friendly to professionals who wish to view balances and transactions, rather than understand the blockchain details. This means that in the (5) transaction list we need to
-
[x] display the date of transaction
-
[ ] amount of transaction (in currency of the wallet. e.g. btc)
-
[ ] balance (the new balance after the transaction was complete, or when it will be complete)
-
[ ] we need an easy way to convert the transaction amount to fiat currency amount (usd), so you can see your transactions in fiat representation, the exchange rate must be valid for the time when the transaction was complete, rather than current exchange rate. So if you sent 3 months ago 0.1 btc, you should see first of all the 0.1 btc, but also its important that it was approx $700 at the time of transaction. (there is no need to convert resulting balance after transaction to fiat amount, as its irrelevant)
-
[ ] We need to see current balance of the wallet in the currency of the wallet (BTC) as main focus, but there current balance should also be shown in preferred fiat currency (e.g. USD), with lighter accent.
-
[ ] pending transactions should not influence the current balance, and the balance after transaction field must be empty, it will only be shown after transaction is accepted, and the time of acceptance should be the sorting value.