If the phase and cycle for the vote reveal tx was missed we still
publish it but it is considered invalid. We do not throw an exception
but filter such txs away from the vote result evaluation.
We cannot use the strategy to unlock the BSQ from the vote tx in such a
case because the blind vote tx is already in the past and is not parsed
again (snapshot).
Alternatively we could have used a different tx type for the unlock
purpose but we prefer to keep such an exceptional case simple.
- Use the chain tip height and not the current chain height in the
parsing to check if we are in the correct phase and cycle. Only
publish the tx if we are in the correct cycle.
- We want to know for the vote reveal service what is the latest block.
Currently that is not exposed in the DAO only in the BitcoinJ classes,
but we don't want to access it from there.
If a seednode is using netwlayer version 0.6.2 (or 0.6.1) it is not
reachable from other nodes. Still unclear what causes that and if it
would affect also normal Bisq nodes, but to be careful we revert to
latest stable netlayer version which fixes the issue.
Call fillListFromProtectedStore and fillListFromAppendOnlyDataStore
at start. The listeners are not triggered as registered after we have
received the initial data. So we need to read the P2P network data at
the start method.
We add first all listeners at all services and then call the start methods.
Some services are listening on others so we need to make sure that the
listeners are set before we call start as that might trigger state change
which triggers listeners.
- Change order of ballotListService and proposalService to reflect
dependency.
In regtest we got incorrectly onNoPeersAvailable called if the first
seed node in our list was not available. It triggered a
onAllServicesInitialized and led to incorrect behaviour in case we
received data from the second seednode. One bug was that we did not
clone the remaining nodes list in the for loop which led that the list
was empty for each delayed call. The other bug was that we did not
check if there is another connection attempt open when we got a
connection fault from the not available seed.
The 64bitBuild.sh script has been renamed to package.sh and has
been updated so that it is capable of performing the complete packaging
process without having to rely on the jar first being built and prepped
from the MacOS scripts. However, it does support having the jar
previously built and prepped and will look for a prepped jar in the
desktop/package folder. If not found, it will build and prep it
prior to packaging.
Additionally, the Bruntime option passed to javapackager is unnecessary and
has been removed. The Bruntime option is valid only when the -native
option is set to jnlp.
Also, the prepare-system.sh script was removed as it did not appear to be
doing anything useful.
Finally, a release.sh script has been added that will perform the
release process of copying necessary files to a versioned release folder
and generating/verifying signatures. Windows and MacOS packaged installers
should be copied to their appropriate package folders prior to
executing this script if they are to be included in this release
process, otherwise only the Linux files will be included.
- Revert spelling error as misspelling was used for test
- Add TODO for failing test (timing issue, seems to fail just sometimes)
- Set @Disable to test classes which take longer as Tor is started