forked from Qortal/qortal
Added test to ensure short (1 byte) references can be imported.
This commit is contained in:
parent
922ffcc0be
commit
9f19a042e6
@ -106,4 +106,33 @@ public class TransactionReferenceTests extends Common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testShortReferenceAfterFeatureTrigger() throws DataException {
|
||||||
|
Common.useSettings("test-settings-v2-disable-reference.json");
|
||||||
|
Random random = new Random();
|
||||||
|
|
||||||
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice");
|
||||||
|
|
||||||
|
byte[] randomPrivateKey = new byte[32];
|
||||||
|
random.nextBytes(randomPrivateKey);
|
||||||
|
PrivateKeyAccount recipient = new PrivateKeyAccount(repository, randomPrivateKey);
|
||||||
|
|
||||||
|
// Create payment transaction data
|
||||||
|
TransactionData paymentTransactionData = new PaymentTransactionData(TestTransaction.generateBase(alice), recipient.getAddress(), 100000L);
|
||||||
|
|
||||||
|
// Set a 1-byte reference
|
||||||
|
byte[] randomByte = new byte[1];
|
||||||
|
random.nextBytes(randomByte);
|
||||||
|
paymentTransactionData.setReference(randomByte);
|
||||||
|
|
||||||
|
Transaction paymentTransaction = Transaction.fromData(repository, paymentTransactionData);
|
||||||
|
|
||||||
|
// Transaction should be valid, as any non-null value is allowed
|
||||||
|
Transaction.ValidationResult validationResult = paymentTransaction.isValidUnconfirmed();
|
||||||
|
assertEquals(Transaction.ValidationResult.OK, validationResult);
|
||||||
|
TransactionUtils.signAndImportValid(repository, paymentTransactionData, alice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user