Commit graph

373 commits

Author SHA1 Message Date
jmacxx
15b8e72059
Admin filter for auto-confirmation service addresses
A service address can be filtered out using the admin key.  This would
be useful if a federated server failed, it could be filtered out so
that the auto-confirmation operates with the remaining services.  If
all federated service addresses were filtered out the user would have to
either confirm manually or use their own explorer service.
2020-11-01 08:20:33 -06:00
cd2357
416373edf5
Merge remote-tracking branch 'bisq-network/release/v1.4.2' into upgrade-javafax-14 2020-10-24 11:22:25 +02:00
chimp1984
8baf34a643
Fix missing params 2020-10-21 13:41:50 -05:00
ghubstan
ab6be23516
Refactor offer/trade related classes in core and desktop
These refactoring changes are for reducing existing and potential
duplication coming with the addition of new trading protocol support
in the gRPC API.  Some minor styling and logic simplification changes
are also include.

- Convert OfferUtil to injected singleton, and move various offer related
  utility methods into it.

- Delete both MakerFeeProvider classes, which were wrappers around the same
  static old OfferUtil method.

- Inject OfferUtil into CreateOfferDataModel, CreateOfferViewModel,
  TakeOfferDataModel, TakeOfferViewModel, MutableOfferDataModel,
  MutableOfferViewModel, OfferDataModel, EditOfferDataModel,
  EditOfferViewModel

- Refactor TakeOfferViewModel

	Use OfferUtil, remove unused fields & methods.
	Made minor logic simplification, style and formatting changes.

- MutableOfferDataModel

	Made minor logic simplification, style and formatting changes.

- MutableOfferView uses new paymentAccount.isHalCashAccount().

- MutableOfferViewModel

	Refactored to use new VolumeUtil, CoinUtil, OfferUtil.
	Removed unused fields & accessors.
	Made minor style change.

- Refactored OfferDataModel to use new OfferUtil

- Refactor CreateOfferService

	Inject and use OfferUtil
	Move some utility methods to OfferUtil
	Remove unused fields

- Offer

	Refactored to use new VolumeUtil for volume calculations.
	Made stateProperty and errorMessageProperty fields private.

- PaymentAccount

	Moved isHalCashAccount type check to this class.
	Moved getTradeCurrency logic to this class.

- Contract, radeStatistics2, TradeStatistics3

	Refactored to use new VolumeUtil for volume calculations.

- Trade

	Refactored to use new VolumeUtil for volume calculations.
	Made minor logic simplification, style and formatting changes.

- CoinUtil

	Moved some coin utility methods into this class

- CoinUtilTest

	Moved (coin related) tests from CoinCryptoUtilsTest and OfferUtilTest
	into CoinUtilTest, and deleted OfferUtilTest, CoinCryptoUtilsTest.

