[bisq-network/bisq] [WIP] Add mediation (#3197)
chimp1984
notifications at github.com
Tue Sep 3 15:56:19 UTC 2019
Replaces https://github.com/bisq-network/bisq/pull/3169
It is too heavy to be reviewed by commits (though I tried to make small and contained commits). Best to review the whole trader chat and dispute domain once it is completed. I refactored a lot...
You can view, comment on, or merge this pull request online at:
https://github.com/bisq-network/bisq/pull/3197
-- Commit Summary --
* Refactoring: Move arbitration package inside dispute package
* Use abstract base class DisputeResolver for arbitrator
* Refactoring: Move mediator to mediator package.
* Let Mediator inherit DisputeResolver.
* Do not use protobuf inheritance
* Refactoring: Move ArbitratorModule to parent package
* Refactoring: Rename ArbitratorModule to DisputeModule
* Add mediators to Filter
* Add mediators to filter window
* Use abstract DisputeResolverService as base class for ArbitratorService
* Fix test
* Use abstract DisputeResolverManager as base class for ArbitratorManager
* Refactor: Move arbitratorregistration package inside register pkg
* Refactor: Rename arbitratorregistration package to arbitrator
* Add registration view for mediator
* Separate pub key list for mediator (no new keys added yet)
* Set new pubkeys for mediator registration
* Set disputes @Nullable. Add null checks
* Remove pre v0.9 handling for supported arbitrators from offer
* Remove supported arbitrators info in offer details window
* Remove check for matching arbitrator languages
* Remove not used classes
* Remove checks for arbitrator and mediator in offer
* Add check if sig of proto object is not empty
* Remove TakerSelectMediator
* Set arbitratorNodeAddresses and mediatorNodeAddresses to deprecated
* Make ArbitratorSelection generic. Add MEDIATOR_ADDRESS
* Refactor: Rename ArbitratorSelection to DisputeResolverSelection
* Add mediator to OfferAvailabilityResponse and mediatorNodeAddress to OpenOffer
* Make arbitrator not nullable
* Add selectedMediator to OfferAvailabilityModel
* Refactor: Rename method
* Add todo for using more generic keys for display strings
* Refactor: Rename method
* Fix wrong handling of registeredMediator
* Add mediatorNodeAddress to trade
* Handle nullable mediator in ProcessOfferAvailabilityResponse
* Change log level, cleanup
* Revert changes in OfferPayload due backward compatibility issues
* Add checks if any mediator is available
* Cleanup classes
* Fix test
* Add mediator DisputeStates
* Cleanup; support isMediationDispute
* Handle mediator data in Dispute domain
* Add support for mediation in dispute domain
* Remove impossible case
* Fix typos
* Handle mediator and arbitrator strings
* Refactor: Rename arbitrator package to disputeresolvers
* Refactor: Rename ArbitratorDisputeView classes to DisputeResolverView
* Add support for close ticket from mediator (WIP)
* Refactoring: Rename class
* Refactoring: Move dispute classes to dispute package
* Refactoring: Move Attachment class to dispute package
* Refactoring: Move package one level up
* Add todo comment
* Use ARBITRATION instead of DISPUTE
* Make DisputeManager abstract base class for ArbitrationDisputeManager
* Add MediationDisputeManager
* Add MediationDisputeManager and ArbitrationDisputeManager to test
* Add mediationDisputeManager to relevant classes
* Add TradersArbitrationDisputeView and TradersMediationDisputeView
* Refactor: Rename class
* Refactor: Rename support.tab.support to support.tab.mediation.support
* Add DisputeView as common base class
* Refactor: Rename package
* Refactor: Rename DisputesView to SupportView
* Refactor: Rename package
* Add MediationDisputeManager to CorePersistedDataHost
* Add MediationDisputeList as db file, refactor DisputeList
* Further refactoring to split mediation and arbitration
* Further refactoring to split mediation and arbitration
* Refactor: Rename package
* Refactor: Move dispute domain classes into isq.core.support.dispute package
* Refactor: Move classes
* Refactor: Move DisputeCommunicationMessage
* Refactor: Rename DisputeCommunicationMessage to ChatMessage
* Add comments
* Refactor: Move class
* Refactor: Rename class
* Refactor: Rename addDisputeCommunicationMessage and strings and variables
* Refactor: Rename method
* Refactor: Rename methods and strings
* Add ArbitrationChatMessage and DisputeChatMessage
* Refactor: Rename class
* Move ChatMessage.Type to SupportType
* Refactor: Move classed to new package
* Refactor: Rename package
* Refactor: Move classed to new package
* Refactor: Move classed to new package
* Refactor: Rename classes
* Refactor: Rename package
* Refactor: Rename classes
* Refactor: Rename classes
* Remove empty DisputeModule
* Refactor: Rename classes
* Refactor SupportManager domain (WIP)
* Refactor SupportSession domain (WIP)
* Remove methods from SupportSession
* Dont expose p2pService in SupportManager
* Remove supportType in SupportSession
* Remove supportSession from getPeerNodeAddress method
* Remove isBuyer from supportSession
* Move creation of ChatMessage to SupportManager
* Remove isMediationDispute fielf in ChatMessage
* Remove chatMessage.isMediationDispute()
* Refactor: Rename trade.getCommunicationMessages()
* Move creation of ChatMessage to Chat
* Refactor: Rename class
* Refactor: Move ChatView class
* Refactor: Move PriceFeedComboBoxItem class to shared package
* Refactor: Use 'public abstract' instead of 'abstract public'
* Refactor: Use 'protected abstract' instead of 'abstract protected'
* Add traderChatManager.onAllServicesInitialized() to BisqSetup
* Remove unused param
* Refactor: Rename addChatMessage to addAndPersistChatMessage
* Fix missing check at ack msg handling
* Remove addAndPersistChatMessage from SupportSession
* Remove disputeManager from DisputeSession
* Fix missing getConcreteDisputeChatSession impl.
* Refactor: Rename package
* Refactor: Rename classes
* Refactor: Move classes to new package
* Fix missing protobuf data
-- File Changes --
M common/src/main/java/bisq/common/taskrunner/Task.java (2)
M common/src/main/proto/pb.proto (48)
M core/src/main/java/bisq/core/CoreModule.java (6)
M core/src/main/java/bisq/core/account/sign/SignedWitnessService.java (18)
M core/src/main/java/bisq/core/alert/Alert.java (8)
M core/src/main/java/bisq/core/app/BisqExecutable.java (2)
M core/src/main/java/bisq/core/app/BisqSetup.java (27)
M core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java (2)
M core/src/main/java/bisq/core/app/misc/ModuleForAppWithP2p.java (6)
D core/src/main/java/bisq/core/arbitration/ArbitratorManager.java (375)
D core/src/main/java/bisq/core/arbitration/ArbitratorService.java (123)
D core/src/main/java/bisq/core/arbitration/DisputeChatSession.java (177)
D core/src/main/java/bisq/core/arbitration/DisputeManager.java (929)
D core/src/main/java/bisq/core/chat/ChatManager.java (219)
D core/src/main/java/bisq/core/chat/ChatSession.java (66)
M core/src/main/java/bisq/core/dao/governance/bond/BondRepository.java (6)
M core/src/main/java/bisq/core/dao/node/BsqNode.java (2)
M core/src/main/java/bisq/core/filter/Filter.java (18)
M core/src/main/java/bisq/core/notifications/alerts/DisputeMsgEvents.java (28)
M core/src/main/java/bisq/core/offer/Offer.java (8)
M core/src/main/java/bisq/core/offer/OfferPayload.java (4)
M core/src/main/java/bisq/core/offer/OpenOffer.java (23)
M core/src/main/java/bisq/core/offer/OpenOfferManager.java (74)
D core/src/main/java/bisq/core/offer/availability/ArbitratorSelection.java (92)
A core/src/main/java/bisq/core/offer/availability/DisputeResolverSelection.java (110)
M core/src/main/java/bisq/core/offer/availability/OfferAvailabilityModel.java (19)
M core/src/main/java/bisq/core/offer/availability/tasks/ProcessOfferAvailabilityResponse.java (51)
M core/src/main/java/bisq/core/offer/messages/OfferAvailabilityResponse.java (25)
M core/src/main/java/bisq/core/offer/placeoffer/PlaceOfferModel.java (2)
M core/src/main/java/bisq/core/offer/placeoffer/tasks/CreateMakerFeeTx.java (6)
M core/src/main/java/bisq/core/offer/placeoffer/tasks/ValidateOffer.java (2)
M core/src/main/java/bisq/core/payment/payload/CountryBasedPaymentAccountPayload.java (4)
M core/src/main/java/bisq/core/payment/payload/PaymentAccountPayload.java (4)
M core/src/main/java/bisq/core/presentation/DisputePresentation.java (6)
M core/src/main/java/bisq/core/proto/ProtoDevUtil.java (2)
M core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java (16)
M core/src/main/java/bisq/core/proto/persistable/CorePersistenceProtoResolver.java (9)
M core/src/main/java/bisq/core/setup/CorePersistedDataHost.java (6)
A core/src/main/java/bisq/core/support/SupportManager.java (318)
A core/src/main/java/bisq/core/support/SupportSession.java (56)
R core/src/main/java/bisq/core/support/SupportType.java (24)
R core/src/main/java/bisq/core/support/dispute/Attachment.java (2)
R core/src/main/java/bisq/core/support/dispute/Dispute.java (49)
R core/src/main/java/bisq/core/support/dispute/DisputeAlreadyOpenException.java (2)
R core/src/main/java/bisq/core/support/dispute/DisputeList.java (50)
A core/src/main/java/bisq/core/support/dispute/DisputeListService.java (203)
A core/src/main/java/bisq/core/support/dispute/DisputeManager.java (700)
R core/src/main/java/bisq/core/support/dispute/DisputeMessageDeliveryFailedException.java (6)
R core/src/main/java/bisq/core/support/dispute/DisputeResult.java (18)
A core/src/main/java/bisq/core/support/dispute/DisputeSession.java (79)
A core/src/main/java/bisq/core/support/dispute/agent/DisputeAgent.java (113)
A core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentManager.java (345)
A core/src/main/java/bisq/core/support/dispute/agent/DisputeAgentService.java (121)
A core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeList.java (82)
A core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationDisputeListService.java (48)
A core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationManager.java (365)
A core/src/main/java/bisq/core/support/dispute/arbitration/ArbitrationSession.java (33)
R core/src/main/java/bisq/core/support/dispute/arbitration/BuyerDataItem.java (3)
R core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/Arbitrator.java (82)
A core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorManager.java (103)
A core/src/main/java/bisq/core/support/dispute/arbitration/arbitrator/ArbitratorService.java (61)
A core/src/main/java/bisq/core/support/dispute/arbitration/messages/ArbitrationMessage.java (27)
R core/src/main/java/bisq/core/support/dispute/arbitration/messages/PeerPublishedDisputePayoutTxMessage.java (27)
A core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeList.java (81)
A core/src/main/java/bisq/core/support/dispute/mediation/MediationDisputeListService.java (48)
A core/src/main/java/bisq/core/support/dispute/mediation/MediationManager.java (164)
A core/src/main/java/bisq/core/support/dispute/mediation/MediationSession.java (33)
R core/src/main/java/bisq/core/support/dispute/mediation/mediator/Mediator.java (68)
A core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorManager.java (102)
A core/src/main/java/bisq/core/support/dispute/mediation/mediator/MediatorService.java (66)
A core/src/main/java/bisq/core/support/dispute/messages/DisputeMessage.java (28)
R core/src/main/java/bisq/core/support/dispute/messages/DisputeResultMessage.java (23)
R core/src/main/java/bisq/core/support/dispute/messages/OpenNewDisputeMessage.java (23)
R core/src/main/java/bisq/core/support/dispute/messages/PeerOpenedDisputeMessage.java (23)
R core/src/main/java/bisq/core/support/messages/ChatMessage.java (143)
R core/src/main/java/bisq/core/support/messages/SupportMessage.java (13)
A core/src/main/java/bisq/core/support/traderchat/TradeChatListService.java (40)
A core/src/main/java/bisq/core/support/traderchat/TradeChatSession.java (73)
A core/src/main/java/bisq/core/support/traderchat/TraderChatManager.java (181)
M core/src/main/java/bisq/core/trade/BuyerAsMakerTrade.java (15)
M core/src/main/java/bisq/core/trade/BuyerAsTakerTrade.java (15)
M core/src/main/java/bisq/core/trade/BuyerTrade.java (24)
M core/src/main/java/bisq/core/trade/Contract.java (21)
M core/src/main/java/bisq/core/trade/SellerAsMakerTrade.java (4)
M core/src/main/java/bisq/core/trade/SellerAsTakerTrade.java (15)
M core/src/main/java/bisq/core/trade/SellerTrade.java (24)
M core/src/main/java/bisq/core/trade/Trade.java (53)
D core/src/main/java/bisq/core/trade/TradeChatSession.java (214)
M core/src/main/java/bisq/core/trade/TradeManager.java (23)
M core/src/main/java/bisq/core/trade/messages/PayDepositRequest.java (4)
D core/src/main/java/bisq/core/trade/protocol/ArbitratorSelectionRule.java (51)
M core/src/main/java/bisq/core/trade/protocol/BuyerAsTakerProtocol.java (2)
D core/src/main/java/bisq/core/trade/protocol/MediatorSelectionRule.java (53)
M core/src/main/java/bisq/core/trade/protocol/ProcessModel.java (2)
M core/src/main/java/bisq/core/trade/protocol/SellerAsTakerProtocol.java (2)
D core/src/main/java/bisq/core/trade/protocol/tasks/maker/MakerVerifyArbitratorSelection.java (55)
M core/src/main/java/bisq/core/trade/protocol/tasks/taker/CreateTakerFeeTx.java (6)
D core/src/main/java/bisq/core/trade/protocol/tasks/taker/TakerSelectMediator.java (65)
M core/src/main/java/bisq/core/trade/statistics/TradeStatistics2.java (1)
M core/src/main/java/bisq/core/user/User.java (4)
M core/src/main/java/bisq/core/user/UserPayload.java (6)
M core/src/main/resources/i18n/displayStrings.properties (138)
M core/src/main/resources/i18n/displayStrings_de.properties (2)
M core/src/main/resources/i18n/displayStrings_el.properties (2)
M core/src/main/resources/i18n/displayStrings_es.properties (2)
M core/src/main/resources/i18n/displayStrings_fa.properties (2)
M core/src/main/resources/i18n/displayStrings_fr.properties (2)
M core/src/main/resources/i18n/displayStrings_ja.properties (2)
M core/src/main/resources/i18n/displayStrings_pt.properties (2)
M core/src/main/resources/i18n/displayStrings_ru.properties (2)
M core/src/main/resources/i18n/displayStrings_th.properties (2)
M core/src/main/resources/i18n/displayStrings_vi.properties (2)
M core/src/main/resources/i18n/displayStrings_zh.properties (2)
M core/src/test/java/bisq/core/account/sign/SignedWitnessServiceTest.java (8)
M core/src/test/java/bisq/core/arbitration/ArbitratorManagerTest.java (23)
M core/src/test/java/bisq/core/arbitration/ArbitratorTest.java (2)
M core/src/test/java/bisq/core/arbitration/BuyerDataItemTest.java (1)
M core/src/test/java/bisq/core/arbitration/MediatorTest.java (2)
M core/src/test/java/bisq/core/offer/OpenOfferManagerTest.java (9)
M core/src/test/java/bisq/core/offer/availability/ArbitratorSelectionTest.java (18)
M core/src/test/java/bisq/core/user/UserPayloadModelVOTest.java (20)
M desktop/src/main/java/bisq/desktop/components/paymentmethods/GeneralAccountNumberForm.java (2)
M desktop/src/main/java/bisq/desktop/components/paymentmethods/PaymentMethodForm.java (6)
M desktop/src/main/java/bisq/desktop/main/MainView.java (5)
M desktop/src/main/java/bisq/desktop/main/MainViewModel.java (1)
M desktop/src/main/java/bisq/desktop/main/account/AccountView.java (44)
R desktop/src/main/java/bisq/desktop/main/account/register/DisputeResolverRegistrationView.java (44)
R desktop/src/main/java/bisq/desktop/main/account/register/DisputeResolverRegistrationViewModel.java (109)
R desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.fxml (2)
A desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationView.java (45)
A desktop/src/main/java/bisq/desktop/main/account/register/arbitrator/ArbitratorRegistrationViewModel.java (71)
A desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.fxml (27)
A desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationView.java (45)
A desktop/src/main/java/bisq/desktop/main/account/register/mediator/MediatorRegistrationViewModel.java (67)
M desktop/src/main/java/bisq/desktop/main/dao/governance/make/MakeProposalView.java (4)
M desktop/src/main/java/bisq/desktop/main/debug/DebugView.java (2)
D desktop/src/main/java/bisq/desktop/main/disputes/DisputesView.java (166)
M desktop/src/main/java/bisq/desktop/main/funds/locked/LockedView.java (2)
M desktop/src/main/java/bisq/desktop/main/funds/reserved/ReservedView.java (2)
M desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactory.java (10)
M desktop/src/main/java/bisq/desktop/main/funds/transactions/TransactionAwareTrade.java (12)
M desktop/src/main/java/bisq/desktop/main/offer/BuyOfferView.java (2)
M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferDataModel.java (8)
M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferView.java (17)
M desktop/src/main/java/bisq/desktop/main/offer/MutableOfferViewModel.java (4)
M desktop/src/main/java/bisq/desktop/main/offer/OfferView.java (27)
M desktop/src/main/java/bisq/desktop/main/offer/SellOfferView.java (2)
M desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookView.java (9)
M desktop/src/main/java/bisq/desktop/main/offer/offerbook/OfferBookViewModel.java (5)
M desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferDataModel.java (8)
M desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferView.java (8)
M desktop/src/main/java/bisq/desktop/main/offer/takeoffer/TakeOfferViewModel.java (4)
M desktop/src/main/java/bisq/desktop/main/overlays/notifications/NotificationCenter.java (80)
M desktop/src/main/java/bisq/desktop/main/overlays/windows/ContractWindow.java (33)
M desktop/src/main/java/bisq/desktop/main/overlays/windows/DisputeSummaryWindow.java (117)
M desktop/src/main/java/bisq/desktop/main/overlays/windows/FilterWindow.java (12)
M desktop/src/main/java/bisq/desktop/main/overlays/windows/OfferDetailsWindow.java (29)
M desktop/src/main/java/bisq/desktop/main/overlays/windows/TradeDetailsWindow.java (28)
R desktop/src/main/java/bisq/desktop/main/overlays/windows/UnlockDisputeResolverRegistrationWindow.java (6)
M desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesDataModel.java (292)
M desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/PendingTradesView.java (63)
M desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/TradeSubView.java (4)
M desktop/src/main/java/bisq/desktop/main/portfolio/pendingtrades/steps/TradeStepView.java (47)
M desktop/src/main/java/bisq/desktop/main/presentation/MarketPricePresentation.java (2)
M desktop/src/main/java/bisq/desktop/main/settings/preferences/PreferencesViewModel.java (6)
R desktop/src/main/java/bisq/desktop/main/shared/ChatView.java (202)
R desktop/src/main/java/bisq/desktop/main/shared/PriceFeedComboBoxItem.java (2)
R desktop/src/main/java/bisq/desktop/main/support/SupportView.fxml (5)
A desktop/src/main/java/bisq/desktop/main/support/SupportView.java (230)
R desktop/src/main/java/bisq/desktop/main/support/dispute/DisputeView.java (100)
R desktop/src/main/java/bisq/desktop/main/support/dispute/agent/DisputeAgentView.java (54)
R desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.fxml (3)
A desktop/src/main/java/bisq/desktop/main/support/dispute/agent/arbitration/ArbitratorView.java (78)
R desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.fxml (3)
A desktop/src/main/java/bisq/desktop/main/support/dispute/agent/mediation/MediatorView.java (78)
A desktop/src/main/java/bisq/desktop/main/support/dispute/client/DisputeClientView.java (58)
A desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.fxml (29)
A desktop/src/main/java/bisq/desktop/main/support/dispute/client/arbitration/ArbitrationClientView.java (72)
A desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.fxml (28)
A desktop/src/main/java/bisq/desktop/main/support/dispute/client/mediation/MediationClientView.java (72)
M desktop/src/test/java/bisq/desktop/GuiceSetupTest.java (20)
M desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradableFactoryTest.java (6)
M desktop/src/test/java/bisq/desktop/main/funds/transactions/TransactionAwareTradeTest.java (12)
M desktop/src/test/java/bisq/desktop/main/settings/preferences/PreferencesViewModelTest.java (6)
M monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java (6)
M p2p/src/main/java/bisq/network/p2p/BootstrapListener.java (2)
M p2p/src/main/java/bisq/network/p2p/network/NetworkNode.java (4)
M p2p/src/main/java/bisq/network/p2p/storage/persistence/MapStoreService.java (4)
M p2p/src/main/java/bisq/network/p2p/storage/persistence/StoreService.java (4)
-- Patch Links --
https://github.com/bisq-network/bisq/pull/3197.patch
https://github.com/bisq-network/bisq/pull/3197.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/3197
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20190903/51219180/attachment-0001.html>
More information about the bisq-github
mailing list