diff --git a/src/main/java/org/qora/at/QoraATAPI.java b/src/main/java/org/qora/at/QoraATAPI.java index 7a32a64c..f0cdd69f 100644 --- a/src/main/java/org/qora/at/QoraATAPI.java +++ b/src/main/java/org/qora/at/QoraATAPI.java @@ -14,12 +14,14 @@ import org.ciyam.at.MachineState; import org.ciyam.at.OpCode; import org.ciyam.at.Timestamp; import org.qora.account.Account; +import org.qora.account.GenesisAccount; import org.qora.account.PublicKeyAccount; import org.qora.asset.Asset; import org.qora.crypto.Crypto; import org.qora.data.at.ATData; import org.qora.data.block.BlockData; import org.qora.data.transaction.ATTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.MessageTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.group.Group; @@ -268,8 +270,9 @@ public class QoraATAPI extends API { byte[] reference = this.getLastReference(); BigDecimal amount = BigDecimal.valueOf(unscaledAmount, 8); - ATTransactionData atTransactionData = new ATTransactionData(timestamp, Group.NO_GROUP, reference, this.atData.getATAddress(), - recipient.getAddress(), amount, this.atData.getAssetId(), new byte[0], BigDecimal.ZERO.setScale(8)); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, GenesisAccount.PUBLIC_KEY, BigDecimal.ZERO, null); + ATTransactionData atTransactionData = new ATTransactionData(baseTransactionData, this.atData.getATAddress(), + recipient.getAddress(), amount, this.atData.getAssetId(), new byte[0]); AtTransaction atTransaction = new AtTransaction(this.repository, atTransactionData); // Add to our transactions @@ -286,8 +289,9 @@ public class QoraATAPI extends API { long timestamp = this.getNextTransactionTimestamp(); byte[] reference = this.getLastReference(); - ATTransactionData atTransactionData = new ATTransactionData(timestamp, Group.NO_GROUP, reference, - this.atData.getATAddress(), recipient.getAddress(), BigDecimal.ZERO, this.atData.getAssetId(), message, BigDecimal.ZERO.setScale(8)); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, GenesisAccount.PUBLIC_KEY, BigDecimal.ZERO, null); + ATTransactionData atTransactionData = new ATTransactionData(baseTransactionData, this.atData.getATAddress(), + recipient.getAddress(), BigDecimal.ZERO, this.atData.getAssetId(), message); AtTransaction atTransaction = new AtTransaction(this.repository, atTransactionData); // Add to our transactions @@ -312,8 +316,9 @@ public class QoraATAPI extends API { byte[] reference = this.getLastReference(); BigDecimal amount = BigDecimal.valueOf(finalBalance, 8); - ATTransactionData atTransactionData = new ATTransactionData(timestamp, Group.NO_GROUP, reference, this.atData.getATAddress(), - creator.getAddress(), amount, this.atData.getAssetId(), new byte[0], BigDecimal.ZERO.setScale(8)); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, GenesisAccount.PUBLIC_KEY, BigDecimal.ZERO, null); + ATTransactionData atTransactionData = new ATTransactionData(baseTransactionData, this.atData.getATAddress(), + creator.getAddress(), amount, this.atData.getAssetId(), new byte[0]); AtTransaction atTransaction = new AtTransaction(this.repository, atTransactionData); // Add to our transactions diff --git a/src/main/java/org/qora/data/transaction/DeployAtTransactionData.java b/src/main/java/org/qora/data/transaction/DeployAtTransactionData.java index 7cc6f80d..58634a21 100644 --- a/src/main/java/org/qora/data/transaction/DeployAtTransactionData.java +++ b/src/main/java/org/qora/data/transaction/DeployAtTransactionData.java @@ -31,6 +31,7 @@ public class DeployAtTransactionData extends TransactionData { super(TransactionType.DEPLOY_AT); } + /** From repository */ public DeployAtTransactionData(BaseTransactionData baseTransactionData, String aTAddress, String name, String description, String aTType, String tags, byte[] creationBytes, BigDecimal amount, long assetId) { super(TransactionType.DEPLOY_AT, baseTransactionData); @@ -45,6 +46,12 @@ public class DeployAtTransactionData extends TransactionData { this.assetId = assetId; } + /** From network/API */ + public DeployAtTransactionData(BaseTransactionData baseTransactionData, + String name, String description, String aTType, String tags, byte[] creationBytes, BigDecimal amount, long assetId) { + this(baseTransactionData, null, name, description, aTType, tags, creationBytes, amount, assetId); + } + // Getters/Setters public String getName() { diff --git a/src/main/java/org/qora/transform/transaction/AccountFlagsTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/AccountFlagsTransactionTransformer.java index fd892fd1..1f5347c8 100644 --- a/src/main/java/org/qora/transform/transaction/AccountFlagsTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/AccountFlagsTransactionTransformer.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import org.qora.block.BlockChain; import org.qora.data.transaction.AccountFlagsTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; import org.qora.transform.TransformationException; @@ -64,7 +65,9 @@ public class AccountFlagsTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new AccountFlagsTransactionData(timestamp, txGroupId, reference, creatorPublicKey, target, andMask, orMask, xorMask, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new AccountFlagsTransactionData(baseTransactionData, target, andMask, orMask, xorMask); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/AddGroupAdminTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/AddGroupAdminTransactionTransformer.java index a2595684..3f4a10b5 100644 --- a/src/main/java/org/qora/transform/transaction/AddGroupAdminTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/AddGroupAdminTransactionTransformer.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import org.qora.block.BlockChain; import org.qora.data.transaction.AddGroupAdminTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; import org.qora.transform.TransformationException; @@ -58,7 +59,9 @@ public class AddGroupAdminTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new AddGroupAdminTransactionData(timestamp, txGroupId, reference, ownerPublicKey, groupId, member, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new AddGroupAdminTransactionData(baseTransactionData, groupId, member); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/ArbitraryTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/ArbitraryTransactionTransformer.java index 05f514c8..d5d6bb97 100644 --- a/src/main/java/org/qora/transform/transaction/ArbitraryTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/ArbitraryTransactionTransformer.java @@ -12,6 +12,7 @@ import org.qora.block.BlockChain; import org.qora.crypto.Crypto; import org.qora.data.PaymentData; import org.qora.data.transaction.ArbitraryTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.data.transaction.ArbitraryTransactionData.DataType; import org.qora.transaction.ArbitraryTransaction; @@ -90,8 +91,9 @@ public class ArbitraryTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new ArbitraryTransactionData(timestamp, txGroupId, reference, senderPublicKey, version, service, data, DataType.RAW_DATA, payments, fee, - signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, signature); + + return new ArbitraryTransactionData(baseTransactionData, version, service, data, DataType.RAW_DATA, payments); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/BuyNameTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/BuyNameTransactionTransformer.java index 8c895dbc..3e5be88d 100644 --- a/src/main/java/org/qora/transform/transaction/BuyNameTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/BuyNameTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.BuyNameTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.naming.Name; @@ -64,7 +65,9 @@ public class BuyNameTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new BuyNameTransactionData(timestamp, txGroupId, reference, buyerPublicKey, name, amount, seller, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, buyerPublicKey, fee, signature); + + return new BuyNameTransactionData(baseTransactionData, name, amount, seller); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CancelAssetOrderTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CancelAssetOrderTransactionTransformer.java index b653941a..4deb397f 100644 --- a/src/main/java/org/qora/transform/transaction/CancelAssetOrderTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CancelAssetOrderTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CancelAssetOrderTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -53,7 +54,9 @@ public class CancelAssetOrderTransactionTransformer extends TransactionTransform byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CancelAssetOrderTransactionData(timestamp, txGroupId, reference, creatorPublicKey, orderId, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new CancelAssetOrderTransactionData(baseTransactionData, orderId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CancelGroupBanTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CancelGroupBanTransactionTransformer.java index 4a2317fa..376f43d7 100644 --- a/src/main/java/org/qora/transform/transaction/CancelGroupBanTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CancelGroupBanTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CancelGroupBanTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -58,7 +59,9 @@ public class CancelGroupBanTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CancelGroupBanTransactionData(timestamp, txGroupId, reference, adminPublicKey, groupId, member, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new CancelGroupBanTransactionData(baseTransactionData, groupId, member); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CancelGroupInviteTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CancelGroupInviteTransactionTransformer.java index 6c702d7d..43ae347e 100644 --- a/src/main/java/org/qora/transform/transaction/CancelGroupInviteTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CancelGroupInviteTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CancelGroupInviteTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -58,7 +59,9 @@ public class CancelGroupInviteTransactionTransformer extends TransactionTransfor byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CancelGroupInviteTransactionData(timestamp, txGroupId, reference, adminPublicKey, groupId, invitee, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new CancelGroupInviteTransactionData(baseTransactionData, groupId, invitee); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CancelSellNameTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CancelSellNameTransactionTransformer.java index 15fa07cc..3ffabae6 100644 --- a/src/main/java/org/qora/transform/transaction/CancelSellNameTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CancelSellNameTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CancelSellNameTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.naming.Name; @@ -56,7 +57,9 @@ public class CancelSellNameTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CancelSellNameTransactionData(timestamp, txGroupId, reference, ownerPublicKey, name, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new CancelSellNameTransactionData(baseTransactionData, name); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CreateAssetOrderTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CreateAssetOrderTransactionTransformer.java index 5949dab0..27e8a948 100644 --- a/src/main/java/org/qora/transform/transaction/CreateAssetOrderTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CreateAssetOrderTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CreateAssetOrderTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -65,7 +66,9 @@ public class CreateAssetOrderTransactionTransformer extends TransactionTransform byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CreateAssetOrderTransactionData(timestamp, txGroupId, reference, creatorPublicKey, haveAssetId, wantAssetId, amount, price, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new CreateAssetOrderTransactionData(baseTransactionData, haveAssetId, wantAssetId, amount, price); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CreateGroupTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CreateGroupTransactionTransformer.java index 24705d7b..0bf6f681 100644 --- a/src/main/java/org/qora/transform/transaction/CreateGroupTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CreateGroupTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CreateGroupTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.group.Group; @@ -80,8 +81,9 @@ public class CreateGroupTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CreateGroupTransactionData(timestamp, txGroupId, reference, creatorPublicKey, owner, groupName, description, isOpen, approvalThreshold, - minBlockDelay, maxBlockDelay, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new CreateGroupTransactionData(baseTransactionData, owner, groupName, description, isOpen, approvalThreshold, minBlockDelay, maxBlockDelay); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/CreatePollTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/CreatePollTransactionTransformer.java index 9175ad64..f727bf95 100644 --- a/src/main/java/org/qora/transform/transaction/CreatePollTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/CreatePollTransactionTransformer.java @@ -8,6 +8,7 @@ import java.util.ArrayList; import java.util.List; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CreatePollTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.data.voting.PollOptionData; @@ -90,7 +91,9 @@ public class CreatePollTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new CreatePollTransactionData(timestamp, txGroupId, reference, creatorPublicKey, owner, pollName, description, pollOptions, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new CreatePollTransactionData(baseTransactionData, owner, pollName, description, pollOptions); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/DeployAtTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/DeployAtTransactionTransformer.java index 6621aec9..b4640cb4 100644 --- a/src/main/java/org/qora/transform/transaction/DeployAtTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/DeployAtTransactionTransformer.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import org.qora.asset.Asset; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.DeployAtTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.DeployAtTransaction; @@ -95,8 +96,9 @@ public class DeployAtTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new DeployAtTransactionData(timestamp, txGroupId, reference, creatorPublicKey, name, description, ATType, tags, creationBytes, amount, assetId, - fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new DeployAtTransactionData(baseTransactionData, name, description, ATType, tags, creationBytes, amount, assetId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/EnableForgingTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/EnableForgingTransactionTransformer.java index d155e9dd..eb00826a 100644 --- a/src/main/java/org/qora/transform/transaction/EnableForgingTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/EnableForgingTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.EnableForgingTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -52,7 +53,9 @@ public class EnableForgingTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new EnableForgingTransactionData(timestamp, txGroupId, reference, creatorPublicKey, target, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new EnableForgingTransactionData(baseTransactionData, target); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/GenesisTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/GenesisTransactionTransformer.java index 23e7eb60..dfc9577d 100644 --- a/src/main/java/org/qora/transform/transaction/GenesisTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/GenesisTransactionTransformer.java @@ -5,10 +5,13 @@ import java.io.IOException; import java.math.BigDecimal; import java.nio.ByteBuffer; +import org.qora.account.GenesisAccount; import org.qora.asset.Asset; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.GenesisTransactionData; import org.qora.data.transaction.TransactionData; +import org.qora.group.Group; import org.qora.transaction.Transaction.TransactionType; import org.qora.transform.TransformationException; import org.qora.utils.Serialization; @@ -48,7 +51,9 @@ public class GenesisTransactionTransformer extends TransactionTransformer { if (timestamp >= BlockChain.getInstance().getQoraV2Timestamp()) assetId = byteBuffer.getLong(); - return new GenesisTransactionData(timestamp, recipient, amount, assetId); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, null, GenesisAccount.PUBLIC_KEY, BigDecimal.ZERO, null); + + return new GenesisTransactionData(baseTransactionData, recipient, amount, assetId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/GroupApprovalTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/GroupApprovalTransactionTransformer.java index 75542bb0..17ef959b 100644 --- a/src/main/java/org/qora/transform/transaction/GroupApprovalTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/GroupApprovalTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.GroupApprovalTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -57,7 +58,9 @@ public class GroupApprovalTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new GroupApprovalTransactionData(timestamp, txGroupId, reference, adminPublicKey, pendingSignature, approval, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new GroupApprovalTransactionData(baseTransactionData, pendingSignature, approval); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/GroupBanTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/GroupBanTransactionTransformer.java index b7cf1920..5d022d1a 100644 --- a/src/main/java/org/qora/transform/transaction/GroupBanTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/GroupBanTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.GroupBanTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.group.Group; @@ -69,7 +70,9 @@ public class GroupBanTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new GroupBanTransactionData(timestamp, txGroupId, reference, adminPublicKey, groupId, offender, reason, timeToLive, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new GroupBanTransactionData(baseTransactionData, groupId, offender, reason, timeToLive); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/GroupInviteTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/GroupInviteTransactionTransformer.java index 87677553..3461970f 100644 --- a/src/main/java/org/qora/transform/transaction/GroupInviteTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/GroupInviteTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.GroupInviteTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -62,7 +63,9 @@ public class GroupInviteTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new GroupInviteTransactionData(timestamp, txGroupId, reference, adminPublicKey, groupId, invitee, timeToLive, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new GroupInviteTransactionData(baseTransactionData, groupId, invitee, timeToLive); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/GroupKickTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/GroupKickTransactionTransformer.java index db6241c6..9628a556 100644 --- a/src/main/java/org/qora/transform/transaction/GroupKickTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/GroupKickTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.GroupKickTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.group.Group; @@ -65,7 +66,9 @@ public class GroupKickTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new GroupKickTransactionData(timestamp, txGroupId, reference, adminPublicKey, groupId, member, reason, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, adminPublicKey, fee, signature); + + return new GroupKickTransactionData(baseTransactionData, groupId, member, reason); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/IssueAssetTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/IssueAssetTransactionTransformer.java index fc261776..7c0454f9 100644 --- a/src/main/java/org/qora/transform/transaction/IssueAssetTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/IssueAssetTransactionTransformer.java @@ -8,6 +8,7 @@ import java.util.Arrays; import org.qora.asset.Asset; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.IssueAssetTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -91,8 +92,9 @@ public class IssueAssetTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new IssueAssetTransactionData(timestamp, txGroupId, reference, issuerPublicKey, owner, assetName, - description, quantity, isDivisible, data, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, issuerPublicKey, fee, signature); + + return new IssueAssetTransactionData(baseTransactionData, owner, assetName, description, quantity, isDivisible, data); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/JoinGroupTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/JoinGroupTransactionTransformer.java index 5728eadc..d585612e 100644 --- a/src/main/java/org/qora/transform/transaction/JoinGroupTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/JoinGroupTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.JoinGroupTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -54,7 +55,9 @@ public class JoinGroupTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new JoinGroupTransactionData(timestamp, txGroupId, reference, joinerPublicKey, groupId, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, joinerPublicKey, fee, signature); + + return new JoinGroupTransactionData(baseTransactionData, groupId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/LeaveGroupTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/LeaveGroupTransactionTransformer.java index 3bee73f0..6207c338 100644 --- a/src/main/java/org/qora/transform/transaction/LeaveGroupTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/LeaveGroupTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.LeaveGroupTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -54,7 +55,9 @@ public class LeaveGroupTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new LeaveGroupTransactionData(timestamp, txGroupId, reference, leaverPublicKey, groupId, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, leaverPublicKey, fee, signature); + + return new LeaveGroupTransactionData(baseTransactionData, groupId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/MessageTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/MessageTransactionTransformer.java index d8f43e2f..8209d0ce 100644 --- a/src/main/java/org/qora/transform/transaction/MessageTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/MessageTransactionTransformer.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import org.qora.asset.Asset; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.MessageTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.MessageTransaction; @@ -90,8 +91,9 @@ public class MessageTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new MessageTransactionData(timestamp, txGroupId, reference, senderPublicKey, version, recipient, assetId, amount, data, isText, isEncrypted, fee, - signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, signature); + + return new MessageTransactionData(baseTransactionData, version, recipient, assetId, amount, data, isText, isEncrypted); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/MultiPaymentTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/MultiPaymentTransactionTransformer.java index 26ab08b1..8bfb00c7 100644 --- a/src/main/java/org/qora/transform/transaction/MultiPaymentTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/MultiPaymentTransactionTransformer.java @@ -10,6 +10,7 @@ import java.util.List; import org.qora.block.BlockChain; import org.qora.data.PaymentData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.MultiPaymentTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -66,7 +67,9 @@ public class MultiPaymentTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new MultiPaymentTransactionData(timestamp, txGroupId, reference, senderPublicKey, payments, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, signature); + + return new MultiPaymentTransactionData(baseTransactionData, payments); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/PaymentTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/PaymentTransactionTransformer.java index a3ca39b5..a6ed003b 100644 --- a/src/main/java/org/qora/transform/transaction/PaymentTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/PaymentTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.PaymentTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -56,7 +57,9 @@ public class PaymentTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new PaymentTransactionData(timestamp, txGroupId, reference, senderPublicKey, recipient, amount, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, signature); + + return new PaymentTransactionData(baseTransactionData, recipient, amount); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/RegisterNameTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/RegisterNameTransactionTransformer.java index 39aad278..62d5427e 100644 --- a/src/main/java/org/qora/transform/transaction/RegisterNameTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/RegisterNameTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.RegisterNameTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.naming.Name; @@ -65,7 +66,9 @@ public class RegisterNameTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new RegisterNameTransactionData(timestamp, txGroupId, reference, registrantPublicKey, owner, name, data, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, registrantPublicKey, fee, signature); + + return new RegisterNameTransactionData(baseTransactionData, owner, name, data); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/RemoveGroupAdminTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/RemoveGroupAdminTransactionTransformer.java index 99fd991f..1926dfd2 100644 --- a/src/main/java/org/qora/transform/transaction/RemoveGroupAdminTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/RemoveGroupAdminTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.RemoveGroupAdminTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -58,7 +59,9 @@ public class RemoveGroupAdminTransactionTransformer extends TransactionTransform byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new RemoveGroupAdminTransactionData(timestamp, txGroupId, reference, ownerPublicKey, groupId, admin, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new RemoveGroupAdminTransactionData(baseTransactionData, groupId, admin); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/SellNameTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/SellNameTransactionTransformer.java index 63a0663a..a6ac366d 100644 --- a/src/main/java/org/qora/transform/transaction/SellNameTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/SellNameTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.SellNameTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.naming.Name; @@ -60,7 +61,9 @@ public class SellNameTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new SellNameTransactionData(timestamp, txGroupId, reference, ownerPublicKey, name, amount, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new SellNameTransactionData(baseTransactionData, name, amount); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/SetGroupTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/SetGroupTransactionTransformer.java index 1faf1c29..f770da27 100644 --- a/src/main/java/org/qora/transform/transaction/SetGroupTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/SetGroupTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.SetGroupTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -54,7 +55,9 @@ public class SetGroupTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new SetGroupTransactionData(timestamp, txGroupId, reference, creatorPublicKey, defaultGroupId, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, signature); + + return new SetGroupTransactionData(baseTransactionData, defaultGroupId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/TransferAssetTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/TransferAssetTransactionTransformer.java index 6918a217..6f112772 100644 --- a/src/main/java/org/qora/transform/transaction/TransferAssetTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/TransferAssetTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.data.transaction.TransferAssetTransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -61,7 +62,9 @@ public class TransferAssetTransactionTransformer extends TransactionTransformer byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new TransferAssetTransactionData(timestamp, txGroupId, reference, senderPublicKey, recipient, amount, assetId, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, signature); + + return new TransferAssetTransactionData(baseTransactionData, recipient, amount, assetId); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/UpdateAssetTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/UpdateAssetTransactionTransformer.java index 486d2f51..ba9112a9 100644 --- a/src/main/java/org/qora/transform/transaction/UpdateAssetTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/UpdateAssetTransactionTransformer.java @@ -8,6 +8,7 @@ import java.nio.ByteBuffer; import org.qora.asset.Asset; import org.qora.block.BlockChain; import org.qora.data.transaction.UpdateAssetTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.transaction.Transaction.TransactionType; import org.qora.transform.TransformationException; @@ -71,8 +72,9 @@ public class UpdateAssetTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new UpdateAssetTransactionData(timestamp, txGroupId, reference, ownerPublicKey, assetId, newOwner, - newDescription, newData, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new UpdateAssetTransactionData(baseTransactionData, assetId, newOwner, newDescription, newData); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/UpdateGroupTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/UpdateGroupTransactionTransformer.java index 06914a6d..8a6d26fb 100644 --- a/src/main/java/org/qora/transform/transaction/UpdateGroupTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/UpdateGroupTransactionTransformer.java @@ -7,6 +7,7 @@ import java.nio.ByteBuffer; import org.qora.block.BlockChain; import org.qora.data.transaction.UpdateGroupTransactionData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.group.Group; import org.qora.group.Group.ApprovalThreshold; @@ -83,8 +84,10 @@ public class UpdateGroupTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new UpdateGroupTransactionData(timestamp, txGroupId, reference, ownerPublicKey, groupId, newOwner, newDescription, newIsOpen, - newApprovalThreshold, newMinBlockDelay, newMaxBlockDelay, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new UpdateGroupTransactionData(baseTransactionData, groupId, newOwner, newDescription, newIsOpen, + newApprovalThreshold, newMinBlockDelay, newMaxBlockDelay); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/UpdateNameTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/UpdateNameTransactionTransformer.java index 4db37fae..93d165c2 100644 --- a/src/main/java/org/qora/transform/transaction/UpdateNameTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/UpdateNameTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.data.transaction.UpdateNameTransactionData; import org.qora.naming.Name; @@ -65,7 +66,9 @@ public class UpdateNameTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new UpdateNameTransactionData(timestamp, txGroupId, reference, ownerPublicKey, newOwner, name, newData, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, ownerPublicKey, fee, signature); + + return new UpdateNameTransactionData(baseTransactionData, newOwner, name, newData); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/main/java/org/qora/transform/transaction/VoteOnPollTransactionTransformer.java b/src/main/java/org/qora/transform/transaction/VoteOnPollTransactionTransformer.java index 2f0b8ed4..03f9d61a 100644 --- a/src/main/java/org/qora/transform/transaction/VoteOnPollTransactionTransformer.java +++ b/src/main/java/org/qora/transform/transaction/VoteOnPollTransactionTransformer.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.nio.ByteBuffer; import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.TransactionData; import org.qora.data.transaction.VoteOnPollTransactionData; import org.qora.transaction.Transaction.TransactionType; @@ -63,7 +64,9 @@ public class VoteOnPollTransactionTransformer extends TransactionTransformer { byte[] signature = new byte[SIGNATURE_LENGTH]; byteBuffer.get(signature); - return new VoteOnPollTransactionData(timestamp, txGroupId, reference, voterPublicKey, pollName, optionIndex, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, voterPublicKey, fee, signature); + + return new VoteOnPollTransactionData(baseTransactionData, pollName, optionIndex); } public static int getDataLength(TransactionData transactionData) throws TransformationException { diff --git a/src/test/java/org/qora/test/ATTests.java b/src/test/java/org/qora/test/ATTests.java index b13388f3..3e5e8592 100644 --- a/src/test/java/org/qora/test/ATTests.java +++ b/src/test/java/org/qora/test/ATTests.java @@ -5,6 +5,7 @@ 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.BaseTransactionData; import org.qora.data.transaction.DeployAtTransactionData; import org.qora.group.Group; import org.qora.repository.DataException; @@ -48,8 +49,8 @@ public class ATTests extends Common { byte[] reference = Base58.decode("2D3jX1pEgu6irsQ7QzJb85QP1D9M45dNyP5M9a3WFHndU5ZywF4F5pnUurcbzMnGMcTwpAY6H7DuLw8cUBU66ao1"); byte[] signature = Base58.decode("2dZ4megUyNoYYY7qWmuSd4xw1yUKgPPF97yBbeddh8aKuC8PLpz7Xvf3r6Zjv1zwGrR8fEAHuaztCPD4KQp76KdL"); - DeployAtTransactionData transactionData = new DeployAtTransactionData(timestamp, Group.NO_GROUP, reference, creatorPublicKey, name, description, ATType, - tags, creationBytes, amount, Asset.QORA, fee, signature); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, creatorPublicKey, fee, signature); + DeployAtTransactionData transactionData = new DeployAtTransactionData(baseTransactionData, name, description, ATType, tags, creationBytes, amount, Asset.QORA); try (final Repository repository = RepositoryManager.getRepository()) { repository.getTransactionRepository().save(transactionData); diff --git a/src/test/java/org/qora/test/GroupApprovalTests.java b/src/test/java/org/qora/test/GroupApprovalTests.java index 5f211db3..5144d171 100644 --- a/src/test/java/org/qora/test/GroupApprovalTests.java +++ b/src/test/java/org/qora/test/GroupApprovalTests.java @@ -4,6 +4,7 @@ import org.junit.Test; import org.qora.account.PrivateKeyAccount; import org.qora.block.BlockChain; import org.qora.block.BlockGenerator; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CreateGroupTransactionData; import org.qora.data.transaction.PaymentTransactionData; import org.qora.data.transaction.TransactionData; @@ -50,7 +51,8 @@ public class GroupApprovalTests extends Common { BigDecimal amount = BigDecimal.ONE.setScale(8); BigDecimal fee = BigDecimal.ONE.setScale(8); - return new PaymentTransactionData(timestamp, txGroupId, reference, senderPublicKey, recipient, amount, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, senderPublicKey, fee, null); + return new PaymentTransactionData(baseTransactionData, recipient, amount); } private int createGroup(Repository repository) throws DataException { @@ -67,8 +69,9 @@ public class GroupApprovalTests extends Common { int maximumBlockDelay = 1440; BigDecimal fee = BigDecimal.ONE.setScale(8); - TransactionData transactionData = new CreateGroupTransactionData(timestamp, txGroupId, reference, creatorPublicKey, owner, groupName, description, - isOpen, approvalThreshold, minimumBlockDelay, maximumBlockDelay, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, creatorPublicKey, fee, null); + TransactionData transactionData = new CreateGroupTransactionData(baseTransactionData, owner, groupName, description, + isOpen, approvalThreshold, minimumBlockDelay, maximumBlockDelay); Transaction transaction = new CreateGroupTransaction(repository, transactionData); // Sign transaction diff --git a/src/test/java/org/qora/test/SaveTests.java b/src/test/java/org/qora/test/SaveTests.java deleted file mode 100644 index c9898b8d..00000000 --- a/src/test/java/org/qora/test/SaveTests.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.qora.test; - -import java.math.BigDecimal; -import java.time.Instant; - -import org.junit.Test; -import org.qora.account.PublicKeyAccount; -import org.qora.data.transaction.PaymentTransactionData; -import org.qora.group.Group; -import org.qora.repository.DataException; -import org.qora.repository.Repository; -import org.qora.repository.RepositoryManager; -import org.qora.test.common.Common; -import org.qora.utils.Base58; - -public class SaveTests extends Common { - - @Test - public void testSavePaymentTransaction() throws DataException { - try (final Repository repository = RepositoryManager.getRepository()) { - String reference58 = "rrrr"; - byte[] reference = Base58.decode(reference58); - String signature58 = "ssss"; - byte[] signature = Base58.decode(signature58); - PublicKeyAccount sender = new PublicKeyAccount(repository, "Qsender".getBytes()); - - PaymentTransactionData paymentTransactionData = new PaymentTransactionData(Instant.now().getEpochSecond(), Group.NO_GROUP, reference, - sender.getPublicKey(), "Qrecipient", BigDecimal.valueOf(12345L), BigDecimal.ONE, signature); - - repository.getTransactionRepository().save(paymentTransactionData); - - repository.discardChanges(); - } - } - -} diff --git a/src/test/java/org/qora/test/TransactionTests.java b/src/test/java/org/qora/test/TransactionTests.java index 10548867..cd7341f0 100644 --- a/src/test/java/org/qora/test/TransactionTests.java +++ b/src/test/java/org/qora/test/TransactionTests.java @@ -16,6 +16,7 @@ import org.qora.data.asset.OrderData; import org.qora.data.asset.TradeData; import org.qora.data.block.BlockData; import org.qora.data.naming.NameData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.BuyNameTransactionData; import org.qora.data.transaction.CancelAssetOrderTransactionData; import org.qora.data.transaction.CancelSellNameTransactionData; @@ -130,8 +131,9 @@ public class TransactionTests extends Common { BigDecimal amount = genericPaymentAmount; BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - PaymentTransactionData paymentTransactionData = new PaymentTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), recipient, - amount, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + PaymentTransactionData paymentTransactionData = new PaymentTransactionData(baseTransactionData, recipient, amount); Transaction paymentTransaction = new PaymentTransaction(repository, paymentTransactionData); paymentTransaction.sign(sender); @@ -148,8 +150,9 @@ public class TransactionTests extends Common { BigDecimal amount = BigDecimal.valueOf(1_000L); BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - PaymentTransactionData paymentTransactionData = new PaymentTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - recipient.getAddress(), amount, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + PaymentTransactionData paymentTransactionData = new PaymentTransactionData(baseTransactionData, recipient.getAddress(), amount); Transaction paymentTransaction = new PaymentTransaction(repository, paymentTransactionData); paymentTransaction.sign(sender); @@ -207,8 +210,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - RegisterNameTransactionData registerNameTransactionData = new RegisterNameTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - sender.getAddress(), name, data, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + RegisterNameTransactionData registerNameTransactionData = new RegisterNameTransactionData(baseTransactionData, sender.getAddress(), name, data); Transaction registerNameTransaction = new RegisterNameTransaction(repository, registerNameTransactionData); registerNameTransaction.sign(sender); @@ -260,8 +264,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - UpdateNameTransactionData updateNameTransactionData = new UpdateNameTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - newOwner.getAddress(), name, newData, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + UpdateNameTransactionData updateNameTransactionData = new UpdateNameTransactionData(baseTransactionData, newOwner.getAddress(), name, newData); Transaction updateNameTransaction = new UpdateNameTransaction(repository, updateNameTransactionData); updateNameTransaction.sign(sender); @@ -304,8 +309,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - SellNameTransactionData sellNameTransactionData = new SellNameTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), name, amount, - fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + SellNameTransactionData sellNameTransactionData = new SellNameTransactionData(baseTransactionData, name, amount); Transaction sellNameTransaction = new SellNameTransaction(repository, sellNameTransactionData); sellNameTransaction.sign(sender); @@ -354,8 +360,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - CancelSellNameTransactionData cancelSellNameTransactionData = new CancelSellNameTransactionData(timestamp, Group.NO_GROUP, reference, - sender.getPublicKey(), name, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + CancelSellNameTransactionData cancelSellNameTransactionData = new CancelSellNameTransactionData(baseTransactionData, name); Transaction cancelSellNameTransaction = new CancelSellNameTransaction(repository, cancelSellNameTransactionData); cancelSellNameTransaction.sign(sender); @@ -415,8 +422,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - BuyNameTransactionData buyNameTransactionData = new BuyNameTransactionData(timestamp, Group.NO_GROUP, buyersReference, buyer.getPublicKey(), name, - originalNameData.getSalePrice(), seller, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, buyersReference, buyer.getPublicKey(), fee, null); + BuyNameTransactionData buyNameTransactionData = new BuyNameTransactionData(baseTransactionData, name, originalNameData.getSalePrice(), seller); Transaction buyNameTransaction = new BuyNameTransaction(repository, buyNameTransactionData); buyNameTransaction.sign(buyer); @@ -466,8 +474,9 @@ public class TransactionTests extends Common { Account recipient = new PublicKeyAccount(repository, recipientSeed); BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - CreatePollTransactionData createPollTransactionData = new CreatePollTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - recipient.getAddress(), pollName, description, pollOptions, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + CreatePollTransactionData createPollTransactionData = new CreatePollTransactionData(baseTransactionData, recipient.getAddress(), pollName, description, pollOptions); Transaction createPollTransaction = new CreatePollTransaction(repository, createPollTransactionData); createPollTransaction.sign(sender); @@ -518,8 +527,9 @@ public class TransactionTests extends Common { for (int optionIndex = 0; optionIndex <= pollOptionsSize; ++optionIndex) { // Make a vote-on-poll transaction - VoteOnPollTransactionData voteOnPollTransactionData = new VoteOnPollTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - pollName, optionIndex, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + VoteOnPollTransactionData voteOnPollTransactionData = new VoteOnPollTransactionData(baseTransactionData, pollName, optionIndex); Transaction voteOnPollTransaction = new VoteOnPollTransaction(repository, voteOnPollTransactionData); voteOnPollTransaction.sign(sender); @@ -589,8 +599,8 @@ public class TransactionTests extends Common { long timestamp = parentBlockData.getTimestamp() + 1_000; String data = (timestamp >= BlockChain.getInstance().getQoraV2Timestamp()) ? "{}" : null; - IssueAssetTransactionData issueAssetTransactionData = new IssueAssetTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - sender.getAddress(), assetName, description, quantity, isDivisible, data, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + IssueAssetTransactionData issueAssetTransactionData = new IssueAssetTransactionData(baseTransactionData, sender.getAddress(), assetName, description, quantity, isDivisible, data); Transaction issueAssetTransaction = new IssueAssetTransaction(repository, issueAssetTransactionData); issueAssetTransaction.sign(sender); @@ -677,8 +687,8 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - TransferAssetTransactionData transferAssetTransactionData = new TransferAssetTransactionData(timestamp, Group.NO_GROUP, reference, - sender.getPublicKey(), recipient.getAddress(), amount, assetId, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + TransferAssetTransactionData transferAssetTransactionData = new TransferAssetTransactionData(baseTransactionData, recipient.getAddress(), amount, assetId); Transaction transferAssetTransaction = new TransferAssetTransaction(repository, transferAssetTransactionData); transferAssetTransaction.sign(sender); @@ -778,8 +788,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; - CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(timestamp, Group.NO_GROUP, buyersReference, - buyer.getPublicKey(), haveAssetId, wantAssetId, amount, price, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, buyersReference, sender.getPublicKey(), fee, null); + CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(baseTransactionData, haveAssetId, wantAssetId, amount, price); + Transaction createOrderTransaction = new CreateAssetOrderTransaction(this.repository, createOrderTransactionData); createOrderTransaction.sign(buyer); assertTrue(createOrderTransaction.isSignatureValid()); @@ -857,8 +868,9 @@ public class TransactionTests extends Common { BigDecimal fee = BigDecimal.ONE; long timestamp = parentBlockData.getTimestamp() + 1_000; byte[] buyersReference = buyer.getLastReference(); - CancelAssetOrderTransactionData cancelOrderTransactionData = new CancelAssetOrderTransactionData(timestamp, Group.NO_GROUP, buyersReference, - buyer.getPublicKey(), orderId, fee); + + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, buyersReference, sender.getPublicKey(), fee, null); + CancelAssetOrderTransactionData cancelOrderTransactionData = new CancelAssetOrderTransactionData(baseTransactionData, orderId); Transaction cancelOrderTransaction = new CancelAssetOrderTransaction(this.repository, cancelOrderTransactionData); cancelOrderTransaction.sign(buyer); @@ -931,8 +943,9 @@ public class TransactionTests extends Common { long timestamp = parentBlockData.getTimestamp() + 1_000; BigDecimal senderPreTradeWantBalance = sender.getConfirmedBalance(wantAssetId); - CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(timestamp, Group.NO_GROUP, reference, - sender.getPublicKey(), haveAssetId, wantAssetId, amount, price, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + CreateAssetOrderTransactionData createOrderTransactionData = new CreateAssetOrderTransactionData(baseTransactionData, haveAssetId, wantAssetId, amount, price); + Transaction createOrderTransaction = new CreateAssetOrderTransaction(this.repository, createOrderTransactionData); createOrderTransaction.sign(sender); assertTrue(createOrderTransaction.isSignatureValid()); @@ -1038,8 +1051,8 @@ public class TransactionTests extends Common { payments.add(paymentData); } - MultiPaymentTransactionData multiPaymentTransactionData = new MultiPaymentTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), - payments, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + MultiPaymentTransactionData multiPaymentTransactionData = new MultiPaymentTransactionData(baseTransactionData, payments); Transaction multiPaymentTransaction = new MultiPaymentTransaction(repository, multiPaymentTransactionData); multiPaymentTransaction.sign(sender); @@ -1106,8 +1119,9 @@ public class TransactionTests extends Common { boolean isText = true; boolean isEncrypted = false; - MessageTransactionData messageTransactionData = new MessageTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), version, - recipient.getAddress(), Asset.QORA, amount, data, isText, isEncrypted, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, Group.NO_GROUP, reference, sender.getPublicKey(), fee, null); + MessageTransactionData messageTransactionData = new MessageTransactionData(baseTransactionData, version, + recipient.getAddress(), Asset.QORA, amount, data, isText, isEncrypted); Transaction messageTransaction = new MessageTransaction(repository, messageTransactionData); messageTransaction.sign(sender); diff --git a/src/test/java/org/qora/test/common/AccountUtils.java b/src/test/java/org/qora/test/common/AccountUtils.java index 8ae85924..0b35361e 100644 --- a/src/test/java/org/qora/test/common/AccountUtils.java +++ b/src/test/java/org/qora/test/common/AccountUtils.java @@ -27,7 +27,8 @@ public class AccountUtils { byte[] reference = sendingAccount.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - TransactionData transactionData = new PaymentTransactionData(timestamp, txGroupId, reference, sendingAccount.getPublicKey(), recipientAccount.getAddress(), amount, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, sendingAccount.getPublicKey(), fee, null); + TransactionData transactionData = new PaymentTransactionData(baseTransactionData, recipientAccount.getAddress(), amount); TransactionUtils.signAndForge(repository, transactionData, sendingAccount); } @@ -56,7 +57,8 @@ public class AccountUtils { byte[] reference = forgingAccount.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - return new EnableForgingTransactionData(timestamp, txGroupId, reference, forgingAccount.getPublicKey(), Crypto.toAddress(recipientPublicKey), fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, txGroupId, reference, forgingAccount.getPublicKey(), fee, null); + return new EnableForgingTransactionData(baseTransactionData, Crypto.toAddress(recipientPublicKey)); } public static TransactionData createEnableForging(Repository repository, String forger, String recipient) throws DataException { diff --git a/src/test/java/org/qora/test/common/AssetUtils.java b/src/test/java/org/qora/test/common/AssetUtils.java index 7a386d82..f8f7ff64 100644 --- a/src/test/java/org/qora/test/common/AssetUtils.java +++ b/src/test/java/org/qora/test/common/AssetUtils.java @@ -8,6 +8,7 @@ import java.util.Map; import org.qora.account.PrivateKeyAccount; import org.qora.block.BlockChain; import org.qora.data.asset.OrderData; +import org.qora.data.transaction.BaseTransactionData; import org.qora.data.transaction.CancelAssetOrderTransactionData; import org.qora.data.transaction.CreateAssetOrderTransactionData; import org.qora.data.transaction.IssueAssetTransactionData; @@ -33,7 +34,8 @@ public class AssetUtils { byte[] reference = account.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - TransactionData transactionData = new IssueAssetTransactionData(timestamp, AssetUtils.txGroupId, reference, account.getPublicKey(), account.getAddress(), assetName, "desc", quantity, isDivisible, "{}", AssetUtils.fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, AssetUtils.txGroupId, reference, account.getPublicKey(), AssetUtils.fee, null); + TransactionData transactionData = new IssueAssetTransactionData(baseTransactionData, account.getAddress(), assetName, "desc", quantity, isDivisible, "{}"); TransactionUtils.signAndForge(repository, transactionData, account); @@ -47,7 +49,8 @@ public class AssetUtils { byte[] reference = fromAccount.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - TransactionData transactionData = new TransferAssetTransactionData(timestamp, AssetUtils.txGroupId, reference, fromAccount.getPublicKey(), toAccount.getAddress(), amount, assetId, AssetUtils.fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, AssetUtils.txGroupId, reference, fromAccount.getPublicKey(), AssetUtils.fee, null); + TransactionData transactionData = new TransferAssetTransactionData(baseTransactionData, toAccount.getAddress(), amount, assetId); TransactionUtils.signAndForge(repository, transactionData, fromAccount); } @@ -58,7 +61,8 @@ public class AssetUtils { byte[] reference = account.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - TransactionData transactionData = new CreateAssetOrderTransactionData(timestamp, txGroupId, reference, account.getPublicKey(), haveAssetId, wantAssetId, amount, price, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, AssetUtils.txGroupId, reference, account.getPublicKey(), AssetUtils.fee, null); + TransactionData transactionData = new CreateAssetOrderTransactionData(baseTransactionData, haveAssetId, wantAssetId, amount, price); TransactionUtils.signAndForge(repository, transactionData, account); @@ -71,7 +75,8 @@ public class AssetUtils { byte[] reference = account.getLastReference(); long timestamp = repository.getTransactionRepository().fromSignature(reference).getTimestamp() + 1; - TransactionData transactionData = new CancelAssetOrderTransactionData(timestamp, txGroupId, reference, account.getPublicKey(), orderId, fee); + BaseTransactionData baseTransactionData = new BaseTransactionData(timestamp, AssetUtils.txGroupId, reference, account.getPublicKey(), AssetUtils.fee, null); + TransactionData transactionData = new CancelAssetOrderTransactionData(baseTransactionData, orderId); TransactionUtils.signAndForge(repository, transactionData, account); } diff --git a/src/test/java/org/qora/test/common/transaction/PaymentTransaction.java b/src/test/java/org/qora/test/common/transaction/PaymentTransaction.java index 69d0f976..fbe311ce 100644 --- a/src/test/java/org/qora/test/common/transaction/PaymentTransaction.java +++ b/src/test/java/org/qora/test/common/transaction/PaymentTransaction.java @@ -5,14 +5,12 @@ import java.math.BigDecimal; import org.qora.account.PrivateKeyAccount; import org.qora.data.transaction.PaymentTransactionData; import org.qora.data.transaction.TransactionData; -import org.qora.group.Group; import org.qora.repository.Repository; -import org.qora.utils.NTP; -public class PaymentTransaction { +public class PaymentTransaction extends org.qora.test.common.transaction.Transaction { public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) { - return new PaymentTransactionData(NTP.getTime(), Group.NO_GROUP, new byte[32], account.getPublicKey(), account.getAddress(), BigDecimal.valueOf(123L), BigDecimal.ONE); + return new PaymentTransactionData(generateBase(account), account.getAddress(), BigDecimal.valueOf(123L)); } } diff --git a/src/test/java/org/qora/test/common/transaction/Transaction.java b/src/test/java/org/qora/test/common/transaction/Transaction.java index 3d7ce65b..adbdcb34 100644 --- a/src/test/java/org/qora/test/common/transaction/Transaction.java +++ b/src/test/java/org/qora/test/common/transaction/Transaction.java @@ -1,4 +1,15 @@ package org.qora.test.common.transaction; +import org.qora.account.PrivateKeyAccount; +import org.qora.block.BlockChain; +import org.qora.data.transaction.BaseTransactionData; +import org.qora.group.Group; +import org.qora.utils.NTP; + public abstract class Transaction { + + protected static BaseTransactionData generateBase(PrivateKeyAccount account) { + return new BaseTransactionData(NTP.getTime(), Group.NO_GROUP, new byte[32], account.getPublicKey(), BlockChain.getInstance().getUnitFee(), null); + } + }