Commit graph

1443 commits

Author SHA1 Message Date
sqrrm
8bffcd62be
Merge pull request #4229 from petrhejna/1387-add-memo-field
Add memo field to withdrawal transaction
2020-05-19 17:05:46 +02:00
sqrrm
2bd4f1a709
Merge pull request #4258 from jmacxx/fix_stale_qrcode_display
Prevent transient negative missingCoin amount sent to QRCode display
2020-05-16 12:52:55 +02:00
Petr Hejna
5352d9b44e
Fix lcode style 2020-05-15 23:17:46 +02:00
Petr Hejna
335290e464
Revert uneedech whilechars changes 2020-05-15 23:16:18 +02:00
Petr Hejna
e27df8f16a
Remove unnecesary protobuf Transaction (memo is alreay in bitcoinj Transaction object) 2020-05-15 23:16:18 +02:00
Petr Hejna
8d5f42f122
Add memo field to withdrawal transaction
- "Memo" field is modeled as property of the new object Transaction which is stored in persitant storage.
- Transaction object is modeled in a way that allows extension in the furure for more persisted attributes.
2020-05-15 23:16:17 +02:00
jmacxx
69e46b7025
Prevent transient negative missingCoin amount sent to QRCode display
In bisq-network/bisq/pull/4223 a fix was made to the QRCode display
of amount needed to fund an offer.  This accidentally introduced a
bug whereby if the user overpaid the funding, then the QRCode would
throw an error `Coin must be positive`.  This is due to a race
condition in OfferDataModel which was setting a property first
to a negative amount before checking if it was negative and if so
then setting it to zero.  The fix here is to check for negative
before setting the property so that any listeners do not get an
event (negative) followed by another event (zero).
2020-05-14 20:24:17 -05:00
sqrrm
5e5d7d1577
Merge pull request #4225 from cd2357/show-min-max-orderbook
OfferBook: Show min-max range for amount and volume
2020-05-12 12:54:55 +02:00
sqrrm
6d108ead2f
Merge pull request #4182 from jmacxx/fix_issue_2798
Editing an offer should not allow the BTC amount to be changed
2020-05-11 15:45:22 +02:00
sqrrm
d51c4c82e0
Merge pull request #4178 from jmacxx/fix_issue_3871
When accepting an offer do not round the BTC amount outside range
2020-05-11 15:18:47 +02:00
sqrrm
b1f593a2d7
Merge pull request #4235 from cd2357/improve-fee-estimation
Switch to more accurate fee estimation endpoint
2020-05-05 19:04:14 +02:00
cd2357
e18f0406af
Switch to more accurate fee estimation endpoint
The API endpoint for fee estimations has been changed to one that delivers more accurate fee estimations.

This is a temporary solution, until a more decentralized approach is found.

Fixes projects/issues/27
2020-05-05 17:11:54 +02:00
sqrrm
a731957aa7
Merge pull request #4223 from jmacxx/fix_stale_qrcode_display
Fix QR code display of offer funding amount
2020-05-05 16:48:55 +02:00
cd2357
34ff2d6a15
OfferBook: Show min-max range for amount and volume
The OfferBook tables now show the amount and the volume as min-max range, where appropriate.

For the offers that have no range defined, the single values are shown.

Fixes #3129
2020-05-02 16:09:56 +02:00
jmacxx
7350735606
Fix QR code display of offer funding amount
When creating an offer the small QR code displayed for funding
was off by an amount that represent the mining fees.  This was due
to the QR code being displayed simultaneously with the wallet
calulating the fee.

We fix the issue by listening to the data model `missingCoin`
value of the offer object, and updating the QR code image
appropriately.

Fixes #3666
Fixes #4194
2020-05-01 23:17:36 -05:00
cd2357
12dec2c321
BondsView: Fix sorting of numeric columns
The table in the BondsView uses string sorting by default. This results in unexpected behavior when sorting non-string columns.

This commit adds custom comparators to the numeric columns to address that.

Fixes #3231
2020-05-01 20:32:37 +02:00
chimp1984
d9628802cb
If a new received protectedStorageEntry is expired we do not store it
and do not broadcast.

It is unclear why we receive expired data (some are very old), but a
manipulated node might produce that and as it only removed at each
batch process running each minute to clean out expired data it still
could propagate. Is an attack vector also to flood the network with
outdated offers where the maker is likely not online.

