Commit graph

5454 commits

Author SHA1 Message Date
ghubstan
259bad629a
Merge branch 'master' into 05-use-memo-tx-field 2020-12-10 11:59:28 -03:00
Christoph Atteneder
f4df51c213
Merge pull request #4929 from chimp1984/make-sign-age-column-sortable
Make sign age column sortable
2020-12-10 12:00:04 +01:00
Christoph Atteneder
9498fd9b7d
Merge pull request #4917 from chimp1984/handle-invalid-maker-fee-tx
Detect and handle invalid maker fee tx
2020-12-10 11:57:32 +01:00
Christoph Atteneder
aa0e091906
Merge pull request #4927 from chimp1984/improve-shutdown-routine
Improve shutdown routine
2020-12-10 11:46:16 +01:00
chimp1984
fae8ddad4b
Add check in case bsqPrice is 0 (thrown an exception otherwise) 2020-12-10 00:12:11 -05:00
chimp1984
17ec32588b
Use HistoricalDataStoreService for AccountAgeWitnessStorageService 2020-12-09 23:46:44 -05:00
chimp1984
a2d2e6c4fb
Shutdown PriceFeedService and related services
at shutdown routine
2020-12-09 18:33:15 -05:00
chimp1984
de2755d2d7
Remove debug log 2020-12-09 18:32:24 -05:00
chimp1984
bcf956530f
Limit delay for remove offer result handler to 3 sec 2020-12-09 18:14:50 -05:00
sqrrm
63fc486896
Merge pull request #4918 from bisq-network/hotfix/v1.5.1
Hotfix/v1.5.1
2020-12-09 22:21:52 +01:00
ghubstan
bd66008062
Support tx memo field for btc withdrawals from api
- Added optional memo parameter to the api's sendbtc and
  withdrawfunds commands.

- Removed the @Nullable annotation was removed because protobuf
  does not support null.

- Visibility in two wallet check methods were changed from private
  to pkg protected so the CoreTradeService could use them.

- Adjusted affected tests.  (Asserting the memo field was set on a
  transaction cannot be checked from apitest yet.)
2020-12-09 16:51:56 -03:00
chimp1984
c962c1a183
Refactor: Rename presentation to displayString (no code change) 2020-12-09 14:02:57 -05:00
chimp1984
ed099981fa
Make findWitness public
Improve logs if trade limit was violated
2020-12-09 13:58:16 -05:00
ghubstan
144c5a82cc
Merge branch 'master' into 04-add-sendbtc-impl 2020-12-09 10:44:17 -03:00
ghubstan
6c9f0c252d
Add new api method 'sendbtc' and test
Takes an address, amount, and optional txfeerate param,
returns a lightweight TxInfo proto.

Also overloaded two BtcWalletService methods to allow sendbtc
to pass in the tx fee rate -- overriding the fee service and
custom fee rate setting.
2020-12-08 21:12:02 -03:00
chimp1984
ce68f2e24a
Check also for depositTxId in trade and check if both
txId and tx.getId are the same.

We got some reports where users have no deposit tx displayed in the
trade after spv resync but cannot move the trade to failed trades.
It seems the invalid txId is still stored in the trade but the tx itself
got removed from the wallet after reysnc. We check not that both the tx
and the txId need to be present.
2020-12-08 17:11:58 -05:00
ghubstan
2842070afd
Merge branch 'master' into 03-add-txFeeRate-param 2020-12-08 19:04:27 -03:00
Christoph Atteneder
29c2e0002d
Merge branch 'master' of github.com:bisq-network/bisq into hotfix/v1.5.1
# Conflicts:
#	build.gradle
#	core/src/main/java/bisq/core/btc/setup/WalletConfig.java
#	desktop/package/linux/Dockerfile
#	desktop/package/linux/package.sh
#	desktop/package/linux/release.sh
#	desktop/package/macosx/create_app.sh
#	desktop/package/macosx/finalize.sh
#	desktop/package/macosx/insert_snapshot_version.sh
#	desktop/package/windows/package.bat
#	desktop/package/windows/release.bat
#	relay/src/main/resources/version.txt
#	seednode/src/main/java/bisq/seednode/SeedNodeMain.java
2020-12-08 22:19:11 +01:00
chimp1984
960b835f3f
Check if maker fee tx is already spent or has invalid structure.
If so show popup to remove that offer.
Add maker fee tx ix to offer details window.
If invalid, add error msg to offer details window.
2020-12-08 15:45:51 -05:00
chimp1984
cd98617ec8
Property fields must not bet set from non JavaFX threads.
So we map those setters to our UserThread.

