Commit graph

904 commits

Author SHA1 Message Date
chimp1984
d55114e019 Add mediation support (#3221)
* 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

- Do not use protobuf inheritance for Arbitrator and Mediator as it
would break backward compatibility (and protobuf inheritance sucks
anyway)

* 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

- Add common base class for ArbitratorService and MediatorService

* Fix test

* Use abstract DisputeResolverManager as base class for ArbitratorManager

- Add common base class for ArbitratorManager and MediatorManager

* Refactor: Move arbitratorregistration package inside register pkg

* Refactor: Rename arbitratorregistration package to arbitrator

* Add registration view for mediator

- With cmd+D one can open the mediator regisration in account screen.
For arbitrator its cmd+R

* Separate pub key list for mediator (no new keys added yet)

* Set new pubkeys for mediator registration

- Before release set new keys from maintainer who manages keys

* Set disputes @Nullable. Add null checks

* Remove pre v0.9 handling for supported arbitrators from offer

- We changed handling of arbitrator selection with v0.9 so the
supported arbitrators in the offer is not used anymore. As we
enforced v1.2 a while back for trading we can be sure no pre v0.9
clients are used anymore and we can remove the optional code part.

* Remove supported arbitrators info in offer details window

- As we do not use supported arbitraors in offer anymore since v0.9
we can remove that.

* Remove check for matching arbitrator languages

As we do not use the supported arbitratos from offer since v0.9 we can
remove that check.

* Remove not used classes

* Remove checks for arbitrator and mediator in offer

We do not use those fields anymore. We still need to keep the fields
not nullable as old clients have the check still.

* Add check if sig of proto object is not empty

We got in dev testing sometimes an empty protobuf Alert. Might be
caused from protobuf copatibility issues during development but not
100% clear.
As it causes an exception and corrupted user db file we prefer to set
it to null.

* Remove TakerSelectMediator

This is not used anymore. Currently we would get an exception in the
trade but with follow up changes we will fix that...

Mediator handling and selection will be done the same way like
arbitrator. The current mediator handling was a relict from earlier
partial support for mediators which never got completed. As still a
null check is in place we need to ensure backward compatibility.

* Set arbitratorNodeAddresses and mediatorNodeAddresses to deprecated

We do not use arbitratorNodeAddresses and mediatorNodeAddresses anymore
but as there is a null check we still need to keep the field ans set it
to an empty arrayList.

* Make ArbitratorSelection generic. Add MEDIATOR_ADDRESS

We want to use the same selection algorithm for mediators as for
arbitrators, so we make ArbitratorSelection generic.
We add MEDIATOR_ADDRESS as extraMap entry to TradeStatistics2 to be
able to track number of trades with specific mediators.

ExtraMap is used to add new data to existing protobuf definitions which
is supported also by not updated clients. Adding a new protobuf field
would only be supported by new clients. As mediator support is a new
feature we could add a new field but to keep it in the same style like
arbitrator we prefer to use the map here as well.

* Refactor: Rename ArbitratorSelection to DisputeResolverSelection

* Add mediator to OfferAvailabilityResponse and mediatorNodeAddress to OpenOffer

WIP for supporting mediator selection the same way like arbitrators.

* Make arbitrator not nullable

We can ensure that all users are post v0.9 so we can remove the nullable
 support.

* Add selectedMediator to OfferAvailabilityModel

Remove nullable support in ProcessOfferAvailabilityResponse as we can
ensure all clients are post v0.9

* Refactor: Rename method

* Add todo for using more generic keys for display strings

* Refactor: Rename method

* Fix wrong handling of registeredMediator

Fix copy/paste error

* Add mediatorNodeAddress to trade

* Handle nullable mediator in ProcessOfferAvailabilityResponse

We do not get the mediator set from old clients but we expect a not null
value so we use the DisputeResolverSelection in case it is null.
We need to pass mediatorManager and tradeStatisticsManager to the
OfferAvailabilityModel.

* Change log level, cleanup

* Revert changes in OfferPayload due backward compatibility issues

Because of backward compatibility issues we needed to revert the removal
of arbitratorNodeAddresses and mediatorNodeAddresses. The signature
check for the offer  would fail as an old client would send a not-empty
list but new clients would have had an empty list, so the hash
would be different and the sig check fail and we would not accept that
offer. That is the reason why we still need to support those data even
it is not used anymore.

This is one of the more tricky cases for backward compatibility issues.

This version now is tested between new and old clients and trade and
disputes work.

* Add checks if any mediator is available

* Cleanup classes

* Fix test

* Add mediator DisputeStates

Add isMediationDispute to Dispute class.

If a dispute opening gets requested we check if state is
DisputeState.NO_DISPUTE and the open mediation. If state is
DisputeState.MEDIATION_REQUESTED we open arbitration.

* Cleanup; support isMediationDispute

* Handle mediator data in Dispute domain

- Add getConflictResolverNodeAddress method to Dispute to resolve
arbitrator or mediator address based on isMediationDispute flag.

- Rename arbitratorPubKeyRing to conflictResolverPubKeyRing in Dispute.
We cannot rename arbitratorPubKeyRing in the protobuf definition
as it would break backward compatibility.

* Add support for mediation in dispute domain

- Add isMediationDispute method to ChatSession
- Add isMediationDispute method to DisputeCommunicationMessage
- Add isMediationDispute to dispute id
- Refactor findDispute method
- Add null checks
- Cleanups

* Remove impossible case

Reserved and locked funds are used for offers and trades only.

* Fix typos

* Handle mediator and arbitrator strings

- Work in progress of adjusting correct terms.
- Cleanups

* Refactor: Rename arbitrator package to disputeresolvers

* Refactor: Rename ArbitratorDisputeView classes to DisputeResolverView

* Add support for close ticket from mediator (WIP)

In mediator case we do not create any transaction but only send the
dispute result which contains the mediators recommended payout
distribution. At teh traders we set the disputeState in the trade to
closed. This will be used in the next commits to update the trade so
that the traders get displayed the recommended payout and get asked if
they agree to that.

* Refactoring: Rename class

Rename MessageDeliveryFailedException to
DisputeMessageDeliveryFailedException

* Refactoring: Move dispute classes to dispute package

* Refactoring: Move Attachment class to dispute package

* Refactoring: Move package one level up

Move bisq.core.dispute.arbitration.messages to
bisq.core.dispute.messages

* Add todo comment

* Use ARBITRATION instead of DISPUTE

* Make DisputeManager abstract base class for ArbitrationDisputeManager

WIP for separating DisputeManager to ArbitrationDisputeManager and
MediationDisputeManager

* Add MediationDisputeManager

* Add MediationDisputeManager and ArbitrationDisputeManager to test

* Add mediationDisputeManager to relevant classes

There are some cases where arbitrationDisputeManager only is used.
Those are usually related to the payout tx. As mediators do not do a
payout we don't need it there.

* Add TradersArbitrationDisputeView and TradersMediationDisputeView

WIP for separating TraderDisputeView

* Refactor:  Rename class

* Refactor: Rename support.tab.support to support.tab.mediation.support

I am aware that committing non default translation files is not
recommended, but I think in that case it helps to avoid to show errors
for developers who use non-english locale. The changes will be
overwritten by transifex once it gets synced...

* Add DisputeView as common base class

Further refactor separation of diff. dispute views

* Refactor: Rename package

* Refactor: Rename DisputesView to SupportView

* Refactor: Rename package

* Add MediationDisputeManager to CorePersistedDataHost

* Add MediationDisputeList as db file, refactor DisputeList

WIP for making Dispute domain more generic. We want to separate
arbitration and mediation clearly.

* Further refactoring to split mediation and arbitration

* Further refactoring to split mediation and arbitration

Move methods used for arbitration only to ArbitrationDisputeManager

* Refactor: Rename package

Rename bisq.core.dispute to bisq.core.support

No other changes in that commit.
We want to improve the data structure with the trader chat.
Support will be the top level.
Then dispute containing arbitration and mediation.
Next to dispute will be trader chat.

bisq.core.support
bisq.core.support.dispute.arbitration
bisq.core.support.dispute.mediation
bisq.core.support.traderchat  (not happy with name for that yet)

* Refactor: Move dispute domain classes into isq.core.support.dispute package

* Refactor: Move classes

Move bisq.core.chat.ChatSession to bisq.core.support.ChatSession
Move bisq.core.chat.ChatManager to bisq.core.support.ChatManager
Move bisq.core.trade.TradeChatSession to bisq.core.support.traderchat.TradeChatSession

* Refactor: Move DisputeCommunicationMessage

* Refactor: Rename DisputeCommunicationMessage to ChatMessage

* Add comments

* Refactor: Move class

* Refactor: Rename class

* Refactor: Rename addDisputeCommunicationMessage and strings and variables

Rename disputeCommunicationMessage to chatMessage

* Refactor: Rename method

* Refactor: Rename methods and strings

* Add ArbitrationChatMessage and DisputeChatMessage

* Refactor: Rename class

* Move ChatMessage.Type to SupportType

Add to all supportMessages the SupportType so that we can filter in our
chatSessions the messages we are interested in.

* 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

Various WIP refactorings/improvements

* Remove addAndPersistChatMessage from SupportSession

* Remove disputeManager from DisputeSession

* Fix missing getConcreteDisputeChatSession impl.

* Refactor: Rename package

* Refactor: Rename classes

Avoid trader as it might confuse with trader chat.
As for mediation/arbitration the agent (mediator/arbitrator) are acting
a bit like a server we use the client terminology for the traders.

* Refactor: Move classes to new package

* Fix missing protobuf data

- Add missing SupportType to protobuf
- Remove is_mediation_dispute from Dispute protobuf
 definition
- Add getAgentNodeAddress method
- Var. other refactorings, cleanups

* Clone list at persisting to avoid ConcurrentModificationException

* Fix order of SupportType

Old clients fall back to enum at slot 0.

* Add getDisputeState_StartedByPeer template method

* Add trade protocol tasks for mediation result tx signing and msg sending

* Complete protocol tasks for mediation

* Refactor: Remove unneeded SuppressWarnings type: "WeakerAccess"

* Complete mediation result protocol

Works now all but not much tested....

* Add activation date and capability

We need to make sure that not updated users cannot cause problems once mediation is supported. We would get mixed cases where one has a mediation ticket and the not updated user an arbitration ticket. To avoid that we set an activation date with about 10 days from release. Until that date mediation is not supported.
Additionally we use OfferRestrictions.REQUIRE_UPDATE_DATE for hiding offers from users how have not updated (we use the fact that mediator and arbitrator has been same in old version, in new version they are different).
An old client cannot take an offer from a new maker as he does not has set the new MEDIATION capability. He will get an null value as AvailabilityResult as he has not the new entry MISSING_MANDATORY_CAPABILITY.
We will also use the min version for trading in the filter, so that not updated users get a popup telling them to update and they see all offers deactivated.

* Various fixes

* Remove code part which does not make sense (anymore)

Maybe in older versions there was use of openDisputes and closedDisputes
but now it does not make sense anymore and arbitrator never gets 4 cases
opened if offline.

* Add check of balance is > 0

* Only close trade if payout tx is set

* Add missing check if arbitrator and mediator are available

* Fix wrong key

* Improve handling of checks and popup display

For create and take offer we check certain conditions and show a
popup if not met. This commit moves that to GuiUtils.

* Rename any occurrance of DisputeResolver to DisputeAgent

* Fix handling of mediatorPubKeyRing

* Remove disputeSummaryWindow.evidence fields

* Add missing persistence for MediationResultState

* Fix tests

* Make text more compact to not exceed space

* Refactor NotificationGroup

* Improve text, add dev testing feature for popups

* Improve text

* Renamed a key and assigned a new text

* Fix states

* Do not set errorMessage

Do not set errorMessage if both peers have opened a dispute and agent
was not online

* Remove logs used for dev testing

* Fix getMedian method with empty list

* Add new methods and tests

Add fromCommaSeparatedOrdinals and toCommaSeparatedOrdinals to convert
from string representations (used for handling backward compatibility
with mediation release).

Add check if int >= 0 to fromIntList

* Move error log outside of delayed call

* Add capabilities entry to extraDataMap in offer

The previous implementation did not work for supporting updates and
hiding offers from not updated clients.
We use now the capabilities converted to a string list and put it into
the extraDataMap. If a use with old persisted offers updates his offers
gets converted to add the capabilities. Updated clients will ignore
offers without the mediation capability set in the offer.

* Rename non sync protobuf definitions

As Christoph Sturm pointed out we can rename protobuf entries.
Only index number must not be changed.

* Fix UI state when arbitration has started

Only set mediation state if we are not in arbitration state.

* Remove restriction

* Fix typo; remove errorMessage

If both have opened a dispute and agent was not online we dont treat it
as error.

* Improve text

* Store full address for localhost dev testing

The arbitrator/mediator selection is based on statistics of usage of
agents in past trades. We put the first 4 chars into the trade
statistics, but for localhost that would be same vale for 2 diff nodes.

* Remove errorMessage

If both have opened a dispute and agent was not online we dont treat it
as error.

* Improve text

* Keep accept or reject button enabled after accept

- If peer never accepts the trader who has accepted first can change
to reject to open a arbitration dispute.
We could improve that by adding a new state to open arbitration
directly and show a diff. button text and popup. But I think for now
thats ok as well....

* Cleanups (no functional change)

- remove unused params
- remove not used code
- reformat
- clean up comments
- fix log levels
- remove redundant annotations

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Update core/src/main/resources/i18n/displayStrings.properties

Co-Authored-By: Steve Jain <mfiver@gmail.com>

* Improve text

* Auto fill remaining amount in custom payout

If mediator or arbitrator are doing a custom payout, we auto-fill
counterpart field with remaining amount, so he does not need to
calculate.
2019-09-09 20:51:57 +02:00
chimp1984
b210118821
Set old DAO Capabilities Deprecated
All nodes have DAO capabilities now so we can set those which are not
optional (DAO_FULL_NODE, RECEIVE_BSQ_BLOCK) as deprecated and remove
the CapabilityRequiringPayload interface from the relevant messages.

To support non-DAO nodes in the future if needed we can use the
existing options for deactivating the DAO.
2019-09-07 13:21:23 +02:00
Christoph Atteneder
7c034a49c6
Merge pull request #3212 from chimp1984/add-average-bsq-price
Add average bsq price
2019-09-06 17:10:25 +02:00
chimp1984
3df57ad943
Add Deprecated annotation to old Capabilities 2019-09-06 12:22:13 +02:00
chimp1984
5d4f9afa71
Add 90 days average and median BSQ price 2019-09-06 04:43:30 +02:00
battleofwizards
82e9672e91
Remove PGP keys from the KeyRing
The PGP support was envisioned in the KeyRing but never fully
implemented. This removes the (essentially) dead code.

The protobuf message compatibility is implemented with `reserved`.
2019-09-05 14:30:33 +02:00
Christoph Atteneder
af95fcc9cf
Merge pull request #3186 from christophsturm/fix-exception-logging
Log Exceptions to logfile instead of STDERR
2019-09-04 10:33:45 +02:00
Christoph Atteneder
2c9e927150
Merge pull request #3195 from battleofwizards/remove-bcprov-as-direct-dependency
Remove bcprov from direct dependencies - a major step towards eventually removing Bouncy Castle
2019-09-04 10:18:55 +02:00
battleofwizards
d27311f0a8
Remove json-simple dependency
Turns out it was only used in a dead code.
2019-09-03 16:53:41 +02:00
battleofwizards
e974d616cf
Replace bouncycastle Base64 with java builtin Base64
Compatibility is assumed based on the following:

* Java follows RFC 4648 which is considered the "regular" Base64
* Bouncy Castle does *not* specify the standard but uses the same
  charset and padding as RFC 4648:
  https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/util/encoders/Base64Encoder.java
2019-09-03 14:49:48 +02:00
battleofwizards
7719851658
Replace bouncycastle Hex with guava Hex
Hex encoding and decoding compatibility has been verified regarding
null, "", character case handling, and incorrect digits handling.
2019-09-03 13:54:32 +02:00
Christoph Sturm
cbfa35ec18 Log Exceptions to logfile instead of STDERR 2019-09-02 17:50:01 +02:00
chimp1984
629a16f163
Change DisputeCommunicationMessage.Type enum
To support future mediation chats
2019-09-02 14:10:54 +02:00
chimp1984
40de3c528d
Improve logging
- Add better logs and duration measurements for expensive operations
- Convert debug logs to trace to avoid flooding the output in debug log
mode.
- Cleanups
2019-09-01 22:57:40 +02:00
chimp1984
e0c1a85406
Add wasDisplayed field to chatMsg
- Fix logger
- Manage display state off trade chat msg (wip)
2019-08-29 22:29:36 +02:00
chimp1984
fa43f03151
Merge branch 'master_upstream' into sq-add-trader-chat
# Conflicts:
#	desktop/src/main/java/bisq/desktop/main/disputes/trader/TraderDisputeView.java
2019-08-29 19:09:49 +02:00
Christoph Atteneder
3ccae6922d
Merge pull request #3152 from wiz/darkmode
Dark Mode
2019-08-29 18:53:49 +02:00
chimp1984
d7845d0eb1
Move check for empty capability.
- Move check for empty capability to connection class.
- Add MANDATORY_CAPABILITIES_NOT_SUPPORTED
- Add comment that capabilities can be empty
2019-08-29 18:15:17 +02:00
chimp1984
f5e4712c8a
Add missing check if capability is not empty before checking mandatory capabilities
We do not get the capabilities with all network messages so we have to
skip the test if the mandatory capability is included if capabilities
is empty.
2019-08-29 17:59:38 +02:00
chimp1984
329572cc5d
Merge branch 'master_upstream' into sq-add-trader-chat
# Conflicts:
#	core/src/main/java/bisq/core/arbitration/DisputeManager.java
#	core/src/main/java/bisq/core/arbitration/messages/DisputeCommunicationMessage.java
#	core/src/main/java/bisq/core/trade/Trade.java
2019-08-29 16:50:32 +02:00
wiz
4eb85b955e
Add toggle switch UI preference for Dark Mode on/off
* Store preference for Dark Mode as int32 css_theme
2019-08-29 20:20:25 +09:00
chimp1984
55092edb6c
Disconnect nodes which do not have the mandatory capability 2019-08-28 21:06:17 +02:00
chimp1984
4bc6616e7a
Do not send BSQ blocks to full nodes 2019-08-27 19:27:39 +02:00
Christoph Sturm
aae430887e fix formatting, set method parameter wrapping to "chop if long" 2019-08-19 18:13:05 +02:00
Christoph Sturm
b77cff9e26 inject CorruptedDataFilesHandler instead of making it static 2019-08-19 16:54:46 +02:00
Christoph Sturm
98328fd2f8 make keyring and pubkeyring final again 2019-08-14 18:02:11 +02:00
Christoph Sturm
9eb174bc88 provide PubKeyRing and use it where appropriate instead of keyring 2019-08-14 17:58:04 +02:00
Christoph Sturm
ac6068b728 start testing MyProposalListService. 2019-08-14 17:58:04 +02:00
Christoph Sturm
7500887484 even more singletoning 2019-08-13 15:58:14 +02:00
Christoph Sturm
3f097ebf63 more singletoning 2019-08-13 15:58:13 +02:00
Christoph Atteneder
89073316c9
Merge branch 'master' of github.com:bisq-network/bisq into hotfix-v1.1.5
# Conflicts:
#	build.gradle
#	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
2019-08-08 11:19:51 +02:00
Christoph Atteneder
3bf3ff83b9
Bump version number 2019-08-08 09:54:54 +02:00
Christoph Sturm
f96edd2723 create key directory if it does not exist 2019-08-01 16:20:26 +02:00
Christoph Atteneder
fdf5364c47 Add domain layer for signed account age witnesses (credits ManfredKarrer and oscarguindzberg) 2019-07-30 11:38:57 +02:00
sqrrm
4b235dbadb
Merge pull request #3007 from christophsturm/christoph/deprecate-pb-fields
mark outdated fields as deprecated
2019-07-30 10:26:12 +02:00
Christoph Atteneder
db25293d62
Merge branch 'master' of github.com:bisq-network/bisq into hotfix-for-v1.1.3
# Conflicts:
#	build.gradle
#	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
2019-07-29 19:00:37 +02:00
sqrrm
2570e9b728
Merge pull request #2999 from christophsturm/christoph/rename-clock
rename Clock to ClockWatcher
2019-07-29 14:39:22 +02:00
Christoph Atteneder
d498e43415
Bump version number 2019-07-26 10:41:47 +02:00
Christoph Sturm
82821f1d72 mark outdated fields as deprecated 2019-07-25 16:41:28 +02:00
Christoph Sturm
de4e1d7b58 move protobuf to proto package 2019-07-25 14:08:00 +02:00
Christoph Sturm
1c0fe2673f split pb.java file into separate files. 2019-07-25 13:40:02 +02:00
Christoph Sturm
c3d21806c4 rename Clock to ClockWatcher
* this class is not a clock but it watches the clock, detects standby
and runs periodic tasks.
* there is already a jdk method called clock
First i thought it should be called PeriodicTaskManager, now i find
ClockWatcher more fitting.
2019-07-24 16:39:03 +02:00
Christoph Sturm
a25befb742 log stacktrace to logfile when a task fails 2019-07-24 14:51:54 +02:00
Christoph Atteneder
59be5bc94e
Bump version number 2019-07-15 16:33:55 +02:00
Florian Reimair
b44cb452f9
Rename stuff 2019-07-10 16:31:58 +02:00
Florian Reimair
3fb8be3481
Rename 2019-07-08 09:33:50 +02:00
Florian Reimair
b101035d99
Sketch of businesslogic regarding EnvelopeOfEnvelopes 2019-06-24 16:55:58 +02:00
Florian Reimair
16392f5f0a
Added EnvelopeOfEnvelopes Network Message 2019-06-24 16:53:53 +02:00
Christoph Atteneder
ca24ce0217
Bump version number 2019-06-04 10:49:00 +02:00
sqrrm
b93e7bac56
Add trader chat
- Add communication messages to Trade protobuf message to be able to
save chat messages per trade
- Add Type enum and field to DisputeCommunicationMessage protobuf to
be able to dispatch Dispute and Trade chat messages properly
- Rename some function as isClient instead of isTrader to make it easier
to understand who is who when two traders are communicating with each
other
2019-06-02 15:40:50 +02:00