Browse Source

Treat service as an int in ArbitraryTransactionData

qdn-on-chain-data
CalDescent 2 years ago
parent
commit
2bee3cbb5c
  1. 2
      src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java
  2. 6
      src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java
  3. 8
      src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java
  4. 4
      src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java
  5. 2
      src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java
  6. 2
      src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java

2
src/main/java/org/qortal/arbitrary/ArbitraryDataTransactionBuilder.java

@ -274,7 +274,7 @@ public class ArbitraryDataTransactionBuilder {
final List<PaymentData> payments = new ArrayList<>();
ArbitraryTransactionData transactionData = new ArbitraryTransactionData(baseTransactionData,
version, service, nonce, size, name, identifier, method,
version, service.value, nonce, size, name, identifier, method,
secret, compression, digest, dataType, metadataHash, payments);
this.arbitraryTransactionData = transactionData;

6
src/main/java/org/qortal/data/transaction/ArbitraryTransactionData.java

@ -73,7 +73,7 @@ public class ArbitraryTransactionData extends TransactionData {
@Schema(example = "sender_public_key")
private byte[] senderPublicKey;
private Service service;
private int service;
private int nonce;
private int size;
@ -103,7 +103,7 @@ public class ArbitraryTransactionData extends TransactionData {
}
public ArbitraryTransactionData(BaseTransactionData baseTransactionData,
int version, Service service, int nonce, int size,
int version, int service, int nonce, int size,
String name, String identifier, Method method, byte[] secret, Compression compression,
byte[] data, DataType dataType, byte[] metadataHash, List<PaymentData> payments) {
super(TransactionType.ARBITRARY, baseTransactionData);
@ -135,7 +135,7 @@ public class ArbitraryTransactionData extends TransactionData {
}
public Service getService() {
return this.service;
return Service.valueOf(this.service);
}
public int getNonce() {

8
src/main/java/org/qortal/repository/hsqldb/HSQLDBArbitraryRepository.java

@ -202,7 +202,7 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository {
int version = resultSet.getInt(11);
int nonce = resultSet.getInt(12);
Service serviceResult = Service.valueOf(resultSet.getInt(13));
int serviceInt = resultSet.getInt(13);
int size = resultSet.getInt(14);
boolean isDataRaw = resultSet.getBoolean(15); // NOT NULL, so no null to false
DataType dataType = isDataRaw ? DataType.RAW_DATA : DataType.DATA_HASH;
@ -216,7 +216,7 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository {
// FUTURE: get payments from signature if needed. Avoiding for now to reduce database calls.
ArbitraryTransactionData transactionData = new ArbitraryTransactionData(baseTransactionData,
version, serviceResult, nonce, size, nameResult, identifierResult, method, secret,
version, serviceInt, nonce, size, nameResult, identifierResult, method, secret,
compression, data, dataType, metadataHash, null);
arbitraryTransactionData.add(transactionData);
@ -277,7 +277,7 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository {
int version = resultSet.getInt(11);
int nonce = resultSet.getInt(12);
Service serviceResult = Service.valueOf(resultSet.getInt(13));
int serviceInt = resultSet.getInt(13);
int size = resultSet.getInt(14);
boolean isDataRaw = resultSet.getBoolean(15); // NOT NULL, so no null to false
DataType dataType = isDataRaw ? DataType.RAW_DATA : DataType.DATA_HASH;
@ -291,7 +291,7 @@ public class HSQLDBArbitraryRepository implements ArbitraryRepository {
// FUTURE: get payments from signature if needed. Avoiding for now to reduce database calls.
ArbitraryTransactionData transactionData = new ArbitraryTransactionData(baseTransactionData,
version, serviceResult, nonce, size, nameResult, identifierResult, methodResult, secret,
version, serviceInt, nonce, size, nameResult, identifierResult, methodResult, secret,
compression, data, dataType, metadataHash, null);
return transactionData;

4
src/main/java/org/qortal/repository/hsqldb/transaction/HSQLDBArbitraryTransactionRepository.java

@ -31,7 +31,7 @@ public class HSQLDBArbitraryTransactionRepository extends HSQLDBTransactionRepos
int version = resultSet.getInt(1);
int nonce = resultSet.getInt(2);
Service service = Service.valueOf(resultSet.getInt(3));
int serviceInt = resultSet.getInt(3);
int size = resultSet.getInt(4);
boolean isDataRaw = resultSet.getBoolean(5); // NOT NULL, so no null to false
DataType dataType = isDataRaw ? DataType.RAW_DATA : DataType.DATA_HASH;
@ -44,7 +44,7 @@ public class HSQLDBArbitraryTransactionRepository extends HSQLDBTransactionRepos
ArbitraryTransactionData.Compression compression = ArbitraryTransactionData.Compression.valueOf(resultSet.getInt(12));
List<PaymentData> payments = this.getPaymentsFromSignature(baseTransactionData.getSignature());
return new ArbitraryTransactionData(baseTransactionData, version, service, nonce, size, name,
return new ArbitraryTransactionData(baseTransactionData, version, serviceInt, nonce, size, name,
identifier, method, secret, compression, data, dataType, metadataHash, payments);
} catch (SQLException e) {
throw new DataException("Unable to fetch arbitrary transaction from repository", e);

2
src/main/java/org/qortal/transform/transaction/ArbitraryTransactionTransformer.java

@ -131,7 +131,7 @@ public class ArbitraryTransactionTransformer extends TransactionTransformer {
payments.add(PaymentTransformer.fromByteBuffer(byteBuffer));
}
Service service = Service.valueOf(byteBuffer.getInt());
int service = byteBuffer.getInt();
// We might be receiving hash of data instead of actual raw data
boolean isRaw = byteBuffer.get() != 0;

2
src/test/java/org/qortal/test/common/transaction/ArbitraryTestTransaction.java

@ -45,7 +45,7 @@ public class ArbitraryTestTransaction extends TestTransaction {
List<PaymentData> payments = new ArrayList<>();
payments.add(new PaymentData(recipient, assetId, amount));
return new ArbitraryTransactionData(generateBase(account), version, service, nonce, size,name, identifier,
return new ArbitraryTransactionData(generateBase(account), version, service.value, nonce, size,name, identifier,
method, secret, compression, data, dataType, metadataHash, payments);
}

Loading…
Cancel
Save