mirror of
https://github.com/Qortal/qortal.git
synced 2025-07-23 04:36:50 +00:00
Added raw transaction layout API call to help build raw transactions.
Converted unwieldy tx-type switch statements to use reflection.
This commit is contained in:
@@ -5,11 +5,11 @@ import org.qora.asset.Asset;
|
||||
import org.qora.data.at.ATStateData;
|
||||
import org.qora.data.block.BlockData;
|
||||
import org.qora.data.block.BlockTransactionData;
|
||||
import org.qora.data.transaction.DeployATTransactionData;
|
||||
import org.qora.data.transaction.DeployAtTransactionData;
|
||||
import org.qora.repository.DataException;
|
||||
import org.qora.repository.Repository;
|
||||
import org.qora.repository.RepositoryManager;
|
||||
import org.qora.transaction.DeployATTransaction;
|
||||
import org.qora.transaction.DeployAtTransaction;
|
||||
import org.qora.transform.TransformationException;
|
||||
import org.qora.utils.Base58;
|
||||
|
||||
@@ -46,13 +46,13 @@ public class ATTests extends Common {
|
||||
byte[] reference = Base58.decode("2D3jX1pEgu6irsQ7QzJb85QP1D9M45dNyP5M9a3WFHndU5ZywF4F5pnUurcbzMnGMcTwpAY6H7DuLw8cUBU66ao1");
|
||||
byte[] signature = Base58.decode("2dZ4megUyNoYYY7qWmuSd4xw1yUKgPPF97yBbeddh8aKuC8PLpz7Xvf3r6Zjv1zwGrR8fEAHuaztCPD4KQp76KdL");
|
||||
|
||||
DeployATTransactionData transactionData = new DeployATTransactionData(creatorPublicKey, name, description, ATType, tags, creationBytes, amount,
|
||||
DeployAtTransactionData transactionData = new DeployAtTransactionData(creatorPublicKey, name, description, ATType, tags, creationBytes, amount,
|
||||
Asset.QORA, fee, timestamp, reference, signature);
|
||||
|
||||
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||
repository.getTransactionRepository().save(transactionData);
|
||||
|
||||
DeployATTransaction transaction = new DeployATTransaction(repository, transactionData);
|
||||
DeployAtTransaction transaction = new DeployAtTransaction(repository, transactionData);
|
||||
|
||||
// Fake entry for this transaction at block height 125598 if it doesn't already exist
|
||||
if (transaction.getHeight() == 0) {
|
||||
|
@@ -2,7 +2,7 @@ package org.qora.test;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.qora.data.transaction.TransactionData;
|
||||
import org.qora.transaction.CreateOrderTransaction;
|
||||
import org.qora.transaction.CreateAssetOrderTransaction;
|
||||
import org.qora.transaction.CreatePollTransaction;
|
||||
import org.qora.transaction.IssueAssetTransaction;
|
||||
import org.qora.transform.TransformationException;
|
||||
@@ -27,7 +27,7 @@ public class CompatibilityTests {
|
||||
|
||||
TransactionData transactionData = TransactionTransformer.fromBytes(rawTx);
|
||||
|
||||
CreateOrderTransaction transaction = new CreateOrderTransaction(null, transactionData);
|
||||
CreateAssetOrderTransaction transaction = new CreateAssetOrderTransaction(null, transactionData);
|
||||
assertTrue(transaction.isSignatureValid());
|
||||
}
|
||||
|
||||
|
@@ -143,7 +143,7 @@ public class SerializationTests extends Common {
|
||||
|
||||
@Test
|
||||
public void testMultiPaymentSerialization() throws TransformationException, DataException {
|
||||
testSpecificBlockTransactions(34500, TransactionType.MULTIPAYMENT);
|
||||
testSpecificBlockTransactions(34500, TransactionType.MULTI_PAYMENT);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -16,9 +16,9 @@ import org.qora.data.asset.TradeData;
|
||||
import org.qora.data.block.BlockData;
|
||||
import org.qora.data.naming.NameData;
|
||||
import org.qora.data.transaction.BuyNameTransactionData;
|
||||
import org.qora.data.transaction.CancelOrderTransactionData;
|
||||
import org.qora.data.transaction.CancelAssetOrderTransactionData;
|
||||
import org.qora.data.transaction.CancelSellNameTransactionData;
|
||||
import org.qora.data.transaction.CreateOrderTransactionData;
|
||||
import org.qora.data.transaction.CreateAssetOrderTransactionData;
|
||||
import org.qora.data.transaction.CreatePollTransactionData;
|
||||
import org.qora.data.transaction.IssueAssetTransactionData;
|
||||
import org.qora.data.transaction.MessageTransactionData;
|
||||
@@ -41,9 +41,9 @@ import org.qora.repository.RepositoryManager;
|
||||
import org.qora.repository.hsqldb.HSQLDBRepositoryFactory;
|
||||
import org.qora.settings.Settings;
|
||||
import org.qora.transaction.BuyNameTransaction;
|
||||
import org.qora.transaction.CancelOrderTransaction;
|
||||
import org.qora.transaction.CancelAssetOrderTransaction;
|
||||
import org.qora.transaction.CancelSellNameTransaction;
|
||||
import org.qora.transaction.CreateOrderTransaction;
|
||||
import org.qora.transaction.CreateAssetOrderTransaction;
|
||||
import org.qora.transaction.CreatePollTransaction;
|
||||
import org.qora.transaction.IssueAssetTransaction;
|
||||
import org.qora.transaction.MessageTransaction;
|
||||
@@ -816,9 +816,9 @@ public class TransactionTests {
|
||||
BigDecimal fee = BigDecimal.ONE;
|
||||
long timestamp = parentBlockData.getTimestamp() + 1_000;
|
||||
|
||||
CreateOrderTransactionData createOrderTransactionData = new CreateOrderTransactionData(buyer.getPublicKey(), haveAssetId, wantAssetId, amount, price,
|
||||
CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(buyer.getPublicKey(), haveAssetId, wantAssetId, amount, price,
|
||||
fee, timestamp, buyersReference);
|
||||
Transaction createOrderTransaction = new CreateOrderTransaction(this.repository, createOrderTransactionData);
|
||||
Transaction createOrderTransaction = new CreateAssetOrderTransaction(this.repository, createOrderTransactionData);
|
||||
createOrderTransaction.sign(buyer);
|
||||
assertTrue(createOrderTransaction.isSignatureValid());
|
||||
assertEquals(ValidationResult.OK, createOrderTransaction.isValid());
|
||||
@@ -897,9 +897,9 @@ public class TransactionTests {
|
||||
BigDecimal fee = BigDecimal.ONE;
|
||||
long timestamp = parentBlockData.getTimestamp() + 1_000;
|
||||
byte[] buyersReference = buyer.getLastReference();
|
||||
CancelOrderTransactionData cancelOrderTransactionData = new CancelOrderTransactionData(buyer.getPublicKey(), orderId, fee, timestamp, buyersReference);
|
||||
CancelAssetOrderTransactionData cancelOrderTransactionData = new CancelAssetOrderTransactionData(buyer.getPublicKey(), orderId, fee, timestamp, buyersReference);
|
||||
|
||||
Transaction cancelOrderTransaction = new CancelOrderTransaction(this.repository, cancelOrderTransactionData);
|
||||
Transaction cancelOrderTransaction = new CancelAssetOrderTransaction(this.repository, cancelOrderTransactionData);
|
||||
cancelOrderTransaction.sign(buyer);
|
||||
assertTrue(cancelOrderTransaction.isSignatureValid());
|
||||
assertEquals(ValidationResult.OK, cancelOrderTransaction.isValid());
|
||||
@@ -972,9 +972,9 @@ public class TransactionTests {
|
||||
long timestamp = parentBlockData.getTimestamp() + 1_000;
|
||||
BigDecimal senderPreTradeWantBalance = sender.getConfirmedBalance(wantAssetId);
|
||||
|
||||
CreateOrderTransactionData createOrderTransactionData = new CreateOrderTransactionData(sender.getPublicKey(), haveAssetId, wantAssetId, amount, price,
|
||||
CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(sender.getPublicKey(), haveAssetId, wantAssetId, amount, price,
|
||||
fee, timestamp, reference);
|
||||
Transaction createOrderTransaction = new CreateOrderTransaction(this.repository, createOrderTransactionData);
|
||||
Transaction createOrderTransaction = new CreateAssetOrderTransaction(this.repository, createOrderTransactionData);
|
||||
createOrderTransaction.sign(sender);
|
||||
assertTrue(createOrderTransaction.isSignatureValid());
|
||||
assertEquals(ValidationResult.OK, createOrderTransaction.isValid());
|
||||
|
Reference in New Issue
Block a user