diff --git a/WindowsInstaller/Qortal.aip b/WindowsInstaller/Qortal.aip
index 1f869dcd..d9b958e1 100755
--- a/WindowsInstaller/Qortal.aip
+++ b/WindowsInstaller/Qortal.aip
@@ -17,10 +17,10 @@
-
+
-
+
@@ -212,7 +212,7 @@
-
+
diff --git a/pom.xml b/pom.xml
index 3bfb07fa..80892009 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.qortal
qortal
- 2.1.1
+ 2.1.2
jar
true
diff --git a/src/main/java/org/qortal/api/resource/BlocksResource.java b/src/main/java/org/qortal/api/resource/BlocksResource.java
index b8163c7d..bcd531d4 100644
--- a/src/main/java/org/qortal/api/resource/BlocksResource.java
+++ b/src/main/java/org/qortal/api/resource/BlocksResource.java
@@ -75,7 +75,8 @@ public class BlocksResource {
@ApiErrors({
ApiError.INVALID_SIGNATURE, ApiError.BLOCK_UNKNOWN, ApiError.REPOSITORY_ISSUE
})
- public BlockData getBlock(@PathParam("signature") String signature58) {
+ public BlockData getBlock(@PathParam("signature") String signature58,
+ @QueryParam("includeOnlineSignatures") Boolean includeOnlineSignatures) {
// Decode signature
byte[] signature;
try {
@@ -88,12 +89,18 @@ public class BlocksResource {
// Check the database first
BlockData blockData = repository.getBlockRepository().fromSignature(signature);
if (blockData != null) {
+ if (includeOnlineSignatures == null || includeOnlineSignatures == false) {
+ blockData.setOnlineAccountsSignatures(null);
+ }
return blockData;
}
// Not found, so try the block archive
blockData = repository.getBlockArchiveRepository().fromSignature(signature);
if (blockData != null) {
+ if (includeOnlineSignatures == null || includeOnlineSignatures == false) {
+ blockData.setOnlineAccountsSignatures(null);
+ }
return blockData;
}
@@ -423,17 +430,24 @@ public class BlocksResource {
@ApiErrors({
ApiError.BLOCK_UNKNOWN, ApiError.REPOSITORY_ISSUE
})
- public BlockData getByHeight(@PathParam("height") int height) {
+ public BlockData getByHeight(@PathParam("height") int height,
+ @QueryParam("includeOnlineSignatures") Boolean includeOnlineSignatures) {
try (final Repository repository = RepositoryManager.getRepository()) {
// Firstly check the database
BlockData blockData = repository.getBlockRepository().fromHeight(height);
if (blockData != null) {
+ if (includeOnlineSignatures == null || includeOnlineSignatures == false) {
+ blockData.setOnlineAccountsSignatures(null);
+ }
return blockData;
}
// Not found, so try the archive
blockData = repository.getBlockArchiveRepository().fromHeight(height);
if (blockData != null) {
+ if (includeOnlineSignatures == null || includeOnlineSignatures == false) {
+ blockData.setOnlineAccountsSignatures(null);
+ }
return blockData;
}
diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java
index 185804e9..2e78a42b 100644
--- a/src/main/java/org/qortal/controller/Controller.java
+++ b/src/main/java/org/qortal/controller/Controller.java
@@ -89,6 +89,7 @@ public class Controller extends Thread {
static {
// This must go before any calls to LogManager/Logger
+ System.setProperty("log4j2.formatMsgNoLookups", "true");
System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");
}
diff --git a/src/main/java/org/qortal/data/block/BlockData.java b/src/main/java/org/qortal/data/block/BlockData.java
index e2d6bad1..61d1a7fb 100644
--- a/src/main/java/org/qortal/data/block/BlockData.java
+++ b/src/main/java/org/qortal/data/block/BlockData.java
@@ -207,6 +207,10 @@ public class BlockData implements Serializable {
return this.onlineAccountsSignatures;
}
+ public void setOnlineAccountsSignatures(byte[] onlineAccountsSignatures) {
+ this.onlineAccountsSignatures = onlineAccountsSignatures;
+ }
+
public boolean isTrimmed() {
long onlineAccountSignaturesTrimmedTimestamp = NTP.getTime() - BlockChain.getInstance().getOnlineAccountSignaturesMaxLifetime();
long currentTrimmableTimestamp = NTP.getTime() - Settings.getInstance().getAtStatesMaxLifetime();
diff --git a/src/test/java/org/qortal/test/api/BlockApiTests.java b/src/test/java/org/qortal/test/api/BlockApiTests.java
index 5b8721af..6415880a 100644
--- a/src/test/java/org/qortal/test/api/BlockApiTests.java
+++ b/src/test/java/org/qortal/test/api/BlockApiTests.java
@@ -40,7 +40,7 @@ public class BlockApiTests extends ApiCommon {
byte[] signatureBytes = GenesisBlock.getInstance(repository).getSignature();
String signature = Base58.encode(signatureBytes);
- assertNotNull(this.blocksResource.getBlock(signature));
+ assertNotNull(this.blocksResource.getBlock(signature, true));
}
}
@@ -72,7 +72,7 @@ public class BlockApiTests extends ApiCommon {
@Test
public void testGetBlockByHeight() {
- assertNotNull(this.blocksResource.getByHeight(1));
+ assertNotNull(this.blocksResource.getByHeight(1, true));
}
@Test