- Adjust create and edit offer tests to model refactoring
2020-10-20 15:06:44 -03:00
chimp1984
0e70a99c42
Adjust tests, remove tests which do not make sense anymore 2020-10-08 18:49:13 -05:00
chimp1984
fa0d261397
Fix remaining issues, cleanups, add persit calls, remove unused code,...
Sorry too tired to create another 20 commits...
2020-10-03 12:48:21 -05:00
chimp1984
e825613f5c
Use PersistenceManager 2020-10-03 12:48:20 -05:00
chimp1984
5d6cbf5e23
Refactor: Move classes to new package 2020-10-03 12:48:18 -05:00
chimp1984
802dcad2fb
Refactor: Rename CorruptedDatabaseFilesHandler 2020-10-03 12:48:14 -05:00
chimp1984
23507102dd
Refactor: Move CorruptedDatabaseFilesHandler 2020-10-03 12:48:14 -05:00
chimp1984
8aff1f8665
Refactor: Move FileUtil 2020-10-03 12:48:14 -05:00
chimp1984
fb41a1984b
Merge branch 'master_upstream' into fix-delayed-payout-tx-issues
# Conflicts:
#	core/src/main/java/bisq/core/trade/TradeManager.java
#	desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java
2020-10-01 09:24:46 -05:00
chimp1984
3926a36c3a
Use params for trace logs. 2020-09-29 12:55:23 -05:00
chimp1984
527f1537a9
Add listener on BuyerSendCounterCurrencyTransferStartedMessage to resend msg case it has not arrived
Add signed witness to PayoutTxPublishedMessage
Remove usage of RefreshTradeStateRequest but leave it for backward compatibility
Move removeMailboxMessageAfterProcessing calls in finally branch
Rename methods
2020-09-22 00:32:28 -05:00
Christoph Atteneder
6af2a46e49
Merge pull request #4542 from chimp1984/refactor-regexvalidator
Refactor regexvalidator
2020-09-21 20:16:53 +02:00
Oscar Guindzberg
fe79369be6
Rename Base58BitcoinAddressValidator to Base58AddressValidator 2020-09-21 12:40:49 -03:00
chimp1984
9c0b40a3b9
Refactor: Move Regex test methods from GUIUtilTest to RegexValidatorTest in core 2020-09-20 22:16:22 -05:00
Oscar Guindzberg
f1738f0b19
Code polishing to make Codacy happier 2020-09-18 18:29:38 -03:00
Oscar Guindzberg
7b172c1280
bitcoinj 0.15: PeerAddress: BtcNodeConverterTest fixes. 2020-09-18 18:29:32 -03:00
cd2357
e55594d1e3
Fix FeeReceiverSelectorTest
Split test into sub-tests in order to avoid mockito UnnecessaryStubbingExceptions. These exceptions occurred because of 3 ambiguous uses of "when().thenReturn()" in the same test. These calls were ambiguous, because the when() argument was identical and mockito did not check the thenReturn() arguments, which would have differentiated the calls. Splitting this test method into 4 test methods achieved this call differentiation.
2020-09-16 11:35:33 +02:00
cd2357
7a73fea622
Fix UnnecessaryStubbingException in test
Remove duplicate call to a stubbed method. This caused an
UnnecessaryStubbingException with Mockito's strict validation settings.
2020-09-16 09:24:29 +02:00
chimp1984
199d543c23
Remove ugly parameter
The 'arePeersPaymentAccountDataBanned' method in filterManager had a
parameter 'PaymentAccountFilter[] appliedPaymentAccountFilter' which
was used to pass over the PaymentAccountFilter which matched a banned
account. The result was only used at the fault handler (log) in the
ApplyFilter task. I think this was not needed to display and if it
should be done in a different way, e..g using a Consumer to pass back
the value, but as the method is a validation method returning a boolean
we should avoid to add side-effects like writing some property.
2020-09-06 20:43:43 -05:00
chimp1984
3492ae42f3
Cleanup 2020-09-02 16:40:08 -05:00
chimp1984
8e46ba6e4e
Simplify assertions 2020-09-02 14:49:53 -05:00
chimp1984
7b2823d835
Add more tests for date check 2020-09-02 14:48:16 -05:00
chimp1984
d1379d1b6d
Fix tests 2020-09-02 12:51:44 -05:00
chimp1984
7240bd62d1
Read numRequiredConfirmations from autoConfirmSettings just in time.
This allows the user to change required confirmation and it has impact
on open requests. Will be read at parsing the result.

Changed also the text field to not listen on text change but on focus
out so that the values are only updated once the user has left the
field and the value is valid. Otherwise small numbers like 1 might be
written during typing. The other values are only read at request start
and changes will have no impact on already started requests.

Also applies previous value in case the user added an invalid value at
focus out.

- Made display text shorter and added a tooltip.
- Allow very high numbers in devmode as max conf value
2020-09-01 21:22:16 -05:00
chimp1984
7c0d24c567
Refactoring: Rename package
bisq.core.trade.autoconf to bisq.core.trade.txproof
2020-09-01 19:56:48 -05:00
chimp1984
039860935d
Merge master
- fix tests
2020-09-01 19:53:23 -05:00
sqrrm
7830dbf4e4
Merge pull request #4460 from chimp1984/refactor-filter
Refactor filter
2020-09-01 19:48:38 +02:00
chimp1984
3b4e183633
Use tradeId for prefix for id of request.
Remove testKey test (tested uid of model)

