Commit graph

4637 commits

Author SHA1 Message Date
chimp1984
7e16982b2b
Remove onTakeOffer delegate method in taker trade 2020-09-26 12:53:25 -05:00
chimp1984
456f16ddf4
Remove handleTakeOfferRequest delegate method in maker trade 2020-09-26 12:51:43 -05:00
chimp1984
766b1e2e1e
Add check to not add a duplicate address entry with same offer ID and context.
In debugging trade protocol and taking same offer I could generate problems where the multisig entry was twice but with diff. keys, so take offer failed. I remember the error log to have seen in the past and I assume this was a rare bug we encountered when users took again the same offer which failed with an uncritical state earlier.
2020-09-26 12:42:17 -05:00
chimp1984
2bb4bff41d
Refactor: move method, remove unneeded stream call 2020-09-26 12:40:09 -05:00
chimp1984
62a71e2173
Remove unused method 2020-09-26 12:28:52 -05:00
chimp1984
0c4af92f86
Refactor: rename methods 2020-09-26 12:28:38 -05:00
chimp1984
e61d04284e
Add ProcessModelServiceProvider to provide all the domain services to process model 2020-09-26 12:24:57 -05:00
chimp1984
9e5cdada5d
Remove precondition as trade was added at that moment 2020-09-26 12:14:10 -05:00
chimp1984
191b031f38
Refactor: Rename MediationProtocol to DisputeProtocol 2020-09-25 23:56:58 -05:00
chimp1984
fded97fb9c
Refactor: Use task runner for peer publish delayed payout tx 2020-09-25 23:55:45 -05:00
chimp1984
561abd7a49
Refactor: Move publishDelayedPayoutTx from TradeManager to MediationProtocol 2020-09-25 23:07:16 -05:00
chimp1984
9f3fe7ad6d
Refactor: Move getAddressEntriesForAvailableBalanceStream to btcWalletService
Rename WithdrawalView.walletService to btcWalletService
2020-09-25 22:56:00 -05:00
chimp1984
0b81db5a60
Refactor: return early 2020-09-25 22:52:54 -05:00
chimp1984
35b758431d
Refactor: Move methods, rename methods 2020-09-25 22:50:42 -05:00
chimp1984
1c824f140c
Refactor: Cleanups 2020-09-25 22:37:54 -05:00
chimp1984
246d1e3ddf
Refactor: Remove onCancelAvailabilityRequest method 2020-09-25 22:31:08 -05:00
chimp1984
346d793d87
Refactor: Remove onOfferRemovedFromRemoteOfferBook method 2020-09-25 22:29:52 -05:00
chimp1984
4d40ca580c
Refactor: Remove handleTakeOfferRequest method 2020-09-25 22:28:31 -05:00
chimp1984
96ec87b50a
Refactor: let TradeManager implement DecryptedDirectMessageListener, DecryptedMailboxListener 2020-09-25 22:27:19 -05:00
chimp1984
a07fe30ac3
Refactor: Move method 2020-09-25 22:16:25 -05:00
chimp1984
82749cee70
Refactor:
- Rename handlePayDepositRequest to handleTakeOfferRequest
 - Add initTrade method without the redundant params
 - Use early returns in handleTakeOfferRequest
