Use percentage based value of trade amount for buyer and seller
security deposit.
To ensure that the BTC value is not getting too low, we apply a min.
value for both.
When creating a BSQ transaction (actually at commit time as we can create a tx and then
cancel it in the confirmation popup) we store the change output (only that not the other
possible BSQ output) in a persisted list. The BsqCoinSelector will take that list to
allow spending those coins. We use the txType to find the index of the cahnge output.
We only have one change output in the transactions created in Bisq. Multiple change
outputs would be valid but our goal is only increased usability in the Bisq app and it is
not related to validation rules.
We update out list at each new block confirmation.
With that approach we avoid too much dependencies to the BitcoinJ side.
- Add UnconfirmedBsqChangeOutputListService and persisted UnconfirmedBsqChangeOutputList
for storing unconfirmed outputs
- Add lookup for unconfirmed BSQ change outputs at BsqCoinSelector and allow spending if
found
- Pass TxType for walletsManager.publishAndCommitBsqTx calls
- Add TxType to bsqWalletService.commitTx
- Refactor getPreparedSendTx methods for BSQ and BTC sending to one common method with a
coinselector parameter.
- Add getChangeAddress method to BsqWalletService to make change outputs more explicit
- Add unconfirmedChangeBalance to onUpdateBalances handlers
- Rename availableBalance to availableConfirmedBalance in onUpdateBalances
- Unify onUpdateBalances parameter names
- We had an automate remove accounts for those payment methods for long
time, so we can assume that no traders have any of those accounts still
in their persisted user objects and it is safe to completely remove them.
Only part where we cannot remove it is the PB definitions (actually I
think we could remove those as well, but not 100% sure and it seems to
be more safe to mark those as deprecated and leave the entries).
When declaring a fiat currency and only providing the currency code,
it uses the system locale to get the currency display name.
This potentially causes different sorting results in
testUpdateWhenNotSortNumerically when locale is not en_US.
Now, it specifies the en_US locale when defining the fiat currencies
for this test.
Fixes https://github.com/bisq-network/bisq/issues/2259
- We return true at isCryptoCurrency in those cases:
- The code is BTC
- The code is found in assetRegistry
- If not found we check if we have a fiat currency for that code,
if not we treat it as crypto (case of a removed asset)
@Christoph Can you have a look why JMockit is not working anymore
in that module? TradesChartsViewModel is null and creates a nullpointer.
Adding RunWith("JMockit") as it was earlier does not work with changed gradle file
with newer JMockit version.