Refactor:
- Rename uid to id (we do not have a strict guarantee for uniqueness)
- Move id from model to request (its the id of the request)
2020-09-01 11:18:09 -05:00
chimp1984
d36306a73c
More refactoring.... 2020-09-01 00:56:54 -05:00
chimp1984
78142bda7d
Fix tests 2020-08-31 13:23:51 -05:00
chimp1984
cc20a3b6c7
- Add support for multiple pubKeys
- Add more validation
- Add SignerPubKeyAsHex to filter
- Refactor add/remove filter code
2020-08-31 12:33:45 -05:00
chimp1984
e9e7b489be
Various refactorings, bug fixes and improvements.
Sorry for the messy commit... its late ;-)
2020-08-31 00:10:41 -05:00
chimp1984
a758880211
Refactor:
- Rename XmrProofInfo to XmrTxProofModel
2020-08-30 19:37:22 -05:00
chimp1984
87070531dd
Refactor:
- Rename XmrProofParser to XmrTxProofParser (and rename test)
2020-08-30 19:36:54 -05:00
chimp1984
44782223ec
Refactor:
- Rename XmrAutoConfirmResult to XmrTxProofResult
2020-08-30 19:35:56 -05:00
chimp1984
b76357e620
Refactoring:
Change test package from bisq.core.trade.asset.xmr to bisq.core.trade.autoconf.xmr
2020-08-30 19:07:04 -05:00
chimp1984
213dffbef9
Refactoring:
- Rename getKey to getUID
- Rename key to uid
2020-08-30 19:05:18 -05:00
chimp1984
c6c8a3e5cb
Refactoring:
- Move xmrProofInfo.checkApiResponse to XmrProofParser.parse
2020-08-30 19:03:37 -05:00
chimp1984
e5aee1ca07
No functionality has been changed by that refactoring, just moved
classes and renamed package and adjusted access modifiers.
2020-08-30 15:50:15 -05:00
chimp1984
ed5078c0f1
Add abstract AutoConfirmResult class to get better support if we want
to add auto confirm for other currencies in the future. The generic part
is only used where we would have issues with backward compatibility like
in the protobuf objects. Most of the current classes are kept XMR
specific and could be generalized once we add other assets, but that
would be an internal refactoring without breaking any network or
storage data. I think it would be premature to go further here as we
don't know the details of other use cases. I added the methods used from
clients to AutoConfirmResult, not sure if the API is well defined by
that, but as said that could become subject of a future refactoring once
another auto confirm feature gets added. Goal of that refactoring was
to avoid that we need more fields for trade and the the UI would have to
deal with lots of switch cases based on currency.

Sorry that is a larger commit, would have been hard to break up...
2020-08-30 15:45:47 -05:00
chimp1984
2dbc4645ec
- Change tolerance from 1 day to 2 hours.
- Add case if no match is found -> NO_MATCH_FOUND.
- Add test case for NO_MATCH_FOUND
- Add curley brackets to one liners
- Log improvements
2020-08-30 14:42:52 -05:00
chimp1984
bf2ca1fc0c
Add BTC prefix or postfix to Price.toFriendlyString method 2020-08-29 14:07:59 -05:00
chimp1984
9e4e800cb6
Fix tests 2020-08-29 12:53:35 -05:00
chimp1984
2f291a6acb
Cleanup Filter value object. Remove nullables from old versions. Keep signatureAsBase64 nullable as it is set null at creation time and set later after signing. We use filter protobuf data as input for signature so we have to set signature to null and apply the signature afterwards. To keep object immutable we clone it with static clone method. Similar we handle signature verification. We clone the filter with a null value for the signature and do the validation with that cloned object.
Use now the complete object data for signature creation. We use the protobuf data for creating the signature with DER encoding. We restict ourself more regarding backward compatibility but I think it is not a big problem.
If a new field is added to Filter and deployed the maintainer needs to publishes a new filter object. By using the new version he cannot remove the old filter from the network as the protobuf data is different and sig verification on the P2P datastorage level will fail. This is intended to keep the old filter alive for some time to support not updated users. We do not remove invalid filters anymore from our local storage to enable seed nodes to support also old filter objects.
For not updated users the new filter will fail at sig verification because the protobuf data is different. So they ignore the new filter and still use the old filter. For updated users the old filter will fail and the new filter is accepted. As it has a newer date it would also replace the old filter anyway. If the maintainer wants to delete the old filter from the network he can use the old app version and remove the filter. It is recommended to keep a copy of the data directory before the update so that the removal of the older filter is possible.

Refacorings:
- Rename isPeersPaymentAccountDataAreBanned to arePeersPaymentAccountDataBanned
- Rename isSignerPubKeyBanned to isWitnessSignerPubKeyBanned
2020-08-27 21:23:02 -05:00
jmacxx
967e0538d6
Rename XmrProofResult to AutoConfirmResult 2020-08-27 21:15:24 -05:00
jmacxx
ca8f53c2c2
Implement XMR tx proof autoconfirm feature
* XMR seller is prompted to enter txId and viewkey.
* looks up the XMR transaction to verify that it has confirmed
* user can run their own validating service, or use the ones provided
* 100% agreement of all chosen services is necessary for confirmation
* feature can be configured and turned on/off from settings screen
* feature can be globally turned off via admin filter
* two code review passes from chimp1984
* one text review from m52go
2020-08-26 21:51:14 -05:00
sqrrm
fabd592938
Merge remote-tracking branch 'origin/master' into HEAD 2020-07-03 16:58:13 +02:00