diff --git a/lib/org/ciyam/AT/1.3.6/AT-1.3.6.jar b/lib/org/ciyam/AT/1.3.7/AT-1.3.7.jar
similarity index 53%
rename from lib/org/ciyam/AT/1.3.6/AT-1.3.6.jar
rename to lib/org/ciyam/AT/1.3.7/AT-1.3.7.jar
index d3e341e3..0e43ba18 100644
Binary files a/lib/org/ciyam/AT/1.3.6/AT-1.3.6.jar and b/lib/org/ciyam/AT/1.3.7/AT-1.3.7.jar differ
diff --git a/lib/org/ciyam/AT/1.3.6/AT-1.3.6.pom b/lib/org/ciyam/AT/1.3.7/AT-1.3.7.pom
similarity index 94%
rename from lib/org/ciyam/AT/1.3.6/AT-1.3.6.pom
rename to lib/org/ciyam/AT/1.3.7/AT-1.3.7.pom
index e3b023df..a38b49f4 100644
--- a/lib/org/ciyam/AT/1.3.6/AT-1.3.6.pom
+++ b/lib/org/ciyam/AT/1.3.7/AT-1.3.7.pom
@@ -4,6 +4,6 @@
4.0.0
org.ciyam
AT
- 1.3.6
+ 1.3.7
POM was created from install:install-file
diff --git a/lib/org/ciyam/AT/maven-metadata-local.xml b/lib/org/ciyam/AT/maven-metadata-local.xml
index a60ba88f..ff99d403 100644
--- a/lib/org/ciyam/AT/maven-metadata-local.xml
+++ b/lib/org/ciyam/AT/maven-metadata-local.xml
@@ -3,12 +3,13 @@
org.ciyam
AT
- 1.3.6
+ 1.3.7
1.3.4
1.3.5
1.3.6
+ 1.3.7
- 20200810130321
+ 20200812131412
diff --git a/pom.xml b/pom.xml
index 4fa70c84..150b61b3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
0.15.5
1.64
${maven.build.timestamp}
- 1.3.6
+ 1.3.7
3.6
1.8
1.2.2
diff --git a/src/main/java/org/qortal/api/resource/AtResource.java b/src/main/java/org/qortal/api/resource/AtResource.java
index 86b79da9..29a2344d 100644
--- a/src/main/java/org/qortal/api/resource/AtResource.java
+++ b/src/main/java/org/qortal/api/resource/AtResource.java
@@ -25,7 +25,6 @@ import org.qortal.api.ApiError;
import org.qortal.api.ApiErrors;
import org.qortal.api.ApiException;
import org.qortal.api.ApiExceptionFactory;
-import org.qortal.at.QortalAtLoggerFactory;
import org.qortal.data.at.ATData;
import org.qortal.data.at.ATStateData;
import org.qortal.data.transaction.DeployAtTransactionData;
@@ -147,8 +146,7 @@ public class AtResource {
ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);
byte[] stateData = atStateData.getStateData();
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
- byte[] dataBytes = MachineState.extractDataBytes(loggerFactory, stateData);
+ byte[] dataBytes = MachineState.extractDataBytes(stateData);
return dataBytes;
} catch (ApiException e) {
diff --git a/src/main/java/org/qortal/at/AT.java b/src/main/java/org/qortal/at/AT.java
index 368e3a97..5aba1b73 100644
--- a/src/main/java/org/qortal/at/AT.java
+++ b/src/main/java/org/qortal/at/AT.java
@@ -117,12 +117,8 @@ public class AT {
}
public void update(int blockHeight, long blockTimestamp) throws DataException {
- // [Re]create AT machine state using AT state data or from scratch as applicable
- QortalATAPI api = new QortalATAPI(repository, this.atData, blockTimestamp);
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
-
- byte[] codeBytes = this.atData.getCodeBytes();
- MachineState state = MachineState.fromBytes(api, loggerFactory, this.atStateData.getStateData(), codeBytes);
+ // Extract minimal/flags-only AT machine state using AT state data
+ MachineState state = MachineState.flagsOnlyfromBytes(this.atStateData.getStateData());
// Save latest AT state data
this.repository.getATRepository().save(this.atStateData);
@@ -151,12 +147,8 @@ public class AT {
if (previousStateData == null)
throw new DataException("Can't find previous AT state data for " + atAddress);
- // [Re]create AT machine state using AT state data or from scratch as applicable
- QortalATAPI api = new QortalATAPI(repository, this.atData, blockTimestamp);
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
-
- byte[] codeBytes = this.atData.getCodeBytes();
- MachineState state = MachineState.fromBytes(api, loggerFactory, previousStateData.getStateData(), codeBytes);
+ // Extract minimal/flags-only AT machine state using AT state data
+ MachineState state = MachineState.flagsOnlyfromBytes(previousStateData.getStateData());
// Update AT info in repository
this.atData.setIsSleeping(state.isSleeping());
diff --git a/src/test/java/org/qortal/test/at/GetMessageLengthTests.java b/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
index 730b441f..e7a7bcc4 100644
--- a/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
+++ b/src/test/java/org/qortal/test/at/GetMessageLengthTests.java
@@ -13,7 +13,6 @@ import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
-import org.qortal.at.QortalAtLoggerFactory;
import org.qortal.at.QortalFunctionCode;
import org.qortal.data.at.ATStateData;
import org.qortal.data.transaction.BaseTransactionData;
@@ -67,8 +66,7 @@ public class GetMessageLengthTests extends Common {
ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);
byte[] stateData = atStateData.getStateData();
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
- byte[] dataBytes = MachineState.extractDataBytes(loggerFactory, stateData);
+ byte[] dataBytes = MachineState.extractDataBytes(stateData);
long extractedLength = BitTwiddling.longFromBEBytes(dataBytes, 0);
@@ -88,8 +86,7 @@ public class GetMessageLengthTests extends Common {
ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);
byte[] stateData = atStateData.getStateData();
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
- byte[] dataBytes = MachineState.extractDataBytes(loggerFactory, stateData);
+ byte[] dataBytes = MachineState.extractDataBytes(stateData);
long extractedLength = BitTwiddling.longFromBEBytes(dataBytes, 0);
diff --git a/src/test/java/org/qortal/test/at/GetNextTransactionTests.java b/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
index eafc22fb..8bbce250 100644
--- a/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
+++ b/src/test/java/org/qortal/test/at/GetNextTransactionTests.java
@@ -15,7 +15,6 @@ import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
-import org.qortal.at.QortalAtLoggerFactory;
import org.qortal.block.Block;
import org.qortal.data.at.ATStateData;
import org.qortal.data.block.BlockData;
@@ -192,8 +191,7 @@ public class GetNextTransactionTests extends Common {
ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);
byte[] stateData = atStateData.getStateData();
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
- byte[] dataBytes = MachineState.extractDataBytes(loggerFactory, stateData);
+ byte[] dataBytes = MachineState.extractDataBytes(stateData);
System.arraycopy(dataBytes, 0, rawNextTimestamp, 0, rawNextTimestamp.length);
}
diff --git a/src/test/java/org/qortal/test/at/GetPartialMessageTests.java b/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
index 4bc9d9ea..0f9b188a 100644
--- a/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
+++ b/src/test/java/org/qortal/test/at/GetPartialMessageTests.java
@@ -12,7 +12,6 @@ import org.junit.Before;
import org.junit.Test;
import org.qortal.account.PrivateKeyAccount;
import org.qortal.asset.Asset;
-import org.qortal.at.QortalAtLoggerFactory;
import org.qortal.at.QortalFunctionCode;
import org.qortal.data.at.ATStateData;
import org.qortal.data.transaction.BaseTransactionData;
@@ -64,8 +63,7 @@ public class GetPartialMessageTests extends Common {
ATStateData atStateData = repository.getATRepository().getLatestATState(atAddress);
byte[] stateData = atStateData.getStateData();
- QortalAtLoggerFactory loggerFactory = QortalAtLoggerFactory.getInstance();
- byte[] dataBytes = MachineState.extractDataBytes(loggerFactory, stateData);
+ byte[] dataBytes = MachineState.extractDataBytes(stateData);
byte[] actualData = new byte[32];
System.arraycopy(dataBytes, MachineState.VALUE_SIZE, actualData, 0, 32);