Should fix https://github.com/bisq-network/bisq/issues/4026
2020-04-29 18:37:41 -05:00
chimp1984
77015fea17
Add resync from resources button
We add a second button (displayed as first) to the preferences UI for
resync from latest resources. We add a warning to the resync from
genesis as it takes very long time and causes heavy network load for
seeds.
The resync button at the stateMonitor does now a resync from resources,
not from genesis.
We add handling of the UnconfirmedBsqChangeOutputList file as well.
In Filemanager we add a check if file exists.
2020-04-28 15:18:11 -05:00
jmacxx
7551cdc73a
Editing an offer should not allow the BTC amount to be changed
When editing an offer to adjust the price the fiat amount is
recalculated to reflect the new price.  The BTC amount should
not change.  Due to a bug, sometimes the BTC amounts were
changed due to a recalculation from the fiat amount.
This PR Fixes 2798 by disabling a call to recalculate BTC and
min BTC amounts when editing.
2020-04-18 23:21:21 -05:00
jmacxx
223a1d3a6c
When accepting an offer do not round the BTC amount outside range
Fixes 3871.  The BTC amount of an offer was being adjusted up in
certain cases due to a rounding calculation from the fiat value
and price.  This would prevent some offers from being taken.

There's an existing check to ensure that the amount is not adjusted
below the minimum, here we add a check to ensure that the amount
is not adjusted higher than the maximum defined in the offer.
2020-04-17 22:05:30 -05:00
Christoph Atteneder
2a040f4687
Merge pull request #4157 from sqrrm/unfail-with-reattach
Unfail with reattach
2020-04-13 11:32:24 +02:00
sqrrm
790db8c731
Add option to allow faulty delay payout tx
Add more logging during unfail process
2020-04-12 16:12:43 +02:00
sqrrm
be3158427e
Allow completion of trades with amount mismatch delayed tx 2020-04-12 13:03:09 +02:00
sqrrm
f6b7762d26
Init unfailed trade when moved to pending trades 2020-04-11 18:02:18 +02:00
Christoph Atteneder
edc4df1826
Merge pull request #4099 from jmacxx/fix_getsupport_traderchat
Replace the Get Support button with Open Trader Chat until trade period is over
2020-04-10 19:53:38 +02:00
sqrrm
486f254773
Don't unfail if deposit or delayedpayout txs are missing 2020-04-10 16:42:02 +02:00
sqrrm
817819dc51
Reattach addresses when unfailing trade 2020-04-10 16:42:02 +02:00
sqrrm
bd8e30c708
Add shortcut to move failed trade to pending trades 2020-04-10 16:42:02 +02:00
Christoph Atteneder
34734c6fe4
Merge pull request #4122 from stejbac/make-UserThread-runAfter-thread-safe
Make UserThread::run* methods thread safe
2020-04-10 15:55:03 +02:00
sqrrm
09141eba92
Add signed witness filter (#4124)
* Add signed witness filter

- Add a filter to pubkeys used in AccountAgeWitness signing
- Fix inverted arbitrator signing of initial account age witnesses from
disputes
- Add test to verify that signed witness filter works
- Add test to verify that the arbitrator signing was fixed

* Fix codacy complaints

* Prevent NullPointerException during toggle group initialization

* Add scrollbar to filter window

* Format test class

Co-authored-by: Christoph Atteneder <christoph.atteneder@gmail.com>
2020-04-10 15:14:01 +02:00
chimp1984
38dcb27140
Fix issue with tx connected output being null
The moment we are validating the tx is not committed and therefore the
connected tx output is not wired up and thus null.

Refactor and consolidate the validation code to the static class and
improve error handling.
2020-04-08 12:10:06 -05:00
chimp1984
4f28205478
Add check for donation address at pending trades 2020-04-07 23:23:58 -05:00
chimp1984
8cf6d42309
Add more checks for delayed payout tx 2020-04-07 23:04:57 -05:00
Steven Barclay
a71f1e7e3f
Make UserThread::runAfter* methods thread safe
The runAfter* methods delegate to UITimer::run(Later|Periodically) in
the case of the desktop application. These use the JavaFX TimeLine API
(via bisq.common.reactfx.FXTimer) to schedule future events. However,
this API isn't thread safe and isn't meant to be called outside the FX
application thread. This causes occasional misfirings and out-of-order
scheduling when UserThread::runAfter is called outside the user thread.

Make the UITimer::run* methods safe to call from any thread by checking
we are in the application thread and delegating to UserThread::execute
otherwise. This also improves consistency between the contracts of the
runAfter* and execute methods. As the former has many call sites, this
is safer than trying to track down all the non-thread-safe uses.

(The Timer used in the headless app already appears to be thread-safe.)

This fixes #4055 (Bisq sometimes fails to prompt user for password to
unlock wallet), caused by out-of-order scheduling of the execute and
runAfter tasks in the WalletConfig.onSetupCompleted anonymous class
method in bisq.core.btc.setup.WalletsSetup.initialize.

Also prevent an exception caused by non-thread-safe calls into JavaFX
during the shutdown of OpenOfferManager, which was uncovered by the
above, by adding a missing UserThread::execute call.
2020-04-06 13:52:33 +08:00
jmacxx
0139a51b57
Replace the Get Support with Open Trader Chat until trade period is over
Showing an `Open Trader Chat` button until the trade period is over will
reduce the number of unnecessary support tickets and encourage
trader-to-trader dialogue.  If the trade timer expires without
completing the button changes (as before) to open a mediation ticket.