How to reproduce issue?
Restore from seed triggered following exception:

Dec-08 13:20:04.547 [ STARTING] ERROR bisq.common.setup.CommonSetup: Stack trace:
java.lang.IllegalStateException: Not on FX application thread; currentThread =  STARTING
	at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:291)
	at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:424)
	at javafx.scene.Parent$3.onProposedChange(Parent.java:471)
	at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:113)
	at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108)
	at javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:272)
	at javafx.scene.control.skin.LabeledSkinBase.lambda$new$11(LabeledSkinBase.java:220)
	at com.sun.javafx.scene.control.LambdaMultiplePropertyChangeListenerHandler.lambda$new$1(LambdaMultiplePropertyChangeListenerHandler.java:49)
	at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:86)
	at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:181)
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
	at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:104)
	at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:111)
	at javafx.beans.property.StringPropertyBase.access$000(StringPropertyBase.java:50)
	at javafx.beans.property.StringPropertyBase$Listener.invalidated(StringPropertyBase.java:231)
	at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
	at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:104)
	at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:111)
	at javafx.beans.property.StringPropertyBase.access$000(StringPropertyBase.java:50)
	at javafx.beans.property.StringPropertyBase$Listener.invalidated(StringPropertyBase.java:231)
	at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:348)
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
	at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:104)
	at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:111)
	at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:145)
	at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:50)
	at bisq.core.app.WalletAppSetup.lambda$init$1(WalletAppSetup.java:170)
	at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:181)
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
	at javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:170)
	at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:52)
	at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:136)
	at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
	at javafx.beans.property.IntegerPropertyBase.fireValueChangedEvent(IntegerPropertyBase.java:107)
	at javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:114)
	at javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:148)
	at bisq.core.btc.setup.WalletsSetup$1.onSetupCompleted(WalletsSetup.java:245)
2020-12-08 13:22:43 -05:00
Christoph Atteneder
6431d639ae
Merge pull request #4908 from chimp1984/add-memo-field-at-step4
Add memo field at step4
2020-12-08 16:35:16 +01:00
chimp1984
455c9b0ff3
Avoid logging warning at startup 2020-12-08 10:13:31 -05:00
Christoph Atteneder
d41692602a
Merge pull request #4903 from oscarguindzberg/bloomFilterFix
Upate bitcoinj to commit dcf8af0 - Bloom filter fix
2020-12-08 15:03:28 +01:00
Christoph Atteneder
89e55774c7
Merge pull request #4910 from chimp1984/remove-log-entry
Improve logs
2020-12-08 15:03:09 +01:00
sqrrm
2a2f05f408
Merge pull request #4912 from chimp1984/add-serialized-tx-as-hex-to-trade-details
Add "Raw deposit transaction as hex" to details window
2020-12-08 12:28:15 +01:00
chimp1984
25d227556b
Add "Raw deposit transaction as hex" to details window
Rename Contract as json button to detail data
2020-12-07 20:25:29 -05:00
chimp1984
d0005e45f4
Add logs of tx in case of exceptions 2020-12-07 19:47:44 -05:00
chimp1984
a3df372ecd
Apply project format rules (no code change) 2020-12-07 19:47:05 -05:00
chimp1984
b5e19312c5
Remove logs logging absolute path to data directory 2020-12-07 19:35:01 -05:00
chimp1984
38d52ff6f9
Add more logs to AddressEntry domain 2020-12-07 19:32:32 -05:00
chimp1984
f4fd286b86
Remove verbose log 2020-12-07 17:56:28 -05:00
chimp1984
30ff8c3853
Remove paymentAccount from log 2020-12-07 14:53:45 -05:00
chimp1984
249c6143c9
Use preferredTradeCurrency is fiat, otherwise the users country currency 2020-12-07 13:48:43 -05:00
chimp1984
a7765d0cce
Use 30 day average BSQ price for calculating BSQ fee 2020-12-07 13:45:02 -05:00
chimp1984
5a0634f94d
Move methods to AveragePriceUtil 2020-12-07 13:24:17 -05:00
chimp1984
f745f0f0d6
Move methods from AxisInlierUtils to InlierUtil
We will need some of those methods later inside another core util class.
2020-12-07 13:21:44 -05:00
chimp1984
104b7edc99
Add memo field at withdraw to external wallet screen
Implements https://github.com/bisq-network/bisq/issues/4869
2020-12-07 12:32:56 -05:00
chimp1984
959c53c18d
Apply project format rules (no code change) 2020-12-07 12:31:34 -05:00
chimp1984
e2f9009fce
Remove dev log, fix typo in log 2020-12-07 10:33:41 -05:00
Oscar Guindzberg
9ca20d8b3d
Use bitcoinj 0.15.8 (commit dcf8af0) 2020-12-07 11:39:58 -03:00
sqrrm
74485f0844
Merge pull request #4884 from ghubstan/01-refactor-getdust
Refactor: move getDust(Transaction transaction)
2020-12-07 14:12:59 +01:00
ghubstan
159d4cc6f5
Add optional txFeeRate parameter to api sendbsq
If present in the sendbsq command, the parameter will override the fee
service and custom fee rate setting for the BSQ transaction.

