diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 315aa052..106a49c7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,6 @@ on: jobs: format: runs-on: ubuntu-latest - steps: - name: Checkout code uses: actions/checkout@v2 @@ -21,11 +20,11 @@ jobs: - name: Merge Conflict finder uses: olivernybroe/action-conflict-finder@v1.1 - - name: Use Java Version ${{ matrix.java }} + - name: Use Java Version 22 uses: actions/setup-java@v2 with: distribution: "adopt" - java-version: 22 + java-version: "22" cache: "gradle" - name: Format code @@ -39,10 +38,6 @@ jobs: unit: runs-on: ubuntu-latest - strategy: - matrix: - java: [11, 15, 16, 17, 18, 19, 20, 21, 22] - steps: - name: Checkout code uses: actions/checkout@v2 @@ -52,11 +47,23 @@ jobs: - name: Merge Conflict finder uses: olivernybroe/action-conflict-finder@v1.1 - - name: Use Java Version ${{ matrix.java }} + - name: Install Nix + uses: cachix/install-nix-action@v27 + + - name: Install libsecp256k1 + run: | + nix profile install nixpkgs#secp256k1 + env: + NIX_PATH: $HOME/.nix-profile/bin + + - name: Set LD_LIBRARY_PATH + run: echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.nix-profile/lib" >> $GITHUB_ENV + + - name: Use Java Version 22 uses: actions/setup-java@v2 with: - distribution: "zulu" - java-version: ${{ matrix.java }} + distribution: "adopt" + java-version: "22" cache: "gradle" - name: Install diff --git a/build.gradle b/build.gradle index a81f6ca9..31eb39ef 100644 --- a/build.gradle +++ b/build.gradle @@ -24,6 +24,8 @@ repositories { dependencies { implementation 'org.web3j:core:4.8.7' implementation 'org.bitcoinj:bitcoinj-core:0.16.3' + implementation files('libs/secp256k1-api-0.0.1.jar') + implementation files('libs/secp256k1-foreign-0.0.1.jar') implementation 'com.google.code.gson:gson:2.11.0' implementation 'com.google.guava:guava:30.2.0-jre' @@ -40,6 +42,7 @@ test { useJUnitPlatform() testLogging { events 'PASSED', 'FAILED', 'SKIPPED' + showStandardStreams = true } } diff --git a/libs/secp256k1-api-0.0.1.jar b/libs/secp256k1-api-0.0.1.jar new file mode 100644 index 00000000..2795c7fb Binary files /dev/null and b/libs/secp256k1-api-0.0.1.jar differ diff --git a/libs/secp256k1-foreign-0.0.1.jar b/libs/secp256k1-foreign-0.0.1.jar new file mode 100644 index 00000000..38414c6a Binary files /dev/null and b/libs/secp256k1-foreign-0.0.1.jar differ diff --git a/src/main/java/org/arkecosystem/crypto/Schnorr.java b/src/main/java/org/arkecosystem/crypto/Schnorr.java index 2b91b775..23d13508 100644 --- a/src/main/java/org/arkecosystem/crypto/Schnorr.java +++ b/src/main/java/org/arkecosystem/crypto/Schnorr.java @@ -1,166 +1,6 @@ package org.arkecosystem.crypto; -import java.math.BigInteger; -import org.bitcoinj.core.Sha256Hash; - -/** Heavily inspired in https://github.com/miketwk/bip-schnorr-java/blob/master/Schnorr.java */ public class Schnorr { - public static final BigInteger p = - new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", 16); - public static final BigInteger n = - new BigInteger("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16); - public static final BigInteger[] G = { - new BigInteger("79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", 16), - new BigInteger("483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8", 16) - }; - - public static final BigInteger TWO = BigInteger.valueOf(2); - public static final BigInteger THREE = BigInteger.valueOf(3); - - private static final char[] hexArray = "0123456789ABCDEF".toCharArray(); - - public static BigInteger[] addPoint(BigInteger[] p1, BigInteger[] p2) { - if (p1 == null || p1.length != 2) return p2; - - if (p2 == null || p2.length != 2) return p1; - - if (p1[0].compareTo(p2[0]) == 0 && p1[1].compareTo(p2[1]) != 0) return null; - - BigInteger lam; - if (p1[0].compareTo(p2[0]) == 0 && p1[1].compareTo(p2[1]) == 0) - lam = - (THREE.multiply(p1[0]) - .multiply(p1[0]) - .multiply(TWO.multiply(p1[1]).modPow(p.subtract(TWO), p))) - .mod(p); - else - lam = - (p2[1].subtract(p1[1]) - .multiply(p2[0].subtract(p1[0]).modPow(p.subtract(TWO), p))) - .mod(p); - - BigInteger x3 = (lam.multiply(lam).subtract(p1[0]).subtract(p2[0])).mod(p); - - return new BigInteger[] {x3, lam.multiply(p1[0].subtract(x3)).subtract(p1[1]).mod(p)}; - } - - public static BigInteger[] multiplyPoint(BigInteger[] P, BigInteger n) { - BigInteger[] R = null; - for (int i = 0; i < 256; i++) { - if (BigInteger.ONE.compareTo(n.shiftRight(i).and(BigInteger.ONE)) == 0) - R = addPoint(R, P); - P = addPoint(P, P); - } - return R; - } - - public static BigInteger jacobi(BigInteger x) { - return x.modPow(p.subtract(BigInteger.ONE).divide(TWO), p); - } - - public static BigInteger[] bytesToPoint(byte[] b) { - if (b[0] != 2 && b[0] != 3) return null; - - BigInteger odd = b[0] == 3 ? BigInteger.ONE : BigInteger.ZERO; - BigInteger x = toBigInteger(b, 1, 32); - BigInteger y_sq = x.modPow(THREE, p).add(BigInteger.valueOf(7)).mod(p); - BigInteger y0 = y_sq.modPow(p.add(BigInteger.ONE).divide(BigInteger.valueOf(4)), p); - if (y_sq.compareTo(y0.modPow(TWO, p)) != 0) return null; - - BigInteger y = y0.and(BigInteger.ONE).compareTo(odd) != 0 ? p.subtract(y0) : y0; - - return new BigInteger[] {x, y}; - } - - public static byte[] to32BytesData(BigInteger num) { - String hexNum = num.toString(16); - if (hexNum.length() < 64) { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < 64 - hexNum.length(); i++) sb.append("0"); - - hexNum = sb.append(hexNum).toString(); - } - return hexStringToByteArray(hexNum); - } - - public static BigInteger toBigInteger(byte[] data, int startPos, int len) { - return new BigInteger(bytesToHex(data, startPos, len), 16); - } - - public static BigInteger toBigInteger(byte[] data) { - return new BigInteger(bytesToHex(data), 16); - } - - public static byte[] pointToBytes(BigInteger[] point) { - byte[] res = new byte[33]; - res[0] = - BigInteger.ONE.compareTo(point[1].and(BigInteger.ONE)) == 0 - ? (byte) 0x03 - : (byte) 0x02; - System.arraycopy(to32BytesData(point[0]), 0, res, 1, 32); - return res; - } - - public static byte[] schnorrSign(byte[] msg, BigInteger seckey) { - if (msg.length != 32) throw new RuntimeException("The message must be a 32-byte array."); - - if (BigInteger.ZERO.compareTo(seckey) > 0 - || seckey.compareTo(n.subtract(BigInteger.ONE)) > 0) - throw new RuntimeException("The secret key must be an integer in the range 1..n-1."); - - byte[] resultData = new byte[32 + msg.length]; - System.arraycopy(to32BytesData(seckey), 0, resultData, 0, 32); - System.arraycopy(msg, 0, resultData, 32, msg.length); - - BigInteger k0 = toBigInteger(Sha256Hash.hash(resultData)).mod(n); - if (BigInteger.ZERO.compareTo(k0) == 0) - throw new RuntimeException("Failure. This happens only with negligible probability."); - - BigInteger[] R = multiplyPoint(G, k0); - - BigInteger k = BigInteger.ONE.compareTo(jacobi(R[1])) != 0 ? n.subtract(k0) : k0; - byte[] R0Bytes = to32BytesData(R[0]); - byte[] eData = new byte[32 + 33 + 32]; - System.arraycopy(R0Bytes, 0, eData, 0, 32); - System.arraycopy(pointToBytes(multiplyPoint(G, seckey)), 0, eData, 32, 33); - System.arraycopy(msg, 0, eData, 65, 32); - eData = Sha256Hash.hash(eData); - BigInteger e = toBigInteger(eData).mod(n); - - byte[] finalData = new byte[64]; - System.arraycopy(R0Bytes, 0, finalData, 0, 32); - System.arraycopy(to32BytesData(e.multiply(seckey).add(k).mod(n)), 0, finalData, 32, 32); - - return finalData; - } - - public static boolean schnorrVerify(byte[] msg, byte[] pubkey, byte[] sig) { - if (msg.length != 32) throw new RuntimeException("The message must be a 32-byte array."); - - if (pubkey.length != 33) - throw new RuntimeException("The public key must be a 33-byte array."); - - if (sig.length != 64) throw new RuntimeException("The signature must be a 64-byte array."); - - BigInteger[] P = bytesToPoint(pubkey); - if (P == null) return false; - - BigInteger r = toBigInteger(sig, 0, 32); - BigInteger s = toBigInteger(sig, 32, 32); - - if (r.compareTo(p) >= 0 || s.compareTo(n) >= 0) return false; - - byte[] eData = new byte[32 + 33 + 32]; - System.arraycopy(sig, 0, eData, 0, 32); - System.arraycopy(pointToBytes(P), 0, eData, 32, 33); - System.arraycopy(msg, 0, eData, 65, 32); - eData = Sha256Hash.hash(eData); - BigInteger e = toBigInteger(eData).mod(n); - - BigInteger[] R = addPoint(multiplyPoint(G, s), multiplyPoint(P, n.subtract(e))); - - return R != null && BigInteger.ONE.compareTo(jacobi(R[1])) == 0 && r.compareTo(R[0]) == 0; - } public static byte[] hexStringToByteArray(String s) { int len = s.length(); @@ -173,24 +13,4 @@ public static byte[] hexStringToByteArray(String s) { } return data; } - - public static String bytesToHex(byte[] bytes) { - char[] hexChars = new char[bytes.length * 2]; - for (int j = 0; j < bytes.length; j++) { - int v = bytes[j] & 0xFF; - hexChars[j * 2] = hexArray[v >>> 4]; - hexChars[j * 2 + 1] = hexArray[v & 0x0F]; - } - return new String(hexChars); - } - - public static String bytesToHex(byte[] bytes, int startPos, int len) { - char[] hexChars = new char[len * 2]; - for (int j = 0, i = startPos; j < len; j++, i++) { - int v = bytes[i] & 0xFF; - hexChars[j * 2] = hexArray[v >>> 4]; - hexChars[j * 2 + 1] = hexArray[v & 0x0F]; - } - return new String(hexChars); - } } diff --git a/src/main/java/org/arkecosystem/crypto/enums/CoreTransactionTypes.java b/src/main/java/org/arkecosystem/crypto/enums/CoreTransactionTypes.java index 59ef82da..5ee7d0de 100644 --- a/src/main/java/org/arkecosystem/crypto/enums/CoreTransactionTypes.java +++ b/src/main/java/org/arkecosystem/crypto/enums/CoreTransactionTypes.java @@ -3,12 +3,12 @@ public enum CoreTransactionTypes { TRANSFER(0), SECOND_SIGNATURE_REGISTRATION(1), - DELEGATE_REGISTRATION(2), + VALIDATOR_REGISTRATION(2), VOTE(3), MULTI_SIGNATURE_REGISTRATION(4), IPFS(5), MULTI_PAYMENT(6), - DELEGATE_RESIGNATION(7), + VALIDATOR_RESIGNATION(7), HTLC_LOCK(8), HTLC_CLAIM(9), HTLC_REFUND(10); diff --git a/src/main/java/org/arkecosystem/crypto/enums/Fees.java b/src/main/java/org/arkecosystem/crypto/enums/Fees.java index ea2a3103..e5e1321b 100644 --- a/src/main/java/org/arkecosystem/crypto/enums/Fees.java +++ b/src/main/java/org/arkecosystem/crypto/enums/Fees.java @@ -3,12 +3,12 @@ public enum Fees { TRANSFER(10_000_000L), SECOND_SIGNATURE_REGISTRATION(500_000_000L), - DELEGATE_REGISTRATION(2_500_000_000L), + VALIDATOR_REGISTRATION(2_500_000_000L), VOTE(100_000_000L), MULTI_SIGNATURE_REGISTRATION(500_000_000L), IPFS(500_000_000L), MULTI_PAYMENT(10_000_000L), - DELEGATE_RESIGNATION(2_500_000_000L), + VALIDATOR_RESIGNATION(2_500_000_000L), HTLC_LOCK(10_000_000L), HTLC_CLAIM(0L), HTLC_REFUND(0L); diff --git a/src/main/java/org/arkecosystem/crypto/enums/HtlcLockExpirationType.java b/src/main/java/org/arkecosystem/crypto/enums/HtlcLockExpirationType.java deleted file mode 100644 index 5d10b8e9..00000000 --- a/src/main/java/org/arkecosystem/crypto/enums/HtlcLockExpirationType.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.arkecosystem.crypto.enums; - -public enum HtlcLockExpirationType { - EPOCH_TIMESTAMP(1), - BLOCK_HEIGHT(2); - - private final int value; - - HtlcLockExpirationType(int value) { - this.value = value; - } - - public int getValue() { - return value; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/identities/Address.java b/src/main/java/org/arkecosystem/crypto/identities/Address.java index e4cb6ba5..bc9de785 100644 --- a/src/main/java/org/arkecosystem/crypto/identities/Address.java +++ b/src/main/java/org/arkecosystem/crypto/identities/Address.java @@ -40,11 +40,4 @@ public static String fromPrivateKey(ECKey privateKey) { byte[] publicKeyBytes = privateKey.getPubKey(); return fromPublicKey(Hex.encode(publicKeyBytes)); } - - public static Boolean validate(String address) { - if (address == null || !address.matches("^0x[a-fA-F0-9]{40}$")) { - return false; - } - return address.equals(Keys.toChecksumAddress(address)); - } } diff --git a/src/main/java/org/arkecosystem/crypto/signature/CompressedPubKeyDataImpl.java b/src/main/java/org/arkecosystem/crypto/signature/CompressedPubKeyDataImpl.java new file mode 100644 index 00000000..f6bc50cb --- /dev/null +++ b/src/main/java/org/arkecosystem/crypto/signature/CompressedPubKeyDataImpl.java @@ -0,0 +1,21 @@ +package org.arkecosystem.crypto.signature; + +import java.util.Arrays; +import org.bitcoinj.secp256k1.api.CompressedPubKeyData; + +public class CompressedPubKeyDataImpl implements CompressedPubKeyData { + + private final byte[] bytes; + + public CompressedPubKeyDataImpl(byte[] bytes) { + if (bytes.length != 33) { + throw new IllegalArgumentException("Compressed public key must be 33 bytes"); + } + this.bytes = Arrays.copyOf(bytes, bytes.length); + } + + @Override + public byte[] bytes() { + return Arrays.copyOf(bytes, bytes.length); + } +} diff --git a/src/main/java/org/arkecosystem/crypto/signature/ECDSASigner.java b/src/main/java/org/arkecosystem/crypto/signature/ECDSASigner.java deleted file mode 100644 index 3936407c..00000000 --- a/src/main/java/org/arkecosystem/crypto/signature/ECDSASigner.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.arkecosystem.crypto.signature; - -import org.bitcoinj.core.ECKey; -import org.bitcoinj.core.Sha256Hash; - -public class ECDSASigner implements Signer { - @Override - public byte[] sign(byte[] message, ECKey privateKey) { - return privateKey.sign(Sha256Hash.wrap(message)).encodeToDER(); - } -} diff --git a/src/main/java/org/arkecosystem/crypto/signature/ECDSAVerifier.java b/src/main/java/org/arkecosystem/crypto/signature/ECDSAVerifier.java deleted file mode 100644 index 6bb0fd2a..00000000 --- a/src/main/java/org/arkecosystem/crypto/signature/ECDSAVerifier.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.arkecosystem.crypto.signature; - -import org.bitcoinj.core.ECKey; -import org.bitcoinj.core.SignatureDecodeException; - -public class ECDSAVerifier implements Verifier { - @Override - public boolean verify(byte[] hash, ECKey key, byte[] signature) { - try { - return ECKey.verify(hash, signature, key.getPubKey()); - } catch (SignatureDecodeException e) { - return false; - } - } -} diff --git a/src/main/java/org/arkecosystem/crypto/signature/P256k1PrivKeyImpl.java b/src/main/java/org/arkecosystem/crypto/signature/P256k1PrivKeyImpl.java new file mode 100644 index 00000000..15c5955e --- /dev/null +++ b/src/main/java/org/arkecosystem/crypto/signature/P256k1PrivKeyImpl.java @@ -0,0 +1,54 @@ +package org.arkecosystem.crypto.signature; + +import java.math.BigInteger; +import java.util.Arrays; +import org.bitcoinj.secp256k1.api.P256k1PrivKey; + +public class P256k1PrivKeyImpl implements P256k1PrivKey { + private final byte[] encoded; + private boolean destroyed; + + public P256k1PrivKeyImpl(byte[] encoded) { + if (encoded.length != 32) { + throw new IllegalArgumentException("Private key must be 32 bytes"); + } + this.encoded = Arrays.copyOf(encoded, encoded.length); + this.destroyed = false; + } + + @Override + public byte[] getEncoded() { + if (destroyed) { + throw new IllegalStateException("Private key has been destroyed"); + } + return Arrays.copyOf(encoded, encoded.length); + } + + @Override + public void destroy() { + Arrays.fill(encoded, (byte) 0); + this.destroyed = true; + } + + @Override + public BigInteger getS() { + return toInteger(getEncoded()); + } + + /** + * Converts a byte array into a BigInteger. Assumes the byte array represents an unsigned + * integer in big-endian order. + * + * @param bytes the byte array to convert. + * @return the BigInteger representation. + */ + private BigInteger toInteger(byte[] bytes) { + // BigInteger interprets the byte array as a signed integer in big-endian order. + // To handle this correctly for unsigned values (like private keys), we prepend a zero byte + // to ensure the value is always positive. + byte[] unsignedBytes = new byte[bytes.length + 1]; + unsignedBytes[0] = 0; // Leading zero for positive sign + System.arraycopy(bytes, 0, unsignedBytes, 1, bytes.length); + return new BigInteger(unsignedBytes); + } +} diff --git a/src/main/java/org/arkecosystem/crypto/signature/SchnorrSigner.java b/src/main/java/org/arkecosystem/crypto/signature/SchnorrSigner.java index 3d3616d8..40beaf36 100644 --- a/src/main/java/org/arkecosystem/crypto/signature/SchnorrSigner.java +++ b/src/main/java/org/arkecosystem/crypto/signature/SchnorrSigner.java @@ -2,10 +2,22 @@ import org.arkecosystem.crypto.Schnorr; import org.bitcoinj.core.ECKey; +import org.bitcoinj.secp256k1.api.P256K1KeyPair; +import org.bitcoinj.secp256k1.api.P256k1PrivKey; +import org.bitcoinj.secp256k1.api.Secp256k1; public class SchnorrSigner implements Signer { @Override public byte[] sign(byte[] message, ECKey privateKey) { - return Schnorr.schnorrSign(message, privateKey.getPrivKey()); + + Secp256k1 secp = Secp256k1.get(); + + byte[] privKeyBytes = Schnorr.hexStringToByteArray(privateKey.getPrivateKeyAsHex()); + + P256k1PrivKey privKey = new P256k1PrivKeyImpl(privKeyBytes); + + P256K1KeyPair keyPair = secp.ecKeyPairCreate(privKey); + + return secp.schnorrSigSign32(message, keyPair); } } diff --git a/src/main/java/org/arkecosystem/crypto/signature/SchnorrVerifier.java b/src/main/java/org/arkecosystem/crypto/signature/SchnorrVerifier.java index 91f05d89..00117739 100644 --- a/src/main/java/org/arkecosystem/crypto/signature/SchnorrVerifier.java +++ b/src/main/java/org/arkecosystem/crypto/signature/SchnorrVerifier.java @@ -1,11 +1,23 @@ package org.arkecosystem.crypto.signature; -import org.arkecosystem.crypto.Schnorr; import org.bitcoinj.core.ECKey; +import org.bitcoinj.secp256k1.api.P256K1XOnlyPubKey; +import org.bitcoinj.secp256k1.api.P256k1PubKey; +import org.bitcoinj.secp256k1.api.Secp256k1; public class SchnorrVerifier implements Verifier { @Override public boolean verify(byte[] hash, ECKey keys, byte[] signature) { - return Schnorr.schnorrVerify(hash, keys.getPubKey(), signature); + byte[] pubKey = keys.getPubKey(); + + try (Secp256k1 secp = Secp256k1.get()) { + P256k1PubKey pubkey = secp.ecPubKeyParse(new CompressedPubKeyDataImpl(pubKey)).get(); + + P256K1XOnlyPubKey xOnly = pubkey.getXOnly(); + + P256K1XOnlyPubKey xOnly2 = P256K1XOnlyPubKey.parse(xOnly.getSerialized()).get(); + + return secp.schnorrSigVerify(signature, hash, xOnly2).get(); + } } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/Deserializer.java b/src/main/java/org/arkecosystem/crypto/transactions/Deserializer.java index b870703d..32730ef9 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/Deserializer.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/Deserializer.java @@ -10,17 +10,13 @@ import org.arkecosystem.crypto.encoding.Hex; import org.arkecosystem.crypto.enums.CoreTransactionTypes; import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.types.DelegateRegistration; -import org.arkecosystem.crypto.transactions.types.DelegateResignation; -import org.arkecosystem.crypto.transactions.types.HtlcClaim; -import org.arkecosystem.crypto.transactions.types.HtlcLock; -import org.arkecosystem.crypto.transactions.types.HtlcRefund; -import org.arkecosystem.crypto.transactions.types.Ipfs; import org.arkecosystem.crypto.transactions.types.MultiPayment; import org.arkecosystem.crypto.transactions.types.MultiSignatureRegistration; import org.arkecosystem.crypto.transactions.types.SecondSignatureRegistration; import org.arkecosystem.crypto.transactions.types.Transaction; import org.arkecosystem.crypto.transactions.types.Transfer; +import org.arkecosystem.crypto.transactions.types.ValidatorRegistration; +import org.arkecosystem.crypto.transactions.types.ValidatorResignation; import org.arkecosystem.crypto.transactions.types.Vote; public class Deserializer { @@ -37,18 +33,15 @@ public Deserializer(String serialized) { CoreTransactionTypes.SECOND_SIGNATURE_REGISTRATION.getValue(), new SecondSignatureRegistration()); coreTransactionTypes.put( - CoreTransactionTypes.DELEGATE_REGISTRATION.getValue(), new DelegateRegistration()); + CoreTransactionTypes.VALIDATOR_REGISTRATION.getValue(), + new ValidatorRegistration()); coreTransactionTypes.put(CoreTransactionTypes.VOTE.getValue(), new Vote()); coreTransactionTypes.put( CoreTransactionTypes.MULTI_SIGNATURE_REGISTRATION.getValue(), new MultiSignatureRegistration()); - coreTransactionTypes.put(CoreTransactionTypes.IPFS.getValue(), new Ipfs()); coreTransactionTypes.put(CoreTransactionTypes.MULTI_PAYMENT.getValue(), new MultiPayment()); coreTransactionTypes.put( - CoreTransactionTypes.DELEGATE_RESIGNATION.getValue(), new DelegateResignation()); - coreTransactionTypes.put(CoreTransactionTypes.HTLC_LOCK.getValue(), new HtlcLock()); - coreTransactionTypes.put(CoreTransactionTypes.HTLC_CLAIM.getValue(), new HtlcClaim()); - coreTransactionTypes.put(CoreTransactionTypes.HTLC_REFUND.getValue(), new HtlcRefund()); + CoreTransactionTypes.VALIDATOR_RESIGNATION.getValue(), new ValidatorResignation()); transactionGroups.put(TransactionTypeGroup.CORE.getValue(), coreTransactionTypes); @@ -102,39 +95,6 @@ private void deserializeVendorField() { } private void deserializeSignatures() { - deserializeSchnorrOrEcdsa(); - } - - private void deserializeSchnorrOrEcdsa() { - if (detectSchnorr()) { - deserializeSchnorr(); - } else { - deserializeEcdsa(); - } - } - - private void deserializeEcdsa() { - if (buffer.remaining() != 0) { - int signatureLength = currentSignatureLength(); - byte[] signatureBuffer = new byte[signatureLength]; - this.buffer.get(signatureBuffer); - this.transaction.signature = Hex.encode(signatureBuffer); - } - - if (buffer.remaining() != 0) { - int signatureLength = currentSignatureLength(); - byte[] signatureBuffer = new byte[signatureLength]; - this.buffer.get(signatureBuffer); - this.transaction.secondSignature = Hex.encode(signatureBuffer); - } - } - - private boolean canReadNonMultiSignature() { - return buffer.hasRemaining() - && (buffer.remaining() % 64 == 0 || buffer.remaining() % 65 != 0); - } - - private void deserializeSchnorr() { if (canReadNonMultiSignature()) { byte[] signatureBuffer = new byte[64]; buffer.get(signatureBuffer); @@ -173,34 +133,9 @@ private void deserializeSchnorr() { } } - private boolean detectSchnorr() { - int remaining = buffer.remaining(); - - // `signature` / `secondSignature` - if (remaining == 64 || remaining == 128) { - return true; - } - - // `signatures` of a multi signature transaction (type != 4) - if (remaining % 65 == 0) { - return true; - } - - // only possiblity left is a type 4 transaction with and without a `secondSignature`. - if ((remaining - 64) % 65 == 0 || (remaining - 128) % 65 == 0) { - return true; - } - - return false; - } - - private int currentSignatureLength() { - int mark = this.buffer.position(); - this.buffer.position(mark + 1); - String length = String.valueOf(this.buffer.get()); - int signatureLength = Integer.parseInt(length) + 2; - this.buffer.position(mark); - return signatureLength; + private boolean canReadNonMultiSignature() { + return buffer.hasRemaining() + && (buffer.remaining() % 64 == 0 || buffer.remaining() % 65 != 0); } public void setNewTransactionType(Transaction transaction) { diff --git a/src/main/java/org/arkecosystem/crypto/transactions/TransactionAsset.java b/src/main/java/org/arkecosystem/crypto/transactions/TransactionAsset.java index 635b6267..b69e19bc 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/TransactionAsset.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/TransactionAsset.java @@ -3,28 +3,21 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import org.arkecosystem.crypto.enums.HtlcLockExpirationType; public class TransactionAsset { public Signature signature = new Signature(); public List votes = new ArrayList<>(); - public Delegate delegate = new Delegate(); + public List unvotes = new ArrayList<>(); public MultiSignature multiSignature = new MultiSignature(); public MultiPayment multiPayment = new MultiPayment(); - public String ipfs; - public HtlcLockAsset htlcLockAsset = new HtlcLockAsset(); - public HtlcClaimAsset htlcClaimAsset = new HtlcClaimAsset(); - public HtlcRefundAsset htlcRefundAsset = new HtlcRefundAsset(); public HashMap customAsset = new HashMap<>(); + public long amount = 0L; + public String validatorPublicKey; public static class Signature { public String publicKey; } - public static class Delegate { - public String username; - } - public static class MultiSignature { public byte min; public List publicKeys = new ArrayList<>(); @@ -43,28 +36,4 @@ public Payment(long amount, String recipientId) { this.recipientId = recipientId; } } - - public static class HtlcLockAsset { - public String secretHash; - public Expiration expiration; - } - - public static class Expiration { - public HtlcLockExpirationType type; - public int value; - - public Expiration(HtlcLockExpirationType type, int value) { - this.type = type; - this.value = value; - } - } - - public static class HtlcClaimAsset { - public String lockTransactionId; - public String unlockSecret; - } - - public static class HtlcRefundAsset { - public String lockTransactionId; - } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilder.java deleted file mode 100644 index 2dad6887..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilder.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.transactions.types.DelegateRegistration; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class DelegateRegistrationBuilder - extends AbstractTransactionBuilder { - public DelegateRegistrationBuilder() { - super(); - this.transaction.fee = Fees.DELEGATE_REGISTRATION.getValue(); - } - - public DelegateRegistrationBuilder username(String username) { - this.transaction.asset.delegate.username = username; - - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new DelegateRegistration(); - } - - @Override - public DelegateRegistrationBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilder.java deleted file mode 100644 index 16205090..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilder.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.transactions.types.DelegateResignation; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class DelegateResignationBuilder - extends AbstractTransactionBuilder { - - public DelegateResignationBuilder() { - super(); - this.transaction.fee = Fees.DELEGATE_RESIGNATION.getValue(); - } - - @Override - public Transaction getTransactionInstance() { - return new DelegateResignation(); - } - - @Override - public DelegateResignationBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilder.java deleted file mode 100644 index 01047914..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilder.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.transactions.types.HtlcClaim; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class HtlcClaimBuilder extends AbstractTransactionBuilder { - - public HtlcClaimBuilder() { - super(); - this.transaction.fee = Fees.HTLC_CLAIM.getValue(); - } - - public HtlcClaimBuilder htlcClaimAsset(String lockTransactionId, String unlockSecret) { - this.transaction.asset.htlcClaimAsset.lockTransactionId = lockTransactionId; - this.transaction.asset.htlcClaimAsset.unlockSecret = unlockSecret; - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new HtlcClaim(); - } - - @Override - public HtlcClaimBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilder.java deleted file mode 100644 index 99620356..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilder.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.enums.HtlcLockExpirationType; -import org.arkecosystem.crypto.transactions.TransactionAsset; -import org.arkecosystem.crypto.transactions.types.HtlcLock; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class HtlcLockBuilder extends AbstractTransactionBuilder { - public HtlcLockBuilder() { - super(); - this.transaction.fee = Fees.HTLC_LOCK.getValue(); - } - - public HtlcLockBuilder recipientId(String recipientId) { - this.transaction.recipientId = recipientId; - return this; - } - - public HtlcLockBuilder secretHash(String secretHash) { - this.transaction.asset.htlcLockAsset.secretHash = secretHash; - return this; - } - - public HtlcLockBuilder expirationType( - HtlcLockExpirationType expirationType, int expirationValue) { - this.transaction.asset.htlcLockAsset.expiration = - new TransactionAsset.Expiration(expirationType, expirationValue); - return this; - } - - public HtlcLockBuilder vendorField(String vendorField) { - this.transaction.vendorField = vendorField; - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new HtlcLock(); - } - - @Override - public HtlcLockBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilder.java deleted file mode 100644 index a6634d49..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilder.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.transactions.types.HtlcRefund; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class HtlcRefundBuilder extends AbstractTransactionBuilder { - - public HtlcRefundBuilder() { - super(); - this.transaction.fee = Fees.HTLC_REFUND.getValue(); - } - - public HtlcRefundBuilder htlcRefundAsset(String lockTransactionId) { - this.transaction.asset.htlcRefundAsset.lockTransactionId = lockTransactionId; - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new HtlcRefund(); - } - - @Override - public HtlcRefundBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilder.java deleted file mode 100644 index 06d8f900..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilder.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.transactions.types.Ipfs; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class IpfsBuilder extends AbstractTransactionBuilder { - - public IpfsBuilder() { - super(); - this.transaction.fee = Fees.IPFS.getValue(); - } - - public IpfsBuilder ipfsAsset(String ipfsAsset) { - this.transaction.asset.ipfs = ipfsAsset; - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new Ipfs(); - } - - @Override - public IpfsBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilder.java deleted file mode 100644 index 623535d6..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilder.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import org.arkecosystem.crypto.enums.Fees; -import org.arkecosystem.crypto.identities.PublicKey; -import org.arkecosystem.crypto.transactions.types.SecondSignatureRegistration; -import org.arkecosystem.crypto.transactions.types.Transaction; - -public class SecondSignatureRegistrationBuilder - extends AbstractTransactionBuilder { - - public SecondSignatureRegistrationBuilder() { - super(); - this.transaction.fee = Fees.SECOND_SIGNATURE_REGISTRATION.getValue(); - } - - public SecondSignatureRegistrationBuilder signature(String signature) { - this.transaction.asset.signature.publicKey = PublicKey.fromPassphrase(signature); - - return this; - } - - @Override - public Transaction getTransactionInstance() { - return new SecondSignatureRegistration(); - } - - @Override - public SecondSignatureRegistrationBuilder instance() { - return this; - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilder.java new file mode 100644 index 00000000..37993eee --- /dev/null +++ b/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilder.java @@ -0,0 +1,29 @@ +package org.arkecosystem.crypto.transactions.builder; + +import org.arkecosystem.crypto.enums.Fees; +import org.arkecosystem.crypto.transactions.types.Transaction; +import org.arkecosystem.crypto.transactions.types.ValidatorRegistration; + +public class ValidatorRegistrationBuilder + extends AbstractTransactionBuilder { + public ValidatorRegistrationBuilder() { + super(); + this.transaction.fee = Fees.VALIDATOR_REGISTRATION.getValue(); + } + + public ValidatorRegistrationBuilder publicKeyAsset(String publicKey) { + this.transaction.asset.validatorPublicKey = publicKey; + + return this; + } + + @Override + public Transaction getTransactionInstance() { + return new ValidatorRegistration(); + } + + @Override + public ValidatorRegistrationBuilder instance() { + return this; + } +} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilder.java new file mode 100644 index 00000000..220f0e44 --- /dev/null +++ b/src/main/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilder.java @@ -0,0 +1,24 @@ +package org.arkecosystem.crypto.transactions.builder; + +import org.arkecosystem.crypto.enums.Fees; +import org.arkecosystem.crypto.transactions.types.Transaction; +import org.arkecosystem.crypto.transactions.types.ValidatorResignation; + +public class ValidatorResignationBuilder + extends AbstractTransactionBuilder { + + public ValidatorResignationBuilder() { + super(); + this.transaction.fee = Fees.VALIDATOR_RESIGNATION.getValue(); + } + + @Override + public Transaction getTransactionInstance() { + return new ValidatorResignation(); + } + + @Override + public ValidatorResignationBuilder instance() { + return this; + } +} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/builder/VoteBuilder.java b/src/main/java/org/arkecosystem/crypto/transactions/builder/VoteBuilder.java index d0209cf8..33423d85 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/builder/VoteBuilder.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/builder/VoteBuilder.java @@ -23,6 +23,16 @@ public VoteBuilder addVote(String vote) { return this; } + public VoteBuilder addUnvotes(List unvotes) { + this.transaction.asset.unvotes = unvotes; + return this; + } + + public VoteBuilder addUnvote(String unvote) { + this.transaction.asset.unvotes.add(unvote); + return this; + } + public VoteBuilder sign(String passphrase) { this.transaction.recipientId = Address.fromPassphrase(passphrase); diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/DelegateRegistration.java b/src/main/java/org/arkecosystem/crypto/transactions/types/DelegateRegistration.java deleted file mode 100644 index 13d9ae63..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/DelegateRegistration.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.arkecosystem.crypto.transactions.types; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.HashMap; -import org.arkecosystem.crypto.enums.CoreTransactionTypes; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; - -public class DelegateRegistration extends Transaction { - @Override - public int getTransactionType() { - return CoreTransactionTypes.DELEGATE_REGISTRATION.getValue(); - } - - @Override - public int getTransactionTypeGroup() { - return TransactionTypeGroup.CORE.getValue(); - } - - @Override - public HashMap assetToHashMap() { - HashMap asset = new HashMap<>(); - - HashMap delegate = new HashMap<>(); - delegate.put("username", this.asset.delegate.username); - asset.put("delegate", delegate); - - return asset; - } - - @Override - public byte[] serialize() { - byte[] delegateBytes = this.asset.delegate.username.getBytes(); - - ByteBuffer buffer = ByteBuffer.allocate(1 + delegateBytes.length); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.put((byte) delegateBytes.length); - buffer.put(delegateBytes); - return buffer.array(); - } - - @Override - public void deserialize(ByteBuffer buffer) { - int usernameLength = buffer.get(); - - byte[] username = new byte[usernameLength]; - buffer.get(username); - - this.asset.delegate.username = new String(username); - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcClaim.java b/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcClaim.java deleted file mode 100644 index 24c6437f..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcClaim.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.arkecosystem.crypto.transactions.types; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.HashMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.enums.CoreTransactionTypes; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; - -public class HtlcClaim extends Transaction { - - @Override - public int getTransactionType() { - return CoreTransactionTypes.HTLC_CLAIM.getValue(); - } - - @Override - public int getTransactionTypeGroup() { - return TransactionTypeGroup.CORE.getValue(); - } - - @Override - public HashMap assetToHashMap() { - HashMap asset = new HashMap<>(); - - HashMap claim = new HashMap<>(); - claim.put("lockTransactionId", this.asset.htlcClaimAsset.lockTransactionId); - claim.put("unlockSecret", this.asset.htlcClaimAsset.unlockSecret); - - asset.put("claim", claim); - return asset; - } - - @Override - public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(32 + 32); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.put(Hex.decode(this.asset.htlcClaimAsset.lockTransactionId)); - buffer.put(Hex.decode(this.asset.htlcClaimAsset.unlockSecret)); - return buffer.array(); - } - - @Override - public void deserialize(ByteBuffer buffer) { - byte[] lockTransactionIdBuf = new byte[32]; - buffer.get(lockTransactionIdBuf); - - byte[] unlockSecret = new byte[32]; - buffer.get(unlockSecret); - - this.asset.htlcClaimAsset.lockTransactionId = Hex.encode(lockTransactionIdBuf); - this.asset.htlcClaimAsset.unlockSecret = Hex.encode(unlockSecret); - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcLock.java b/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcLock.java deleted file mode 100644 index c188db12..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcLock.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.arkecosystem.crypto.transactions.types; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.HashMap; -import org.arkecosystem.crypto.encoding.Base58; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.enums.CoreTransactionTypes; -import org.arkecosystem.crypto.enums.HtlcLockExpirationType; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.TransactionAsset; - -public class HtlcLock extends Transaction { - - @Override - public int getTransactionType() { - return CoreTransactionTypes.HTLC_LOCK.getValue(); - } - - @Override - public int getTransactionTypeGroup() { - return TransactionTypeGroup.CORE.getValue(); - } - - @Override - public boolean hasVendorField() { - return true; - } - - @Override - public HashMap assetToHashMap() { - HashMap asset = new HashMap<>(); - - HashMap lock = new HashMap<>(); - lock.put("secretHash", this.asset.htlcLockAsset.secretHash); - - HashMap expiration = new HashMap<>(); - expiration.put("type", this.asset.htlcLockAsset.expiration.type.getValue()); - expiration.put("value", this.asset.htlcLockAsset.expiration.value); - lock.put("expiration", expiration); - - asset.put("lock", lock); - return asset; - } - - @Override - public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(8 + 32 + 1 + 4 + 21); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.putLong(this.amount); - buffer.put(Hex.decode(this.asset.htlcLockAsset.secretHash)); - buffer.put((byte) this.asset.htlcLockAsset.expiration.type.getValue()); - buffer.putInt(this.asset.htlcLockAsset.expiration.value); - buffer.put(Base58.decodeChecked(this.recipientId)); - return buffer.array(); - } - - @Override - public void deserialize(ByteBuffer buffer) { - this.amount = buffer.getLong(); - byte[] secretHash = new byte[32]; - buffer.get(secretHash); - this.asset.htlcLockAsset.secretHash = Hex.encode(secretHash); - this.asset.htlcLockAsset.expiration = - new TransactionAsset.Expiration( - HtlcLockExpirationType.values()[buffer.get() - 1], buffer.getInt()); - byte[] recipientId = new byte[21]; - buffer.get(recipientId); - this.recipientId = Base58.encodeChecked(recipientId); - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/Ipfs.java b/src/main/java/org/arkecosystem/crypto/transactions/types/Ipfs.java deleted file mode 100644 index 78eb2e99..00000000 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/Ipfs.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.arkecosystem.crypto.transactions.types; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.HashMap; -import org.arkecosystem.crypto.encoding.Base58; -import org.arkecosystem.crypto.enums.CoreTransactionTypes; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; - -public class Ipfs extends Transaction { - - @Override - public int getTransactionType() { - return CoreTransactionTypes.IPFS.getValue(); - } - - @Override - public int getTransactionTypeGroup() { - return TransactionTypeGroup.CORE.getValue(); - } - - @Override - public HashMap assetToHashMap() { - HashMap asset = new HashMap<>(); - asset.put("ipfs", this.asset.ipfs); - return asset; - } - - @Override - public byte[] serialize() { - byte[] ipfsBuffer = Base58.decode(this.asset.ipfs); - ByteBuffer buffer = ByteBuffer.allocate(ipfsBuffer.length); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.put(ipfsBuffer); - return buffer.array(); - } - - @Override - public void deserialize(ByteBuffer buffer) { - byte hashFunction = buffer.get(); - byte ipfsHashLength = buffer.get(); - byte[] hashBuffer = new byte[ipfsHashLength]; - buffer.get(hashBuffer); - - byte[] ipfsBuffer = - ByteBuffer.allocate(ipfsHashLength + 2) - .put(hashFunction) - .put(ipfsHashLength) - .put(hashBuffer) - .array(); - - this.asset.ipfs = Base58.encode(ipfsBuffer); - } -} diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/MultiPayment.java b/src/main/java/org/arkecosystem/crypto/transactions/types/MultiPayment.java index f15fefb9..78a0db32 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/MultiPayment.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/MultiPayment.java @@ -4,10 +4,12 @@ import java.nio.ByteOrder; import java.util.ArrayList; import java.util.HashMap; -import org.arkecosystem.crypto.encoding.Base58; +import org.arkecosystem.crypto.encoding.Hex; import org.arkecosystem.crypto.enums.CoreTransactionTypes; import org.arkecosystem.crypto.enums.TransactionTypeGroup; import org.arkecosystem.crypto.transactions.TransactionAsset; +import org.arkecosystem.crypto.utils.Address; +import org.web3j.crypto.Keys; public class MultiPayment extends Transaction { @@ -42,12 +44,13 @@ public HashMap assetToHashMap() { @Override public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(2 + this.asset.multiPayment.payments.size() * 29); + ByteBuffer buffer = ByteBuffer.allocate(2 + this.asset.multiPayment.payments.size() * 28); buffer.order(ByteOrder.LITTLE_ENDIAN); buffer.putShort((short) this.asset.multiPayment.payments.size()); for (TransactionAsset.Payment current : this.asset.multiPayment.payments) { buffer.putLong(current.amount); - buffer.put(Base58.decodeChecked(current.recipientId)); + byte[] recipientBytes = Hex.decode(Address.toBufferHexString(current.recipientId)); + buffer.put(recipientBytes); } return buffer.array(); } @@ -55,12 +58,17 @@ public byte[] serialize() { @Override public void deserialize(ByteBuffer buffer) { int paymentLength = buffer.getShort() & 0xff; + for (int i = 0; i < paymentLength; i++) { - byte[] recipientId = new byte[21]; + byte[] recipientId = new byte[20]; long amount = buffer.getLong(); buffer.get(recipientId); this.asset.multiPayment.payments.add( - new TransactionAsset.Payment(amount, Base58.encodeChecked(recipientId))); + new TransactionAsset.Payment( + amount, Keys.toChecksumAddress("0x" + Hex.encode(recipientId)))); } + + this.asset.amount = + this.asset.multiPayment.payments.stream().mapToLong(p -> p.amount).sum(); } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/Transaction.java b/src/main/java/org/arkecosystem/crypto/transactions/types/Transaction.java index c61e82b0..0530eca3 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/Transaction.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/Transaction.java @@ -9,7 +9,6 @@ import java.util.Set; import org.arkecosystem.crypto.encoding.Hex; import org.arkecosystem.crypto.identities.PrivateKey; -import org.arkecosystem.crypto.signature.ECDSAVerifier; import org.arkecosystem.crypto.signature.SchnorrSigner; import org.arkecosystem.crypto.signature.SchnorrVerifier; import org.arkecosystem.crypto.signature.Signer; @@ -208,7 +207,6 @@ private Signer signer() { } private Verifier verifier(String signature) { - // 128 string length => 64 bits - return signature.length() == 128 ? new SchnorrVerifier() : new ECDSAVerifier(); + return new SchnorrVerifier(); } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/Transfer.java b/src/main/java/org/arkecosystem/crypto/transactions/types/Transfer.java index 30567260..18dbbf01 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/Transfer.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/Transfer.java @@ -3,9 +3,11 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.HashMap; -import org.arkecosystem.crypto.encoding.Base58; +import org.arkecosystem.crypto.encoding.Hex; import org.arkecosystem.crypto.enums.CoreTransactionTypes; import org.arkecosystem.crypto.enums.TransactionTypeGroup; +import org.arkecosystem.crypto.utils.Address; +import org.web3j.crypto.Keys; public class Transfer extends Transaction { @Override @@ -30,21 +32,27 @@ public HashMap assetToHashMap() { @Override public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(33); + ByteBuffer buffer = ByteBuffer.allocate(32); buffer.order(ByteOrder.LITTLE_ENDIAN); buffer.putLong(this.amount); buffer.putInt(this.expiration); - buffer.put(Base58.decodeChecked(this.recipientId)); + + // Convert recipientId to a hex string without the 0x prefix and then to bytes + byte[] recipientBytes = Hex.decode(Address.toBufferHexString(this.recipientId)); + buffer.put(recipientBytes); + return buffer.array(); } @Override public void deserialize(ByteBuffer buffer) { + buffer.order(ByteOrder.LITTLE_ENDIAN); + this.amount = buffer.getLong(); this.expiration = buffer.getInt(); - byte[] recipientId = new byte[21]; + byte[] recipientId = new byte[20]; buffer.get(recipientId); - this.recipientId = Base58.encodeChecked(recipientId); + this.recipientId = Keys.toChecksumAddress("0x" + Hex.encode(recipientId)); } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcRefund.java b/src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorRegistration.java similarity index 56% rename from src/main/java/org/arkecosystem/crypto/transactions/types/HtlcRefund.java rename to src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorRegistration.java index 4e82dca7..8e085dfb 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/HtlcRefund.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorRegistration.java @@ -7,11 +7,10 @@ import org.arkecosystem.crypto.enums.CoreTransactionTypes; import org.arkecosystem.crypto.enums.TransactionTypeGroup; -public class HtlcRefund extends Transaction { - +public class ValidatorRegistration extends Transaction { @Override public int getTransactionType() { - return CoreTransactionTypes.HTLC_REFUND.getValue(); + return CoreTransactionTypes.VALIDATOR_REGISTRATION.getValue(); } @Override @@ -23,25 +22,24 @@ public int getTransactionTypeGroup() { public HashMap assetToHashMap() { HashMap asset = new HashMap<>(); - HashMap lockTransactionId = new HashMap<>(); - lockTransactionId.put("lockTransactionId", this.asset.htlcRefundAsset.lockTransactionId); + asset.put("validatorPublicKey", this.asset.validatorPublicKey); - asset.put("refund", lockTransactionId); return asset; } @Override public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(32); + ByteBuffer buffer = ByteBuffer.allocate(48); buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.put(Hex.decode(this.asset.htlcRefundAsset.lockTransactionId)); + buffer.put(Hex.decode(this.asset.validatorPublicKey)); + return buffer.array(); } @Override public void deserialize(ByteBuffer buffer) { - byte[] lockTransactionIdBuffer = new byte[32]; - buffer.get(lockTransactionIdBuffer); - this.asset.htlcRefundAsset.lockTransactionId = Hex.encode(lockTransactionIdBuffer); + byte[] validatorPublicKey = new byte[48]; + buffer.get(validatorPublicKey); + this.asset.validatorPublicKey = Hex.encode(validatorPublicKey); } } diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/DelegateResignation.java b/src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorResignation.java similarity index 83% rename from src/main/java/org/arkecosystem/crypto/transactions/types/DelegateResignation.java rename to src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorResignation.java index ed3821a1..5fda19c3 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/DelegateResignation.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/ValidatorResignation.java @@ -5,10 +5,10 @@ import org.arkecosystem.crypto.enums.CoreTransactionTypes; import org.arkecosystem.crypto.enums.TransactionTypeGroup; -public class DelegateResignation extends Transaction { +public class ValidatorResignation extends Transaction { @Override public int getTransactionType() { - return CoreTransactionTypes.DELEGATE_RESIGNATION.getValue(); + return CoreTransactionTypes.VALIDATOR_RESIGNATION.getValue(); } @Override diff --git a/src/main/java/org/arkecosystem/crypto/transactions/types/Vote.java b/src/main/java/org/arkecosystem/crypto/transactions/types/Vote.java index e4d0c2ed..3cc5c739 100644 --- a/src/main/java/org/arkecosystem/crypto/transactions/types/Vote.java +++ b/src/main/java/org/arkecosystem/crypto/transactions/types/Vote.java @@ -24,34 +24,48 @@ public int getTransactionTypeGroup() { public HashMap assetToHashMap() { HashMap asset = new HashMap<>(); asset.put("votes", this.asset.votes); + asset.put("unvotes", this.asset.unvotes); return asset; } @Override public byte[] serialize() { - ByteBuffer buffer = ByteBuffer.allocate(1 + this.asset.votes.size() * 34); + ByteBuffer buffer = + ByteBuffer.allocate( + (1 + this.asset.votes.size() * 33) + (1 + this.asset.unvotes.size() * 33)); + buffer.order(ByteOrder.LITTLE_ENDIAN); List votes = new ArrayList<>(this.asset.votes); - for (int i = 0; i < votes.size(); i++) { - votes.set( - i, (votes.get(i).startsWith("+") ? "01" : "00") + (votes.get(i).substring(1))); - } + List unvotes = new ArrayList<>(this.asset.unvotes); buffer.put((byte) votes.size()); buffer.put(Hex.decode(String.join("", votes))); + + buffer.put((byte) unvotes.size()); + buffer.put(Hex.decode(String.join("", unvotes))); + return buffer.array(); } @Override public void deserialize(ByteBuffer buffer) { int voteLength = buffer.get(); + for (int i = 0; i < voteLength; i++) { - byte[] voteBuffer = new byte[34]; + byte[] voteBuffer = new byte[33]; buffer.get(voteBuffer); String vote = Hex.encode(voteBuffer); - vote = (vote.startsWith("01") ? '+' : '-') + vote.substring(2); this.asset.votes.add(vote); } + + int unvoteLength = buffer.get(); + + for (int i = 0; i < unvoteLength; i++) { + byte[] unvoteBuffer = new byte[33]; + buffer.get(unvoteBuffer); + String unvote = Hex.encode(unvoteBuffer); + this.asset.unvotes.add(unvote); + } } } diff --git a/src/main/java/org/arkecosystem/crypto/utils/Address.java b/src/main/java/org/arkecosystem/crypto/utils/Address.java new file mode 100644 index 00000000..65bcc697 --- /dev/null +++ b/src/main/java/org/arkecosystem/crypto/utils/Address.java @@ -0,0 +1,47 @@ +package org.arkecosystem.crypto.utils; + +import java.nio.ByteBuffer; +import org.bouncycastle.util.encoders.Hex; +import org.web3j.crypto.Keys; + +public class Address { + + /** + * Validate the given address. + * + * @param address The address to validate + * @return true if the address is valid, false otherwise + */ + public static boolean validate(String address) { + if (address == null || !address.matches("^0x[a-fA-F0-9]{40}$")) { + return false; + } + return address.equals(Keys.toChecksumAddress(address)); + } + + /** + * Convert to hex string without 0x prefix. + * + * @param address The address to convert + * @return The hex string without 0x prefix + */ + public static String toBufferHexString(String address) { + if (address.startsWith("0x")) { + return address.substring(2).toLowerCase(); + } + return address.toLowerCase(); + } + + /** + * Extract the address from a byte buffer. + * + * @param buffer The ByteBuffer containing the address + * @return The extracted address as a checksum address + */ + public static String fromByteBuffer(ByteBuffer buffer) { + byte[] addressBytes = new byte[20]; + buffer.get(addressBytes); + String hexAddress = "0x" + Hex.toHexString(addressBytes); + return Keys.toChecksumAddress(hexAddress); + } +} diff --git a/src/test/java/org/arkecosystem/crypto/SchnorrTest.java b/src/test/java/org/arkecosystem/crypto/SchnorrTest.java index b0bc8787..008fe682 100644 --- a/src/test/java/org/arkecosystem/crypto/SchnorrTest.java +++ b/src/test/java/org/arkecosystem/crypto/SchnorrTest.java @@ -1,142 +1,16 @@ package org.arkecosystem.crypto; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import java.math.BigInteger; -import org.junit.jupiter.api.Assertions; +import org.arkecosystem.crypto.encoding.Hex; import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.CsvFileSource; class SchnorrTest { - - @ParameterizedTest - @CsvFileSource(resources = "/utils/test-vectors.csv", numLinesToSkip = 1) - void schnorrSignAndVerify( - String secretKey, - String publickey, - String message, - String signature, - boolean expected, - String comment) { - - byte[] pubkey = Schnorr.hexStringToByteArray(publickey); - byte[] msg = Schnorr.hexStringToByteArray(message); - - if (secretKey != null) { - BigInteger seckeyNum = new BigInteger(secretKey, 16); - String sig_actual = Schnorr.bytesToHex(Schnorr.schnorrSign(msg, seckeyNum)); - assertEquals(signature, sig_actual); - } - boolean result_actual = - Schnorr.schnorrVerify(msg, pubkey, Schnorr.hexStringToByteArray(signature)); - assertEquals(expected, result_actual, comment); - } - - @Test - public void addPointNoP1() { - BigInteger[] p2 = { - new BigInteger("1"), new BigInteger("2"), - }; - - assertEquals(p2, Schnorr.addPoint(null, p2)); - } - - @Test - public void addPointNoP2() { - BigInteger[] p1 = { - new BigInteger("1"), new BigInteger("2"), - }; - - assertEquals(p1, Schnorr.addPoint(p1, null)); - } - - @Test - public void bytesToPointInvalidBytes() { - byte[] bytes = new byte[] {1}; - - assertNull(Schnorr.bytesToPoint(bytes)); - } - @Test - public void cannotSignMessageIfNot32BytesLong() { - Assertions.assertThrows( - RuntimeException.class, - () -> { - byte[] bytes = new byte[] {1}; - - Schnorr.schnorrSign(bytes, new BigInteger("1")); - }); - } - - @Test - public void cannotSignMessageIfSecKeyZero() { - Assertions.assertThrows( - RuntimeException.class, - () -> { - byte[] bytes = - Schnorr.hexStringToByteArray( - "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); - - Schnorr.schnorrSign(bytes, new BigInteger("-1")); - }); - } - - @Test - public void cannotVerifyIfMessageNot32BytesLong() { - Exception thrown = - Assertions.assertThrows( - RuntimeException.class, - () -> { - byte[] message = Schnorr.hexStringToByteArray("01"); - byte[] publicKey = - Schnorr.hexStringToByteArray( - "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659"); - byte[] signature = - Schnorr.hexStringToByteArray( - "787A848E71043D280C50470E8E1532B2DD5D20EE912A45DBDD2BD1DFBF187EF67031A98831859DC34DFFEEDDA86831842CCD0079E1F92AF177F7F22CC1DCED05"); - - Schnorr.schnorrVerify(message, publicKey, signature); - }); - assertEquals("The message must be a 32-byte array.", thrown.getMessage()); - } - - @Test - public void cannotVerifyIfPublicKeyNot33BytesLong() { - Exception thrown = - Assertions.assertThrows( - RuntimeException.class, - () -> { - byte[] message = - Schnorr.hexStringToByteArray( - "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); - byte[] publicKey = Schnorr.hexStringToByteArray("00"); - byte[] signature = - Schnorr.hexStringToByteArray( - "787A848E71043D280C50470E8E1532B2DD5D20EE912A45DBDD2BD1DFBF187EF67031A98831859DC34DFFEEDDA86831842CCD0079E1F92AF177F7F22CC1DCED05"); - - Schnorr.schnorrVerify(message, publicKey, signature); - }); - assertEquals("The public key must be a 33-byte array.", thrown.getMessage()); - } - - @Test - public void cannotVerifyIfSignatureNot64BytesLong() { - Exception thrown = - Assertions.assertThrows( - RuntimeException.class, - () -> { - byte[] message = - Schnorr.hexStringToByteArray( - "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); - byte[] publicKey = - Schnorr.hexStringToByteArray( - "02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659"); - byte[] signature = Schnorr.hexStringToByteArray("00"); - - Schnorr.schnorrVerify(message, publicKey, signature); - }); - assertEquals("The signature must be a 64-byte array.", thrown.getMessage()); + public void convertHexStringToByteArray() { + assertEquals( + Hex.encode( + Schnorr.hexStringToByteArray("b693449AdDa7EFc015D87944EAE8b7C37EB1690A")), + "b693449adda7efc015d87944eae8b7c37eb1690a"); } } diff --git a/src/test/java/org/arkecosystem/crypto/identities/AddressTest.java b/src/test/java/org/arkecosystem/crypto/identities/AddressTest.java index 774622ad..647d0149 100644 --- a/src/test/java/org/arkecosystem/crypto/identities/AddressTest.java +++ b/src/test/java/org/arkecosystem/crypto/identities/AddressTest.java @@ -1,7 +1,6 @@ package org.arkecosystem.crypto.identities; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; import org.bitcoinj.core.ECKey; import org.junit.jupiter.api.Test; @@ -28,9 +27,4 @@ public void fromPrivateKey() { String actual = Address.fromPrivateKey(privateKey); assertEquals("0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", actual); } - - @Test - public void validate() { - assertTrue(Address.validate("0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01")); - } } diff --git a/src/test/java/org/arkecosystem/crypto/signature/ECDSASignerTest.java b/src/test/java/org/arkecosystem/crypto/signature/ECDSASignerTest.java deleted file mode 100644 index f1ca3a1d..00000000 --- a/src/test/java/org/arkecosystem/crypto/signature/ECDSASignerTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.arkecosystem.crypto.signature; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import org.arkecosystem.crypto.Schnorr; -import org.arkecosystem.crypto.identities.PrivateKey; -import org.bitcoinj.core.ECKey; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -class ECDSASignerTest { - - private Signer signer; - - @BeforeEach - void setUp() { - signer = new ECDSASigner(); - } - - @Test - void sign() { - String message = "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"; - ECKey privateKey = PrivateKey.fromPassphrase("some passphrase"); - String signature = - "304402207856D22D9C1E146492117B61D83F0A8D2E046C5A75F471172689A0A0C26907C6022035A1368F38EC63BC9B7BEEC7BCE49BD2C1AE28179EE83EBE7FD9C17824E2514B"; - - assertEquals( - signature, - Schnorr.bytesToHex(signer.sign(Schnorr.hexStringToByteArray(message), privateKey))); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/signature/ECDSAVerifierTest.java b/src/test/java/org/arkecosystem/crypto/signature/ECDSAVerifierTest.java deleted file mode 100644 index 5f568319..00000000 --- a/src/test/java/org/arkecosystem/crypto/signature/ECDSAVerifierTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.arkecosystem.crypto.signature; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import org.arkecosystem.crypto.Schnorr; -import org.arkecosystem.crypto.identities.PrivateKey; -import org.bitcoinj.core.ECKey; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -class ECDSAVerifierTest { - - private Verifier verifier; - - @BeforeEach - void setUp() { - verifier = new ECDSAVerifier(); - } - - @Test - void verify() { - byte[] message = - Schnorr.hexStringToByteArray( - "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); - ECKey privateKey = PrivateKey.fromPassphrase("some passphrase"); - String signature = - "304402207856D22D9C1E146492117B61D83F0A8D2E046C5A75F471172689A0A0C26907C6022035A1368F38EC63BC9B7BEEC7BCE49BD2C1AE28179EE83EBE7FD9C17824E2514B"; - - assertTrue(verifier.verify(message, privateKey, Schnorr.hexStringToByteArray(signature))); - } - - @Test - void verifyInvalid() { - byte[] message = - Schnorr.hexStringToByteArray( - "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); - ECKey privateKey = PrivateKey.fromPassphrase("some passphrase"); - String signature = - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"; - - assertFalse(verifier.verify(message, privateKey, Schnorr.hexStringToByteArray(signature))); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/signature/FixtureSignVerificationTest.java b/src/test/java/org/arkecosystem/crypto/signature/FixtureSignVerificationTest.java index 7d5099f8..73294eda 100644 --- a/src/test/java/org/arkecosystem/crypto/signature/FixtureSignVerificationTest.java +++ b/src/test/java/org/arkecosystem/crypto/signature/FixtureSignVerificationTest.java @@ -19,95 +19,43 @@ public class FixtureSignVerificationTest { - private final String passphrase = "this is a top secret passphrase"; + private final String passphrase = "my super secret passphrase"; private final String secondPassphrase = "this is a top secret second passphrase"; - private final String musigPassphrase1 = "this is a top secret passphrase 1"; - private final String musigPassphrase2 = "this is a top secret passphrase 2"; - private final String musigPassphrase3 = "this is a top secret passphrase 3"; + private final String musigPassphrase1 = + "album pony urban cheap small blade cannon silent run reveal luxury glad predict excess fire beauty hollow reward solar egg exclude leaf sight degree"; + private final String musigPassphrase2 = + "hen slogan retire boss upset blame rocket slender area arch broom bring elder few milk bounce execute page evoke once inmate pear marine deliver"; + private final String musigPassphrase3 = + "top visa use bacon sun infant shrimp eye bridge fantasy chair sadness stable simple salad canoe raw hill target connect avoid promote spider category"; @ParameterizedTest @ValueSource( strings = { - "transactions/v2-ecdsa/second-signature-registration", - "transactions/v2-ecdsa/transfer-with-vendor-field-secondSign", - "transactions/v2-ecdsa/transfer-secondSign", - "transactions/v2-ecdsa/transfer-sign", - "transactions/v2-ecdsa/multi-payment-secondSign", - "transactions/v2-ecdsa/delegate-resignation-secondSign", - "transactions/v2-ecdsa/htlc-claim-sign", - "transactions/v2-ecdsa/htlc-claim-secondSign", - "transactions/v2-ecdsa/htlc-lock-sign", - "transactions/v2-ecdsa/htlc-refund-secondSign", - "transactions/v2-ecdsa/delegate-registration-sign", - "transactions/v2-ecdsa/vote-sign", - "transactions/v2-ecdsa/multi-payment-sign", - "transactions/v2-ecdsa/multi-payment-with-vendor-field-sign", - "transactions/v2-ecdsa/delegate-registration-secondSign", - "transactions/v2-ecdsa/ipfs-secondSign", - "transactions/v2-ecdsa/htlc-lock-secondSign", - "transactions/v2-ecdsa/unvote-sign", - "transactions/v2-ecdsa/vote-secondSign", - "transactions/v2-ecdsa/delegate-resignation-sign", - "transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign", - "transactions/v2-ecdsa/ipfs-sign", - "transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign", - "transactions/v2-ecdsa/unvote-secondSign", - "transactions/v2-ecdsa/transfer-with-vendor-field-sign", - "transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign", - "transactions/v2-ecdsa/htlc-refund-sign", - }) - void checkEcdsa(String file) { - LinkedTreeMap fixture = FixtureLoader.load(file); + "transactions/transfer/transfer-sign", + "transactions/transfer/transfer-with-vendor-field-sign", + // "transactions/transfer/transfer-multi-sign", - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); + "transactions/vote/vote-sign", + "transactions/vote/unvote-sign", + // "transactions/vote/vote-multi-sign", - assertTrue(actual.verify()); - } + "transactions/validator_registration/validator-registration-sign", + // "transactions/validator_registration/validator-registration-multi-sign", - @ParameterizedTest - @ValueSource( - strings = { - "transactions/v2-schnorr/second-signature-registration", - "transactions/v2-schnorr/transfer-with-vendor-field-secondSign", - "transactions/v2-schnorr/transfer-secondSign", - "transactions/v2-schnorr/multi-signature-registration", - "transactions/v2-schnorr/transfer-sign", - "transactions/v2-schnorr/multi-payment-secondSign", - "transactions/v2-schnorr/delegate-resignation-secondSign", - "transactions/v2-schnorr/htlc-claim-sign", - "transactions/v2-schnorr/htlc-claim-secondSign", - "transactions/v2-schnorr/htlc-lock-sign", - "transactions/v2-schnorr/htlc-refund-secondSign", - "transactions/v2-schnorr/delegate-registration-sign", - "transactions/v2-schnorr/vote-sign", - "transactions/v2-schnorr/multi-payment-sign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-sign", - "transactions/v2-schnorr/delegate-registration-secondSign", - "transactions/v2-schnorr/ipfs-secondSign", - "transactions/v2-schnorr/htlc-lock-secondSign", - "transactions/v2-schnorr/unvote-sign", - "transactions/v2-schnorr/vote-secondSign", - "transactions/v2-schnorr/delegate-resignation-sign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-sign", - "transactions/v2-schnorr/ipfs-sign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-secondSign", - "transactions/v2-schnorr/unvote-secondSign", - "transactions/v2-schnorr/transfer-with-vendor-field-sign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-secondSign", - "transactions/v2-schnorr/htlc-refund-sign", - "transactions/v2-schnorr/htlc-lock-multiSign", - "transactions/v2-schnorr/htlc-claim-multiSign", - "transactions/v2-schnorr/htlc-refund-multiSign", - "transactions/v2-schnorr/ipfs-multiSign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-multiSign", - "transactions/v2-schnorr/vote-multiSign", - "transactions/v2-schnorr/multi-payment-multiSign", - "transactions/v2-schnorr/transfer-with-vendor-field-multiSign", - "transactions/v2-schnorr/unvote-multiSign", - "transactions/v2-schnorr/delegate-registration-multiSign", - "transactions/v2-schnorr/transfer-multiSign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-multiSign", - "transactions/v2-schnorr/delegate-resignation-multiSign", + "transactions/validator_resignation/validator-resignation-sign", + // "transactions/validator_resignation/validator-resignation-multi-sign", + + "transactions/multi_payment/multi-payment-sign", + "transactions/multi_payment/multi-payment-with-vendor-field-sign", + // "transactions/multi_payment/multi-payment-multi-sign", + + // "transactions/username_resignation/username-resignation-sign", + // "transactions/username_resignation/username-resignation-multi-sign", + + // "transactions/username_registration/username-registration-multi-sign", + // "transactions/username_registration/username-registration-sign", + + "transactions/multi_signature_registration/multi-signature-registration-sign", }) void checkSchnorrSignature(String file) { LinkedTreeMap fixture = FixtureLoader.load(file); @@ -128,47 +76,31 @@ void checkSchnorrSignature(String file) { @ParameterizedTest @ValueSource( strings = { - "transactions/v2-schnorr/second-signature-registration", - "transactions/v2-schnorr/transfer-with-vendor-field-secondSign", - "transactions/v2-schnorr/transfer-secondSign", - "transactions/v2-schnorr/multi-signature-registration", - "transactions/v2-schnorr/transfer-sign", - "transactions/v2-schnorr/multi-payment-secondSign", - "transactions/v2-schnorr/delegate-resignation-secondSign", - "transactions/v2-schnorr/htlc-claim-sign", - "transactions/v2-schnorr/htlc-claim-secondSign", - "transactions/v2-schnorr/htlc-lock-sign", - "transactions/v2-schnorr/htlc-refund-secondSign", - "transactions/v2-schnorr/delegate-registration-sign", - "transactions/v2-schnorr/vote-sign", - "transactions/v2-schnorr/multi-payment-sign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-sign", - "transactions/v2-schnorr/delegate-registration-secondSign", - "transactions/v2-schnorr/ipfs-secondSign", - "transactions/v2-schnorr/htlc-lock-secondSign", - "transactions/v2-schnorr/unvote-sign", - "transactions/v2-schnorr/vote-secondSign", - "transactions/v2-schnorr/delegate-resignation-sign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-sign", - "transactions/v2-schnorr/ipfs-sign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-secondSign", - "transactions/v2-schnorr/unvote-secondSign", - "transactions/v2-schnorr/transfer-with-vendor-field-sign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-secondSign", - "transactions/v2-schnorr/htlc-refund-sign", - "transactions/v2-schnorr/htlc-lock-multiSign", - "transactions/v2-schnorr/htlc-claim-multiSign", - "transactions/v2-schnorr/htlc-refund-multiSign", - "transactions/v2-schnorr/ipfs-multiSign", - "transactions/v2-schnorr/htlc-lock-with-vendor-field-multiSign", - "transactions/v2-schnorr/vote-multiSign", - "transactions/v2-schnorr/multi-payment-multiSign", - "transactions/v2-schnorr/transfer-with-vendor-field-multiSign", - "transactions/v2-schnorr/unvote-multiSign", - "transactions/v2-schnorr/delegate-registration-multiSign", - "transactions/v2-schnorr/transfer-multiSign", - "transactions/v2-schnorr/multi-payment-with-vendor-field-multiSign", - "transactions/v2-schnorr/delegate-resignation-multiSign", + "transactions/transfer/transfer-sign", + "transactions/transfer/transfer-with-vendor-field-sign", + // "transactions/transfer/transfer-multi-sign", + + "transactions/vote/vote-sign", + "transactions/vote/unvote-sign", + // "transactions/vote/vote-multi-sign", + + "transactions/validator_registration/validator-registration-sign", + // "transactions/validator_registration/validator-registration-multi-sign", + + "transactions/validator_resignation/validator-resignation-sign", + // "transactions/validator_resignation/validator-resignation-multi-sign", + + "transactions/multi_payment/multi-payment-sign", + "transactions/multi_payment/multi-payment-with-vendor-field-sign", + // "transactions/multi_payment/multi-payment-multi-sign", + + // "transactions/username_resignation/username-resignation-sign", + // "transactions/username_resignation/username-resignation-multi-sign", + + // "transactions/username_registration/username-registration-multi-sign", + // "transactions/username_registration/username-registration-sign", + + // "transactions/multi_signature_registration/multi-signature-registration-sign", }) void checkSigningAgainProducesSameSignature(String file) { LinkedTreeMap fixture = FixtureLoader.load(file); @@ -195,13 +127,22 @@ void checkSigningAgainProducesSameSignature(String file) { checkSecondSignature(withoutSignatures); } + int signatureLength = 128; + if (withoutSignatures.signatures != null) { checkMultiSignature(withoutSignatures); + + signatureLength = 128 + (withoutSignatures.signatures.size() * 130); } + String serializedWithoutSignatures = Hex.encode(Serializer.serialize(withoutSignatures)); + String serializedFixture = fixture.get("serialized").toString(); + + // Exclude the last 128 characters (signature) for final comparison assertThat( - Hex.encode(Serializer.serialize(withoutSignatures)), - is(fixture.get("serialized").toString())); + serializedWithoutSignatures.substring( + 0, serializedWithoutSignatures.length() - signatureLength), + is(serializedFixture.substring(0, serializedFixture.length() - signatureLength))); } private void reSignUnsigned(Transaction actual, Transaction withoutSignatures) { diff --git a/src/test/java/org/arkecosystem/crypto/signature/SchnorrSignerTest.java b/src/test/java/org/arkecosystem/crypto/signature/SchnorrSignerTest.java index bbb38cfd..858c5c5f 100644 --- a/src/test/java/org/arkecosystem/crypto/signature/SchnorrSignerTest.java +++ b/src/test/java/org/arkecosystem/crypto/signature/SchnorrSignerTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import org.arkecosystem.crypto.Schnorr; +import org.arkecosystem.crypto.encoding.Hex; import org.arkecosystem.crypto.identities.PrivateKey; import org.bitcoinj.core.ECKey; import org.junit.jupiter.api.BeforeEach; @@ -21,11 +22,12 @@ void setUp() { void sign() { String message = "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"; ECKey privateKey = PrivateKey.fromPassphrase("some passphrase"); - String signature = - "BCB684D8166A3BCC86BBABA0DF77CC6C5E86769DFF2D6377F71EC25B6AF2C983C57BEA0FE27D1F712CD0CCA0A5B09BFF15D64842DCE0EABA23834F705E73011A"; + String otherValidSignature = + "d39f6c989c185699c2f3a8674dcdd86944f9e11debc57e179bf51de3f3604546c565a37302417ab0914aa45b46f66154fbd845f883942a4cdd8654d1aaecb5c3"; - assertEquals( - signature, - Schnorr.bytesToHex(signer.sign(Schnorr.hexStringToByteArray(message), privateKey))); + String result = Hex.encode(signer.sign(Schnorr.hexStringToByteArray(message), privateKey)); + + // Since the signature is non-deterministic, we can only check the length + assertEquals(otherValidSignature.length(), result.length()); } } diff --git a/src/test/java/org/arkecosystem/crypto/signature/SchnorrVerifierTest.java b/src/test/java/org/arkecosystem/crypto/signature/SchnorrVerifierTest.java index ac34ab0e..7f09c61c 100644 --- a/src/test/java/org/arkecosystem/crypto/signature/SchnorrVerifierTest.java +++ b/src/test/java/org/arkecosystem/crypto/signature/SchnorrVerifierTest.java @@ -24,7 +24,7 @@ void verify() { "243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89"); ECKey privateKey = PrivateKey.fromPassphrase("some passphrase"); String signature = - "BCB684D8166A3BCC86BBABA0DF77CC6C5E86769DFF2D6377F71EC25B6AF2C983C57BEA0FE27D1F712CD0CCA0A5B09BFF15D64842DCE0EABA23834F705E73011A"; + "d39f6c989c185699c2f3a8674dcdd86944f9e11debc57e179bf51de3f3604546c565a37302417ab0914aa45b46f66154fbd845f883942a4cdd8654d1aaecb5c3"; assertTrue(verifier.verify(message, privateKey, Schnorr.hexStringToByteArray(signature))); } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilderTest.java deleted file mode 100644 index 5626dffc..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateRegistrationBuilderTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.*; - -import java.util.HashMap; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class DelegateRegistrationBuilderTest { - @Test - void build() { - Transaction actual = - new DelegateRegistrationBuilder() - .username("java") - .version(2) - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - HashMap delegate = (HashMap) actualAsset.get("delegate"); - assertEquals(delegate.get("username"), "java"); - - assertTrue(actual.verify()); - } - - @Test - void buildSecondSignature() { - Transaction actual = - new DelegateRegistrationBuilder() - .username("java") - .version(2) - .nonce(3) - .sign("this is a top secret passphrase") - .secondSign("this is a top secret second passphrase") - .transaction; - - assertTrue(actual.verify()); - assertTrue( - actual.secondVerify( - "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609")); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilderTest.java deleted file mode 100644 index 48e2e48e..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcClaimBuilderTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.*; - -import java.util.HashMap; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class HtlcClaimBuilderTest { - @Test - void build() { - Transaction actual = - new HtlcClaimBuilder() - .htlcClaimAsset( - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - HashMap claim = (HashMap) actualAsset.get("claim"); - assertEquals( - claim.get("lockTransactionId"), - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4"); - assertEquals(claim.get("unlockSecret"), "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); - - assertTrue(actual.verify()); - } - - @Test - void buildSecondSignature() { - Transaction actual = - new HtlcClaimBuilder() - .htlcClaimAsset( - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4", - "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") - .nonce(3) - .sign("this is a top secret passphrase") - .secondSign("this is a top secret second passphrase") - .transaction; - - assertTrue(actual.verify()); - assertTrue( - actual.secondVerify( - "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609")); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilderTest.java deleted file mode 100644 index 81ea2587..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcLockBuilderTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.*; - -import java.util.HashMap; -import org.arkecosystem.crypto.enums.HtlcLockExpirationType; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class HtlcLockBuilderTest { - @Test - void build() { - Transaction actual = - new HtlcLockBuilder() - .amount(1000000) - .recipientId("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25") - .secretHash( - "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454") - .expirationType(HtlcLockExpirationType.EPOCH_TIMESTAMP, 1) - .vendorField("This is vendor field java") - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - HashMap lock = (HashMap) actualAsset.get("lock"); - HashMap expiration = (HashMap) lock.get("expiration"); - - assertEquals( - lock.get("secretHash"), - "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454"); - assertEquals(expiration.get("type"), HtlcLockExpirationType.EPOCH_TIMESTAMP.getValue()); - assertEquals(expiration.get("value"), 1); - - assertTrue(actual.verify()); - } - - @Test - void buildSecondSignature() { - Transaction actual = - new HtlcLockBuilder() - .amount(1000000) - .recipientId("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25") - .secretHash( - "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454") - .expirationType(HtlcLockExpirationType.EPOCH_TIMESTAMP, 1) - .nonce(3) - .sign("this is a top secret passphrase") - .secondSign("this is a top secret second passphrase") - .transaction; - - assertTrue(actual.verify()); - assertTrue( - actual.secondVerify( - "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609")); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilderTest.java deleted file mode 100644 index 03c759bc..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/HtlcRefundBuilderTest.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.HashMap; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class HtlcRefundBuilderTest { - @Test - void build() { - Transaction actual = - new HtlcRefundBuilder() - .htlcRefundAsset( - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4") - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - HashMap refund = (HashMap) actualAsset.get("refund"); - assertEquals( - refund.get("lockTransactionId"), - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4"); - - assertTrue(actual.verify()); - } - - @Test - void buildSecondSignature() { - Transaction actual = - new HtlcRefundBuilder() - .htlcRefundAsset( - "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4") - .nonce(3) - .sign("this is a top secret passphrase") - .secondSign("this is a top secret second passphrase") - .transaction; - - assertTrue(actual.verify()); - assertTrue( - actual.secondVerify( - "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609")); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilderTest.java deleted file mode 100644 index 8da5bc46..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/IpfsBuilderTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.HashMap; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class IpfsBuilderTest { - - @Test - void passphrase() { - Transaction actual = - new IpfsBuilder() - .ipfsAsset("QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w") - .version(2) - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - assertEquals(actualAsset.get("ipfs"), "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w"); - - assertTrue(actual.verify()); - } - - @Test - void buildSecondSignature() { - Transaction actual = - new IpfsBuilder() - .ipfsAsset("QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w") - .version(2) - .nonce(3) - .sign("this is a top secret passphrase") - .secondSign("this is a top secret second passphrase") - .transaction; - - assertTrue(actual.verify()); - assertTrue( - actual.secondVerify( - "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609")); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiPaymentBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiPaymentBuilderTest.java index c78f3bde..4427b45e 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiPaymentBuilderTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiPaymentBuilderTest.java @@ -12,9 +12,9 @@ class MultiPaymentBuilderTest { void build() { Transaction actual = new MultiPaymentBuilder() - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 1) - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 2) - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 3) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 1) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 2) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 3) .vendorField("This is a transaction from Java") .sign("this is a top secret passphrase") .transaction; @@ -24,7 +24,7 @@ void build() { ArrayList payments = (ArrayList) actualAsset.get("payments"); HashMap payment = (HashMap) payments.get(0); assertEquals(payment.get("amount"), "1"); - assertEquals(payment.get("recipientId"), "AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25"); + assertEquals(payment.get("recipientId"), "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A"); assertTrue(actual.verify()); } @@ -33,9 +33,9 @@ void build() { void buildSecondSignature() { Transaction actual = new MultiPaymentBuilder() - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 1) - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 2) - .addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 3) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 1) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 2) + .addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 3) .vendorField("This is a transaction from Java") .sign("this is a top secret passphrase") .secondSign("this is a top secret second passphrase") @@ -51,12 +51,12 @@ void buildSecondSignature() { void testMaxPayments() { MultiPaymentBuilder actual = new MultiPaymentBuilder(); for (int i = 0; i < 64; i++) { - actual.addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 1); + actual.addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 1); } Throwable exception = assertThrows( MaximumPaymentCountExceededError.class, - () -> actual.addPayment("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25", 1)); + () -> actual.addPayment("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", 1)); assertEquals("Expected a maximum of 64 payments", exception.getMessage()); } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiSignatureRegistrationBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiSignatureRegistrationBuilderTest.java index d377a25a..894ab34c 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiSignatureRegistrationBuilderTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/MultiSignatureRegistrationBuilderTest.java @@ -27,9 +27,7 @@ void build() { Transaction actual = new MultiSignatureRegistrationBuilder() - .version(2) .nonce(3) - .network(23) .fee(Fees.MULTI_SIGNATURE_REGISTRATION.getValue()) .publicKeys(publicKeys) .min(3) @@ -65,7 +63,7 @@ void checkMultiSignaturePassingInvalidMultiSignatureAsset() { () -> { Deserializer deserializer = new Deserializer( - "ff0217010000000000010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f55366200c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e01830a2e319f2070f3519bc22c2d449acdb7691bf9dd25e3649a72ac843e08ce26e0b87e30e65b73f853cf8e375dbc495cc75c6fd199bf4b15327bf8c5ec4bfac50292c299b739f0cb5e36133d85f51fff2fcc7745e8af4d0778908560c0874e3f2303e0436eabce1c09d88efab0004e61c5d6e47768aa8d2ab0cb9f14d523a38308"); + "ff011e0100000004000200000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d30065cd1d00000000000203029fab3cb2f5e248ae7cbb4de646741da4d73c493b2a03ab5c71507fb2c0dcca9203629f9dbf7f1e91cefa845126189816ceae357bdd1f41bd14787318a7d5b55d48027941d2059f89a26d89e87d3385e261a0ede1234aaeaa487012b69d6b67962dc52b33558cdc62933ff56feb646d1f47a98104bf34b894895d5e816f86e556f87fce8485e55aa32dfa1cd86456a66a58ef7a68dff4af51e2f7fcf75b983540872e000caa6864c71362b369c71107f463f29c43c361e54260cbc54d791b7385dbe76f29d12b9befbe4f98792d7046481afcf0c156408310192a93d8413e5380438f270153a22c5ce2b1894f0a141adc19de567077d2d268f4c7e1476e9558ecb4411d486cd0d7aa3e9c7716739a055a8a1a64a162d0362645d63d13791a9876ef8b5a88021d56997f0c9e21201c59e1b7b6be8d5a609908a4f65bf266144baf5e61e3f14bc2651f62187f4ffa17c8b010fcb0fba94a04df56bc25e5cb20935ec5fb7ad632"); Transaction actual = deserializer.deserialize(); assertTrue(actual.multiVerify(3, Collections.emptyList())); }); @@ -80,7 +78,7 @@ void checkMultiSignaturePassingInvalidMultiSignatureAssets() { Deserializer deserializer = new Deserializer( - "ff0217010000000000010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f55366200c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e0192c299b739f0cb5e36133d85f51fff2fcc7745e8af4d0778908560c0874e3f2303e0436eabce1c09d88efab0004e61c5d6e47768aa8d2ab0cb9f14d523a3830802830a2e319f2070f3519bc22c2d449acdb7691bf9dd25e3649a72ac843e08ce26e0b87e30e65b73f853cf8e375dbc495cc75c6fd199bf4b15327bf8c5ec4bfac5"); + "ff011e0100000004000200000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d30065cd1d00000000000203029fab3cb2f5e248ae7cbb4de646741da4d73c493b2a03ab5c71507fb2c0dcca9203629f9dbf7f1e91cefa845126189816ceae357bdd1f41bd14787318a7d5b55d48027941d2059f89a26d89e87d3385e261a0ede1234aaeaa487012b69d6b67962dc52b33558cdc62933ff56feb646d1f47a98104bf34b894895d5e816f86e556f87fce8485e55aa32dfa1cd86456a66a58ef7a68dff4af51e2f7fcf75b983540872e000caa6864c71362b369c71107f463f29c43c361e54260cbc54d791b7385dbe76f29d12b9befbe4f98792d7046481afcf0c156408310192a93d8413e5380438f270153a22c5ce2b1894f0a141adc19de567077d2d268f4c7e1476e9558ecb4411d486cd0d7aa3e9c7716739a055a8a1a64a162d0362645d63d13791a9876ef8b5a88021d56997f0c9e21201c59e1b7b6be8d5a609908a4f65bf266144baf5e61e3f14bc2651f62187f4ffa17c8b010fcb0fba94a04df56bc25e5cb20935ec5fb7ad632"); Transaction actual = deserializer.deserialize(); assertFalse(actual.multiVerify(3, Arrays.asList(key1, key2, key3))); } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilderTest.java deleted file mode 100644 index e9fa2243..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/SecondSignatureRegistrationBuilderTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.arkecosystem.crypto.transactions.builder; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.util.HashMap; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class SecondSignatureRegistrationBuilderTest { - - @Test - void passphrase() { - Transaction actual = - new SecondSignatureRegistrationBuilder() - .signature("this is a top secret second passphrase'") - .version(2) - .nonce(3) - .sign("this is a top secret passphrase") - .transaction; - - assertTrue(actual.verify()); - - HashMap actualHashMap = actual.toHashMap(); - HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - HashMap actualSignature = (HashMap) actualAsset.get("signature"); - assertEquals( - actualSignature.get("publicKey"), - "03d8941c0ceb0bc6334a66679e660f7143f5313a0a6e034f3869009970207da847"); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/TransferBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/TransferBuilderTest.java index d28e2d17..22634cd2 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/TransferBuilderTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/TransferBuilderTest.java @@ -14,7 +14,7 @@ class TransferBuilderTest { void build() { Transaction actual = new TransferBuilder() - .recipient("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25") + .recipient("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A") .amount(133380000000L) .expiration(100000) .vendorField("This is a transaction from Java") @@ -28,7 +28,8 @@ void build() { assertTrue(actual.verify()); HashMap actualHashMap = actual.toHashMap(); - assertEquals(actualHashMap.get("recipientId"), "AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25"); + assertEquals( + actualHashMap.get("recipientId"), "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A"); assertEquals(actualHashMap.get("amount"), "133380000000"); assertEquals(actualHashMap.get("expiration"), 100000); assertEquals(actualHashMap.get("vendorField"), "This is a transaction from Java"); @@ -43,7 +44,7 @@ void build() { void buildSecondSignature() { Transaction actual = new TransferBuilder() - .recipient("AXoXnFi4z1Z6aFvjEYkDVCtBGW2PaRiM25") + .recipient("0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A") .amount(133380000000L) .expiration(100000) .vendorField("This is a transaction from Java") diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilderTest.java new file mode 100644 index 00000000..1a28a767 --- /dev/null +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorRegistrationBuilderTest.java @@ -0,0 +1,30 @@ +package org.arkecosystem.crypto.transactions.builder; + +import static org.junit.jupiter.api.Assertions.*; + +import java.util.HashMap; +import org.arkecosystem.crypto.transactions.types.Transaction; +import org.junit.jupiter.api.Test; + +class ValidatorRegistrationBuilderTest { + @Test + void build() { + Transaction actual = + new ValidatorRegistrationBuilder() + .publicKeyAsset( + "a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d3141118") + .nonce(3) + .sign("this is a top secret passphrase") + .transaction; + + HashMap actualHashMap = actual.toHashMap(); + + HashMap asset = (HashMap) actualHashMap.get("asset"); + + assertEquals( + asset.get("validatorPublicKey"), + "a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d3141118"); + + assertTrue(actual.verify()); + } +} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilderTest.java similarity index 83% rename from src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilderTest.java rename to src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilderTest.java index e28451f5..b42b367f 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/DelegateResignationBuilderTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/ValidatorResignationBuilderTest.java @@ -6,12 +6,11 @@ import org.arkecosystem.crypto.transactions.types.Transaction; import org.junit.jupiter.api.Test; -public class DelegateResignationBuilderTest { +public class ValidatorResignationBuilderTest { @Test void build() { Transaction actual = - new DelegateResignationBuilder() - .version(2) + new ValidatorResignationBuilder() .nonce(3) .sign("this is a top secret passphrase") .transaction; @@ -26,8 +25,7 @@ void build() { @Test void buildSecondSignature() { Transaction actual = - new DelegateResignationBuilder() - .version(2) + new ValidatorResignationBuilder() .nonce(3) .sign("this is a top secret passphrase") .secondSign("this is a top secret second passphrase") diff --git a/src/test/java/org/arkecosystem/crypto/transactions/builder/VoteBuilderTest.java b/src/test/java/org/arkecosystem/crypto/transactions/builder/VoteBuilderTest.java index 957be910..971773df 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/builder/VoteBuilderTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/builder/VoteBuilderTest.java @@ -15,7 +15,7 @@ void buildVote() { Transaction actual = new VoteBuilder() .addVote( - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192") + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192") .version(2) .nonce(3) .sign("this is a top secret passphrase") @@ -30,7 +30,7 @@ void buildVote() { assertEquals( actualVotes, Arrays.asList( - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); } @Test @@ -39,7 +39,7 @@ void buildVotes() { new VoteBuilder() .addVotes( Arrays.asList( - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")) + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")) .version(2) .nonce(3) .sign("this is a top secret passphrase") @@ -54,16 +54,15 @@ void buildVotes() { assertEquals( actualVotes, Arrays.asList( - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); } @Test void buildUnvote() { Transaction actual = new VoteBuilder() - .addVote( - "-034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193") - .version(2) + .addUnvote( + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193") .nonce(3) .sign("this is a top secret passphrase") .transaction; @@ -72,12 +71,12 @@ void buildUnvote() { HashMap actualHashMap = actual.toHashMap(); HashMap actualAsset = (HashMap) actualHashMap.get("asset"); - List actualVotes = (List) actualAsset.get("votes"); + List actualUnvotes = (List) actualAsset.get("unvotes"); assertEquals( - actualVotes, + actualUnvotes, Arrays.asList( - "-034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193")); + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193")); } @Test @@ -86,9 +85,10 @@ void buildUnvoteVote() { new VoteBuilder() .addVotes( Arrays.asList( - "-034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193", - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")) - .version(2) + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")) + .addUnvotes( + Arrays.asList( + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193")) .nonce(3) .sign("this is a top secret passphrase") .transaction; @@ -98,12 +98,17 @@ void buildUnvoteVote() { HashMap actualHashMap = actual.toHashMap(); HashMap actualAsset = (HashMap) actualHashMap.get("asset"); List actualVotes = (List) actualAsset.get("votes"); + List actualUnvotes = (List) actualAsset.get("unvotes"); assertEquals( actualVotes, Arrays.asList( - "-034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193", - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192")); + + assertEquals( + actualUnvotes, + Arrays.asList( + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed193")); } @Test @@ -111,7 +116,7 @@ void buildVoteSecondSignature() { Transaction actual = new VoteBuilder() .addVote( - "+034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192") + "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192") .version(2) .nonce(3) .sign("this is a top secret passphrase") diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateRegistrationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateRegistrationTest.java deleted file mode 100644 index 12953b7d..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateRegistrationTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.arkecosystem.crypto.transactions.deserializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -public class DelegateRegistrationTest { - - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-registration-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("delegate"); - assertEquals((asset.get("username")), actual.asset.delegate.username); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-registration-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("delegate"); - assertEquals((asset.get("username")), actual.asset.delegate.username); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DeserializerTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DeserializerTest.java index a821e057..32a5509a 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DeserializerTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DeserializerTest.java @@ -15,7 +15,7 @@ class DeserializerTest { @Test void checkNewTransactionType() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-sign"); + FixtureLoader.load("transactions/transfer/transfer-sign"); Deserializer deserializer = new Deserializer(fixture.get("serialized").toString()); deserializer.setNewTransactionType( @@ -52,7 +52,7 @@ public HashMap assetToHashMap() { @Test void checkNewTransactionToCoreGroup() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-sign"); + FixtureLoader.load("transactions/transfer/transfer-sign"); Deserializer deserializer = new Deserializer(fixture.get("serialized").toString()); deserializer.setNewTransactionType( @@ -86,7 +86,7 @@ public HashMap assetToHashMap() { @Test void duplicateParticipantInMultiSignature() { String serialized = - "ff0217010000000000010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f55366200c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e00c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e0292c299b739f0cb5e36133d85f51fff2fcc7745e8af4d0778908560c0874e3f2303e0436eabce1c09d88efab0004e61c5d6e47768aa8d2ab0cb9f14d523a38308"; + "ff011e0100000000000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3809698000000000000010000000000000000000000b693449adda7efc015d87944eae8b7c37eb1690af25db2b781b79f671b7848284de63f3cb898f9938c0b6203a11cace4aaa4b962eabe9c4a67c207a3f8baea3b4f4cef90a0b67a2bfd84cd61dcc771597f52656d005afa0050c85a2ac9b34accb0f47c6a9cc9eee831ac713e62e846898d1b75d6a33034680bce95f638c6dfabf8056f8afa9ef73a3c35741234faf01d0a346e3e7d005afa0050c85a2ac9b34accb0f47c6a9cc9eee831ac713e62e846898d1b75d6a33034680bce95f638c6dfabf8056f8afa9ef73a3c35741234faf01d0a346e3e7d02d6af0f5a85a7967d677b2f1f86e00b8ca37facb714467e12810a692d5bcbdfcac4e4c2d4b79a70c7366405339bf84a854308d20cb48652816a9cf37fb3e86e00"; Exception thrown = Assertions.assertThrows( diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcClaimTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcClaimTest.java deleted file mode 100644 index fe1740d5..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcClaimTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.arkecosystem.crypto.transactions.deserializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -public class HtlcClaimTest { - - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-claim-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("claim"); - assertEquals( - (asset.get("lockTransactionId")), actual.asset.htlcClaimAsset.lockTransactionId); - assertEquals((asset.get("unlockSecret")), actual.asset.htlcClaimAsset.unlockSecret); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-claim-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("claim"); - assertEquals( - (asset.get("lockTransactionId")), actual.asset.htlcClaimAsset.lockTransactionId); - assertEquals((asset.get("unlockSecret")), actual.asset.htlcClaimAsset.unlockSecret); - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcLockTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcLockTest.java deleted file mode 100644 index ca3fb658..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcLockTest.java +++ /dev/null @@ -1,156 +0,0 @@ -package org.arkecosystem.crypto.transactions.deserializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -public class HtlcLockTest { - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("lock"); - - assertEquals((asset.get("secretHash")), actual.asset.htlcLockAsset.secretHash); - LinkedTreeMap assetExpiration = - ((LinkedTreeMap) asset.get("expiration")); - assertEquals( - ((Double) assetExpiration.get("type")).intValue(), - actual.asset.htlcLockAsset.expiration.type.getValue()); - assertEquals( - ((Double) assetExpiration.get("value")).intValue(), - actual.asset.htlcLockAsset.expiration.value); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - } - - @Test - void passphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("lock"); - - assertEquals((asset.get("secretHash")), actual.asset.htlcLockAsset.secretHash); - LinkedTreeMap assetExpiration = - ((LinkedTreeMap) asset.get("expiration")); - assertEquals( - ((Double) assetExpiration.get("type")).intValue(), - actual.asset.htlcLockAsset.expiration.type.getValue()); - assertEquals( - ((Double) assetExpiration.get("value")).intValue(), - actual.asset.htlcLockAsset.expiration.value); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - assertEquals(data.get("vendorField").toString(), actual.vendorField); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("lock"); - - assertEquals((asset.get("secretHash")), actual.asset.htlcLockAsset.secretHash); - LinkedTreeMap assetExpiration = - ((LinkedTreeMap) asset.get("expiration")); - assertEquals( - ((Double) assetExpiration.get("type")).intValue(), - actual.asset.htlcLockAsset.expiration.type.getValue()); - assertEquals( - ((Double) assetExpiration.get("value")).intValue(), - actual.asset.htlcLockAsset.expiration.value); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } - - @Test - void secondPassphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("lock"); - - assertEquals((asset.get("secretHash")), actual.asset.htlcLockAsset.secretHash); - LinkedTreeMap assetExpiration = - ((LinkedTreeMap) asset.get("expiration")); - assertEquals( - ((Double) assetExpiration.get("type")).intValue(), - actual.asset.htlcLockAsset.expiration.type.getValue()); - assertEquals( - ((Double) assetExpiration.get("value")).intValue(), - actual.asset.htlcLockAsset.expiration.value); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - assertEquals(data.get("vendorField").toString(), actual.vendorField); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcRefundTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcRefundTest.java deleted file mode 100644 index 1db04734..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/HtlcRefundTest.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.arkecosystem.crypto.transactions.deserializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -public class HtlcRefundTest { - - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-refund-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("refund"); - assertEquals( - (asset.get("lockTransactionId")), actual.asset.htlcRefundAsset.lockTransactionId); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-refund-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("refund"); - assertEquals( - (asset.get("lockTransactionId")), actual.asset.htlcRefundAsset.lockTransactionId); - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/IpfsTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/IpfsTest.java deleted file mode 100644 index 8a15ae91..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/IpfsTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.arkecosystem.crypto.transactions.deserializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.enums.TransactionTypeGroup; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class IpfsTest { - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/ipfs-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = ((LinkedTreeMap) data.get("asset")); - assertEquals((asset.get("ipfs")), actual.asset.ipfs); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/ipfs-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - LinkedTreeMap asset = ((LinkedTreeMap) data.get("asset")); - assertEquals((asset.get("ipfs")), actual.asset.ipfs); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/MultiPaymentTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/MultiPaymentTest.java index d5e28006..1c58f300 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/MultiPaymentTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/MultiPaymentTest.java @@ -14,7 +14,7 @@ class MultiPaymentTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-sign"); + FixtureLoader.load("transactions/multi_payment/multi-payment-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -44,75 +44,9 @@ void passphrase() { @Test void passphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-with-vendor-field-sign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); - ArrayList payments = ((ArrayList) asset.get("payments")); - for (int i = 0; i < payments.size(); i++) { - String recipientId = - (String) ((LinkedTreeMap) payments.get(i)).get("recipientId"); - String amount = - ((String) ((LinkedTreeMap) payments.get(i)).get("amount")); - assertEquals(recipientId, actual.asset.multiPayment.payments.get(i).recipientId); - assertEquals(Long.valueOf(amount), actual.asset.multiPayment.payments.get(i).amount); - } - - assertEquals(data.get("vendorField").toString(), actual.vendorField); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); - ArrayList payments = ((ArrayList) asset.get("payments")); - for (int i = 0; i < payments.size(); i++) { - String recipientId = - (String) ((LinkedTreeMap) payments.get(i)).get("recipientId"); - String amount = - ((String) ((LinkedTreeMap) payments.get(i)).get("amount")); - assertEquals(recipientId, actual.asset.multiPayment.payments.get(i).recipientId); - assertEquals(Long.valueOf(amount), actual.asset.multiPayment.payments.get(i).amount); - } - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } - - @Test - void secondPassphraseVendorField() { LinkedTreeMap fixture = FixtureLoader.load( - "transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign"); + "transactions/multi_payment/multi-payment-with-vendor-field-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -140,6 +74,5 @@ void secondPassphraseVendorField() { } assertEquals(data.get("vendorField").toString(), actual.vendorField); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/TransferTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/TransferTest.java index 40860ed8..c8a44ac3 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/TransferTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/TransferTest.java @@ -14,7 +14,7 @@ class TransferTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-sign"); + FixtureLoader.load("transactions/transfer/transfer-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -38,7 +38,7 @@ void passphrase() { @Test void passphraseVendorField() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-with-vendor-field-sign"); + FixtureLoader.load("transactions/transfer/transfer-with-vendor-field-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -54,60 +54,12 @@ void passphraseVendorField() { assertEquals(data.get("signature").toString(), actual.signature); assertEquals(data.get("id").toString(), actual.id); - assertEquals(data.get("recipientId").toString(), actual.recipientId); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - assertEquals(((Double) data.get("expiration")).intValue(), actual.expiration); - assertEquals(data.get("vendorField").toString(), actual.vendorField); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - assertEquals(data.get("recipientId").toString(), actual.recipientId); - assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); - assertEquals(((Double) data.get("expiration")).intValue(), actual.expiration); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } - - @Test - void secondPassphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-with-vendor-field-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); + System.out.println("AAAA"); + System.out.println(data.get("vendorField").toString()); assertEquals(data.get("recipientId").toString(), actual.recipientId); assertEquals((Long.valueOf((String) data.get("amount"))), actual.amount); assertEquals(((Double) data.get("expiration")).intValue(), actual.expiration); assertEquals(data.get("vendorField").toString(), actual.vendorField); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/SecondSignatureRegistrationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorRegistrationTest.java similarity index 77% rename from src/test/java/org/arkecosystem/crypto/transactions/deserializers/SecondSignatureRegistrationTest.java rename to src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorRegistrationTest.java index 4cf8ddb3..c0b1edda 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/SecondSignatureRegistrationTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorRegistrationTest.java @@ -9,12 +9,13 @@ import org.arkecosystem.crypto.transactions.types.Transaction; import org.junit.jupiter.api.Test; -public class SecondSignatureRegistrationTest { +public class ValidatorRegistrationTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/second-signature-registration"); + FixtureLoader.load( + "transactions/validator_registration/validator-registration-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -30,9 +31,8 @@ void passphrase() { assertEquals(data.get("signature").toString(), actual.signature); assertEquals(data.get("id").toString(), actual.id); - LinkedTreeMap assetV2 = - (LinkedTreeMap) - ((LinkedTreeMap) data.get("asset")).get("signature"); - assertEquals((assetV2.get("publicKey")), actual.asset.signature.publicKey); + LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); + + assertEquals((asset.get("validatorPublicKey")), actual.asset.validatorPublicKey); } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateResignationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorResignationTest.java similarity index 53% rename from src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateResignationTest.java rename to src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorResignationTest.java index ff8d4b07..dcfd7407 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/DelegateResignationTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/ValidatorResignationTest.java @@ -10,12 +10,12 @@ import org.arkecosystem.crypto.transactions.types.Transaction; import org.junit.jupiter.api.Test; -class DelegateResignationTest { +class ValidatorResignationTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-resignation-sign"); + FixtureLoader.load("transactions/validator_resignation/validator-resignation-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -33,27 +33,4 @@ void passphrase() { assertNull(data.get("asset")); } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-resignation-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - assertNull(data.get("asset")); - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/VoteTest.java b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/VoteTest.java index 100c97f9..d86f2a07 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/deserializers/VoteTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/deserializers/VoteTest.java @@ -13,8 +13,7 @@ class VoteTest { @Test void passphraseVote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/vote-sign"); + LinkedTreeMap fixture = FixtureLoader.load("transactions/vote/vote-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -36,8 +35,7 @@ void passphraseVote() { @Test void passphraseUnvote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/unvote-sign"); + LinkedTreeMap fixture = FixtureLoader.load("transactions/vote/unvote-sign"); LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); @@ -54,56 +52,6 @@ void passphraseUnvote() { assertEquals(data.get("id").toString(), actual.id); LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); - assertEquals((asset.get("votes")), actual.asset.votes); - } - - @Test - void secondPassphraseVote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/vote-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - - LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); - assertEquals((asset.get("votes")), actual.asset.votes); - } - - @Test - void secondPassphraseUnvote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/unvote-secondSign"); - - LinkedTreeMap data = (LinkedTreeMap) fixture.get("data"); - - Transaction actual = new Deserializer(fixture.get("serialized").toString()).deserialize(); - - assertEquals(((Double) data.get("version")).intValue(), actual.version); - assertEquals(((Double) data.get("network")).intValue(), actual.network); - assertEquals(TransactionTypeGroup.CORE.getValue(), actual.typeGroup); - assertEquals(((Double) data.get("type")).intValue(), actual.type); - assertEquals((Long.valueOf((String) data.get("nonce"))), actual.nonce); - assertEquals(data.get("senderPublicKey").toString(), actual.senderPublicKey); - assertEquals((Long.valueOf((String) data.get("fee"))), actual.fee); - assertEquals(data.get("signature").toString(), actual.signature); - assertEquals(data.get("id").toString(), actual.id); - - assertEquals(data.get("secondSignature").toString(), actual.secondSignature); - - LinkedTreeMap asset = (LinkedTreeMap) data.get("asset"); - assertEquals((asset.get("votes")), actual.asset.votes); + assertEquals((asset.get("unvotes")), actual.asset.unvotes); } } diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateRegistrationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateRegistrationTest.java deleted file mode 100644 index e05723fb..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateRegistrationTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.arkecosystem.crypto.transactions.serializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.Serializer; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class DelegateRegistrationTest { - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-registration-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-registration-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateResignationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateResignationTest.java deleted file mode 100644 index 849c0de1..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/DelegateResignationTest.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.arkecosystem.crypto.transactions.serializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.Serializer; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class DelegateResignationTest { - - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-resignation-sign"); - - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/delegate-resignation-secondSign"); - - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcClaimTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcClaimTest.java deleted file mode 100644 index 6d982268..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcClaimTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.arkecosystem.crypto.transactions.serializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.Serializer; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -public class HtlcClaimTest { - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-claim-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-claim-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcLockTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcLockTest.java deleted file mode 100644 index 4bcae35c..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcLockTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.arkecosystem.crypto.transactions.serializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.Serializer; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class HtlcLockTest { - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void passphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcRefundTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcRefundTest.java deleted file mode 100644 index f395f574..00000000 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/HtlcRefundTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.arkecosystem.crypto.transactions.serializers; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.internal.LinkedTreeMap; -import org.arkecosystem.crypto.encoding.Hex; -import org.arkecosystem.crypto.transactions.Deserializer; -import org.arkecosystem.crypto.transactions.FixtureLoader; -import org.arkecosystem.crypto.transactions.Serializer; -import org.arkecosystem.crypto.transactions.types.Transaction; -import org.junit.jupiter.api.Test; - -class HtlcRefundTest { - - @Test - void passphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-refund-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/htlc-refund-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } -} diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/MultiPaymentTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/MultiPaymentTest.java index c3b56d9f..017d047b 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/MultiPaymentTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/serializers/MultiPaymentTest.java @@ -14,7 +14,7 @@ class MultiPaymentTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-sign"); + FixtureLoader.load("transactions/multi_payment/multi-payment-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); @@ -25,33 +25,9 @@ void passphrase() { @Test void passphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-with-vendor-field-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/multi-payment-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphraseVendorField() { LinkedTreeMap fixture = FixtureLoader.load( - "transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign"); + "transactions/multi_payment/multi-payment-with-vendor-field-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/TransferTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/TransferTest.java index 6cd796e9..9b2d26ea 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/TransferTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/serializers/TransferTest.java @@ -15,7 +15,7 @@ class TransferTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-sign"); + FixtureLoader.load("transactions/transfer/transfer-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); @@ -27,7 +27,7 @@ void passphrase() { @Test void passphraseVendorField() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-with-vendor-field-sign"); + FixtureLoader.load("transactions/transfer/transfer-with-vendor-field-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); @@ -39,19 +39,7 @@ void passphraseVendorField() { @Test void secondPassphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-with-vendor-field-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphraseVendorField() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/transfer-with-vendor-field-secondSign"); + FixtureLoader.load("transactions/transfer/transfer-with-vendor-field-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/IpfsTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorRegistrationTest.java similarity index 61% rename from src/test/java/org/arkecosystem/crypto/transactions/serializers/IpfsTest.java rename to src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorRegistrationTest.java index f6f0513f..ec1d8cb6 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/IpfsTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorRegistrationTest.java @@ -10,24 +10,12 @@ import org.arkecosystem.crypto.transactions.types.Transaction; import org.junit.jupiter.api.Test; -class IpfsTest { - +class ValidatorRegistrationTest { @Test void passphrase() { LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/ipfs-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphrase() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/ipfs-secondSign"); + FixtureLoader.load( + "transactions/validator_registration/validator-registration-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/SecondSignatureRegistrationTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorResignationTest.java similarity index 84% rename from src/test/java/org/arkecosystem/crypto/transactions/serializers/SecondSignatureRegistrationTest.java rename to src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorResignationTest.java index 6afa4324..208e1d11 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/SecondSignatureRegistrationTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/serializers/ValidatorResignationTest.java @@ -10,13 +10,12 @@ import org.arkecosystem.crypto.transactions.types.Transaction; import org.junit.jupiter.api.Test; -public class SecondSignatureRegistrationTest { +class ValidatorResignationTest { @Test void passphrase() { - // V2 tests LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/second-signature-registration"); + FixtureLoader.load("transactions/validator_resignation/validator-resignation-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); diff --git a/src/test/java/org/arkecosystem/crypto/transactions/serializers/VoteTest.java b/src/test/java/org/arkecosystem/crypto/transactions/serializers/VoteTest.java index 409f1daa..c136fa66 100644 --- a/src/test/java/org/arkecosystem/crypto/transactions/serializers/VoteTest.java +++ b/src/test/java/org/arkecosystem/crypto/transactions/serializers/VoteTest.java @@ -13,8 +13,7 @@ class VoteTest { @Test void passphraseVote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/vote-sign"); + LinkedTreeMap fixture = FixtureLoader.load("transactions/vote/vote-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); @@ -25,32 +24,7 @@ void passphraseVote() { @Test void passphraseUnvote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/unvote-sign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphraseVote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/vote-secondSign"); - Transaction transaction = - new Deserializer(fixture.get("serialized").toString()).deserialize(); - - String actual = Hex.encode(Serializer.serialize(transaction)); - - assertEquals(fixture.get("serialized").toString(), actual); - } - - @Test - void secondPassphraseUnvote() { - LinkedTreeMap fixture = - FixtureLoader.load("transactions/v2-ecdsa/unvote-secondSign"); + LinkedTreeMap fixture = FixtureLoader.load("transactions/vote/unvote-sign"); Transaction transaction = new Deserializer(fixture.get("serialized").toString()).deserialize(); diff --git a/src/test/resources/transactions/V1/delegate_registration/passphrase.json b/src/test/resources/transactions/V1/delegate_registration/passphrase.json deleted file mode 100644 index 64f15a4c..00000000 --- a/src/test/resources/transactions/V1/delegate_registration/passphrase.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "type": 2, - "amount": 0, - "fee": 2500000000, - "recipientId": null, - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "timestamp": 41269413, - "asset": { - "delegate": { - "username": "boldninja", - "publicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192" - } - }, - "signature": "304402205fe105d2d23b66d2dbae3bd12bc0d1df498936a7614c71c0481bbf5159ad8d2002201084f5c24e802964b3075ac6feac91429c356c960a5faa8ef3c397a4b25c299a", - "id": "dccdd2de52f437b2b0f7dadbf9f5eb1717cefaed5f51cab3d0feadf2d94392a3" - }, - "serialized": "ff011e02a5b87502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a61304402205fe105d2d23b66d2dbae3bd12bc0d1df498936a7614c71c0481bbf5159ad8d2002201084f5c24e802964b3075ac6feac91429c356c960a5faa8ef3c397a4b25c299a" -} diff --git a/src/test/resources/transactions/V1/delegate_registration/second-passphrase.json b/src/test/resources/transactions/V1/delegate_registration/second-passphrase.json deleted file mode 100644 index 2584b58a..00000000 --- a/src/test/resources/transactions/V1/delegate_registration/second-passphrase.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "type": 2, - "amount": 0, - "fee": 2500000000, - "recipientId": null, - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "timestamp": 41269424, - "asset": { - "delegate": { - "username": "boldninja", - "publicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192" - } - }, - "signature": "3045022100f21b742fa052cd18de43328e1d068539ba7cbe9d33a9dcbd862a82871383955d0220053b06d22ed3e3ad6168c6b27aa0ec68e7e40958c7709aec0e1555087ea9ad94", - "signSignature": "304402207da580da4feec955edcb8e8eb36947867b439de3d28d38e58c844fd8c45b564302200e6741b6ad11c2588a57b3afd180df1e9b345d48a9c2ae98be57dced869cf38c", - "id": "bf7e018ff9c0066f7a9f51e95d3f78c08cad5dd8581325d630d64350181a91bb" - }, - "serialized": "ff011e02b0b87502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a613045022100f21b742fa052cd18de43328e1d068539ba7cbe9d33a9dcbd862a82871383955d0220053b06d22ed3e3ad6168c6b27aa0ec68e7e40958c7709aec0e1555087ea9ad94304402207da580da4feec955edcb8e8eb36947867b439de3d28d38e58c844fd8c45b564302200e6741b6ad11c2588a57b3afd180df1e9b345d48a9c2ae98be57dced869cf38c" -} diff --git a/src/test/resources/transactions/V1/multi_signature_registration/passphrase.json b/src/test/resources/transactions/V1/multi_signature_registration/passphrase.json deleted file mode 100644 index ee6c77b5..00000000 --- a/src/test/resources/transactions/V1/multi_signature_registration/passphrase.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "data": { - "version": 1, - "network": 23, - "id": "cbd6862966bb1b03ba742397b7e5a88d6eefb393a362ead0d605723b840db2af", - "blockid": "1844069042066945391", - "type": 4, - "timestamp": 10112114, - "amount": 0, - "fee": 2000000000, - "senderId": "AMw3TiLrmVmwmFVwRzn96kkUsUpFTqsAEX", - "senderPublicKey": "036928c98ee53a1f52ed01dd87db10ffe1980eb47cd7c0a7d688321f47b5d7d760", - "signature": "30440220324d89c5792e4a54ae70b4f1e27e2f87a8b7169cc6f2f7b2c83dba894960f987022053b8d0ae23ff9d1769364db7b6fd03216d93753c82a711c3558045e787bc01a5", - "signSignature": "304402201fcd54a9ac9c0269b8cec213566ddf43207798e2cf9ca1ce3c5d315d66321c6902201aa94c4ed3e5e479a12220aa886b259e488eb89b697c711f91e8c03b9620e0b1", - "signatures": [ - "304502210097f17c8eecf36f86a967cc52a83fa661e4ffc70cc4ea08df58673669406d424c0220798f5710897b75dda42f6548f841afbe4ed1fa262097112cf5a1b3f7dade60e4", - "304402201a4a4c718bfdc699bbb891b2e89be018027d2dcd10640b5ddf07802424dab78e02204ec7c7d505d2158c3b51fdd3843d16aecd2eaaa4c6c7a555ef123c5e59fd41fb", - "304402207e660489bced5ce80c33d45c86781b63898775ab4a231bb48780f97b40073a63022026f0cefd0d83022d822522ab4366a82e3b89085c328817919939f2efeabd913d" - ], - "asset": { - "multisignature": { - "min": 2, - "keysgroup": [ - "+03543c6cc3545be6bac09c82721973a052c690658283472e88f24d14739f75acc8", - "+0276dc5b8706a85ca9fdc46e571ac84e52fbb48e13ec7a165a80731b44ae89f1fc", - "+02e8d5d17eb17bbc8d7bf1001d29a2d25d1249b7bb7a5b7ad8b7422063091f4b31" - ], - "lifetime": 24 - } - } - }, - "serialized": "ff011704724c9a00036928c98ee53a1f52ed01dd87db10ffe1980eb47cd7c0a7d688321f47b5d7d76000943577000000000002031803543c6cc3545be6bac09c82721973a052c690658283472e88f24d14739f75acc80276dc5b8706a85ca9fdc46e571ac84e52fbb48e13ec7a165a80731b44ae89f1fc02e8d5d17eb17bbc8d7bf1001d29a2d25d1249b7bb7a5b7ad8b7422063091f4b3130440220324d89c5792e4a54ae70b4f1e27e2f87a8b7169cc6f2f7b2c83dba894960f987022053b8d0ae23ff9d1769364db7b6fd03216d93753c82a711c3558045e787bc01a5304402201fcd54a9ac9c0269b8cec213566ddf43207798e2cf9ca1ce3c5d315d66321c6902201aa94c4ed3e5e479a12220aa886b259e488eb89b697c711f91e8c03b9620e0b1ff304502210097f17c8eecf36f86a967cc52a83fa661e4ffc70cc4ea08df58673669406d424c0220798f5710897b75dda42f6548f841afbe4ed1fa262097112cf5a1b3f7dade60e4304402201a4a4c718bfdc699bbb891b2e89be018027d2dcd10640b5ddf07802424dab78e02204ec7c7d505d2158c3b51fdd3843d16aecd2eaaa4c6c7a555ef123c5e59fd41fb304402207e660489bced5ce80c33d45c86781b63898775ab4a231bb48780f97b40073a63022026f0cefd0d83022d822522ab4366a82e3b89085c328817919939f2efeabd913d" -} diff --git a/src/test/resources/transactions/V1/second_signature_registration/second-passphrase.json b/src/test/resources/transactions/V1/second_signature_registration/second-passphrase.json deleted file mode 100644 index 5717760a..00000000 --- a/src/test/resources/transactions/V1/second_signature_registration/second-passphrase.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "type": 1, - "amount": 0, - "fee": 500000000, - "recipientId": null, - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "timestamp": 41271867, - "asset": { - "signature": { - "publicKey": "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609" - } - }, - "signature": "304402202aab49477dd3531e4473196d08fbd7c00ebb79223d5eaaeaf02c52c4041a86cf02201a7d82655f9b1d22af3ea94e6f183649bb4610cdeca3b9e20d6c8773f869831c", - "id": "6d1615924d172d352c8f44d4ded84cbbece3c03ebb3e4fc3f3334784ae332590" - }, - "serialized": "ff011e013bc27502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000003699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609304402202aab49477dd3531e4473196d08fbd7c00ebb79223d5eaaeaf02c52c4041a86cf02201a7d82655f9b1d22af3ea94e6f183649bb4610cdeca3b9e20d6c8773f869831c" -} diff --git a/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field-hex.json b/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field-hex.json deleted file mode 100644 index 419d700a..00000000 --- a/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field-hex.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41443847, - "asset": {}, - "vendorFieldHex": "48656c6c6f20576f726c64", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "304402205616d6e361439d67a5c2067bbfc8fce61b93061a4fa113315a1c5cf965ff6f3202200a1d99caaa98aeebcec04edd5365352500addb830c79f49b9de484ec616bb1e1", - "id": "ecf558fbddd62ae42edcfcba02f402d987a94b72a7636ef1121e8625487e2a1e" - }, - "serialized": "ff011e0007627802034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000b48656c6c6f20576f726c6400c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f553662304402205616d6e361439d67a5c2067bbfc8fce61b93061a4fa113315a1c5cf965ff6f3202200a1d99caaa98aeebcec04edd5365352500addb830c79f49b9de484ec616bb1e1" -} diff --git a/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field.json b/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field.json deleted file mode 100644 index 20e50e0f..00000000 --- a/src/test/resources/transactions/V1/transfer/passphrase-with-vendor-field.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41443847, - "asset": {}, - "vendorField": "Hello World", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "304402205616d6e361439d67a5c2067bbfc8fce61b93061a4fa113315a1c5cf965ff6f3202200a1d99caaa98aeebcec04edd5365352500addb830c79f49b9de484ec616bb1e1", - "id": "ecf558fbddd62ae42edcfcba02f402d987a94b72a7636ef1121e8625487e2a1e" - }, - "serialized": "ff011e0007627802034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000b48656c6c6f20576f726c6400c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f553662304402205616d6e361439d67a5c2067bbfc8fce61b93061a4fa113315a1c5cf965ff6f3202200a1d99caaa98aeebcec04edd5365352500addb830c79f49b9de484ec616bb1e1" -} diff --git a/src/test/resources/transactions/V1/transfer/passphrase.json b/src/test/resources/transactions/V1/transfer/passphrase.json deleted file mode 100644 index 2ea021d2..00000000 --- a/src/test/resources/transactions/V1/transfer/passphrase.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41268326, - "asset": {}, - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "3044022002994b30e08b58825c8c16ebf2cc693cfe706fb26571674784ead098accc89d702205b79dedc752a84504ecfe4b9e1292997f22260ee4daa102d2d9a61432d93b286", - "id": "da61c6cba363cc39baa0ca3f9ba2c5db81b9805045bd0b9fc58af07ad4206856" - }, - "serialized": "ff011e0066b47502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f5536623044022002994b30e08b58825c8c16ebf2cc693cfe706fb26571674784ead098accc89d702205b79dedc752a84504ecfe4b9e1292997f22260ee4daa102d2d9a61432d93b286" -} diff --git a/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field-hex.json b/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field-hex.json deleted file mode 100644 index 02f6b2eb..00000000 --- a/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field-hex.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41443865, - "asset": {}, - "vendorFieldHex": "48656c6c6f20576f726c64", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "3045022100c0356f2f667c0d8df8370d9b6803a282cb142b8e85f6b87dfffe45e7aeeba8dc0220446b11b44e8a968a9d29a065e3dd1383a2a4c03efe663a7d1b9cf232df68c6d0", - "signSignature": "3045022100a16eaf2d869fe8ee57f5b611a5f7b6c9359e52797e99240ec2a56cc92d3df7a10220688c5ef2225a5b54adf92c43ea551963c8b1240d7a9fc93e670d5fa819b8f09f", - "id": "248e0c6159113659103a84dfa3882d82abefdbc0a30472b683c689d482cfb2f5" - }, - "serialized": "ff011e0019627802034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000b48656c6c6f20576f726c6400c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f5536623045022100c0356f2f667c0d8df8370d9b6803a282cb142b8e85f6b87dfffe45e7aeeba8dc0220446b11b44e8a968a9d29a065e3dd1383a2a4c03efe663a7d1b9cf232df68c6d03045022100a16eaf2d869fe8ee57f5b611a5f7b6c9359e52797e99240ec2a56cc92d3df7a10220688c5ef2225a5b54adf92c43ea551963c8b1240d7a9fc93e670d5fa819b8f09f" -} diff --git a/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field.json b/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field.json deleted file mode 100644 index 8c8e38dd..00000000 --- a/src/test/resources/transactions/V1/transfer/second-passphrase-with-vendor-field.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41443865, - "asset": {}, - "vendorField": "Hello World", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "3045022100c0356f2f667c0d8df8370d9b6803a282cb142b8e85f6b87dfffe45e7aeeba8dc0220446b11b44e8a968a9d29a065e3dd1383a2a4c03efe663a7d1b9cf232df68c6d0", - "signSignature": "3045022100a16eaf2d869fe8ee57f5b611a5f7b6c9359e52797e99240ec2a56cc92d3df7a10220688c5ef2225a5b54adf92c43ea551963c8b1240d7a9fc93e670d5fa819b8f09f", - "id": "248e0c6159113659103a84dfa3882d82abefdbc0a30472b683c689d482cfb2f5" - }, - "serialized": "ff011e0019627802034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000b48656c6c6f20576f726c6400c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f5536623045022100c0356f2f667c0d8df8370d9b6803a282cb142b8e85f6b87dfffe45e7aeeba8dc0220446b11b44e8a968a9d29a065e3dd1383a2a4c03efe663a7d1b9cf232df68c6d03045022100a16eaf2d869fe8ee57f5b611a5f7b6c9359e52797e99240ec2a56cc92d3df7a10220688c5ef2225a5b54adf92c43ea551963c8b1240d7a9fc93e670d5fa819b8f09f" -} diff --git a/src/test/resources/transactions/V1/transfer/second-passphrase.json b/src/test/resources/transactions/V1/transfer/second-passphrase.json deleted file mode 100644 index ed6d9fe9..00000000 --- a/src/test/resources/transactions/V1/transfer/second-passphrase.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "type": 0, - "amount": 200000000, - "fee": 10000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "timestamp": 41268430, - "asset": {}, - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signature": "304402206da703bfcc11ec2ccb3f363fa0e23fc64050fdf68e1f1852b7d4a5bb07824166022031ed1d86b586a79f9c1e5010dbc4f4cb36641c62a196536f90b1dfd6be1c9868", - "signSignature": "304402200759b6f9de5257aa3fcf54b9cd7a426a00af9368b7ea3d5ea2b13a91b97fb277022076e4d2d7deb9bdd8245b2533cab1eeeef72981e18576ef8455a61ee3e6f3fb57", - "id": "bb8054b6298d659d4b5d655e82de17b3504ba27655ec3d6e35d311f3104b1c43" - }, - "serialized": "ff011e00ceb47502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b00000000000000001e0995750207ecaf0ccf251c1265b92ad84f553662304402206da703bfcc11ec2ccb3f363fa0e23fc64050fdf68e1f1852b7d4a5bb07824166022031ed1d86b586a79f9c1e5010dbc4f4cb36641c62a196536f90b1dfd6be1c9868304402200759b6f9de5257aa3fcf54b9cd7a426a00af9368b7ea3d5ea2b13a91b97fb277022076e4d2d7deb9bdd8245b2533cab1eeeef72981e18576ef8455a61ee3e6f3fb57" -} diff --git a/src/test/resources/transactions/V1/vote/passphrase.json b/src/test/resources/transactions/V1/vote/passphrase.json deleted file mode 100644 index 1a66f0a6..00000000 --- a/src/test/resources/transactions/V1/vote/passphrase.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "type": 3, - "amount": 0, - "fee": 100000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "timestamp": 41269349, - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "3045022100bb39554e077c0cd23ef8376731f6b0457edea0aa04c92a9ef07c84228aa5542c0220648365448a0b19c49ff0bab5cde0bee7999a9cfd5eaefc4a7f03b6f93a2efb51", - "id": "b6db143df7eb847389ff34f173571375851823bdb6dbfe24463ae36cd9d6b024" - }, - "serialized": "ff011e0365b87502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d3045022100bb39554e077c0cd23ef8376731f6b0457edea0aa04c92a9ef07c84228aa5542c0220648365448a0b19c49ff0bab5cde0bee7999a9cfd5eaefc4a7f03b6f93a2efb51" -} diff --git a/src/test/resources/transactions/V1/vote/second-passphrase.json b/src/test/resources/transactions/V1/vote/second-passphrase.json deleted file mode 100644 index e5e666c5..00000000 --- a/src/test/resources/transactions/V1/vote/second-passphrase.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "type": 3, - "amount": 0, - "fee": 100000000, - "recipientId": "0xb0FF9213f7226bBB72b84dE16af86e56f1f38B01", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "timestamp": 41269366, - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "304402204b8bb403e2db7f9599d46d0f5d39f8bb1d0663d875af7ec1154448e98466e86302201e92fb57e13fb729b07e1027fa3d6e3f28e0d5828ed2d7c53a5e8db08cb6d068", - "signSignature": "304402201329882762a42d1af9079c822a9e3feefa47b7476b0afe61440637408958a64402206da179b08e31d9c784fbb23abe2c9b50353ed7881dc29787a5e8ecbee2dfda66", - "id": "16f28a180cd6f3ea46c10f358a457989e956e9d355258230d0c7b07acec10b73" - }, - "serialized": "ff011e0376b87502034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d304402204b8bb403e2db7f9599d46d0f5d39f8bb1d0663d875af7ec1154448e98466e86302201e92fb57e13fb729b07e1027fa3d6e3f28e0d5828ed2d7c53a5e8db08cb6d068304402201329882762a42d1af9079c822a9e3feefa47b7476b0afe61440637408958a64402206da179b08e31d9c784fbb23abe2c9b50353ed7881dc29787a5e8ecbee2dfda66" -} diff --git a/src/test/resources/transactions/multi_payment/multi-payment-multi-sign.json b/src/test/resources/transactions/multi_payment/multi-payment-multi-sign.json new file mode 100644 index 00000000..07f4b78b --- /dev/null +++ b/src/test/resources/transactions/multi_payment/multi-payment-multi-sign.json @@ -0,0 +1,32 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 6, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "3", + "asset": { + "payments": [ + { + "amount": "1", + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A" + }, + { + "amount": "2", + "recipientId": "0x27FA7CaFFaAE77dDb9AB232FDBDa56D5e5Af2393" + } + ] + }, + "signature": "cf4e94776e768110e62961747f39b68993d4ff5ec2171cad2fab6d77babb2ce31181f005876031d43e6d7732770c6aca73b33057c7aad6279cf2da03829a7b62", + "signatures": [ + "006581c24bbe49e57127604b18d2efdd8d1d2bfe23f9b1e7f15b3f46a647b976e79884b61331546c5844ded781974e181a03a4066f858020fb347ad9628773b465", + "011fb86a8ddbddbed012ff46fc0f3c9a30f3c1544d7a32b9355c318ad453837615e8399f676856c97cf6dcb8d18507ff9c0ffe195d23624e296182477644ed3689", + "023aa80e3663d737716818978ffbae59a8a9f32257a341e1391ca1e0fd744f3382b41e507dca92fa91f98e2024b67938420aaf0c268266dfe4d1f92e81cb3a0421" + ], + "id": "5349b6d57228cb2aeb77e198d6adc93f745e3abb9b4624929b7e29f4a920c0a5" + }, + "serialized": "ff011e0100000006000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d380969800000000000002000100000000000000b693449adda7efc015d87944eae8b7c37eb1690a020000000000000027fa7caffaae77ddb9ab232fdbda56d5e5af2393cf4e94776e768110e62961747f39b68993d4ff5ec2171cad2fab6d77babb2ce31181f005876031d43e6d7732770c6aca73b33057c7aad6279cf2da03829a7b62006581c24bbe49e57127604b18d2efdd8d1d2bfe23f9b1e7f15b3f46a647b976e79884b61331546c5844ded781974e181a03a4066f858020fb347ad9628773b465011fb86a8ddbddbed012ff46fc0f3c9a30f3c1544d7a32b9355c318ad453837615e8399f676856c97cf6dcb8d18507ff9c0ffe195d23624e296182477644ed3689023aa80e3663d737716818978ffbae59a8a9f32257a341e1391ca1e0fd744f3382b41e507dca92fa91f98e2024b67938420aaf0c268266dfe4d1f92e81cb3a0421" +} diff --git a/src/test/resources/transactions/multi_payment/multi-payment-sign.json b/src/test/resources/transactions/multi_payment/multi-payment-sign.json new file mode 100644 index 00000000..f936e771 --- /dev/null +++ b/src/test/resources/transactions/multi_payment/multi-payment-sign.json @@ -0,0 +1,27 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 6, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "3", + "asset": { + "payments": [ + { + "amount": "1", + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A" + }, + { + "amount": "2", + "recipientId": "0x27FA7CaFFaAE77dDb9AB232FDBDa56D5e5Af2393" + } + ] + }, + "signature": "e782cc5a7622ea23463aa3d6795850b7163abf6b02c29795f9230f4b0537404cbccf82de6a44ecf6e98391bff601f033524c8704f4081ada4f72e98aea5ae173", + "id": "c820af7342cde48a2d578e6324329fc557ffb4e40fa3208b348cf07fd2020e43" + }, + "serialized": "ff011e0100000006000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d380969800000000000002000100000000000000b693449adda7efc015d87944eae8b7c37eb1690a020000000000000027fa7caffaae77ddb9ab232fdbda56d5e5af2393e782cc5a7622ea23463aa3d6795850b7163abf6b02c29795f9230f4b0537404cbccf82de6a44ecf6e98391bff601f033524c8704f4081ada4f72e98aea5ae173" +} diff --git a/src/test/resources/transactions/multi_payment/multi-payment-with-vendor-field-sign.json b/src/test/resources/transactions/multi_payment/multi-payment-with-vendor-field-sign.json new file mode 100644 index 00000000..685b9222 --- /dev/null +++ b/src/test/resources/transactions/multi_payment/multi-payment-with-vendor-field-sign.json @@ -0,0 +1,28 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 6, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "3", + "vendorField": "this is a top secret vendor field", + "asset": { + "payments": [ + { + "amount": "1", + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A" + }, + { + "amount": "2", + "recipientId": "0x27FA7CaFFaAE77dDb9AB232FDBDa56D5e5Af2393" + } + ] + }, + "signature": "ff68aa386548aba97004d99d616d5bdd1f13074dd85fdb0ab636d18585d4436030f66f42fa257c2b18873a076906af31a2b3b838081d9ec79f685f32d4640955", + "id": "4c759d085999e25996e2af264c79aac76c44e48d3f5f2432c56d8a2e4fd99349" + }, + "serialized": "ff011e0100000006000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d380969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6402000100000000000000b693449adda7efc015d87944eae8b7c37eb1690a020000000000000027fa7caffaae77ddb9ab232fdbda56d5e5af2393ff68aa386548aba97004d99d616d5bdd1f13074dd85fdb0ab636d18585d4436030f66f42fa257c2b18873a076906af31a2b3b838081d9ec79f685f32d4640955" +} diff --git a/src/test/resources/transactions/multi_signature_registration/multi-signature-registration-sign.json b/src/test/resources/transactions/multi_signature_registration/multi-signature-registration-sign.json new file mode 100644 index 00000000..bf65bea5 --- /dev/null +++ b/src/test/resources/transactions/multi_signature_registration/multi-signature-registration-sign.json @@ -0,0 +1,30 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 4, + "nonce": "2", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "500000000", + "amount": "0", + "asset": { + "multiSignature": { + "min": 2, + "publicKeys": [ + "029fab3cb2f5e248ae7cbb4de646741da4d73c493b2a03ab5c71507fb2c0dcca92", + "03629f9dbf7f1e91cefa845126189816ceae357bdd1f41bd14787318a7d5b55d48", + "027941d2059f89a26d89e87d3385e261a0ede1234aaeaa487012b69d6b67962dc5" + ] + } + }, + "signature": "2b33558cdc62933ff56feb646d1f47a98104bf34b894895d5e816f86e556f87fce8485e55aa32dfa1cd86456a66a58ef7a68dff4af51e2f7fcf75b983540872e", + "signatures": [ + "000caa6864c71362b369c71107f463f29c43c361e54260cbc54d791b7385dbe76f29d12b9befbe4f98792d7046481afcf0c156408310192a93d8413e5380438f27", + "0153a22c5ce2b1894f0a141adc19de567077d2d268f4c7e1476e9558ecb4411d486cd0d7aa3e9c7716739a055a8a1a64a162d0362645d63d13791a9876ef8b5a88", + "021d56997f0c9e21201c59e1b7b6be8d5a609908a4f65bf266144baf5e61e3f14bc2651f62187f4ffa17c8b010fcb0fba94a04df56bc25e5cb20935ec5fb7ad632" + ], + "id": "1941926b880ab606633b3a2361df784f6085ded8b5d3cf52e94998e1468b3197" + }, + "serialized": "ff011e0100000004000200000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d30065cd1d00000000000203029fab3cb2f5e248ae7cbb4de646741da4d73c493b2a03ab5c71507fb2c0dcca9203629f9dbf7f1e91cefa845126189816ceae357bdd1f41bd14787318a7d5b55d48027941d2059f89a26d89e87d3385e261a0ede1234aaeaa487012b69d6b67962dc52b33558cdc62933ff56feb646d1f47a98104bf34b894895d5e816f86e556f87fce8485e55aa32dfa1cd86456a66a58ef7a68dff4af51e2f7fcf75b983540872e000caa6864c71362b369c71107f463f29c43c361e54260cbc54d791b7385dbe76f29d12b9befbe4f98792d7046481afcf0c156408310192a93d8413e5380438f270153a22c5ce2b1894f0a141adc19de567077d2d268f4c7e1476e9558ecb4411d486cd0d7aa3e9c7716739a055a8a1a64a162d0362645d63d13791a9876ef8b5a88021d56997f0c9e21201c59e1b7b6be8d5a609908a4f65bf266144baf5e61e3f14bc2651f62187f4ffa17c8b010fcb0fba94a04df56bc25e5cb20935ec5fb7ad632" +} diff --git a/src/test/resources/transactions/transfer/transfer-multi-sign.json b/src/test/resources/transactions/transfer/transfer-multi-sign.json new file mode 100644 index 00000000..1db6a1de --- /dev/null +++ b/src/test/resources/transactions/transfer/transfer-multi-sign.json @@ -0,0 +1,22 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 0, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "1", + "expiration": 0, + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", + "signature": "f25db2b781b79f671b7848284de63f3cb898f9938c0b6203a11cace4aaa4b962eabe9c4a67c207a3f8baea3b4f4cef90a0b67a2bfd84cd61dcc771597f52656d", + "signatures": [ + "005afa0050c85a2ac9b34accb0f47c6a9cc9eee831ac713e62e846898d1b75d6a33034680bce95f638c6dfabf8056f8afa9ef73a3c35741234faf01d0a346e3e7d", + "0104bd019e5a6ea9ee5cc41d9f39efe2a2df2cc653369fdfcb56d5219fa282a8368067586748feb2483883c9eca50a5ae73abd7139d4d1885914ed9d5e5c63f8fb", + "02d6af0f5a85a7967d677b2f1f86e00b8ca37facb714467e12810a692d5bcbdfcac4e4c2d4b79a70c7366405339bf84a854308d20cb48652816a9cf37fb3e86e00" + ], + "id": "dcb9d29590313cf6e1b53f120e621e34c39e45fce9114272158036cb99be9c89" + }, + "serialized": "ff011e0100000000000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3809698000000000000010000000000000000000000b693449adda7efc015d87944eae8b7c37eb1690af25db2b781b79f671b7848284de63f3cb898f9938c0b6203a11cace4aaa4b962eabe9c4a67c207a3f8baea3b4f4cef90a0b67a2bfd84cd61dcc771597f52656d005afa0050c85a2ac9b34accb0f47c6a9cc9eee831ac713e62e846898d1b75d6a33034680bce95f638c6dfabf8056f8afa9ef73a3c35741234faf01d0a346e3e7d0104bd019e5a6ea9ee5cc41d9f39efe2a2df2cc653369fdfcb56d5219fa282a8368067586748feb2483883c9eca50a5ae73abd7139d4d1885914ed9d5e5c63f8fb02d6af0f5a85a7967d677b2f1f86e00b8ca37facb714467e12810a692d5bcbdfcac4e4c2d4b79a70c7366405339bf84a854308d20cb48652816a9cf37fb3e86e00" +} diff --git a/src/test/resources/transactions/transfer/transfer-sign.json b/src/test/resources/transactions/transfer/transfer-sign.json new file mode 100644 index 00000000..c1032bcf --- /dev/null +++ b/src/test/resources/transactions/transfer/transfer-sign.json @@ -0,0 +1,17 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 0, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "1", + "expiration": 0, + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", + "signature": "97dd98ed1066aab76011114cbf5ac00d741812cac326cda7966e1af08874d7212f350d769221d2a78ea185d77ac4e2c5c718e4a84b1a1ddcbf504d642eb94b6a", + "id": "e20265dba26594c4202e224e8d1069dfae840a8db7cc6acfafefa2b3b02787e5" + }, + "serialized": "ff011e0100000000000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3809698000000000000010000000000000000000000b693449adda7efc015d87944eae8b7c37eb1690a97dd98ed1066aab76011114cbf5ac00d741812cac326cda7966e1af08874d7212f350d769221d2a78ea185d77ac4e2c5c718e4a84b1a1ddcbf504d642eb94b6a" +} diff --git a/src/test/resources/transactions/transfer/transfer-with-vendor-field-sign.json b/src/test/resources/transactions/transfer/transfer-with-vendor-field-sign.json new file mode 100644 index 00000000..f2f57e11 --- /dev/null +++ b/src/test/resources/transactions/transfer/transfer-with-vendor-field-sign.json @@ -0,0 +1,18 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 0, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "10000000", + "amount": "1", + "vendorField": "this is a top secret vendor field", + "expiration": 0, + "recipientId": "0xb693449AdDa7EFc015D87944EAE8b7C37EB1690A", + "signature": "d7062dd749406741ab848cc0bb6bcc82c04d8b46b699803154a30bda8d13bd6dc6c06fcbbb6a6edab3b83772008e50524b4563a33c0f08009b4cc72f38986981", + "id": "59cc59e3609f86418ef04fff270fb0f59ea2ff5a383857a3c157056f0925d59d" + }, + "serialized": "ff011e0100000000000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d380969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c64010000000000000000000000b693449adda7efc015d87944eae8b7c37eb1690ad7062dd749406741ab848cc0bb6bcc82c04d8b46b699803154a30bda8d13bd6dc6c06fcbbb6a6edab3b83772008e50524b4563a33c0f08009b4cc72f38986981" +} diff --git a/src/test/resources/transactions/username_registration/username-registration-multi-sign.json b/src/test/resources/transactions/username_registration/username-registration-multi-sign.json new file mode 100644 index 00000000..9f69e174 --- /dev/null +++ b/src/test/resources/transactions/username_registration/username-registration-multi-sign.json @@ -0,0 +1,23 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 8, + "nonce": "6", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "asset": { + "username": "simple_tx_tester" + }, + "signature": "9a74c959d0cd4ad4352292417de3ed8ed0cac9aad390bb5d93a5ef5d2bdbf54dad9bbf690f2079ad397141acd182b6e5c4285bd64b068083431daffd5dbc5b09", + "signatures": [ + "003b5b94d80da3d41f514d77a624f26f7a2336c34ce1ec62f06c61635db31b27135a58b9ee705cbaa45addd6e75098833c80935541ccc050199443a3d4c62c7fdd", + "01335feff7cc3d6e3524dd9892e029d2dea77c76afdeb9445bc0d14c587fd922c6c38e3542b978aeb370dc349b4a1221015f33051407f10ca051a1caa2109fc510", + "02fe8b1d0be5a77455b38f9df31a379e1a80bcab4003a225cbf79d426fcd248e03ff5f499a404d879270086e292aa45ac1af979aa9af4a64e4881ec559fc87e779" + ], + "id": "ffaead0f6003e125bb2a66169e87efe29c05dedaec71898abfcbc7a1f846f2b3" + }, + "serialized": "ff011e0100000008000600000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f9029500000000001073696d706c655f74785f7465737465729a74c959d0cd4ad4352292417de3ed8ed0cac9aad390bb5d93a5ef5d2bdbf54dad9bbf690f2079ad397141acd182b6e5c4285bd64b068083431daffd5dbc5b09003b5b94d80da3d41f514d77a624f26f7a2336c34ce1ec62f06c61635db31b27135a58b9ee705cbaa45addd6e75098833c80935541ccc050199443a3d4c62c7fdd01335feff7cc3d6e3524dd9892e029d2dea77c76afdeb9445bc0d14c587fd922c6c38e3542b978aeb370dc349b4a1221015f33051407f10ca051a1caa2109fc51002fe8b1d0be5a77455b38f9df31a379e1a80bcab4003a225cbf79d426fcd248e03ff5f499a404d879270086e292aa45ac1af979aa9af4a64e4881ec559fc87e779" +} diff --git a/src/test/resources/transactions/username_registration/username-registration-sign.json b/src/test/resources/transactions/username_registration/username-registration-sign.json new file mode 100644 index 00000000..f40a509d --- /dev/null +++ b/src/test/resources/transactions/username_registration/username-registration-sign.json @@ -0,0 +1,18 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 8, + "nonce": "4", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "asset": { + "username": "simple_tx_tester" + }, + "signature": "70014805da364407f71ca7e09dae5a685af562b985279e370d1a936ebbe7c2545dca35b0f0f30b72eaee0ca042beb6ef2cab5666dd42831a7d0dacac3d962563", + "id": "a50b909f5b483ef1a9bebff66582de169782d3a8adc3e8fca7b183c39738c721" + }, + "serialized": "ff011e0100000008000400000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f9029500000000001073696d706c655f74785f74657374657270014805da364407f71ca7e09dae5a685af562b985279e370d1a936ebbe7c2545dca35b0f0f30b72eaee0ca042beb6ef2cab5666dd42831a7d0dacac3d962563" +} diff --git a/src/test/resources/transactions/username_resignation/username-resignation-multi-sign.json b/src/test/resources/transactions/username_resignation/username-resignation-multi-sign.json new file mode 100644 index 00000000..bc2d7e17 --- /dev/null +++ b/src/test/resources/transactions/username_resignation/username-resignation-multi-sign.json @@ -0,0 +1,20 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 9, + "nonce": "6", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "signature": "730f5d46f0ee978f5437899cea0912a87d9854f384a94f3b5b88fbdd527573bb6c6ed13b3da0a695e41efe2b14bafd587db4563b8f29e10f78736959250e8414", + "signatures": [ + "00fe3edd3082e95f42177e6f786f22e3df982e1b85446f9291b6effcdbfe311ec7b9d4df7e68a36ddb6afe04564586c9a3c4245d47077bda91c1fda53d294d7317", + "014e0ca11609da9444233dd13a3561c4ac6f779a177389b498749d70076126b1081d6bab0106938b2431c04c8b4cecb78f8d348ba81e7a03eee5f9fc9b0f1a3131", + "023a7826b28719baf87f4a3a5a10b51d2ce26172a01d92d41691edf7630fd5bd51d9ace6fdfa1361c7a0834d6a6017c3fba4f642fcb2a49e251fbcf6464b5256cc" + ], + "id": "d0210c375d32eec25ca9513099b98e559c3acb136d08011874149217e17ff8f1" + }, + "serialized": "ff011e0100000009000600000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f902950000000000730f5d46f0ee978f5437899cea0912a87d9854f384a94f3b5b88fbdd527573bb6c6ed13b3da0a695e41efe2b14bafd587db4563b8f29e10f78736959250e841400fe3edd3082e95f42177e6f786f22e3df982e1b85446f9291b6effcdbfe311ec7b9d4df7e68a36ddb6afe04564586c9a3c4245d47077bda91c1fda53d294d7317014e0ca11609da9444233dd13a3561c4ac6f779a177389b498749d70076126b1081d6bab0106938b2431c04c8b4cecb78f8d348ba81e7a03eee5f9fc9b0f1a3131023a7826b28719baf87f4a3a5a10b51d2ce26172a01d92d41691edf7630fd5bd51d9ace6fdfa1361c7a0834d6a6017c3fba4f642fcb2a49e251fbcf6464b5256cc" +} diff --git a/src/test/resources/transactions/username_resignation/username-resignation-sign.json b/src/test/resources/transactions/username_resignation/username-resignation-sign.json new file mode 100644 index 00000000..9209da01 --- /dev/null +++ b/src/test/resources/transactions/username_resignation/username-resignation-sign.json @@ -0,0 +1,15 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 9, + "nonce": "4", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "signature": "72b0322b72019f688fc21f367d68b38828c6e3966e52b3fd46f0813cc7c2cdfd58097c4eef8b52896aba1300098e20a38659529b45db9dfca7aa23d560457769", + "id": "1f90e26793dd55b6b2464002dc537882df94199249ba0bd07fcb4512851ed22b" + }, + "serialized": "ff011e0100000009000400000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f90295000000000072b0322b72019f688fc21f367d68b38828c6e3966e52b3fd46f0813cc7c2cdfd58097c4eef8b52896aba1300098e20a38659529b45db9dfca7aa23d560457769" +} diff --git a/src/test/resources/transactions/v2-ecdsa/delegate-registration-secondSign.json b/src/test/resources/transactions/v2-ecdsa/delegate-registration-secondSign.json deleted file mode 100644 index a83b52f1..00000000 --- a/src/test/resources/transactions/v2-ecdsa/delegate-registration-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 2, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "asset": { - "delegate": { - "username": "boldninja" - } - }, - "signature": "304502210094d93b799526337256850011fd9a065a944c5bb58e730882393be62a01991cd70220715d66eb3377b59f2b51ca9616e7c252cb66ebf40f96cf469987dd4a9aaa60cd", - "secondSignature": "3045022100f6098d565170c3bf7b031098c4b1287dc12dbca6ebc5d824180cb070c97c208602205e6be08766e6a5649407867d3d5caa24431387427ab5057a699839e4000174a1", - "id": "4f00274e818eb3defdbe3ce5cc1d7637664f015c68c649ebc6cf1cbd24a9f94c" - }, - "serialized": "ff02170100000002000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a61304502210094d93b799526337256850011fd9a065a944c5bb58e730882393be62a01991cd70220715d66eb3377b59f2b51ca9616e7c252cb66ebf40f96cf469987dd4a9aaa60cd3045022100f6098d565170c3bf7b031098c4b1287dc12dbca6ebc5d824180cb070c97c208602205e6be08766e6a5649407867d3d5caa24431387427ab5057a699839e4000174a1" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/delegate-registration-sign.json b/src/test/resources/transactions/v2-ecdsa/delegate-registration-sign.json deleted file mode 100644 index aa18c641..00000000 --- a/src/test/resources/transactions/v2-ecdsa/delegate-registration-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 2, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "asset": { - "delegate": { - "username": "boldninja" - } - }, - "signature": "304502210094d93b799526337256850011fd9a065a944c5bb58e730882393be62a01991cd70220715d66eb3377b59f2b51ca9616e7c252cb66ebf40f96cf469987dd4a9aaa60cd", - "id": "59a41e4411c9fac688ac22a10ba88a6ef6f513b2b8de05c94793e5434b1eb2e5" - }, - "serialized": "ff02170100000002000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a61304502210094d93b799526337256850011fd9a065a944c5bb58e730882393be62a01991cd70220715d66eb3377b59f2b51ca9616e7c252cb66ebf40f96cf469987dd4a9aaa60cd" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/delegate-resignation-secondSign.json b/src/test/resources/transactions/v2-ecdsa/delegate-resignation-secondSign.json deleted file mode 100644 index 78483326..00000000 --- a/src/test/resources/transactions/v2-ecdsa/delegate-resignation-secondSign.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 7, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "signature": "3045022100aa113ddefb502d868219339d16b8d448c8e69c8e320664e12903cc84420c159d02201b6206c7cb9442f6ef07dd0824aeb0cc393d8f9f9909988da6687c44ef897070", - "secondSignature": "3045022100979dc1c57b2bfb033676ba9f659f995b688b5e9ed726d4a42523c4cdf2503731022072e13f61defa89a07369c9ef090a4bdc80eb36a2abc61e801bf66525e96adb7f", - "id": "cb6764194faeee2e283c0238adf57c08ffbf068407937bc13eddea1bc02b2a42" - }, - "serialized": "ff02170100000007000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f9029500000000003045022100aa113ddefb502d868219339d16b8d448c8e69c8e320664e12903cc84420c159d02201b6206c7cb9442f6ef07dd0824aeb0cc393d8f9f9909988da6687c44ef8970703045022100979dc1c57b2bfb033676ba9f659f995b688b5e9ed726d4a42523c4cdf2503731022072e13f61defa89a07369c9ef090a4bdc80eb36a2abc61e801bf66525e96adb7f" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/delegate-resignation-sign.json b/src/test/resources/transactions/v2-ecdsa/delegate-resignation-sign.json deleted file mode 100644 index 494e5359..00000000 --- a/src/test/resources/transactions/v2-ecdsa/delegate-resignation-sign.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 7, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "signature": "3045022100aa113ddefb502d868219339d16b8d448c8e69c8e320664e12903cc84420c159d02201b6206c7cb9442f6ef07dd0824aeb0cc393d8f9f9909988da6687c44ef897070", - "id": "a8cf10c6a7d2e5c82bff0860f83f917f426bdd1ee25bd8d5dad2358973ce4ecb" - }, - "serialized": "ff02170100000007000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f9029500000000003045022100aa113ddefb502d868219339d16b8d448c8e69c8e320664e12903cc84420c159d02201b6206c7cb9442f6ef07dd0824aeb0cc393d8f9f9909988da6687c44ef897070" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-claim-secondSign.json b/src/test/resources/transactions/v2-ecdsa/htlc-claim-secondSign.json deleted file mode 100644 index 813794c1..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-claim-secondSign.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 9, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "claim": { - "lockTransactionId": "9c1a3815d49e0c9f78b872bfb017e825ea2db708158b70815526a830c85912b4", - "unlockSecret": "c27f1ce845d8c29eebc9006be932b604fd06755521b1a8b0be4204c65377151a" - } - }, - "signature": "3045022100f4115db125d14edd248b39459ae8a6d112f8d9cdbcf69da03dce597c048d99260220069d4a07229684f91b492979f0050400c323eb4096f586dedc101f0f5a3ac476", - "secondSignature": "3045022100abe4c9bce127caeb5856a3f01dc216a6ac1100c2f9ec04ebcb3a2bb184fff0de022058b3045a4a4fd14fcd2e9a80edcb616582e28cfd0b6a78966e91a3786bbc8c8d", - "id": "3e857d6d7851340ff47cd9ccb8d3faf55add8e35d7a24128ac033102d3abb986" - }, - "serialized": "ff02170100000009000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920000000000000000009c1a3815d49e0c9f78b872bfb017e825ea2db708158b70815526a830c85912b4c27f1ce845d8c29eebc9006be932b604fd06755521b1a8b0be4204c65377151a3045022100f4115db125d14edd248b39459ae8a6d112f8d9cdbcf69da03dce597c048d99260220069d4a07229684f91b492979f0050400c323eb4096f586dedc101f0f5a3ac4763045022100abe4c9bce127caeb5856a3f01dc216a6ac1100c2f9ec04ebcb3a2bb184fff0de022058b3045a4a4fd14fcd2e9a80edcb616582e28cfd0b6a78966e91a3786bbc8c8d" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-claim-sign.json b/src/test/resources/transactions/v2-ecdsa/htlc-claim-sign.json deleted file mode 100644 index 76e87284..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-claim-sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 9, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "claim": { - "lockTransactionId": "9c1a3815d49e0c9f78b872bfb017e825ea2db708158b70815526a830c85912b4", - "unlockSecret": "c27f1ce845d8c29eebc9006be932b604fd06755521b1a8b0be4204c65377151a" - } - }, - "signature": "3045022100f4115db125d14edd248b39459ae8a6d112f8d9cdbcf69da03dce597c048d99260220069d4a07229684f91b492979f0050400c323eb4096f586dedc101f0f5a3ac476", - "id": "fd6eb162c34dadcd66a5e86ce534a1df946b8fa4291ed17c085b252dafbdf30b" - }, - "serialized": "ff02170100000009000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920000000000000000009c1a3815d49e0c9f78b872bfb017e825ea2db708158b70815526a830c85912b4c27f1ce845d8c29eebc9006be932b604fd06755521b1a8b0be4204c65377151a3045022100f4115db125d14edd248b39459ae8a6d112f8d9cdbcf69da03dce597c048d99260220069d4a07229684f91b492979f0050400c323eb4096f586dedc101f0f5a3ac476" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-lock-secondSign.json b/src/test/resources/transactions/v2-ecdsa/htlc-lock-secondSign.json deleted file mode 100644 index 819f2807..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-lock-secondSign.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1581339432 - } - } - }, - "signature": "3045022100968071560adef123ebc908bb11f46550339c52c997829f597a539e5616f79f8d0220533c0992b991b5d9a670ea1877cd5306bef5963b9a868fadf4122329fd4b2712", - "secondSignature": "304402203c3ef3dfe32837b19460bf8bfc7ec7bd003f773efa09d1966886ff361ef9afb302203a95e56d72c24f2a3313444d1fcd4971dcc67bcb54235a67b964f93201debdda", - "id": "06ab23a6a9355ed3deb4a5ecdb085a77862bf8eb5f270b773009199087890dd1" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454012853415e170995750207ecaf0ccf251c1265b92ad84f5536623045022100968071560adef123ebc908bb11f46550339c52c997829f597a539e5616f79f8d0220533c0992b991b5d9a670ea1877cd5306bef5963b9a868fadf4122329fd4b2712304402203c3ef3dfe32837b19460bf8bfc7ec7bd003f773efa09d1966886ff361ef9afb302203a95e56d72c24f2a3313444d1fcd4971dcc67bcb54235a67b964f93201debdda" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-lock-sign.json b/src/test/resources/transactions/v2-ecdsa/htlc-lock-sign.json deleted file mode 100644 index ac0e1617..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-lock-sign.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1581339432 - } - } - }, - "signature": "3045022100968071560adef123ebc908bb11f46550339c52c997829f597a539e5616f79f8d0220533c0992b991b5d9a670ea1877cd5306bef5963b9a868fadf4122329fd4b2712", - "id": "cfb37ec05433841cd8d25c3e8d353dc519a6dcb583edd75085b671bff4075b40" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454012853415e170995750207ecaf0ccf251c1265b92ad84f5536623045022100968071560adef123ebc908bb11f46550339c52c997829f597a539e5616f79f8d0220533c0992b991b5d9a670ea1877cd5306bef5963b9a868fadf4122329fd4b2712" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign.json deleted file mode 100644 index 49f29658..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-secondSign.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorField": "this is a top secret vendor field", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1581339432 - } - } - }, - "signature": "304402206b83b7976c08bbc1f67a17d5481f498bdadd761826379489b9c44390c1c1621002205fe8ab97de3a08305967c9bf66d19a8426bd0d97d744639ab220a03ca8b5ef78", - "secondSignature": "304402202646835437728c73293f3bdba5c3ec8c48e33503b609ae7a12ca6202e42711ac0220448f344f014c69fa6c791972f5ab4cd6561504030b058aa8fe3c16947b6f207e", - "id": "8dd3093cfc16a8c77fcea60ba79515d50ab5d3f6e02864cc5a8f3757c1f00c83" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454012853415e170995750207ecaf0ccf251c1265b92ad84f553662304402206b83b7976c08bbc1f67a17d5481f498bdadd761826379489b9c44390c1c1621002205fe8ab97de3a08305967c9bf66d19a8426bd0d97d744639ab220a03ca8b5ef78304402202646835437728c73293f3bdba5c3ec8c48e33503b609ae7a12ca6202e42711ac0220448f344f014c69fa6c791972f5ab4cd6561504030b058aa8fe3c16947b6f207e" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign.json b/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign.json deleted file mode 100644 index cea1f04f..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-lock-with-vendor-field-sign.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorField": "this is a top secret vendor field", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1581339432 - } - } - }, - "signature": "304402206b83b7976c08bbc1f67a17d5481f498bdadd761826379489b9c44390c1c1621002205fe8ab97de3a08305967c9bf66d19a8426bd0d97d744639ab220a03ca8b5ef78", - "id": "d0361b035f314a248020f955eff949af0e979a41cc6b420683fc76f9391f598f" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454012853415e170995750207ecaf0ccf251c1265b92ad84f553662304402206b83b7976c08bbc1f67a17d5481f498bdadd761826379489b9c44390c1c1621002205fe8ab97de3a08305967c9bf66d19a8426bd0d97d744639ab220a03ca8b5ef78" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-refund-secondSign.json b/src/test/resources/transactions/v2-ecdsa/htlc-refund-secondSign.json deleted file mode 100644 index 0da0f345..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-refund-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 10, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "refund": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4" - } - }, - "signature": "3044022039b189def165ca903805e35f0fa8d0b5820861227d677909acb1650698a63415022020a124f535f92100cd8233f9b5e01eebda72b59c858600934f586fc7ee236574", - "secondSignature": "3044022018cae203467050b6e5c9f095ef8730b51eb8f1f0770be77da45aca6c275c635d02207dd4bd55309f7bac05ad4d3e71a7c3e2182ec4aea4549d443aec6dd3fac831f1", - "id": "6b6f8705c0df33ad0b2491c89788661f7fa834d8414658f836903cc5e4e190de" - }, - "serialized": "ff0217010000000a000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb43044022039b189def165ca903805e35f0fa8d0b5820861227d677909acb1650698a63415022020a124f535f92100cd8233f9b5e01eebda72b59c858600934f586fc7ee2365743044022018cae203467050b6e5c9f095ef8730b51eb8f1f0770be77da45aca6c275c635d02207dd4bd55309f7bac05ad4d3e71a7c3e2182ec4aea4549d443aec6dd3fac831f1" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/htlc-refund-sign.json b/src/test/resources/transactions/v2-ecdsa/htlc-refund-sign.json deleted file mode 100644 index f36eb19c..00000000 --- a/src/test/resources/transactions/v2-ecdsa/htlc-refund-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 10, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "refund": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4" - } - }, - "signature": "3044022039b189def165ca903805e35f0fa8d0b5820861227d677909acb1650698a63415022020a124f535f92100cd8233f9b5e01eebda72b59c858600934f586fc7ee236574", - "id": "c8cf015e1566d9d63236e70c12988f6f13161f90d30ff5120ee62e37484034e3" - }, - "serialized": "ff0217010000000a000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb43044022039b189def165ca903805e35f0fa8d0b5820861227d677909acb1650698a63415022020a124f535f92100cd8233f9b5e01eebda72b59c858600934f586fc7ee236574" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/ipfs-secondSign.json b/src/test/resources/transactions/v2-ecdsa/ipfs-secondSign.json deleted file mode 100644 index a4070c90..00000000 --- a/src/test/resources/transactions/v2-ecdsa/ipfs-secondSign.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 5, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "ipfs": "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w" - }, - "signature": "3045022100e7d20c81b32e7a30fb741ba76fc823b667f38389b0a19d5e0a5779029843b792022050133f52000dc4327548c6f757f6ab2386f080d0fada8902de3d1372a2a9ff92", - "secondSignature": "30450221009a210886183630f56aa2341db8d2fa142a82871290bcd1c95f15c864dbe207ff02206dbaf3ecf954047ab7c507b3a8d12096872f7c43986b26b436df6d01961803b4", - "id": "6ff039ec2ae3a6e48f629ad26d429f0a6d4c888439db4424d417cea7c32fa95a" - }, - "serialized": "ff02170100000005000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000012202853f0f11ab91d73b73a2a86606103f45dd469ad2e89ec6f9a25febe8758d3fe3045022100e7d20c81b32e7a30fb741ba76fc823b667f38389b0a19d5e0a5779029843b792022050133f52000dc4327548c6f757f6ab2386f080d0fada8902de3d1372a2a9ff9230450221009a210886183630f56aa2341db8d2fa142a82871290bcd1c95f15c864dbe207ff02206dbaf3ecf954047ab7c507b3a8d12096872f7c43986b26b436df6d01961803b4" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/ipfs-sign.json b/src/test/resources/transactions/v2-ecdsa/ipfs-sign.json deleted file mode 100644 index 27747208..00000000 --- a/src/test/resources/transactions/v2-ecdsa/ipfs-sign.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 5, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "ipfs": "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w" - }, - "signature": "3045022100e7d20c81b32e7a30fb741ba76fc823b667f38389b0a19d5e0a5779029843b792022050133f52000dc4327548c6f757f6ab2386f080d0fada8902de3d1372a2a9ff92", - "id": "b38f24116758b9b2fdb1f80b5ce02044af640f77d552080768942f9a9cfa2a88" - }, - "serialized": "ff02170100000005000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000012202853f0f11ab91d73b73a2a86606103f45dd469ad2e89ec6f9a25febe8758d3fe3045022100e7d20c81b32e7a30fb741ba76fc823b667f38389b0a19d5e0a5779029843b792022050133f52000dc4327548c6f757f6ab2386f080d0fada8902de3d1372a2a9ff92" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/multi-payment-secondSign.json b/src/test/resources/transactions/v2-ecdsa/multi-payment-secondSign.json deleted file mode 100644 index 2f55cf1b..00000000 --- a/src/test/resources/transactions/v2-ecdsa/multi-payment-secondSign.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "3044022068ecfe918717a0890ae0480045d526a7f14f163377e5e6dc4ce3bdd70c20cf750220261eaacb731cf386d5439e651fb2068ab59cb9ea2503d4a522f2da299870b3ae", - "secondSignature": "3045022100c8c77d296b2e9cb0f2af7ac9fa5d4c30d188e580ed888a2e1afc694b206b308d02200c08cdc6cef86418ebcf181efb60a814066ef67413f57069f32d8b563b2b543b", - "id": "3aa197c202b1d7e17bdd21be4b510802f91aab028ff24dafdb8c9514c201e05f" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1928096980000000000000200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f0413044022068ecfe918717a0890ae0480045d526a7f14f163377e5e6dc4ce3bdd70c20cf750220261eaacb731cf386d5439e651fb2068ab59cb9ea2503d4a522f2da299870b3ae3045022100c8c77d296b2e9cb0f2af7ac9fa5d4c30d188e580ed888a2e1afc694b206b308d02200c08cdc6cef86418ebcf181efb60a814066ef67413f57069f32d8b563b2b543b" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/multi-payment-sign.json b/src/test/resources/transactions/v2-ecdsa/multi-payment-sign.json deleted file mode 100644 index 811601d1..00000000 --- a/src/test/resources/transactions/v2-ecdsa/multi-payment-sign.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "3044022068ecfe918717a0890ae0480045d526a7f14f163377e5e6dc4ce3bdd70c20cf750220261eaacb731cf386d5439e651fb2068ab59cb9ea2503d4a522f2da299870b3ae", - "id": "df4759a599ec78ac1cfb19ded5985312266dd009610eee5e71d55e69076c7d35" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1928096980000000000000200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f0413044022068ecfe918717a0890ae0480045d526a7f14f163377e5e6dc4ce3bdd70c20cf750220261eaacb731cf386d5439e651fb2068ab59cb9ea2503d4a522f2da299870b3ae" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign.json deleted file mode 100644 index 05f2f6ab..00000000 --- a/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-secondSign.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "vendorField": "this is a top secret vendor field", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "304402205d6a667239481f9306f37b35976626a39993b1088ee8ff2dee638905590c9508022040aa06bce7d20146c179d1106f29a821aa7278816e1f77f325e02caec3129565", - "secondSignature": "3044022049d89e8cc29e8febd60b3f2482cf39ee8ed71de07bd3834025067aa80a6ff97b022036d5c300b23806c2d694d2172785f57896312c61a19ddacb4c895f3a44ec1db4", - "id": "64bccef76c16c06e4cb20398b9db02c92e38878dd1afe798b6298d1cbc80d53d" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c640200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041304402205d6a667239481f9306f37b35976626a39993b1088ee8ff2dee638905590c9508022040aa06bce7d20146c179d1106f29a821aa7278816e1f77f325e02caec31295653044022049d89e8cc29e8febd60b3f2482cf39ee8ed71de07bd3834025067aa80a6ff97b022036d5c300b23806c2d694d2172785f57896312c61a19ddacb4c895f3a44ec1db4" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-sign.json b/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-sign.json deleted file mode 100644 index a0138200..00000000 --- a/src/test/resources/transactions/v2-ecdsa/multi-payment-with-vendor-field-sign.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "vendorField": "this is a top secret vendor field", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "304402205d6a667239481f9306f37b35976626a39993b1088ee8ff2dee638905590c9508022040aa06bce7d20146c179d1106f29a821aa7278816e1f77f325e02caec3129565", - "id": "7bd4861b168d903500ecf15503804c9625f0eb0d86d350e3f0b73765f6ce2c7c" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c640200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041304402205d6a667239481f9306f37b35976626a39993b1088ee8ff2dee638905590c9508022040aa06bce7d20146c179d1106f29a821aa7278816e1f77f325e02caec3129565" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/second-signature-registration.json b/src/test/resources/transactions/v2-ecdsa/second-signature-registration.json deleted file mode 100644 index 359f9fbe..00000000 --- a/src/test/resources/transactions/v2-ecdsa/second-signature-registration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 1, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "signature": { - "publicKey": "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609" - } - }, - "signature": "f9a1e2244c8318e8be85482fc02659e5c1775d246d73d5d0699ae4a1d5e3a3e84f9dcf68ee015f943d2a82eb829f35abd7901279761d96f6b43431520e955c67", - "id": "173a3230159b45d772b2e0348f42af53913bf3e376397f29b8e0bda290badbe4" - }, - "serialized": "ff02170100000001000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000003699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609f9a1e2244c8318e8be85482fc02659e5c1775d246d73d5d0699ae4a1d5e3a3e84f9dcf68ee015f943d2a82eb829f35abd7901279761d96f6b43431520e955c67" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/test.json b/src/test/resources/transactions/v2-ecdsa/test.json deleted file mode 100644 index e11d8ef0..00000000 --- a/src/test/resources/transactions/v2-ecdsa/test.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "signSignature": "0220261eaacb731cf386d5439e651fb2068ab59cb9ea2503d4a522f2da299870b3ae", - "signature": "022068ecfe918717a0890ae0480045d526a7f14f163377e5e6dc4ce3bdd70c20cf75", - "id": "93ddabea6c2c7761ecf4ee3ec988e1d971cffedf2363c5b06bc3ba29f3b48931" -} diff --git a/src/test/resources/transactions/v2-ecdsa/transfer-secondSign.json b/src/test/resources/transactions/v2-ecdsa/transfer-secondSign.json deleted file mode 100644 index d385c749..00000000 --- a/src/test/resources/transactions/v2-ecdsa/transfer-secondSign.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "3045022100af4741f03fdc64f0d6ed1dc69ecc77a000532ec1e3e30b9eb72d74eec404b25a0220437850da2e15b672e7ce55277b716770b99b3db995921cd2c69debafbcf22170", - "secondSignature": "3045022100a85e21b1014113abafabd3b04023cb8a2fbb782f76094a34ed1f4e107b2ded67022040bf517fcb5102a214bd6af98bbad126de2103c63b1099e41da30ae239c95d16", - "id": "c12582cfa32281459cb2cf42c7b87e2f2b27eb2e05caceffd40f6c096c8ef792" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f5536623045022100af4741f03fdc64f0d6ed1dc69ecc77a000532ec1e3e30b9eb72d74eec404b25a0220437850da2e15b672e7ce55277b716770b99b3db995921cd2c69debafbcf221703045022100a85e21b1014113abafabd3b04023cb8a2fbb782f76094a34ed1f4e107b2ded67022040bf517fcb5102a214bd6af98bbad126de2103c63b1099e41da30ae239c95d16" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/transfer-sign.json b/src/test/resources/transactions/v2-ecdsa/transfer-sign.json deleted file mode 100644 index 19a6a8bb..00000000 --- a/src/test/resources/transactions/v2-ecdsa/transfer-sign.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "3045022100af4741f03fdc64f0d6ed1dc69ecc77a000532ec1e3e30b9eb72d74eec404b25a0220437850da2e15b672e7ce55277b716770b99b3db995921cd2c69debafbcf22170", - "id": "9b038513f4dd77507da8a71d0204e491324d49f4598fe41f6c6985baae7d3517" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f5536623045022100af4741f03fdc64f0d6ed1dc69ecc77a000532ec1e3e30b9eb72d74eec404b25a0220437850da2e15b672e7ce55277b716770b99b3db995921cd2c69debafbcf22170" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-secondSign.json deleted file mode 100644 index 7152c7a8..00000000 --- a/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-secondSign.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorField": "this is a top secret vendor field", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "3045022100ef3a6127cfc4336be5f92c6133ea46d180eb90a526d7de2359f1f39ba4624ee30220718f4d2f2edb62a44d14a1c661d08d7454b55ecbe66160d0dfd7dd06e7b343a8", - "secondSignature": "3045022100e3879d1998844ec4a101d9e52bb73d89257fd19142926ff341ce3d8d51925ad302203e26c1413180a6a7a7ebe04c2ec2d2087e7205b18e58bf69c6fe75067939c51a", - "id": "e7268723a7917a421abe00d8731fb1924be7f11e1f4c8f68964b537dcf6b5f37" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f5536623045022100ef3a6127cfc4336be5f92c6133ea46d180eb90a526d7de2359f1f39ba4624ee30220718f4d2f2edb62a44d14a1c661d08d7454b55ecbe66160d0dfd7dd06e7b343a83045022100e3879d1998844ec4a101d9e52bb73d89257fd19142926ff341ce3d8d51925ad302203e26c1413180a6a7a7ebe04c2ec2d2087e7205b18e58bf69c6fe75067939c51a" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-sign.json b/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-sign.json deleted file mode 100644 index 27a9e3ab..00000000 --- a/src/test/resources/transactions/v2-ecdsa/transfer-with-vendor-field-sign.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorField": "this is a top secret vendor field", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "3045022100ef3a6127cfc4336be5f92c6133ea46d180eb90a526d7de2359f1f39ba4624ee30220718f4d2f2edb62a44d14a1c661d08d7454b55ecbe66160d0dfd7dd06e7b343a8", - "id": "0ad296322bfb656490b2d7a5dfc1fd88f840d412c4c8467ddba9890134647659" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f5536623045022100ef3a6127cfc4336be5f92c6133ea46d180eb90a526d7de2359f1f39ba4624ee30220718f4d2f2edb62a44d14a1c661d08d7454b55ecbe66160d0dfd7dd06e7b343a8" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/unvote-secondSign.json b/src/test/resources/transactions/v2-ecdsa/unvote-secondSign.json deleted file mode 100644 index d309512d..00000000 --- a/src/test/resources/transactions/v2-ecdsa/unvote-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "-022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "3045022100b3d67da287f35bb4f5ae28239cef8b5e82581f8030fe374c0ed86223d66b11bb02200a1ef45b603f70265a7437411565d9d577265452250bf279477f05b09feb5776", - "secondSignature": "3045022100955a00393e7f22397f36e76e39046375dcc9b4e853050a921a904981453a8da8022049175702a8be7de15afcccf3feab568352fe3a2355357495691a1bf6a7a26d13", - "id": "40e0640fe655b1a119051a9ed205a95a32dc95d31354375147e20e57d37161c1" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000100022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d3045022100b3d67da287f35bb4f5ae28239cef8b5e82581f8030fe374c0ed86223d66b11bb02200a1ef45b603f70265a7437411565d9d577265452250bf279477f05b09feb57763045022100955a00393e7f22397f36e76e39046375dcc9b4e853050a921a904981453a8da8022049175702a8be7de15afcccf3feab568352fe3a2355357495691a1bf6a7a26d13" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/unvote-sign.json b/src/test/resources/transactions/v2-ecdsa/unvote-sign.json deleted file mode 100644 index 251ab2af..00000000 --- a/src/test/resources/transactions/v2-ecdsa/unvote-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "-022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "3045022100b3d67da287f35bb4f5ae28239cef8b5e82581f8030fe374c0ed86223d66b11bb02200a1ef45b603f70265a7437411565d9d577265452250bf279477f05b09feb5776", - "id": "cbfcca4f96dece8446c355052eb0aab2af82a526c0e4412140b865bc6336fc0e" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000100022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d3045022100b3d67da287f35bb4f5ae28239cef8b5e82581f8030fe374c0ed86223d66b11bb02200a1ef45b603f70265a7437411565d9d577265452250bf279477f05b09feb5776" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/vote-secondSign.json b/src/test/resources/transactions/v2-ecdsa/vote-secondSign.json deleted file mode 100644 index 43e4a41f..00000000 --- a/src/test/resources/transactions/v2-ecdsa/vote-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "304402206a7a9baa573ab08bb4220450ace0d73ac9c768ef38b07a82ca19b2e2f11d0b550220665938431da66ad0b49e2267d65b220c59a35e1fea50083d45560a544f077eb6", - "secondSignature": "30450221009d26b579f96e92f4dde323c380769e94d359b6a6455d959dfae49bf1bdea7b5b02207d433fcf262d6552f7edc22ac9141e15e3a7dc379b84ddb61af458ee14b0f0bb", - "id": "dd5bbb65a9d72609ab7c813e2fc7bc03ec3b0adf803a8ddfb42fd788497fbaa4" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d304402206a7a9baa573ab08bb4220450ace0d73ac9c768ef38b07a82ca19b2e2f11d0b550220665938431da66ad0b49e2267d65b220c59a35e1fea50083d45560a544f077eb630450221009d26b579f96e92f4dde323c380769e94d359b6a6455d959dfae49bf1bdea7b5b02207d433fcf262d6552f7edc22ac9141e15e3a7dc379b84ddb61af458ee14b0f0bb" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-ecdsa/vote-sign.json b/src/test/resources/transactions/v2-ecdsa/vote-sign.json deleted file mode 100644 index dd68ea89..00000000 --- a/src/test/resources/transactions/v2-ecdsa/vote-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "304402206a7a9baa573ab08bb4220450ace0d73ac9c768ef38b07a82ca19b2e2f11d0b550220665938431da66ad0b49e2267d65b220c59a35e1fea50083d45560a544f077eb6", - "id": "b8dce941db9d3b04a7afd142fc26e40ecc73f2865fbc84597dca9b907f9791f6" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d304402206a7a9baa573ab08bb4220450ace0d73ac9c768ef38b07a82ca19b2e2f11d0b550220665938431da66ad0b49e2267d65b220c59a35e1fea50083d45560a544f077eb6" -} \ No newline at end of file diff --git a/src/test/resources/transactions/v2-schnorr/delegate-registration-multiSign.json b/src/test/resources/transactions/v2-schnorr/delegate-registration-multiSign.json deleted file mode 100644 index 98780282..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-registration-multiSign.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 2, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "2500000000", - "amount": "0", - "asset": { - "delegate": { - "username": "boldninja" - } - }, - "signatures": [ - "000d72766650302facdd3e872e6272fa963c258c674d332a4d67e0370bc27f4f4772577b39c934760c1677c2307487e626002f8cdfe80ef6ee035e011683367e83", - "0148f538503487c1c09aced2fb3ca6ae615ae64a7692b5bedb770e863532489a23767884ad50a9a23cfcf27b3eee8fa0a889eb59374c14b4f653a3d899e80cfe12", - "0261e089e116826ee92253d7c91787781ba6a0f4d724d7701b14fd28f8fa760a1e2dbfa180cddc2efc1947fd725666c4431966db20a07528a87822a66da7ea2d95" - ], - "id": "2e8d897dad0d6e66b93dab1dcdb874a966b0124edcdc9a49b0b002ce19f7249e" - }, - "serialized": "ff0217010000000200010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01500f90295000000000009626f6c646e696e6a61000d72766650302facdd3e872e6272fa963c258c674d332a4d67e0370bc27f4f4772577b39c934760c1677c2307487e626002f8cdfe80ef6ee035e011683367e830148f538503487c1c09aced2fb3ca6ae615ae64a7692b5bedb770e863532489a23767884ad50a9a23cfcf27b3eee8fa0a889eb59374c14b4f653a3d899e80cfe120261e089e116826ee92253d7c91787781ba6a0f4d724d7701b14fd28f8fa760a1e2dbfa180cddc2efc1947fd725666c4431966db20a07528a87822a66da7ea2d95" -} diff --git a/src/test/resources/transactions/v2-schnorr/delegate-registration-secondSign.json b/src/test/resources/transactions/v2-schnorr/delegate-registration-secondSign.json deleted file mode 100644 index 279086a1..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-registration-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 2, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "asset": { - "delegate": { - "username": "boldninja" - } - }, - "signature": "eaf4b4dfd7903c32cf6c145ddf0744e86536719f5790b4286b08f1a10f0ad183bc601efc8a49a2a7b41758601a1793693afa1781cf0a63a8f72b08d5a1aaba1e", - "secondSignature": "e9b97a33a6a0a759e7e944eb072cf295c9d0ec61a882d3d00cda110cd1acd5bbe46f752e23df89567da1aa9113552e07155896da7e885a71a2001bc0c9d5d315", - "id": "98a40680249d465bbdf3ea4dc2ccf9e0f3c67ec7f0606f8c4b40c513e8ea88af" - }, - "serialized": "ff02170100000002000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a61eaf4b4dfd7903c32cf6c145ddf0744e86536719f5790b4286b08f1a10f0ad183bc601efc8a49a2a7b41758601a1793693afa1781cf0a63a8f72b08d5a1aaba1ee9b97a33a6a0a759e7e944eb072cf295c9d0ec61a882d3d00cda110cd1acd5bbe46f752e23df89567da1aa9113552e07155896da7e885a71a2001bc0c9d5d315" -} diff --git a/src/test/resources/transactions/v2-schnorr/delegate-registration-sign.json b/src/test/resources/transactions/v2-schnorr/delegate-registration-sign.json deleted file mode 100644 index 348a7918..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-registration-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 2, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "asset": { - "delegate": { - "username": "boldninja" - } - }, - "signature": "eaf4b4dfd7903c32cf6c145ddf0744e86536719f5790b4286b08f1a10f0ad183bc601efc8a49a2a7b41758601a1793693afa1781cf0a63a8f72b08d5a1aaba1e", - "id": "cfd113d8cd9fd46b07030c14fac38c1d3fc0eca991e999eab9d0152ea96ab0dc" - }, - "serialized": "ff02170100000002000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f90295000000000009626f6c646e696e6a61eaf4b4dfd7903c32cf6c145ddf0744e86536719f5790b4286b08f1a10f0ad183bc601efc8a49a2a7b41758601a1793693afa1781cf0a63a8f72b08d5a1aaba1e" -} diff --git a/src/test/resources/transactions/v2-schnorr/delegate-resignation-multiSign.json b/src/test/resources/transactions/v2-schnorr/delegate-resignation-multiSign.json deleted file mode 100644 index 4eb950ef..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-resignation-multiSign.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 7, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "2500000000", - "amount": "0", - "signatures": [ - "00712291678f0faaa685ec21ff8cae415bf78210db75b7bfd5203ea0140fbddd1c59473a6099bdfa20eeca7313132f5060694d4448726804a8e8a11bdae8b6c324", - "01d09876c0ec2b0622e1ac2ba463797c804d7578aa51b7857a19f6d5ea1218c138e2093d96773023a942999461c7bad445b4434df0fb1e03b64f3ad9e97ac1c378", - "02f868c6d86e0825a6ebf81b399eadd6f5600ec2da27b18f85e86700752fd90b45c49c42c231db009e0834a74badf4f812f33f1ad9342142bf51dcc60bca23c3f1" - ], - "id": "d33b49de1c527c8b37803ed095b9616ac2650defa727d5822017ede25ca8f060" - }, - "serialized": "ff0217010000000700010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01500f90295000000000000712291678f0faaa685ec21ff8cae415bf78210db75b7bfd5203ea0140fbddd1c59473a6099bdfa20eeca7313132f5060694d4448726804a8e8a11bdae8b6c32401d09876c0ec2b0622e1ac2ba463797c804d7578aa51b7857a19f6d5ea1218c138e2093d96773023a942999461c7bad445b4434df0fb1e03b64f3ad9e97ac1c37802f868c6d86e0825a6ebf81b399eadd6f5600ec2da27b18f85e86700752fd90b45c49c42c231db009e0834a74badf4f812f33f1ad9342142bf51dcc60bca23c3f1" -} diff --git a/src/test/resources/transactions/v2-schnorr/delegate-resignation-secondSign.json b/src/test/resources/transactions/v2-schnorr/delegate-resignation-secondSign.json deleted file mode 100644 index 3177b256..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-resignation-secondSign.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 7, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "signature": "bdc048ca7eb5688cc01921aecf5914118cfc78eacc23825efa6d75094a683127cc02512dc59e1e0631fa8956f482eabc54933d23011a8337ea9cab99abed504d", - "secondSignature": "6b6692c636d250f95056a6102b3f86b2191a994b99a7171acff849d2170ce605b6a161199037cd6ff762450d92891cb56552ebb2b1fa1d7de789cb6cf9e5137e", - "id": "cae6cc65f93de0b629276d6685139c07e386b243af00a56e2bba8032c6895a9c" - }, - "serialized": "ff02170100000007000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f902950000000000bdc048ca7eb5688cc01921aecf5914118cfc78eacc23825efa6d75094a683127cc02512dc59e1e0631fa8956f482eabc54933d23011a8337ea9cab99abed504d6b6692c636d250f95056a6102b3f86b2191a994b99a7171acff849d2170ce605b6a161199037cd6ff762450d92891cb56552ebb2b1fa1d7de789cb6cf9e5137e" -} diff --git a/src/test/resources/transactions/v2-schnorr/delegate-resignation-sign.json b/src/test/resources/transactions/v2-schnorr/delegate-resignation-sign.json deleted file mode 100644 index 2b0a3e4b..00000000 --- a/src/test/resources/transactions/v2-schnorr/delegate-resignation-sign.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 7, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "2500000000", - "amount": "0", - "signature": "bdc048ca7eb5688cc01921aecf5914118cfc78eacc23825efa6d75094a683127cc02512dc59e1e0631fa8956f482eabc54933d23011a8337ea9cab99abed504d", - "id": "707b4deb339e717dfef44c40db0692015ce9bbab015c007b016b8a46b341e859" - }, - "serialized": "ff02170100000007000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200f902950000000000bdc048ca7eb5688cc01921aecf5914118cfc78eacc23825efa6d75094a683127cc02512dc59e1e0631fa8956f482eabc54933d23011a8337ea9cab99abed504d" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-claim-multiSign.json b/src/test/resources/transactions/v2-schnorr/htlc-claim-multiSign.json deleted file mode 100644 index 291114c2..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-claim-multiSign.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 9, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "0", - "amount": "0", - "asset": { - "claim": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4", - "unlockSecret": "my secret that should be 32bytes" - } - }, - "signatures": [ - "0078149337d8a903cff63fe39063c47a50fa211c53f03b9dec98e8ffaf001149f89aefbbe7a363296ce273744a96d2a09cd2a90563375866d5ba6bbaf4a7fe0de5", - "015cf52ebd07ad63de9670b0d9176aadb1e6bce4fd533141af4bc8ec87d7998e442b7021849b12a043d66bff1bf9b47f5b1970a0468d32c6a9fdec1f0b988ca7c9", - "026d20540724e00ff1e07a905ed9339e6f4e07f0a0fffc2c4bbe4f200fa5c77538ab3b1479e2d4666227bd8f79ba9148597347f916b6ce17af2e23a13da7433978" - ], - "id": "834fc082dc698f2703ad1f1d48111ab52433d4d7ae27b59ff68abf651c706144" - }, - "serialized": "ff0217010000000900010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb46d792073656372657420746861742073686f756c6420626520333262797465730078149337d8a903cff63fe39063c47a50fa211c53f03b9dec98e8ffaf001149f89aefbbe7a363296ce273744a96d2a09cd2a90563375866d5ba6bbaf4a7fe0de5015cf52ebd07ad63de9670b0d9176aadb1e6bce4fd533141af4bc8ec87d7998e442b7021849b12a043d66bff1bf9b47f5b1970a0468d32c6a9fdec1f0b988ca7c9026d20540724e00ff1e07a905ed9339e6f4e07f0a0fffc2c4bbe4f200fa5c77538ab3b1479e2d4666227bd8f79ba9148597347f916b6ce17af2e23a13da7433978" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-claim-secondSign.json b/src/test/resources/transactions/v2-schnorr/htlc-claim-secondSign.json deleted file mode 100644 index e0e45358..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-claim-secondSign.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 9, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "claim": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4", - "unlockSecret": "my secret that should be 32bytes" - } - }, - "signature": "381188e6a3c0da8823ab37cf7562724b3920f4fc8a40cb259ae297bd7237b511cbfdbcb46b7afa319ad1c2d8cc3d8cdc33a437c8b17867777b891d03c036dfb9", - "secondSignature": "e3fba68b18747bc3749adde4bee0472dbdac432e02f5233208cc0e36e1acc5a7a903c8f0140753f1c736160584e07aff74b30dcdbaf66a631a7f84e739198a88", - "id": "c5d6e95a02de4e3ef87acb78bbb64162715e852b805b203f67eee9c31f362f07" - }, - "serialized": "ff02170100000009000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb46d792073656372657420746861742073686f756c642062652033326279746573381188e6a3c0da8823ab37cf7562724b3920f4fc8a40cb259ae297bd7237b511cbfdbcb46b7afa319ad1c2d8cc3d8cdc33a437c8b17867777b891d03c036dfb9e3fba68b18747bc3749adde4bee0472dbdac432e02f5233208cc0e36e1acc5a7a903c8f0140753f1c736160584e07aff74b30dcdbaf66a631a7f84e739198a88" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-claim-sign.json b/src/test/resources/transactions/v2-schnorr/htlc-claim-sign.json deleted file mode 100644 index d3f15010..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-claim-sign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 9, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "claim": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4", - "unlockSecret": "my secret that should be 32bytes" - } - }, - "signature": "381188e6a3c0da8823ab37cf7562724b3920f4fc8a40cb259ae297bd7237b511cbfdbcb46b7afa319ad1c2d8cc3d8cdc33a437c8b17867777b891d03c036dfb9", - "id": "846c5ee8a328376416735da43056d154d41e264564def42fb28b373c0d895c46" - }, - "serialized": "ff02170100000009000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb46d792073656372657420746861742073686f756c642062652033326279746573381188e6a3c0da8823ab37cf7562724b3920f4fc8a40cb259ae297bd7237b511cbfdbcb46b7afa319ad1c2d8cc3d8cdc33a437c8b17867777b891d03c036dfb9" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-multiSign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-multiSign.json deleted file mode 100644 index 3e419838..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-multiSign.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "200000000", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signatures": [ - "000ac5c8db18c12dfccd043ef19282bc25a8b70a426f90e46de9c0291dff06ee1bbcb21ff0bdc41b9bb43db7182592d87a1441e3a192d79b80c9560fb01de9a69d", - "01671509a3e574eb4d1030f6bca635495d190d3542fa80d78f221e460b29683cda08c177dbf80f6a8cda146221eb86f4b17182d7e5832ce325ce09aeb09c2386b2", - "021cecb71665e99502d7b2cfe7083e3b1ada477bc9fadd2c5b3632c5cfa2666d9b800a2b2127ec6a934e843d2602711bffeb365449e0f2b164f6ff3a372468371a" - ], - "id": "75112f43edb2e9bb43ddb3e9a8cd33e5d245d0f5b11ede76239310b24e413b33" - }, - "serialized": "ff0217010000000800010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000000000c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f553662000ac5c8db18c12dfccd043ef19282bc25a8b70a426f90e46de9c0291dff06ee1bbcb21ff0bdc41b9bb43db7182592d87a1441e3a192d79b80c9560fb01de9a69d01671509a3e574eb4d1030f6bca635495d190d3542fa80d78f221e460b29683cda08c177dbf80f6a8cda146221eb86f4b17182d7e5832ce325ce09aeb09c2386b2021cecb71665e99502d7b2cfe7083e3b1ada477bc9fadd2c5b3632c5cfa2666d9b800a2b2127ec6a934e843d2602711bffeb365449e0f2b164f6ff3a372468371a" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-secondSign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-secondSign.json deleted file mode 100644 index aa0ab89f..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-secondSign.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signature": "25aaccfdd510e6f75b7ae08b8c12e123bd13aa9a3e0c96f2c937cd323ca578b228b33388c68dac36a785a4f1dfec50e72e71e8f5dd988065df123ad9b338a9af", - "secondSignature": "19bed3897e590331d189c29c583ca7a4de1c3e98f3521e446f56229fb86156c8c2d90277d988faa2ad1af57c5b0b44bdead19cdaea3c2c82576c13745c228745", - "id": "1149a11a651fd95854baf645cd2e22015761db69126bba16f7dbaa8e9eb2a693" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f55366225aaccfdd510e6f75b7ae08b8c12e123bd13aa9a3e0c96f2c937cd323ca578b228b33388c68dac36a785a4f1dfec50e72e71e8f5dd988065df123ad9b338a9af19bed3897e590331d189c29c583ca7a4de1c3e98f3521e446f56229fb86156c8c2d90277d988faa2ad1af57c5b0b44bdead19cdaea3c2c82576c13745c228745" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-sign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-sign.json deleted file mode 100644 index 2494523b..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-sign.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signature": "25aaccfdd510e6f75b7ae08b8c12e123bd13aa9a3e0c96f2c937cd323ca578b228b33388c68dac36a785a4f1dfec50e72e71e8f5dd988065df123ad9b338a9af", - "id": "c122a05048c2a385aa3514ce0e704ee22e95512330c28ce37c01c67ab9ad4ad6" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f55366225aaccfdd510e6f75b7ae08b8c12e123bd13aa9a3e0c96f2c937cd323ca578b228b33388c68dac36a785a4f1dfec50e72e71e8f5dd988065df123ad9b338a9af" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-multiSign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-multiSign.json deleted file mode 100644 index 05347690..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-multiSign.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signatures": [ - "0042ffe6cdfbcf2de2a1cd47f31ac74a7c04e92246a2bdf625c71d79bc552bdfea69b4f27738f8675d9aec2a77b2e1c27dcd7750523f84e03499d9bf23276a44fe", - "0187653eae1774b5eb2a65a9ca64722c6ec914b780060ec71a38ecc3707e9a970b54605a5b6c59a1c73a3de30a792f7fd821ff3b376c0de553aa946bf41c4ed6f7", - "02e4c1fe7bfca560251b105af65a356f6841ce8d0b74b7121172bce7977aa5f0dc927219ae63c35cb8948eb35ffeefb113deb173d1de66849ab458ed6004c01c06" - ], - "id": "41ee6342c16bcb3b9e24e81b6487830801c75e9dc05eea0053fd219104d7d0c1" - }, - "serialized": "ff0217010000000800010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f5536620042ffe6cdfbcf2de2a1cd47f31ac74a7c04e92246a2bdf625c71d79bc552bdfea69b4f27738f8675d9aec2a77b2e1c27dcd7750523f84e03499d9bf23276a44fe0187653eae1774b5eb2a65a9ca64722c6ec914b780060ec71a38ecc3707e9a970b54605a5b6c59a1c73a3de30a792f7fd821ff3b376c0de553aa946bf41c4ed6f702e4c1fe7bfca560251b105af65a356f6841ce8d0b74b7121172bce7977aa5f0dc927219ae63c35cb8948eb35ffeefb113deb173d1de66849ab458ed6004c01c06" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-secondSign.json deleted file mode 100644 index 9328e2c4..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-secondSign.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signature": "60466c0bd6911047b4d450818176a903054ab594622fd37073bc1666ea50ab3f44a5eb304bdfb7b242dba7bf688177752780c0217413c2e231ac11bb7922d558", - "secondSignature": "b92e598e794d58c53fcb79b31c7deb70067eb2d56407eb26d1de31c579db808ae4234c34f35ea590962b72d6bcaddb84cc0dfcc41527917b19323ce2425f6d63", - "id": "1bec3a78ec17a43deece000fee719511c1ab1448e0fdec862bb70e37f12bc711" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f55366260466c0bd6911047b4d450818176a903054ab594622fd37073bc1666ea50ab3f44a5eb304bdfb7b242dba7bf688177752780c0217413c2e231ac11bb7922d558b92e598e794d58c53fcb79b31c7deb70067eb2d56407eb26d1de31c579db808ae4234c34f35ea590962b72d6bcaddb84cc0dfcc41527917b19323ce2425f6d63" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-sign.json b/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-sign.json deleted file mode 100644 index 5620d942..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-lock-with-vendor-field-sign.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 8, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "asset": { - "lock": { - "secretHash": "0f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c5454", - "expiration": { - "type": 1, - "value": 1576013417 - } - } - }, - "signature": "60466c0bd6911047b4d450818176a903054ab594622fd37073bc1666ea50ab3f44a5eb304bdfb7b242dba7bf688177752780c0217413c2e231ac11bb7922d558", - "id": "cfa6eadb738f4762ad5714558997e978304e69a54a9e226040fbf2989bbc0216" - }, - "serialized": "ff02170100000008000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b000000000f128d401958b1b30ad0d10406f47f9489321017b4614e6cb993fc63913c545401690ef05d170995750207ecaf0ccf251c1265b92ad84f55366260466c0bd6911047b4d450818176a903054ab594622fd37073bc1666ea50ab3f44a5eb304bdfb7b242dba7bf688177752780c0217413c2e231ac11bb7922d558" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-refund-multiSign.json b/src/test/resources/transactions/v2-schnorr/htlc-refund-multiSign.json deleted file mode 100644 index c5752db9..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-refund-multiSign.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 10, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "0", - "amount": "0", - "asset": { - "refund": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4" - } - }, - "signatures": [ - "0003fbc187eed1d69df28f0583bd1f1252968e5d01e1fe4615e8a146f3b87ca1b60a5fe28973c4756d650f8e878571ca7929747668da76443053d6eb384e3f8480", - "015124b35ac4ba1aacd3842cb51c2d590fca3909dedff016ddeae9f72f0ca4f984d54dc4cd631d7aa0befa67d39e506cba1563bc9cb8b3af5506a08e93f625bca4", - "02309e80689b70901bf1f20aa2b151ec1a1d12da29af829aa0bd59bdb423997f81b6a9479d4211889aee486bb9141dd0cef09433381afc00c9c297115be665c168" - ], - "id": "4971fe722261ca9e6442ae3bba7758a0be3572c80d4fc1607f30ffda629f9dad" - }, - "serialized": "ff0217010000000a00010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb40003fbc187eed1d69df28f0583bd1f1252968e5d01e1fe4615e8a146f3b87ca1b60a5fe28973c4756d650f8e878571ca7929747668da76443053d6eb384e3f8480015124b35ac4ba1aacd3842cb51c2d590fca3909dedff016ddeae9f72f0ca4f984d54dc4cd631d7aa0befa67d39e506cba1563bc9cb8b3af5506a08e93f625bca402309e80689b70901bf1f20aa2b151ec1a1d12da29af829aa0bd59bdb423997f81b6a9479d4211889aee486bb9141dd0cef09433381afc00c9c297115be665c168" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-refund-secondSign.json b/src/test/resources/transactions/v2-schnorr/htlc-refund-secondSign.json deleted file mode 100644 index de3f43d8..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-refund-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 10, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "refund": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4" - } - }, - "signature": "16d9ef1dceb0cbb105a45af6bdde9439055f07197643f9e2837312463330fd02ec7b13d1242becfe333c1b8ab2ea91c0c8240390d86f0fb0f6cdc22ec6ac64f1", - "secondSignature": "f024e9682bdc8b643c43a963c376fb989c0015fe8ee446d69ff231ccb3b5fe7be7b7566f111a00768c9b001fc4c0f571d2b1c9df61a5a6d3b1918df20438e053", - "id": "2a75087a3e07f73e59e4c7816e082ecb31409c79bff8113544717f600a9defdc" - }, - "serialized": "ff0217010000000a000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb416d9ef1dceb0cbb105a45af6bdde9439055f07197643f9e2837312463330fd02ec7b13d1242becfe333c1b8ab2ea91c0c8240390d86f0fb0f6cdc22ec6ac64f1f024e9682bdc8b643c43a963c376fb989c0015fe8ee446d69ff231ccb3b5fe7be7b7566f111a00768c9b001fc4c0f571d2b1c9df61a5a6d3b1918df20438e053" -} diff --git a/src/test/resources/transactions/v2-schnorr/htlc-refund-sign.json b/src/test/resources/transactions/v2-schnorr/htlc-refund-sign.json deleted file mode 100644 index 58b9530c..00000000 --- a/src/test/resources/transactions/v2-schnorr/htlc-refund-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 10, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "0", - "amount": "0", - "asset": { - "refund": { - "lockTransactionId": "943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb4" - } - }, - "signature": "16d9ef1dceb0cbb105a45af6bdde9439055f07197643f9e2837312463330fd02ec7b13d1242becfe333c1b8ab2ea91c0c8240390d86f0fb0f6cdc22ec6ac64f1", - "id": "9356aa730990a2ea8e9871ffa65800f34ef1a4bec3215d89c950e72d82a34e91" - }, - "serialized": "ff0217010000000a000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192000000000000000000943c220691e711c39c79d437ce185748a0018940e1a4144293af9d05627d2eb416d9ef1dceb0cbb105a45af6bdde9439055f07197643f9e2837312463330fd02ec7b13d1242becfe333c1b8ab2ea91c0c8240390d86f0fb0f6cdc22ec6ac64f1" -} diff --git a/src/test/resources/transactions/v2-schnorr/ipfs-multiSign.json b/src/test/resources/transactions/v2-schnorr/ipfs-multiSign.json deleted file mode 100644 index 71d7d50d..00000000 --- a/src/test/resources/transactions/v2-schnorr/ipfs-multiSign.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 5, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "500000000", - "amount": "0", - "asset": { - "ipfs": "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w" - }, - "signatures": [ - "006323832cc6627fdafef14f6487224947b50fb67ecf39d508cae53a504e38d0616cbe03c814501124236c2812b0a62463d1cfcdaea4db1368732ce9543e94573b", - "015698acde626fe38cd5d374e225ac0b0a8fc60debcf4d389e73f227f13c4768f4168016745619addd5474378de08e3534e1ffdc01b857c1b31abc4c6fa8a85867", - "02da0fe52c86505c6cf17ba7e9a0402d7cfef1574d1938a2c55adfc779f23e7795a4ee81515a1e8150824dededafbb2ecc3a067b697a3aac5b0a4f564304b699be" - ], - "id": "533ad038573215683197ed795f49020efb5a495ce35a87cda2262a891aaa0650" - }, - "serialized": "ff0217010000000500010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f0150065cd1d000000000012202853f0f11ab91d73b73a2a86606103f45dd469ad2e89ec6f9a25febe8758d3fe006323832cc6627fdafef14f6487224947b50fb67ecf39d508cae53a504e38d0616cbe03c814501124236c2812b0a62463d1cfcdaea4db1368732ce9543e94573b015698acde626fe38cd5d374e225ac0b0a8fc60debcf4d389e73f227f13c4768f4168016745619addd5474378de08e3534e1ffdc01b857c1b31abc4c6fa8a8586702da0fe52c86505c6cf17ba7e9a0402d7cfef1574d1938a2c55adfc779f23e7795a4ee81515a1e8150824dededafbb2ecc3a067b697a3aac5b0a4f564304b699be" -} diff --git a/src/test/resources/transactions/v2-schnorr/ipfs-secondSign.json b/src/test/resources/transactions/v2-schnorr/ipfs-secondSign.json deleted file mode 100644 index 2f69882d..00000000 --- a/src/test/resources/transactions/v2-schnorr/ipfs-secondSign.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 5, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "ipfs": "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w" - }, - "signature": "0b6e81b123de99e953d3073a8760d3213ab5f5cf512e65a2dd73aebb410966d8fbc59e775deb4f23c51be0847402b5e1d4ee68732b3e6d8e8914d259d7e373eb", - "secondSignature": "336bcec35df44c82b60b8b7acf1c71bfe554bfc2d1d98aefa3e268eaabcd5fd60288b73d32e1f8b653308df72653cb12631a313de68398b98d7479ae6722dc2e", - "id": "673581d99e94c16766ff971f12332c93c334d684a1e847a9b30c5359c5924ac3" - }, - "serialized": "ff02170100000005000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000012202853f0f11ab91d73b73a2a86606103f45dd469ad2e89ec6f9a25febe8758d3fe0b6e81b123de99e953d3073a8760d3213ab5f5cf512e65a2dd73aebb410966d8fbc59e775deb4f23c51be0847402b5e1d4ee68732b3e6d8e8914d259d7e373eb336bcec35df44c82b60b8b7acf1c71bfe554bfc2d1d98aefa3e268eaabcd5fd60288b73d32e1f8b653308df72653cb12631a313de68398b98d7479ae6722dc2e" -} diff --git a/src/test/resources/transactions/v2-schnorr/ipfs-sign.json b/src/test/resources/transactions/v2-schnorr/ipfs-sign.json deleted file mode 100644 index ed807920..00000000 --- a/src/test/resources/transactions/v2-schnorr/ipfs-sign.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 5, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "ipfs": "QmR45FmbVVrixReBwJkhEKde2qwHYaQzGxu4ZoDeswuF9w" - }, - "signature": "0b6e81b123de99e953d3073a8760d3213ab5f5cf512e65a2dd73aebb410966d8fbc59e775deb4f23c51be0847402b5e1d4ee68732b3e6d8e8914d259d7e373eb", - "id": "818228ce634b46c488f3b2df8fd02bd50331ebdedb44df5b9b11b97b01e9fb36" - }, - "serialized": "ff02170100000005000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000012202853f0f11ab91d73b73a2a86606103f45dd469ad2e89ec6f9a25febe8758d3fe0b6e81b123de99e953d3073a8760d3213ab5f5cf512e65a2dd73aebb410966d8fbc59e775deb4f23c51be0847402b5e1d4ee68732b3e6d8e8914d259d7e373eb" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-multiSign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-multiSign.json deleted file mode 100644 index 0c804f24..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-multiSign.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "0", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signatures": [ - "008aa7cb571fe16e7ccd22f28598f937530f8629faf042a3979e7f7f05099b9bd17bf944c1297e57997c651b5b444457e6647a4a5fd70a74ba6085ff692d1a9cc4", - "0114349859cde10408ff160a13ce746cc0114dc16832d0054dd668819d9ca30876658a680efe06e90ad20bcf9740840fff900d95683313de7d75f5d53f049dcd4d", - "02ea98df8dd3ad2f68b45e9788969de7cb1d405f59ef63e63e93903b9e1436a26e320944f9d4d03dd8246236c978f80478c11861000c98eb211f0945861461aaf1" - ], - "id": "abb2778cd8fa9a689bf87ef4ab303233758e298f135b33a6bb5d50323fed58f2" - }, - "serialized": "ff0217010000000600010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f0158096980000000000000200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041008aa7cb571fe16e7ccd22f28598f937530f8629faf042a3979e7f7f05099b9bd17bf944c1297e57997c651b5b444457e6647a4a5fd70a74ba6085ff692d1a9cc40114349859cde10408ff160a13ce746cc0114dc16832d0054dd668819d9ca30876658a680efe06e90ad20bcf9740840fff900d95683313de7d75f5d53f049dcd4d02ea98df8dd3ad2f68b45e9788969de7cb1d405f59ef63e63e93903b9e1436a26e320944f9d4d03dd8246236c978f80478c11861000c98eb211f0945861461aaf1" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-secondSign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-secondSign.json deleted file mode 100644 index 657e801a..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-secondSign.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "672e89e66a9c5d7d95c21ccd07a89a111f02823146c06f14689d2cf1efd645fb648258fcf2280486d2cae19f391796d72145d2a8e6f261e887e34cd1998bdb65", - "secondSignature": "cd0411dcb9300b7a56059c54d637f7bd38ce79c65cc7af6629c06d130fa09e6ca1cf1af6080f4e275378376c3ef6d7e853f64b52d29f2a73312ebec0ce5ff782", - "id": "395e9215094a74dc64478f8bb5216277caa2a20555a92947764d92eb0ea1e306" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1928096980000000000000200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041672e89e66a9c5d7d95c21ccd07a89a111f02823146c06f14689d2cf1efd645fb648258fcf2280486d2cae19f391796d72145d2a8e6f261e887e34cd1998bdb65cd0411dcb9300b7a56059c54d637f7bd38ce79c65cc7af6629c06d130fa09e6ca1cf1af6080f4e275378376c3ef6d7e853f64b52d29f2a73312ebec0ce5ff782" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-sign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-sign.json deleted file mode 100644 index f19d1ef4..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-sign.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "672e89e66a9c5d7d95c21ccd07a89a111f02823146c06f14689d2cf1efd645fb648258fcf2280486d2cae19f391796d72145d2a8e6f261e887e34cd1998bdb65", - "id": "e8c7293d428048f8678dc6c88cb8b32bd49c8ae9b02018297c1889d9bd33ba8d" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1928096980000000000000200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041672e89e66a9c5d7d95c21ccd07a89a111f02823146c06f14689d2cf1efd645fb648258fcf2280486d2cae19f391796d72145d2a8e6f261e887e34cd1998bdb65" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-multiSign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-multiSign.json deleted file mode 100644 index 46e27522..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-multiSign.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "0", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signatures": [ - "000557aab4ee58e668cf631fe9755222aaec133726488737b1e321c1322d00f7b5aaf2dff0488e5e10d1804d370dcb1d31c751c6d14d2e61d21187e8b7e2fe451d", - "016151423b2e79d2d87b21dc2c73bfb0cd700c96811a71f89b8474df3862cef847ab9229975175cc4fdae0ef9d3b25ba6190004d3752eb375a54a708b42fd8b518", - "02378ff87ec84f79e14ae044755ba05b403b467d5c4d0b673a03c67ef75fad56223029c9d68959e2add8c33ec8b43c9a99e038dada6d4c4b412a471ee525730a08" - ], - "id": "3534d43c391e0c0f95cbf7dd91a1d2dfe068e65d999f0e29a28dee212619a98a" - }, - "serialized": "ff0217010000000600010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c640200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041000557aab4ee58e668cf631fe9755222aaec133726488737b1e321c1322d00f7b5aaf2dff0488e5e10d1804d370dcb1d31c751c6d14d2e61d21187e8b7e2fe451d016151423b2e79d2d87b21dc2c73bfb0cd700c96811a71f89b8474df3862cef847ab9229975175cc4fdae0ef9d3b25ba6190004d3752eb375a54a708b42fd8b51802378ff87ec84f79e14ae044755ba05b403b467d5c4d0b673a03c67ef75fad56223029c9d68959e2add8c33ec8b43c9a99e038dada6d4c4b412a471ee525730a08" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-secondSign.json deleted file mode 100644 index 4abe9790..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-secondSign.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "db16e5cf3e3fe1334c070518b8a0389df2a8ac04f8604c8d8e5d7427e2c68cac8203db61d03faafaf7077ef2e5b4b0f85e5f400901fb6d367631ee141140e27c", - "secondSignature": "c4b9cb2ceeb0fd3e68e339a4310e89db0481d267d32986b7929344fd2537f13212bea71ab0ec35dc8684a04e93317131280763eeabc1b316c832efdfe414c042", - "id": "95bea3da0b04f043313b7b9b247a6138d61a4af134cf63702310776b6045f325" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c640200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041db16e5cf3e3fe1334c070518b8a0389df2a8ac04f8604c8d8e5d7427e2c68cac8203db61d03faafaf7077ef2e5b4b0f85e5f400901fb6d367631ee141140e27cc4b9cb2ceeb0fd3e68e339a4310e89db0481d267d32986b7929344fd2537f13212bea71ab0ec35dc8684a04e93317131280763eeabc1b316c832efdfe414c042" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-sign.json b/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-sign.json deleted file mode 100644 index 180210ac..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-payment-with-vendor-field-sign.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 6, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "0", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "asset": { - "payments": [ - { - "amount": "1", - "recipientId": "AHXtmB84sTZ9Zd35h9Y1vfFvPE2Xzqj8ri" - }, - { - "amount": "2", - "recipientId": "AZFEPTWnn2Sn8wDZgCRF8ohwKkrmk2AZi1" - } - ] - }, - "signature": "db16e5cf3e3fe1334c070518b8a0389df2a8ac04f8604c8d8e5d7427e2c68cac8203db61d03faafaf7077ef2e5b4b0f85e5f400901fb6d367631ee141140e27c", - "id": "8ea5a86a2a7847335a11d5f0ed5e2dcd26539e2caf676478b48d74a864229776" - }, - "serialized": "ff02170100000006000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c640200010000000000000017134b5be4b327ddf9c2bb47fec8a1a44189e90f74020000000000000017bfa6aec83cf1bd03a0cab9f35c85ff51a3e9f041db16e5cf3e3fe1334c070518b8a0389df2a8ac04f8604c8d8e5d7427e2c68cac8203db61d03faafaf7077ef2e5b4b0f85e5f400901fb6d367631ee141140e27c" -} diff --git a/src/test/resources/transactions/v2-schnorr/multi-signature-registration.json b/src/test/resources/transactions/v2-schnorr/multi-signature-registration.json deleted file mode 100644 index 1c78d9a9..00000000 --- a/src/test/resources/transactions/v2-schnorr/multi-signature-registration.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 4, - "nonce": "1", - "senderPublicKey": "0205d9bbe71c343ac9a6a83a4344fd404c3534fc7349827097d0835d160bc2b896", - "fee": "2000000000", - "amount": "0", - "asset": { - "multiSignature": { - "publicKeys": [ - "0205d9bbe71c343ac9a6a83a4344fd404c3534fc7349827097d0835d160bc2b896", - "03df0a1eb42d99b5de395cead145ba1ec2ea837be308c7ce3a4e8018b7efc7fdb8", - "03860d76b1df09659ac282cea3da5bd84fc45729f348a4a8e5f802186be72dc17f" - ], - "min": 2 - } - }, - "signature": "f5e9859c955bf8917b308ea21c88daf58661686c2017e476dcf735ad7f00aebf8e6effda3fe99e5f33f6007db7db9c9155796d9b5d31c53bd6156364a6a765d0", - "signatures": [ - "0064900cb2cc3db6ca9c7e3bd363b322cdc4a39e051f655e9867935e1bb856b6dcce52845c031c690808f40340bc827bbaacd7b04bceff866cb0d386ab84715174", - "01dd363ccc101a958bded1a5db1c08f13283fc7cee53da93dfe00785eb406512467ff8e445f8ad843744ac4179f30f942645dfd5bdf5f2bfc344ad02393053880a", - "02d0012f035dc3fd54173c83d40217914653488fe9ce592dca34234163181d255281f2be7033725cfc4a6786509e7fabbaf0be8cf50882fc7b66fe94f259fd004e" - ], - "id": "c868aad20165a336c35e324378f0c12008d18af4c1025291efcb7539c7c917f0" - }, - "serialized": "ff021701000000040001000000000000000205d9bbe71c343ac9a6a83a4344fd404c3534fc7349827097d0835d160bc2b89600943577000000000002030205d9bbe71c343ac9a6a83a4344fd404c3534fc7349827097d0835d160bc2b89603df0a1eb42d99b5de395cead145ba1ec2ea837be308c7ce3a4e8018b7efc7fdb803860d76b1df09659ac282cea3da5bd84fc45729f348a4a8e5f802186be72dc17ff5e9859c955bf8917b308ea21c88daf58661686c2017e476dcf735ad7f00aebf8e6effda3fe99e5f33f6007db7db9c9155796d9b5d31c53bd6156364a6a765d00064900cb2cc3db6ca9c7e3bd363b322cdc4a39e051f655e9867935e1bb856b6dcce52845c031c690808f40340bc827bbaacd7b04bceff866cb0d386ab8471517401dd363ccc101a958bded1a5db1c08f13283fc7cee53da93dfe00785eb406512467ff8e445f8ad843744ac4179f30f942645dfd5bdf5f2bfc344ad02393053880a02d0012f035dc3fd54173c83d40217914653488fe9ce592dca34234163181d255281f2be7033725cfc4a6786509e7fabbaf0be8cf50882fc7b66fe94f259fd004e" -} diff --git a/src/test/resources/transactions/v2-schnorr/second-signature-registration.json b/src/test/resources/transactions/v2-schnorr/second-signature-registration.json deleted file mode 100644 index 907b431c..00000000 --- a/src/test/resources/transactions/v2-schnorr/second-signature-registration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 1, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "500000000", - "amount": "0", - "asset": { - "signature": { - "publicKey": "03699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609" - } - }, - "signature": "f9a1e2244c8318e8be85482fc02659e5c1775d246d73d5d0699ae4a1d5e3a3e84f9dcf68ee015f943d2a82eb829f35abd7901279761d96f6b43431520e955c67", - "id": "173a3230159b45d772b2e0348f42af53913bf3e376397f29b8e0bda290badbe4" - }, - "serialized": "ff02170100000001000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed1920065cd1d000000000003699e966b2525f9088a6941d8d94f7869964a000efe65783d78ac82e1199fe609f9a1e2244c8318e8be85482fc02659e5c1775d246d73d5d0699ae4a1d5e3a3e84f9dcf68ee015f943d2a82eb829f35abd7901279761d96f6b43431520e955c67" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-multiSign.json b/src/test/resources/transactions/v2-schnorr/transfer-multiSign.json deleted file mode 100644 index 819db1f5..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-multiSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "200000000", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signatures": [ - "00c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e", - "01830a2e319f2070f3519bc22c2d449acdb7691bf9dd25e3649a72ac843e08ce26e0b87e30e65b73f853cf8e375dbc495cc75c6fd199bf4b15327bf8c5ec4bfac5", - "0292c299b739f0cb5e36133d85f51fff2fcc7745e8af4d0778908560c0874e3f2303e0436eabce1c09d88efab0004e61c5d6e47768aa8d2ab0cb9f14d523a38308" - ], - "id": "a7245dcc720d3e133035cff04b4a14dbc0f8ff889c703c89c99f2f03e8f3c59d" - }, - "serialized": "ff0217010000000000010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f55366200c01c44bf33bea20a74d5acc12c5d6aafe82240f3571121382b77c871f4b33d6da2b62fdc6ca2cc6bc583abb2a69e7975be29e8d80a59c52bcff8d54514cf999e01830a2e319f2070f3519bc22c2d449acdb7691bf9dd25e3649a72ac843e08ce26e0b87e30e65b73f853cf8e375dbc495cc75c6fd199bf4b15327bf8c5ec4bfac50292c299b739f0cb5e36133d85f51fff2fcc7745e8af4d0778908560c0874e3f2303e0436eabce1c09d88efab0004e61c5d6e47768aa8d2ab0cb9f14d523a38308" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-secondSign.json b/src/test/resources/transactions/v2-schnorr/transfer-secondSign.json deleted file mode 100644 index 611941c4..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-secondSign.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "136c29d921b58ae3194020b82e9808f9cd54f7178cb34678f570f28226b8e56ba0ad318297a3bacbb37ab22ddaa5dbf1901cda3ec2d2bca5ce98d6407839ab9b", - "secondSignature": "02dd94f611e300ad77147d808a34e942b379c5468760d8605adc0304400a2578a2039468b844f30ad1f0515f9cce33855791296117bfe8ef3caa664152644fd6", - "id": "be148ab83b75c199f9778f8963814a641a6ee937b6dd5b294082fbf7def94a45" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f553662136c29d921b58ae3194020b82e9808f9cd54f7178cb34678f570f28226b8e56ba0ad318297a3bacbb37ab22ddaa5dbf1901cda3ec2d2bca5ce98d6407839ab9b02dd94f611e300ad77147d808a34e942b379c5468760d8605adc0304400a2578a2039468b844f30ad1f0515f9cce33855791296117bfe8ef3caa664152644fd6" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-sign.json b/src/test/resources/transactions/v2-schnorr/transfer-sign.json deleted file mode 100644 index d972fccc..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-sign.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "136c29d921b58ae3194020b82e9808f9cd54f7178cb34678f570f28226b8e56ba0ad318297a3bacbb37ab22ddaa5dbf1901cda3ec2d2bca5ce98d6407839ab9b", - "id": "129517023bd895b682bbb38b1d1f99e9222bd487899c843da22d8572b0fb52a8" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000000000c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f553662136c29d921b58ae3194020b82e9808f9cd54f7178cb34678f570f28226b8e56ba0ad318297a3bacbb37ab22ddaa5dbf1901cda3ec2d2bca5ce98d6407839ab9b" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-multiSign.json b/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-multiSign.json deleted file mode 100644 index bf23eaa4..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-multiSign.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signatures": [ - "0033194adf162a4e3039bf1fbb96d1edd9f0103d54935c1fac56a0382fa6269b715d5d79577a06e334e0836941035954106b1a689d079a69f94462d4df58a8749d", - "015e34212ac4ff97b04510d48e15f10d3e7b7a4f15c739fd07f598720402f3bb69ccf828417ff96cd97a86de6d710d21ad560145d3abdc8739fb7f6f2d48d490c7", - "0287ff743ca6d45c262c89c738dc2271fca2cbab7cbf429b8cbcda6cc31471425d48a2db0c4b4554088e3692e8d442f9d6ca07cd20971ab301e0902c3a4bae4727" - ], - "id": "35d79432c76468deb3ca57f77890c346a92836666aa50fcfa11b3e10c064f8cd" - }, - "serialized": "ff0217010000000000010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01580969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f5536620033194adf162a4e3039bf1fbb96d1edd9f0103d54935c1fac56a0382fa6269b715d5d79577a06e334e0836941035954106b1a689d079a69f94462d4df58a8749d015e34212ac4ff97b04510d48e15f10d3e7b7a4f15c739fd07f598720402f3bb69ccf828417ff96cd97a86de6d710d21ad560145d3abdc8739fb7f6f2d48d490c70287ff743ca6d45c262c89c738dc2271fca2cbab7cbf429b8cbcda6cc31471425d48a2db0c4b4554088e3692e8d442f9d6ca07cd20971ab301e0902c3a4bae4727" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-secondSign.json b/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-secondSign.json deleted file mode 100644 index ffe18ac0..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-secondSign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "b68dd255857f4020ad933f5ae48b9471093255c80e55e59f6fb73884aa835155ba87bf432d0af2826ca20368987dff65adfa723228145a73649a05ae1be58bf4", - "secondSignature": "2afdf98e6830057040688f528f76a564f007839a4344d14c82371a546a506e966196c5f2532934604e5043cbdea34292834550f678749dd090e3977ac8e9e94d", - "id": "c7338d04b372569acd9bfe4660d90c43ebb775079791ba02e10ebdf729230675" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f553662b68dd255857f4020ad933f5ae48b9471093255c80e55e59f6fb73884aa835155ba87bf432d0af2826ca20368987dff65adfa723228145a73649a05ae1be58bf42afdf98e6830057040688f528f76a564f007839a4344d14c82371a546a506e966196c5f2532934604e5043cbdea34292834550f678749dd090e3977ac8e9e94d" -} diff --git a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-sign.json b/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-sign.json deleted file mode 100644 index a03c4a23..00000000 --- a/src/test/resources/transactions/v2-schnorr/transfer-with-vendor-field-sign.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 0, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "10000000", - "amount": "200000000", - "vendorFieldHex": "74686973206973206120746f70207365637265742076656e646f72206669656c64", - "vendorField": "this is a top secret vendor field", - "expiration": 0, - "recipientId": "AGeYmgbg2LgGxRW2vNNJvQ88PknEJsYizC", - "signature": "b68dd255857f4020ad933f5ae48b9471093255c80e55e59f6fb73884aa835155ba87bf432d0af2826ca20368987dff65adfa723228145a73649a05ae1be58bf4", - "id": "bb5bffa118d389de05ea13d3a4c0948a83ae10320197c8d513963d501217f709" - }, - "serialized": "ff02170100000000000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19280969800000000002174686973206973206120746f70207365637265742076656e646f72206669656c6400c2eb0b0000000000000000170995750207ecaf0ccf251c1265b92ad84f553662b68dd255857f4020ad933f5ae48b9471093255c80e55e59f6fb73884aa835155ba87bf432d0af2826ca20368987dff65adfa723228145a73649a05ae1be58bf4" -} diff --git a/src/test/resources/transactions/v2-schnorr/unvote-multiSign.json b/src/test/resources/transactions/v2-schnorr/unvote-multiSign.json deleted file mode 100644 index ec6b9ae4..00000000 --- a/src/test/resources/transactions/v2-schnorr/unvote-multiSign.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "-022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signatures": [ - "0089008266deed566dd482cd6c779eb993a851e2749ccd8ae86802eda6cdd6bde52395096b6015be3d040276db0eab3698a469f6d12ff0de937baf2f8bfad377be", - "019a333d9acf61ce3646fbf1aa043c3c018385db7c72a62ba7416582ee0c63bb4ea80a2aec6e7ecbf3b48d8178559663300b042287b867a7bc3d1ec7d2f61f3fb6", - "0200849267fbdec685a90d9d74fa90387da5c106bb73c0220e73e25b185b5a6382925cd49c140a1b90f33da3a6881d2af27ddf241c5c060e3a09141e2a3d156cc9" - ], - "id": "7ebee4a608a5912a042f5678d38fe6425d466ae74db6b9d86ccb3d18ac47a2b0" - }, - "serialized": "ff0217010000000300010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01500e1f50500000000000100022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d0089008266deed566dd482cd6c779eb993a851e2749ccd8ae86802eda6cdd6bde52395096b6015be3d040276db0eab3698a469f6d12ff0de937baf2f8bfad377be019a333d9acf61ce3646fbf1aa043c3c018385db7c72a62ba7416582ee0c63bb4ea80a2aec6e7ecbf3b48d8178559663300b042287b867a7bc3d1ec7d2f61f3fb60200849267fbdec685a90d9d74fa90387da5c106bb73c0220e73e25b185b5a6382925cd49c140a1b90f33da3a6881d2af27ddf241c5c060e3a09141e2a3d156cc9" -} diff --git a/src/test/resources/transactions/v2-schnorr/unvote-secondSign.json b/src/test/resources/transactions/v2-schnorr/unvote-secondSign.json deleted file mode 100644 index dfeffdfc..00000000 --- a/src/test/resources/transactions/v2-schnorr/unvote-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "-022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "5975454d700b1f8219b183693e60435a0c57d76017628293f7a6e0ea114ae2eae398b9b2e7c2105d3ac895b6a6d8e15edea00a3cbc1f68aa3236ae3fd7512bb6", - "secondSignature": "c3b4c5df7ef04cda2159b3b7ecb0f018c343a4d7b2147c1c783160f2931fe74875066b7d1f88bd6718da69ca840820c55238f24515522a61ac696df7125f0238", - "id": "2e27ae13501399a36280b2e1627c54a8d2e65c41b5c832d9095c64113c4b190e" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000100022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d5975454d700b1f8219b183693e60435a0c57d76017628293f7a6e0ea114ae2eae398b9b2e7c2105d3ac895b6a6d8e15edea00a3cbc1f68aa3236ae3fd7512bb6c3b4c5df7ef04cda2159b3b7ecb0f018c343a4d7b2147c1c783160f2931fe74875066b7d1f88bd6718da69ca840820c55238f24515522a61ac696df7125f0238" -} diff --git a/src/test/resources/transactions/v2-schnorr/unvote-sign.json b/src/test/resources/transactions/v2-schnorr/unvote-sign.json deleted file mode 100644 index 2a8eae30..00000000 --- a/src/test/resources/transactions/v2-schnorr/unvote-sign.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "-022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "5975454d700b1f8219b183693e60435a0c57d76017628293f7a6e0ea114ae2eae398b9b2e7c2105d3ac895b6a6d8e15edea00a3cbc1f68aa3236ae3fd7512bb6", - "id": "45f3e7d9a921dde539c162672a7b84a2ac6aec1a41889902a1464cd374ea6bac" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000100022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d5975454d700b1f8219b183693e60435a0c57d76017628293f7a6e0ea114ae2eae398b9b2e7c2105d3ac895b6a6d8e15edea00a3cbc1f68aa3236ae3fd7512bb6" -} diff --git a/src/test/resources/transactions/v2-schnorr/vote-multiSign.json b/src/test/resources/transactions/v2-schnorr/vote-multiSign.json deleted file mode 100644 index ed7ebd68..00000000 --- a/src/test/resources/transactions/v2-schnorr/vote-multiSign.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "03fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f015", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signatures": [ - "003c728aa533024b0d36386652ba80bdccdd70d71f1cfbe63739672975f8562abfe87b5d9ec82a5cb741c58511b08ede21e8c6af640de6c43d4f7bff039c61cb79", - "013c342d6e892ff5d5410b825d5781137a158350e7139cf450b327accacee9d6b32304654679c52f8bfa472a8739f249c427b3ebc8c2cc9f3c1c15a724466797bf", - "0258a19937052d6eb6c76c09dafa711c766a97de7bd897983275b27028133ba816b60a45cae12e00f4a599b9b8dc9530c25a5b134841f8bb60e28cb81b30bc6eed" - ], - "id": "320ec28539f10b06ca02834503ac818fb0a299119aadfa48849707ed5ace56e5" - }, - "serialized": "ff0217010000000300010000000000000003fb92a2c3efaa177d8a51fc0cdf41905098d8b2cd900cbac94617492827e5f01500e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d003c728aa533024b0d36386652ba80bdccdd70d71f1cfbe63739672975f8562abfe87b5d9ec82a5cb741c58511b08ede21e8c6af640de6c43d4f7bff039c61cb79013c342d6e892ff5d5410b825d5781137a158350e7139cf450b327accacee9d6b32304654679c52f8bfa472a8739f249c427b3ebc8c2cc9f3c1c15a724466797bf0258a19937052d6eb6c76c09dafa711c766a97de7bd897983275b27028133ba816b60a45cae12e00f4a599b9b8dc9530c25a5b134841f8bb60e28cb81b30bc6eed" -} diff --git a/src/test/resources/transactions/v2-schnorr/vote-secondSign.json b/src/test/resources/transactions/v2-schnorr/vote-secondSign.json deleted file mode 100644 index e0099cf4..00000000 --- a/src/test/resources/transactions/v2-schnorr/vote-secondSign.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "86007f8e6a982bc271ec063c20f158734f0bc1e23e0e1abf9edeaa208b4810fa1d466171bba79a5c00b0a4c698728f68aa0748d98613cac247c014ee84a6fc41", - "secondSignature": "3e7a3d285505347bff1628db37cb66054b4ec8ea28a98f6bfa14d25d2450995fac8ecedc1c7d4d7f2bfd6b35f8a466a5328337b1713b1b83a10f2840d9c7543a", - "id": "9ba13df859dbe551798367fbe36945e02f307aa91b51cb779a8669cb1542a1bb" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d86007f8e6a982bc271ec063c20f158734f0bc1e23e0e1abf9edeaa208b4810fa1d466171bba79a5c00b0a4c698728f68aa0748d98613cac247c014ee84a6fc413e7a3d285505347bff1628db37cb66054b4ec8ea28a98f6bfa14d25d2450995fac8ecedc1c7d4d7f2bfd6b35f8a466a5328337b1713b1b83a10f2840d9c7543a" -} diff --git a/src/test/resources/transactions/v2-schnorr/vote-sign.json b/src/test/resources/transactions/v2-schnorr/vote-sign.json deleted file mode 100644 index 892a5403..00000000 --- a/src/test/resources/transactions/v2-schnorr/vote-sign.json +++ /dev/null @@ -1,21 +0,0 @@ - -{ - "data": { - "version": 2, - "network": 23, - "typeGroup": 1, - "type": 3, - "nonce": "1", - "senderPublicKey": "034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed192", - "fee": "100000000", - "amount": "0", - "asset": { - "votes": [ - "+022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d" - ] - }, - "signature": "86007f8e6a982bc271ec063c20f158734f0bc1e23e0e1abf9edeaa208b4810fa1d466171bba79a5c00b0a4c698728f68aa0748d98613cac247c014ee84a6fc41", - "id": "2c5d71028607674411c8e37e316a015eccbeb9ba486fddfbd393dc421540a90a" - }, - "serialized": "ff02170100000003000100000000000000034151a3ec46b5670a682b0a63394f863587d1bc97483b1b6c70eb58e7f0aed19200e1f50500000000000101022cca9529ec97a772156c152a00aad155ee6708243e65c9d211a589cb5d43234d86007f8e6a982bc271ec063c20f158734f0bc1e23e0e1abf9edeaa208b4810fa1d466171bba79a5c00b0a4c698728f68aa0748d98613cac247c014ee84a6fc41" -} diff --git a/src/test/resources/transactions/validator_registration/validator-registration-multi-sign.json b/src/test/resources/transactions/validator_registration/validator-registration-multi-sign.json new file mode 100644 index 00000000..7e7f3fc8 --- /dev/null +++ b/src/test/resources/transactions/validator_registration/validator-registration-multi-sign.json @@ -0,0 +1,23 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 2, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "asset": { + "validatorPublicKey": "a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d3141118" + }, + "signature": "0604c8ecb42e1cc125da7e88fbb6e8b3c3cb703890701b91f8277bf84493ac4994417e8c090309f8147316091d879a1a3c1ce15a6476e029c6f0597a5cfd3533", + "signatures": [ + "00ad621bb19f24c785eded7e3953b575e25fca5b26890eda8ac87cb029d8a28d2c2ef084d98d617fddf7677b27488705e3c5c6d6568a2c44753212e3589e93b89c", + "018de3507e97d8e8e88f77c2cac0c4a7b8767b8527b2a53d81a119e2dbf6672fc8595de1c9ddbb1c88fadf7266923b2289dfbd3b266059c77609bdec52e8efeb61", + "021cbf94035e39cf80b4ccb7ee7d9cfac747ab6e1f73ef4a68b5600ee48c1e94861076718d11ab3908ecc6252c0ea515f6586f966e50842846cce5eada78d84453" + ], + "id": "91c5b9e9dd0915a0e2a44edcae3cd0182ffcdcc3921721fc4a88e5b91a3a1d90" + }, + "serialized": "ff011e0100000002000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f902950000000000a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d31411180604c8ecb42e1cc125da7e88fbb6e8b3c3cb703890701b91f8277bf84493ac4994417e8c090309f8147316091d879a1a3c1ce15a6476e029c6f0597a5cfd353300ad621bb19f24c785eded7e3953b575e25fca5b26890eda8ac87cb029d8a28d2c2ef084d98d617fddf7677b27488705e3c5c6d6568a2c44753212e3589e93b89c018de3507e97d8e8e88f77c2cac0c4a7b8767b8527b2a53d81a119e2dbf6672fc8595de1c9ddbb1c88fadf7266923b2289dfbd3b266059c77609bdec52e8efeb61021cbf94035e39cf80b4ccb7ee7d9cfac747ab6e1f73ef4a68b5600ee48c1e94861076718d11ab3908ecc6252c0ea515f6586f966e50842846cce5eada78d84453" +} diff --git a/src/test/resources/transactions/validator_registration/validator-registration-sign.json b/src/test/resources/transactions/validator_registration/validator-registration-sign.json new file mode 100644 index 00000000..efbd345d --- /dev/null +++ b/src/test/resources/transactions/validator_registration/validator-registration-sign.json @@ -0,0 +1,18 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 2, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "asset": { + "validatorPublicKey": "a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d3141118" + }, + "signature": "449a02672bf54a67ecdbeab20d3fbc16a1358397ebbe28398338f97d9823752f0b3e6c715ce6ad47d8f4df95a7a1ef97b76d159513ba680edecf9e3dd4d76719", + "id": "18659c72ed03091989bf960450ab156d04794ea037357c2f4839d362a1ad576a" + }, + "serialized": "ff011e0100000002000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f902950000000000a08058db53e2665c84a40f5152e76dd2b652125a6079130d4c315e728bcf4dd1dfb44ac26e82302331d61977d3141118449a02672bf54a67ecdbeab20d3fbc16a1358397ebbe28398338f97d9823752f0b3e6c715ce6ad47d8f4df95a7a1ef97b76d159513ba680edecf9e3dd4d76719" +} diff --git a/src/test/resources/transactions/validator_resignation/validator-resignation-multi-sign.json b/src/test/resources/transactions/validator_resignation/validator-resignation-multi-sign.json new file mode 100644 index 00000000..9ce2df83 --- /dev/null +++ b/src/test/resources/transactions/validator_resignation/validator-resignation-multi-sign.json @@ -0,0 +1,20 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 7, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "signature": "a32aeb2cd0695a71f35953e2bac27b36ba51c6fb3f36b98a5e05072500a96206b3afc95efa47d2bbce291b12307c4bd5e79171930e13844a0bc2036516e26644", + "signatures": [ + "00e78bd07e68978b0bcc911c3b4cce17957a347b3ceda0fe78fca3624c6e9d752c46ba75d31004661d097bc6c2471f86fb6727ac9e385c931d2850fc1ad3eb98c0", + "01706c56c0a5568df17342bb0fffec66cbf948425153f31ee3f16760c372ae4e020f2489695c3f3a80524bbba6fa97aef074259e8dc9305966dfc1a40a632872d0", + "021e218f51b7803c327c092f89af015573371506dd8f27a96dacaf29286d8ecc5d955443cfb1a5d93f359ebef67fdb842fc3e9a8d9691e57a5f627cb11425526e0" + ], + "id": "97ff3cf77125fea2ce33f23ef4ce85d56e207bc47e1595c004a319976fdca64c" + }, + "serialized": "ff011e0100000007000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f902950000000000a32aeb2cd0695a71f35953e2bac27b36ba51c6fb3f36b98a5e05072500a96206b3afc95efa47d2bbce291b12307c4bd5e79171930e13844a0bc2036516e2664400e78bd07e68978b0bcc911c3b4cce17957a347b3ceda0fe78fca3624c6e9d752c46ba75d31004661d097bc6c2471f86fb6727ac9e385c931d2850fc1ad3eb98c001706c56c0a5568df17342bb0fffec66cbf948425153f31ee3f16760c372ae4e020f2489695c3f3a80524bbba6fa97aef074259e8dc9305966dfc1a40a632872d0021e218f51b7803c327c092f89af015573371506dd8f27a96dacaf29286d8ecc5d955443cfb1a5d93f359ebef67fdb842fc3e9a8d9691e57a5f627cb11425526e0" +} diff --git a/src/test/resources/transactions/validator_resignation/validator-resignation-sign.json b/src/test/resources/transactions/validator_resignation/validator-resignation-sign.json new file mode 100644 index 00000000..4492199d --- /dev/null +++ b/src/test/resources/transactions/validator_resignation/validator-resignation-sign.json @@ -0,0 +1,15 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 7, + "nonce": "0", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "2500000000", + "amount": "0", + "signature": "f9d93dc161b5351a9e6f89e97bd3a4d1b73349c2339145021dee2654f5a8116aa78c6c3742b5fc39d0c9265735b866954d8c6c8383130d08659b1aff3967d4eb", + "id": "431b779764f51e227eca907706bd339de36c3b23bd46c603283f3a932d12b936" + }, + "serialized": "ff011e0100000007000000000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300f902950000000000f9d93dc161b5351a9e6f89e97bd3a4d1b73349c2339145021dee2654f5a8116aa78c6c3742b5fc39d0c9265735b866954d8c6c8383130d08659b1aff3967d4eb" +} diff --git a/src/test/resources/transactions/vote/unvote-sign.json b/src/test/resources/transactions/vote/unvote-sign.json new file mode 100644 index 00000000..e169bdf6 --- /dev/null +++ b/src/test/resources/transactions/vote/unvote-sign.json @@ -0,0 +1,21 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 3, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "100000000", + "amount": "0", + "asset": { + "unvotes": [ + "03f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabc" + ], + "votes": [] + }, + "signature": "b7c16d70bd8503d3228d57dcb32468601e687849ebbbfe18b9ef2404ecf907f362a4e0a3326b6149d21256a77c7ba8ccbafddacc5bcb07c5f209e861a7f4cc66", + "id": "110a8a1bf940068cb555261f6715402623360bac6aebcdfde8c649d2a03b00db" + }, + "serialized": "ff011e0100000003000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300e1f5050000000000000103f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabcb7c16d70bd8503d3228d57dcb32468601e687849ebbbfe18b9ef2404ecf907f362a4e0a3326b6149d21256a77c7ba8ccbafddacc5bcb07c5f209e861a7f4cc66" +} diff --git a/src/test/resources/transactions/vote/vote-multi-sign.json b/src/test/resources/transactions/vote/vote-multi-sign.json new file mode 100644 index 00000000..1b9b0a55 --- /dev/null +++ b/src/test/resources/transactions/vote/vote-multi-sign.json @@ -0,0 +1,25 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 3, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "100000000", + "amount": "0", + "asset": { + "votes": [ + "03f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabc" + ] + }, + "signature": "72a097e05983575a69ab7c2c15d80beea988fc02e08124a969b281fa09d1e47ff0b36706f9a9bb6b2e18db929f21b08571c4be36fe2882fecfb990e465bfebde", + "signatures": [ + "0035173f507953f5a7f9da525384b9a1021b553c1089f060e6e77118ab5aa68549ea89d4b63391941e95c0142dd195fd8c032c0a9aca9e1a72943dde8ecd663070", + "010dba0e40f903c7ec76e1f1e7ef3c145e69a878b13e833d132b9f1fa267ba3b2ab049941ede13faee3da9611ac27cb52a6888bbd093a253e7d7bea4c633d4a706", + "02556654e210ed6426d20c0fe246d3270bcdea97d5ab59f5c90888731b079ff83ab53cac3bc80680f093f2e5a78216a0ed894c6985bd89b3802b2d8ff3f6b4c584" + ], + "id": "e344602ba9fe82d035af6c8b759682bab0317ca523212724542217803c093adb" + }, + "serialized": "ff011e0100000003000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300e1f50500000000000103f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabc0072a097e05983575a69ab7c2c15d80beea988fc02e08124a969b281fa09d1e47ff0b36706f9a9bb6b2e18db929f21b08571c4be36fe2882fecfb990e465bfebde0035173f507953f5a7f9da525384b9a1021b553c1089f060e6e77118ab5aa68549ea89d4b63391941e95c0142dd195fd8c032c0a9aca9e1a72943dde8ecd663070010dba0e40f903c7ec76e1f1e7ef3c145e69a878b13e833d132b9f1fa267ba3b2ab049941ede13faee3da9611ac27cb52a6888bbd093a253e7d7bea4c633d4a70602556654e210ed6426d20c0fe246d3270bcdea97d5ab59f5c90888731b079ff83ab53cac3bc80680f093f2e5a78216a0ed894c6985bd89b3802b2d8ff3f6b4c584" +} diff --git a/src/test/resources/transactions/vote/vote-sign.json b/src/test/resources/transactions/vote/vote-sign.json new file mode 100644 index 00000000..0f2b988a --- /dev/null +++ b/src/test/resources/transactions/vote/vote-sign.json @@ -0,0 +1,20 @@ +{ + "data": { + "version": 1, + "network": 30, + "typeGroup": 1, + "type": 3, + "nonce": "1", + "senderPublicKey": "023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d3", + "fee": "100000000", + "amount": "0", + "asset": { + "votes": [ + "03f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabc" + ] + }, + "signature": "e0a99c2ebd108c6ba1828f4d11e5ce8cdf2e67152575cabea2e86ab59153a1f1493b768af6dfe0a33eec22edf2dd87c25e1531bf285bb4131e4fcdbfce4c8781", + "id": "81bffacc80ae1c3b3f127cbaf5d2867d3209c38610d2cc5a341702fc252cd330" + }, + "serialized": "ff011e0100000003000100000000000000023efc1da7f315f3c533a4080e491f32cd4219731cef008976c3876539e1f192d300e1f50500000000000103f25455408f9a7e6c6a056b121e68fbda98f3511d22e9ef27b0ebaf1ef9e4eabc00e0a99c2ebd108c6ba1828f4d11e5ce8cdf2e67152575cabea2e86ab59153a1f1493b768af6dfe0a33eec22edf2dd87c25e1531bf285bb4131e4fcdbfce4c8781" +} diff --git a/src/test/resources/utils/test-vectors.csv b/src/test/resources/utils/test-vectors.csv deleted file mode 100644 index 48ffb8db..00000000 --- a/src/test/resources/utils/test-vectors.csv +++ /dev/null @@ -1,17 +0,0 @@ -secretKey,publickey,message,signature,expected,comment -0000000000000000000000000000000000000000000000000000000000000001,0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,0000000000000000000000000000000000000000000000000000000000000000,787A848E71043D280C50470E8E1532B2DD5D20EE912A45DBDD2BD1DFBF187EF67031A98831859DC34DFFEEDDA86831842CCD0079E1F92AF177F7F22CC1DCED05,TRUE, -B7E151628AED2A6ABF7158809CF4F3C762E7160F38B4DA56A784D9045190CFEF,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,2A298DACAE57395A15D0795DDBFD1DCB564DA82B0F269BC70A74F8220429BA1D1E51A22CCEC35599B8F266912281F8365FFC2D035A230434A1A64DC59F7013FD,TRUE, -C90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B14E5C7,03FAC2114C2FBB091527EB7C64ECB11F8021CB45E8E7809D3C0938E4B8C0E5F84B,5E2D58D8B3BCDF1ABADEC7829054F90DDA9805AAB56C77333024B9D0A508B75C,00DA9B08172A9B6F0466A2DEFD817F2D7AB437E0D253CB5395A963866B3574BE00880371D01766935B92D2AB4CD5C8A2A5837EC57FED7660773A05F0DE142380,TRUE, -,03DEFDEA4CDB677750A420FEE807EACF21EB9898AE79B9768766E4FAA04A2D4A34,4DF3C3F68FCC83B27E9D42C90431A72499F17875C81A599B566C9889B9696703,00000000000000000000003B78CE563F89A0ED9414F5AA28AD0D96D6795F9C6302A8DC32E64E86A333F20EF56EAC9BA30B7246D6D25E22ADB8C6BE1AEB08D49D,TRUE, -,031B84C5567B126440995D3ED5AABA0565D71E1834604819FF9C17F5E9D5DD078F,0000000000000000000000000000000000000000000000000000000000000000,52818579ACA59767E3291D91B76B637BEF062083284992F2D95F564CA6CB4E3530B1DA849C8E8304ADC0CFE870660334B3CFC18E825EF1DB34CFAE3DFC5D8187,TRUE,"test fails if jacobi symbol of x(R) instead of y(R) is used" -,03FAC2114C2FBB091527EB7C64ECB11F8021CB45E8E7809D3C0938E4B8C0E5F84B,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,570DD4CA83D4E6317B8EE6BAE83467A1BF419D0767122DE409394414B05080DCE9EE5F237CBD108EABAE1E37759AE47F8E4203DA3532EB28DB860F33D62D49BD,TRUE,"test fails if msg is reduced modulo p or n" -,03EEFDEA4CDB677750A420FEE807EACF21EB9898AE79B9768766E4FAA04A2D4A34,4DF3C3F68FCC83B27E9D42C90431A72499F17875C81A599B566C9889B9696703,00000000000000000000003B78CE563F89A0ED9414F5AA28AD0D96D6795F9C6302A8DC32E64E86A333F20EF56EAC9BA30B7246D6D25E22ADB8C6BE1AEB08D49D,FALSE,"public key not on the curve" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,2A298DACAE57395A15D0795DDBFD1DCB564DA82B0F269BC70A74F8220429BA1DFA16AEE06609280A19B67A24E1977E4697712B5FD2943914ECD5F730901B4AB7,FALSE,"incorrect R residuosity" -,03FAC2114C2FBB091527EB7C64ECB11F8021CB45E8E7809D3C0938E4B8C0E5F84B,5E2D58D8B3BCDF1ABADEC7829054F90DDA9805AAB56C77333024B9D0A508B75C, 00DA9B08172A9B6F0466A2DEFD817F2D7AB437E0D253CB5395A963866B3574BED092F9D860F1776A1F7412AD8A1EB50DACCC222BC8C0E26B2056DF2F273EFDEC,FALSE,"negated message" -,0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,0000000000000000000000000000000000000000000000000000000000000000,787A848E71043D280C50470E8E1532B2DD5D20EE912A45DBDD2BD1DFBF187EF68FCE5677CE7A623CB20011225797CE7A8DE1DC6CCD4F754A47DA6C600E59543C,FALSE,"negated s value" -,03DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,2A298DACAE57395A15D0795DDBFD1DCB564DA82B0F269BC70A74F8220429BA1D1E51A22CCEC35599B8F266912281F8365FFC2D035A230434A1A64DC59F7013FD,FALSE,"negated public key" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,00000000000000000000000000000000000000000000000000000000000000009E9D01AF988B5CEDCE47221BFA9B222721F3FA408915444A4B489021DB55775F,FALSE,"sG - eP is infinite. Test fails in single verification if jacobi(y(inf)) is defined as 1 and x(inf) as 0" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,0000000000000000000000000000000000000000000000000000000000000001D37DDF0254351836D84B1BD6A795FD5D523048F298C4214D187FE4892947F728,FALSE,"sG - eP is infinite. Test fails in single verification if jacobi(y(inf)) is defined as 1 and x(inf) as 1" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,4A298DACAE57395A15D0795DDBFD1DCB564DA82B0F269BC70A74F8220429BA1D1E51A22CCEC35599B8F266912281F8365FFC2D035A230434A1A64DC59F7013FD,FALSE,"sig[0:32] is not an X coordinate on the curve" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2F1E51A22CCEC35599B8F266912281F8365FFC2D035A230434A1A64DC59F7013FD,FALSE,"sig[0:32] is equal to field size" -,02DFF1D77F2A671C5F36183726DB2341BE58FEAE1DA2DECED843240F7B502BA659,243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C89,2A298DACAE57395A15D0795DDBFD1DCB564DA82B0F269BC70A74F8220429BA1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141,FALSE,"sig[32:64] is equal to curve order"