Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v1.5.2 #5012

Merged
merged 52 commits into from
Dec 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a6bee11
Bump version number for v1.5.2
ripcurlx Dec 16, 2020
ac6102c
Update translations for v1.5.2
ripcurlx Dec 16, 2020
67fd7ea
Show also % price deviation for fixed price and
chimp1984 Dec 14, 2020
dd34bc6
Add price deviation in % to BSQ using 30 day average
chimp1984 Dec 14, 2020
14e5eef
Add check to not devide by 0
chimp1984 Dec 15, 2020
169f46d
Set bsq30DayAveragePrice only at activate as its expensive
chimp1984 Dec 16, 2020
0cd32fa
Add null check (for tests) and fix missing param for test class.
chimp1984 Dec 16, 2020
a161376
Use bitcoinj 0.15.8.bisq.13 (commit dcf8af0)
oscarguindzberg Dec 16, 2020
b94d06c
Remove m52go btc node ip
m52go Dec 16, 2020
c5c93b2
Merge pull request #4962 from oscarguindzberg/bloomFilterFix2
ripcurlx Dec 16, 2020
f270b9c
Call completeHandler if services in store services is empty.
chimp1984 Dec 16, 2020
9cb9ed2
Privacy improvements for manual payout
Dec 4, 2020
a49cb24
review fix: try..catch around all parseCoin()
Dec 17, 2020
2ba15a9
Update bitcoinj checkpoints for v1.5.2
ripcurlx Dec 17, 2020
6384753
Update data stores for v1.5.2
ripcurlx Dec 17, 2020
626aac6
Remove wrong error log
ripcurlx Dec 18, 2020
4736bb8
Limit badge display to two digits
ripcurlx Dec 18, 2020
7fcb857
Use sign state icon selector for payment account cell factory
ripcurlx Dec 18, 2020
400a713
Fix private notification style issue in dark mode
ripcurlx Dec 18, 2020
7c0d02a
Make it easier to translate trade roles
ripcurlx Dec 18, 2020
e2c8e4d
Merge pull request #4965 from ripcurlx/update-data-stores-for-v1.5.2
sqrrm Dec 18, 2020
dc19e31
Change log level to debug. Fix wrong method name in log.
chimp1984 Dec 19, 2020
9d4d116
Change log level.
chimp1984 Dec 19, 2020
55b2cf6
Change period for statistics log to 5 min instead of 1 min to make it…
chimp1984 Dec 19, 2020
d65471e
Remove dev log
chimp1984 Dec 19, 2020
7e77991
Only log if we removed an offer from a trade not if deactivated
chimp1984 Dec 19, 2020
1ca5274
Change warnings of banned filter to info level
chimp1984 Dec 19, 2020
2b53db2
Show all Capabilities
chimp1984 Dec 19, 2020
852ac14
Only log if we have banned nodes and soften language as its not reall…
chimp1984 Dec 19, 2020
19ef0a2
Remove log
chimp1984 Dec 19, 2020
661ec42
Add more info to log that this can be an expected case.
chimp1984 Dec 19, 2020
cb130fc
Change log level to warn in case the phase is not matching as that is…
chimp1984 Dec 19, 2020
1e0dcfb
Change log level to debug to reduce verbosity
chimp1984 Dec 19, 2020
a9f9e98
Use OS seperators so it works also on windows
chimp1984 Dec 19, 2020
c6b6196
Change log level
chimp1984 Dec 19, 2020
d24d05d
Fix nullpointer
chimp1984 Dec 19, 2020
3cb3dc4
Remove NGN (Nigerian Naira) as their central bank blocked Transferwise
chimp1984 Dec 19, 2020
69fcf9f
Remove automatic setting of first currency from combobox
chimp1984 Dec 19, 2020
814c5d1
Change text at amazon gift card popup
chimp1984 Dec 19, 2020
245e736
Merge pull request #4976 from chimp1984/remove-ngn-from-transferwise
sqrrm Dec 19, 2020
c8c6633
Merge pull request #4974 from chimp1984/fix-nullpointer
sqrrm Dec 19, 2020
442d65a
Merge pull request #4973 from chimp1984/improve-logs
sqrrm Dec 19, 2020
264a844
We need to user accountAgeWitnessStorageService as
chimp1984 Dec 20, 2020
cccaa0a
Update popup text
chimp1984 Dec 20, 2020
48c912c
Avoid standard shortcuts
sqrrm Dec 20, 2020
402c8ef
Merge pull request #4982 from sqrrm/copy-account-shortcut
sqrrm Dec 20, 2020
c801a57
Merge pull request #4981 from chimp1984/fix-wrong-account-age-data-ac…
sqrrm Dec 21, 2020
a344ae9
Merge pull request #4977 from chimp1984/add-extra-note-for-amazon-gif…
ripcurlx Dec 21, 2020
df1461c
Merge pull request #4968 from ripcurlx/fix-dark-mode-private-notifica…
sqrrm Dec 21, 2020
d08dfb5
Adjust create transferwise acct test
ghubstan Dec 21, 2020
0ad3976
Revert to SNAPSHOT version
ripcurlx Dec 28, 2020
850e031
Merge branch 'master' of github.com:bisq-network/bisq into release/v1…
ripcurlx Dec 28, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle
Expand Up @@ -28,7 +28,7 @@ configure(subprojects) {

ext { // in alphabetical order
bcVersion = '1.63'
bitcoinjVersion = 'dcf8af0'
bitcoinjVersion = '2a80db4'
btcdCli4jVersion = '27b94333'
codecVersion = '1.13'
easybindVersion = '1.0.3'
Expand Down Expand Up @@ -386,7 +386,7 @@ configure(project(':desktop')) {
apply plugin: 'witness'
apply from: '../gradle/witness/gradle-witness.gradle'

version = '1.5.1-SNAPSHOT'
version = '1.5.2-SNAPSHOT'

mainClassName = 'bisq.desktop.app.BisqAppMain'

Expand Down
41 changes: 21 additions & 20 deletions common/src/main/java/bisq/common/app/AsciiLogo.java
Expand Up @@ -22,25 +22,26 @@
@Slf4j
public class AsciiLogo {
public static void showAsciiLogo() {
log.info("\n\n" +
" ........ ...... \n" +
" .............. ...... \n" +
" ................. ...... \n" +
" ...... .......... .. ...... \n" +
" ...... ...... ...... ............... ..... ......... .......... \n" +
" ....... ........ .................. ..... ............. ............... \n" +
" ...... ........ .......... ....... ..... ...... ... ........ ....... \n" +
" ...... ..... ....... ..... ..... ..... ..... ...... \n" +
" ...... ... ... ...... ...... ..... ........... ...... ...... \n" +
" ...... ..... .... ...... ...... ..... ............ ..... ...... \n" +
" ...... ..... ...... ..... ........ ...... ...... \n" +
" ...... .... ... ...... ...... ..... .. ...... ...... ........ \n" +
" ........ .. ....... ................. ..... .............. ................... \n" +
" .......... ......... ............. ..... ............ ................. \n" +
" ...................... ..... .... .... ...... \n" +
" ................ ...... \n" +
" .... ...... \n" +
" ...... \n" +
"\n\n");
String ls = System.lineSeparator();
log.info(ls + ls +
" ........ ...... " + ls +
" .............. ...... " + ls +
" ................. ...... " + ls +
" ...... .......... .. ...... " + ls +
" ...... ...... ...... ............... ..... ......... .......... " + ls +
" ....... ........ .................. ..... ............. ............... " + ls +
" ...... ........ .......... ....... ..... ...... ... ........ ....... " + ls +
" ...... ..... ....... ..... ..... ..... ..... ...... " + ls +
" ...... ... ... ...... ...... ..... ........... ...... ...... " + ls +
" ...... ..... .... ...... ...... ..... ............ ..... ...... " + ls +
" ...... ..... ...... ..... ........ ...... ...... " + ls +
" ...... .... ... ...... ...... ..... .. ...... ...... ........ " + ls +
" ........ .. ....... ................. ..... .............. ................... " + ls +
" .......... ......... ............. ..... ............ ................. " + ls +
" ...................... ..... .... .... ...... " + ls +
" ................ ...... " + ls +
" .... ...... " + ls +
" ...... " + ls +
ls + ls);
}
}
4 changes: 2 additions & 2 deletions common/src/main/java/bisq/common/app/Version.java
Expand Up @@ -30,14 +30,14 @@ public class Version {
// VERSION = 0.5.0 introduces proto buffer for the P2P network and local DB and is a not backward compatible update
// Therefore all sub versions start again with 1
// We use semantic versioning with major, minor and patch
public static final String VERSION = "1.5.1";
public static final String VERSION = "1.5.2";

/**
* Holds a list of the tagged resource files for optimizing the getData requests.
* This must not contain each version but only those where we add new version-tagged resource files for
* historical data stores.
*/
public static final List<String> HISTORICAL_RESOURCE_FILE_VERSION_TAGS = Arrays.asList("1.4.0", "1.5.0");
public static final List<String> HISTORICAL_RESOURCE_FILE_VERSION_TAGS = Arrays.asList("1.4.0", "1.5.0", "1.5.2");

public static int getMajorVersion(String version) {
return getSubVersion(version, 0);
Expand Down
Expand Up @@ -136,6 +136,7 @@ public String getDisplayString() {
private final User user;
private final SignedWitnessService signedWitnessService;
private final ChargeBackRisk chargeBackRisk;
private final AccountAgeWitnessStorageService accountAgeWitnessStorageService;
private final FilterManager filterManager;
@Getter
private final AccountAgeWitnessUtils accountAgeWitnessUtils;
Expand Down Expand Up @@ -167,6 +168,7 @@ public AccountAgeWitnessService(KeyRing keyRing,
this.user = user;
this.signedWitnessService = signedWitnessService;
this.chargeBackRisk = chargeBackRisk;
this.accountAgeWitnessStorageService = accountAgeWitnessStorageService;
this.filterManager = filterManager;

accountAgeWitnessUtils = new AccountAgeWitnessUtils(
Expand All @@ -190,10 +192,10 @@ public void onAllServicesInitialized() {
});

// At startup the P2PDataStorage initializes earlier, otherwise we get the listener called.
p2PService.getP2PDataStorage().getAppendOnlyDataStoreMap().values().forEach(e -> {
if (e instanceof AccountAgeWitness)
addToMap((AccountAgeWitness) e);
});
accountAgeWitnessStorageService.getMapOfAllData().values().stream()
.filter(e -> e instanceof AccountAgeWitness)
.map(e -> (AccountAgeWitness) e)
.forEach(this::addToMap);

if (p2PService.isBootstrapped()) {
onBootStrapped();
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/bisq/core/app/WalletAppSetup.java
Expand Up @@ -107,7 +107,7 @@ void init(@Nullable Consumer<String> chainFileLockedExceptionHandler,
Runnable downloadCompleteHandler,
Runnable walletInitializedHandler) {
log.info("Initialize WalletAppSetup with BitcoinJ version {} and hash of BitcoinJ commit {}",
VersionMessage.BITCOINJ_VERSION, "dcf8af0");
VersionMessage.BITCOINJ_VERSION, "2a80db4");

ObjectProperty<Throwable> walletServiceException = new SimpleObjectProperty<>();
btcInfoBinding = EasyBind.combine(walletsSetup.downloadPercentageProperty(),
Expand Down
Expand Up @@ -371,7 +371,7 @@ private boolean processPeersDaoStateHash(DaoStateHash daoStateHash, Optional<Nod
if (this.isInConflictWithSeedNode)
log.warn("Conflict with seed nodes: {}", conflictMsg);
else if (this.isInConflictWithNonSeedNode)
log.info("Conflict with non-seed nodes: {}", conflictMsg);
log.debug("Conflict with non-seed nodes: {}", conflictMsg);
}


Expand Down
10 changes: 7 additions & 3 deletions core/src/main/java/bisq/core/filter/FilterManager.java
Expand Up @@ -466,7 +466,11 @@ private void onFilterAddedFromNetwork(Filter newFilter) {
Filter currentFilter = getFilter();

if (!isFilterPublicKeyInList(newFilter)) {
log.warn("isFilterPublicKeyInList failed. Filter.getSignerPubKeyAsHex={}", newFilter.getSignerPubKeyAsHex());
if (newFilter.getSignerPubKeyAsHex() != null && !newFilter.getSignerPubKeyAsHex().isEmpty()) {
log.warn("isFilterPublicKeyInList failed. Filter.getSignerPubKeyAsHex={}", newFilter.getSignerPubKeyAsHex());
} else {
log.info("isFilterPublicKeyInList failed. Filter.getSignerPubKeyAsHex not set (expected case for pre v1.3.9 filter)");
}
return;
}
if (!isSignatureValid(newFilter)) {
Expand Down Expand Up @@ -593,7 +597,7 @@ private String getSignature(Filter filterWithoutSig) {
private boolean isFilterPublicKeyInList(Filter filter) {
String signerPubKeyAsHex = filter.getSignerPubKeyAsHex();
if (!isPublicKeyInList(signerPubKeyAsHex)) {
log.warn("Invalid filter (expected case for pre v1.3.9 filter as we still keep that in the network " +
log.info("Invalid filter (expected case for pre v1.3.9 filter as we still keep that in the network " +
"but the new version does not recognize it as valid filter): " +
"signerPubKeyAsHex from filter is not part of our pub key list. " +
"signerPubKeyAsHex={}, publicKeys={}, filterCreationDate={}",
Expand All @@ -606,7 +610,7 @@ private boolean isFilterPublicKeyInList(Filter filter) {
private boolean isPublicKeyInList(String pubKeyAsHex) {
boolean isPublicKeyInList = publicKeys.contains(pubKeyAsHex);
if (!isPublicKeyInList) {
log.warn("pubKeyAsHex is not part of our pub key list. pubKeyAsHex={}, publicKeys={}", pubKeyAsHex, publicKeys);
log.info("pubKeyAsHex is not part of our pub key list (expected case for pre v1.3.9 filter). pubKeyAsHex={}, publicKeys={}", pubKeyAsHex, publicKeys);
}
return isPublicKeyInList;
}
Expand Down
1 change: 0 additions & 1 deletion core/src/main/java/bisq/core/locale/CurrencyUtil.java
Expand Up @@ -301,7 +301,6 @@ public static List<TradeCurrency> getAllTransferwiseCurrencies() {
new FiatCurrency("MAD"),
new FiatCurrency("NPR"),
new FiatCurrency("NZD"),
new FiatCurrency("NGN"),
new FiatCurrency("NOK"),
new FiatCurrency("PKR"),
new FiatCurrency("PEN"),
Expand Down
Expand Up @@ -55,8 +55,9 @@ public void onAllServicesInitialized() {
}

private void onOpenOfferRemoved(OpenOffer openOffer) {
log.info("We got a offer removed. id={}, state={}", openOffer.getId(), openOffer.getState());
if (openOffer.getState() == OpenOffer.State.RESERVED) {
OpenOffer.State state = openOffer.getState();
if (state == OpenOffer.State.RESERVED) {
log.info("We got a offer removed. id={}, state={}", openOffer.getId(), state);
String shortId = openOffer.getShortId();
MobileMessage message = new MobileMessage(Res.get("account.notifications.offer.message.title"),
Res.get("account.notifications.offer.message.msg", shortId),
Expand Down
17 changes: 15 additions & 2 deletions core/src/main/java/bisq/core/payment/PaymentAccount.java
Expand Up @@ -97,12 +97,25 @@ public protobuf.PaymentAccount toProtoMessage() {
}

public static PaymentAccount fromProto(protobuf.PaymentAccount proto, CoreProtoResolver coreProtoResolver) {
PaymentAccount account = PaymentAccountFactory.getPaymentAccount(PaymentMethod.getPaymentMethodById(proto.getPaymentMethod().getId()));
String paymentMethodId = proto.getPaymentMethod().getId();
List<TradeCurrency> tradeCurrencies = proto.getTradeCurrenciesList().stream()
.map(TradeCurrency::fromProto)
.collect(Collectors.toList());

// We need to remove NGN for Transferwise
Optional<TradeCurrency> ngnTwOptional = tradeCurrencies.stream()
.filter(e -> paymentMethodId.equals(PaymentMethod.TRANSFERWISE_ID))
.filter(e -> e.getCode().equals("NGN"))
.findAny();
// We cannot remove it in the stream as it would cause a concurrentModificationException
ngnTwOptional.ifPresent(tradeCurrencies::remove);

PaymentAccount account = PaymentAccountFactory.getPaymentAccount(PaymentMethod.getPaymentMethodById(paymentMethodId));
account.getTradeCurrencies().clear();
account.setId(proto.getId());
account.setCreationDate(proto.getCreationDate());
account.setAccountName(proto.getAccountName());
account.getTradeCurrencies().addAll(proto.getTradeCurrenciesList().stream().map(TradeCurrency::fromProto).collect(Collectors.toList()));
account.getTradeCurrencies().addAll(tradeCurrencies);
account.setPaymentAccountPayload(coreProtoResolver.fromProto(proto.getPaymentAccountPayload()));

if (proto.hasSelectedTradeCurrency())
Expand Down
Expand Up @@ -79,10 +79,8 @@ public void applyBannedNodes(@Nullable List<String> bannedNodes) {
fillProviderList();
selectNextProviderBaseUrl();

if (bannedNodes == null) {
log.info("Selected provider baseUrl={}, providerList={}", baseUrl, providerList);
} else if (!bannedNodes.isEmpty()) {
log.warn("We have banned provider nodes: bannedNodes={}, selected provider baseUrl={}, providerList={}",
if (bannedNodes != null && !bannedNodes.isEmpty()) {
log.info("Excluded provider nodes from filter: nodes={}, selected provider baseUrl={}, providerList={}",
bannedNodes, baseUrl, providerList);
}
}
Expand Down
Expand Up @@ -47,19 +47,19 @@ static void setSupportedCapabilities(Config config) {
if (config.daoActivated) {
maybeApplyDaoFullMode(config);
}

log.info(Capabilities.app.prettyPrint());
}

public static void maybeApplyDaoFullMode(Config config) {
// If we set dao full mode at the preferences view we add the capability there. We read the preferences a
// bit later than we call that method so we have to add DAO_FULL_NODE Capability at preferences as well to
// be sure it is set in both cases.
if (config.fullDaoNode) {
log.info("Set Capability.DAO_FULL_NODE");
Capabilities.app.addAll(Capability.DAO_FULL_NODE);
} else {
// A lite node has the capability to receive bsq blocks. We do not want to send BSQ blocks to full nodes
// as they ignore them anyway.
log.info("Set Capability.RECEIVE_BSQ_BLOCK");
Capabilities.app.addAll(Capability.RECEIVE_BSQ_BLOCK);
}
}
Expand Down
Expand Up @@ -286,8 +286,10 @@ private Result getPhaseResult() {
log.info(info);
return Result.VALID.info(info);
} else {
String info = MessageFormat.format("We received a {0} but we are are not in the expected phase. " +
"Expected phases={1}, Trade phase={2}, Trade state= {3}, tradeId={4}",
String info = MessageFormat.format("We received a {0} but we are are not in the expected phase.\n" +
"This can be an expected case if we get a repeated CounterCurrencyTransferStartedMessage " +
"after we have already received one as the peer re-sends that message at each startup.\n" +
"Expected phases={1},\nTrade phase={2},\nTrade state= {3},\ntradeId={4}",
trigger,
expectedPhases,
trade.getPhase(),
Expand Down
Expand Up @@ -196,7 +196,7 @@ protected FluentProtocol expect(FluentProtocol.Condition condition) {
.condition(condition)
.resultHandler(result -> {
if (!result.isValid()) {
log.error(result.getInfo());
log.warn(result.getInfo());
handleTaskRunnerFault(null,
result.name(),
result.getInfo());
Expand Down
Expand Up @@ -132,11 +132,8 @@ public void onAllServicesInitialized() {
onP2pNetworkAndWalletReady();
} else {
p2pNetworkAndWalletReady = EasyBind.combine(isP2pBootstrapped, hasSufficientBtcPeers, isBtcBlockDownloadComplete,
(bootstrapped, sufficientPeers, downloadComplete) -> {
log.info("isP2pBootstrapped={}, hasSufficientBtcPeers={} isBtcBlockDownloadComplete={}",
bootstrapped, sufficientPeers, downloadComplete);
return bootstrapped && sufficientPeers && downloadComplete;
});
(bootstrapped, sufficientPeers, downloadComplete) ->
bootstrapped && sufficientPeers && downloadComplete);

p2pNetworkAndWalletReadyListener = (observable, oldValue, newValue) -> {
if (newValue) {
Expand Down