Implementation of this feature requires the button in TradeStepView to
notify its parent TradeSubView which in turn notify its parent
PendingTradesView that trader chat is to be opened.  Basically a
callback interface is passed two levels down the GUI hierarchy.

Fixes #3801
2020-04-05 04:27:02 -05:00
sqrrm
d0a8890c09
Merge pull request #4093 from jmacxx/fix_dust_wallet
Prevent dust outputs from being created during withdraw from wallet
2020-04-03 15:56:05 +02:00
Christoph Atteneder
a96bfd431d
Merge pull request #4060 from ghubstan/avoid-standby-mode
Improve AvoidStandyModeService
2020-04-01 11:21:32 +02:00
sqrrm
55048dc4a3
Add vwap bsq price (#4098)
* Remove unused code

* Add VWAP calculation for USD/BSQ price

* Remove unused argument
2020-03-31 16:34:14 +02:00
Christoph Atteneder
9891e58f2c
Merge pull request #4047 from freimair/graceful_shutdown
Added graceful shutdown hook
2020-03-31 15:20:58 +02:00
jmacxx
f1de079901
Change wording of the dust informative message per review by m52go
Moved message text into displaystrings.properties
2020-03-30 21:09:19 -05:00
jmacxx
ea8b327f7b
Change the constant used to determine what amount is considered dust
Now using `Restrictions.getMinNonDustOutput()` which equates to 546 sats
2020-03-29 18:23:48 -05:00
jmacxx
378c57492b
Address issues raised in review by sqrrm on 2020-03-26
- added a comment describing the `removeDust` method and its effects.
- use more descriptive variable names.
- made the logging more verbose to help log readers.
- use a constant for the dust limit
- add a notice to the user when dust is padded to the fee
2020-03-28 21:22:40 -05:00
Florian Reimair
0fb4f13319
Fix closing the app by gui exit
Before, the graceful shutdown procedures have been executed in the
user thread. However, the sync mechanics for connections/offers
caused a lockup, as some little parts of the code do execute on the
user thread as well.
2020-03-28 11:27:37 +01:00
Christoph Atteneder
b321cd9272
Merge pull request #4046 from stejbac/add-faster-payments-holder-name
Add holder name for new Faster Payments accounts
2020-03-27 10:03:47 +01:00
Steven Barclay
d84130ff5b
Improve popup text + layout of Faster Payments buyer form fields
Display the account number on the same row as the sort code in the trade
step view, to prevent scrolling with the extra name field (as suggested
in the code review).

(This also affects the layout of old accounts without the extra field.)

Also apply the suggested popup text simplifications.
2020-03-27 16:08:21 +08:00
sqrrm
427d581f27
Merge pull request #4090 from ripcurlx/stake-validation-issue
Only use InputValidation when formatting voting stake
2020-03-26 17:29:22 +01:00
Steven Barclay
a957fb167a
Add popup to advise user to recreate Faster Payments account
Open an info popup in the take/create offer view, upon choosing to take
or make a new offer, to instruct the user to recreate their old Faster
Payments account with an owner full name (and preserved salt). Also show
the popup upon manual selection of any old (i.e. missing full name)
Faster Payments account from the trading account combo box, analogously
to the ClearXchange (Zelle) warning popup logic.

(Also eliminate slight differences between the private
'maybeShow[ClearXchange|FasterPayments]Warning' methods in TakeOfferView
and MutableOfferView, to make the code easier to deduplicate in future.)
2020-03-25 17:48:06 +08:00
jmacxx
057e2c5e7c
Remove dust outputs created during withdraw from wallet
This change fixes an issue whereby dust change outputs are
inadvertently created when users make withdrawals from their
wallets.  (Funds -> Send Funds)

The solution taken here is to detect a dust TXO during the withdrawal
fee estimation process and add that amount to the fee thus eliminating
the dust output.

For example if the user has 1 BTC and goes to withdraw 0.99999900 BTC
it will detect a change TXO of 100 sats which is below the dust limit,
increase the fee by 100 sats and therefore withdraw 1 BTC.

This fix only applies to user withdrawals from their wallet.  Other
use cases such as P2P trading, deposits and fees will be handled
separately.

Related to #4039
2020-03-24 09:23:58 -05:00
Christoph Atteneder
37751c74c4
Make prompt text readable in dark mode 2020-03-24 12:53:11 +01:00
Christoph Atteneder
557ec7f449
Merge pull request #4025 from stejbac/make-persistence-thread-safe
Make serialisation in FileManager::saveToFile thread-safe
2020-03-23 13:49:27 +01:00