Also changed the sendbsq grpc return type to a lightweight TX proto wrapper.

Besides some small refactoring in the CLI, all the changes are
adjustments for this new sendbsq parameter and its new grpc return value.
2020-12-04 17:17:37 -03:00
chimp1984
82445c0e28
In case the peers witness is not found and the trade amount
is not exceeding TOLERATED_SMALL_TRADE_AMOUNT (0.01 BTC) we
return true for verifyPeersTradeAmount.
Before such offers could not be taken even the witness
check would be irrelevant as the trade amount is below the
threshold where we require account age witness.
2020-12-04 12:40:30 -05:00
ghubstan
900d498ee1
Merge branch 'master' into 02-refactor-completePreparedSendBsqTx 2020-12-04 14:22:45 -03:00
ghubstan
dc6144d337
Refactor BtcWalletService to let api override fee rates
BtcWalletService was changed to allow the api to override tx fee
rates from the sendbsq and sendbtc methods.  The api methods will
still be able to use the network fee service and custom tx fee rate
preference, and set / unset the custom tx fee rate preference, but
the change will permit the addition of an optional txFeeRate parameter
to the sendbsq and sendbtc methods (todo).  A few other minor changes
(style and removal of never thrown ex spec) were also made to this class.

Two BtcWalletService methods were refactored.

- The redundant (was always true) boolean isSendTx argument was removed
  from the completePreparedVoteRevealTx method signature.

- The redundant (was always true) boolean useCustomTxFee was removed
  from the completePreparedBsqTx method signature.

- The completePreparedSendBsqTx method was overloaded with a 2nd parameter
  (Coin txFeePerVbyte) to allow api to override fee service and custom
  tx fee rate when sending BSQ or BTC.

- The completePreparedBsqTx method was overloaded with a 3rd parameter
  (Coin txFeePerVbyte) to allow api to override fee service and custom
  tx fee rate when sending BSQ or BTC.

The following line was deleted from the completePreparedBsqTx method
because txFeePerVbyte is now an argument:

	Coin txFeePerVbyte = useCustomTxFee ? getTxFeeForWithdrawalPerVbyte() : feeService.getTxFeePerVbyte();

This useCustomTxFee value was always true, and redudant here because
getTxFeeForWithdrawalPerVbyte() returns feeService.getTxFeePerVbyte()
or the custom fee rate preference. i.e.,

Coin txFeePerVbyte = useCustomTxFee ? getTxFeeForWithdrawalPerVbyte() : feeService.getTxFeePerVbyte();

	is equivalent to

Coin txFeePerVbyte = getTxFeeForWithdrawalPerVbyte();

LockupTxService, UnlockTxService, BsqSendView, and BsqTransferService
were adjusted to this BtcWalletService refactoring.
2020-12-04 14:17:24 -03:00
Christoph Atteneder
588623eb2d
Merge pull request #4885 from chimp1984/fix-bug-with-reapplying-past-trade-state
Avoid that buyer switches back to trade step 2 at startup after payment confirmed
2020-12-04 16:41:41 +01:00
chimp1984
c04b95b996
Remove checkNotNull for takerFeeTxId 2020-12-04 10:10:57 -05:00
sqrrm
57681245ff
Merge pull request #4889 from chimp1984/avoid-case-of-multi-trades-with-same-offer-id
Avoid case of multi trades with same offer
2020-12-04 00:48:45 +01:00
chimp1984
8f99ca0b63
Add uid to trade to make sure that look up for process model cannot
fail in case of multiple trades with the same offer id.
Use uid instead of the weaker offerId as key for the tradeProtocolByTradeId map
2020-12-03 14:43:35 -05:00
chimp1984
2d5fc33ba4
Move MakerRemovesOpenOffer to first task to avoid that if take offer
fails early that we get another trade with same id at maker in case another use takes the offer afterwards.
2020-12-03 14:19:24 -05:00