2020-09-25 22:15:40 -05:00
chimp1984
2fc753bde4
Rename InputsForDepositTxRequest to TakeOfferRequest
The protobuf file is not renamed. This breaks our convention to keep both the same but I think the added clarity for the trade protocol justifies the exception.
2020-09-25 22:02:43 -05:00
chimp1984
86569b1b2d
Apply fluent protocol to MediationProtocol
Rename acceptMediationResult to onAcceptMediationResult
2020-09-25 21:58:32 -05:00
chimp1984
5d312ae1ba
Refactor: add TODOs 2020-09-25 21:43:56 -05:00
chimp1984
6af9cb3dfe
Refactor: rename getTradableList to getTradesAsObservableList 2020-09-25 21:38:49 -05:00
chimp1984
a5f4cb8e85
Refactor: use getTradableList instead of tradableList.getList() 2020-09-25 21:38:06 -05:00
chimp1984
7023b2acf5
Remove onPaymentReceived method from TradeManager 2020-09-25 21:35:34 -05:00
chimp1984
a002fb33a5
Rename onFiatPaymentStarted to onPaymentStarted 2020-09-25 21:33:53 -05:00
chimp1984
612ecd3a6a
Rename onFiatPaymentReceived to onPaymentReceived 2020-09-25 21:32:27 -05:00
chimp1984
3cc633f39f
Add check if trade was already taken in the past. If so show a popup at take offer screen.
We could deactivate such offers as well but as it is only for exceptional cases I think this way is good enough (would be more effort otherwise).
2020-09-25 21:30:19 -05:00
chimp1984
98dec09c18
Rename given method to expect to make it more clear that it is mandatory that the condition is met. Also added a protocol error handler if the condition is not met.
For more tolerant usage we added the given method, which does not log errors and does not call a error handler.
2020-09-25 21:10:20 -05:00
chimp1984
dceba6d350
Bug fix: we created a new address entry which causes bugs in case a user takes an offer again which failed in an early preparation state before. 2020-09-25 20:09:31 -05:00
chimp1984
3987f9cd5a
Fix incorrect getDepositTx calls 2020-09-25 18:16:50 -05:00
chimp1984
95cb3b2710
Fix deposit tx setters 2020-09-25 17:06:13 -05:00
chimp1984
568dcdaad4
Update tasks in debugview 2020-09-25 15:32:49 -05:00
chimp1984
10bedee803
Merge branch 'dispute-agent-branch' into fix-delayed-payout-tx-issues
# Conflicts:
#	core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSetupDepositTxListener.java
2020-09-25 15:03:28 -05:00
chimp1984
423cc7134e
Add changes from merge conflict (class was renamed) 2020-09-25 15:01:20 -05:00
chimp1984
25c4b4d0fc
Merge branch 'master_upstream' into dispute-agent-branch
# Conflicts:
#	core/src/main/java/bisq/core/trade/DelayedPayoutTxValidation.java
2020-09-25 14:53:20 -05:00
chimp1984
8ac468d84f
Commit to trigger travis as it got stuck... 2020-09-25 14:23:06 -05:00
chimp1984
b958c7519b
Add MakerRemovesOpenOffer task.
Removes offer once the taker fee was published. So we ensure that maker fee is not lost if an error happens before that.
2020-09-25 14:17:04 -05:00
chimp1984
f37446b991
Change log level 2020-09-25 09:39:45 -05:00
sqrrm
a2a284ef94
Merge pull request #4551 from oscarguindzberg/replaceBitcoinjDeprecated
Replace deprecated bitcoinj methods
2020-09-25 11:29:56 +02:00
chimp1984
f1df52790b
improve trade details window 2020-09-25 00:20:17 -05:00
chimp1984
6f614f4f4c
Set takerFeeTxId and depositTx in trade only once they are published. Before that we keep it temporary in the processModel.
The buyer receives the takerFeeTxId with the frist message, but at the moment it is not published. To reflect that he also keeps it in the process model and
at the next message when the fee tx is published he sets it in the Trade.

Remove
`checkArgument(!walletService.getAddressEntry(id, AddressEntry.Context.MULTI_SIG).isPresent(),
                     "addressEntry must not be set here.");
`
as it causes failure if a taker takes same offer after certain error conditions again.
2020-09-25 00:19:43 -05:00
chimp1984
b494434623
Add warn icon next to trash icon. Show popup with info about the problem and instructions.
Set trash button disabled if the tx chain is valid to avoid that users move to failed while trade is valid to be completed.

Contract: Add isMyRoleMaker method
Trade: Add hasErrorMessage and isTxChainInvalid methods
2020-09-24 21:07:40 -05:00
chimp1984
f6eefef1ae
Remove handling of failed trades. If a trade is in an invalid state (tx missing) or has an error message set we show in the pending trades view a red trash icon for moving the trade to failed trades.
The info icon next to the trade ID is then a warning icon (should be red but css is not my best friend) and if opening trade details window we also color the missing txs red with a warn icon and tooltip.
When clicking the trash button a popup is displayed with detail info.
At failed trades there is a "undo" icon for reverting the trade back to pending (if user wants to open mediation, etc).

All the automatic handling of the failed trades and popups are removed as it never worked well and just confused users...

In next commits we will add more instructions what a user should/can do for diff. error cases.

TradeManger:
- Remove all the failed checks at initPendingTrade.
- Remove tradesWithoutDepositTx
- Remove tradesForStatistics as it was never read
- Remove cleanUpAddressEntries
- Rename addTradeToClosedTrades to onTradeCompleted

TxIdTextField accepts a null for tx ID and shows then red colored N/A and a warning icon.
HyperlinkWithIcon exposed the icon to be accessible for style change.
DebugWindow was updated for one variation of the trade protocol (other is missing still).
Trade detail window show now always all 4 mandatory txs.
Beside that this commit has some cleanups and null pointer fixes (when testing error scenarios i got those NP).
2020-09-24 19:47:12 -05:00
chimp1984
03023567a8
Fix potential bug with peers pub key check. Use new isPubKeyValid method to avoid code duplication.
Before we did not apply messages if the peers key was null which can be the case at protocol start for maker side (takers key is not set yet). Makers key is in offer and available from the start.

Fix incorrect setPubKeyRing call in BuyerAsTakerProtocol and BuyerProtocol. Only taker can set it from offer. This bug was introduce in past commits of this branch.

Move FluentProtocol to own class file
Close open offer in task instead at state listener
Remove state listener
Remove default timeout as not used anymore
Add onWithdrawCompleted method to clean up when trade completed
Rearrange code in TradeProtocol
Rename doHandleDecryptedMessage to onTradeMessage
Rename doApplyMailboxTradeMessage to onMailboxMessage
2020-09-23 22:24:45 -05:00
chimp1984
f059f08b27
Refactor: Rearrange methods 2020-09-23 19:56:41 -05:00
chimp1984
9644920a52
Refactor: Move mediation code to new class 2020-09-23 19:52:24 -05:00
chimp1984
8847f4b13d
Refactor: Rename createTrade to getNewTrade
Move some code to caller method
2020-09-23 19:35:19 -05:00