use of io.nem.symbol.sdk.model.transaction.MosaicSupplyChangeTransaction in project nem2-sdk-java by nemtech.
the class TransactionMapperVertxTest method shouldCreateStandaloneMosaicSupplyChangeTransaction.
@Test
void shouldCreateStandaloneMosaicSupplyChangeTransaction() {
TransactionInfoDTO mosaicSupplyChangeTransactionDTO = TestHelperVertx.loadTransactionInfoDTO("standaloneMosaicSupplyChangeTransaction.json");
Transaction mosaicSupplyChangeTransaction = map(mosaicSupplyChangeTransactionDTO);
validateStandaloneTransaction(mosaicSupplyChangeTransaction, mosaicSupplyChangeTransactionDTO);
}
use of io.nem.symbol.sdk.model.transaction.MosaicSupplyChangeTransaction in project nem2-sdk-java by nemtech.
the class TransactionMapperVertxTest method validateStandaloneTransaction.
void validateStandaloneTransaction(Transaction transaction, TransactionInfoDTO transactionDTO, TransactionInfoDTO parentTransaction) {
TransactionMetaDTO meta = jsonHelper.convert(transactionDTO.getMeta(), TransactionMetaDTO.class);
if (transaction.getTransactionInfo().isPresent()) {
TransactionInfo transactionInfo = transaction.getTransactionInfo().get();
assertEquals(meta.getHeight(), transactionInfo.getHeight());
if (transactionInfo.getHash().isPresent()) {
assertEquals(meta.getHash(), transactionInfo.getHash().get());
}
if (transactionInfo.getMerkleComponentHash().isPresent()) {
assertEquals(meta.getMerkleComponentHash(), transactionInfo.getMerkleComponentHash().get());
}
if (transactionInfo.getIndex().isPresent()) {
assertEquals(transactionInfo.getIndex().get(), meta.getIndex());
}
}
// if (transaction.getTransactionInfo().get().getId().isPresent()) {
// assertEquals(
// transactionDTO.getMeta().getId(),
// transaction.getTransactionInfo().get().getId().get());
// }
// if (transaction.getTransactionInfo().get().getAggregateHash().isPresent()) {
// assertEquals(
// transactionDTO.getMeta().getAggregateHash(),
// transaction.getTransactionInfo().get().getAggregateHash().get());
// }
// if (transaction.getTransactionInfo().get().getAggregateId().isPresent()) {
// assertEquals(
// transactionDTO.getMeta().getAggregateId(),
// transaction.getTransactionInfo().get().getAggregateId().get());
// }
assertEquals(jsonHelper.getString(parentTransaction.getTransaction(), "signature"), transaction.getSignature().get());
assertEquals(jsonHelper.getString(transactionDTO.getTransaction(), "signerPublicKey"), transaction.getSigner().get().getPublicKey().toHex());
assertEquals(transaction.getType().getValue(), (int) jsonHelper.getInteger(transactionDTO.getTransaction(), "type"));
int version = jsonHelper.getInteger(transactionDTO.getTransaction(), "version");
assertEquals((int) transaction.getVersion(), version);
int networkType = jsonHelper.getInteger(transactionDTO.getTransaction(), "network");
assertEquals(transaction.getNetworkType().getValue(), networkType);
assertEquals(jsonHelper.getBigInteger(parentTransaction.getTransaction(), "maxFee"), transaction.getMaxFee());
assertNotNull(transaction.getDeadline());
if (transaction.getType() == TransactionType.TRANSFER) {
validateTransferTx((TransferTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.NAMESPACE_REGISTRATION) {
validateNamespaceCreationTx((NamespaceRegistrationTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.MOSAIC_DEFINITION) {
validateMosaicCreationTx((MosaicDefinitionTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.MOSAIC_SUPPLY_CHANGE) {
validateMosaicSupplyChangeTx((MosaicSupplyChangeTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.MULTISIG_ACCOUNT_MODIFICATION) {
validateMultisigModificationTx((MultisigAccountModificationTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.HASH_LOCK) {
validateLockFundsTx((HashLockTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.SECRET_LOCK) {
validateSecretLockTx((SecretLockTransaction) transaction, transactionDTO);
} else if (transaction.getType() == TransactionType.SECRET_PROOF) {
validateSecretProofTx((SecretProofTransaction) transaction, transactionDTO);
}
}
use of io.nem.symbol.sdk.model.transaction.MosaicSupplyChangeTransaction in project nem2-sdk-java by nemtech.
the class TestHelper method createMosaic.
protected MosaicId createMosaic(Account account, RepositoryType type, BigInteger initialSupply, String alias) {
MosaicNonce nonce = MosaicNonce.createRandom();
MosaicId mosaicId = MosaicId.createFromNonce(nonce, account.getPublicAccount());
MosaicDefinitionTransaction mosaicDefinitionTransaction = MosaicDefinitionTransactionFactory.create(getNetworkType(), getDeadline(), nonce, mosaicId, MosaicFlags.create(true, true, true), 4, new BlockDuration(100)).maxFee(maxFee).build();
MosaicDefinitionTransaction validateTransaction = announceAndValidate(type, account, mosaicDefinitionTransaction);
Assertions.assertEquals(mosaicId, validateTransaction.getMosaicId());
UnresolvedMosaicId unresolvedMosaicId = mosaicId;
if (alias != null) {
NamespaceId rootNamespaceId = createRootNamespace(type, account, alias);
unresolvedMosaicId = rootNamespaceId;
MosaicAliasTransaction addressAliasTransaction = MosaicAliasTransactionFactory.create(getNetworkType(), getDeadline(), AliasAction.LINK, rootNamespaceId, mosaicId).maxFee(maxFee).build();
announceAggregateAndValidate(type, addressAliasTransaction, account);
}
if (initialSupply != null && initialSupply.longValue() > 0) {
MosaicSupplyChangeTransaction mosaicSupplyChangeTransaction = MosaicSupplyChangeTransactionFactory.create(getNetworkType(), getDeadline(), unresolvedMosaicId, MosaicSupplyChangeActionType.INCREASE, initialSupply).maxFee(maxFee).build();
announceAndValidate(type, account, mosaicSupplyChangeTransaction);
}
return mosaicId;
}
use of io.nem.symbol.sdk.model.transaction.MosaicSupplyChangeTransaction in project nem2-sdk-java by nemtech.
the class MosaicDefinitionTransactionIntegrationTest method aggregateMosaicSupplyChangeTransaction.
@ParameterizedTest
@EnumSource(RepositoryType.class)
void aggregateMosaicSupplyChangeTransaction(RepositoryType type) {
MosaicId mosaicId = createMosaic(type);
MosaicSupplyChangeTransaction mosaicSupplyChangeTransaction = MosaicSupplyChangeTransactionFactory.create(getNetworkType(), getDeadline(), mosaicId, MosaicSupplyChangeActionType.INCREASE, BigInteger.valueOf(12)).maxFee(maxFee).build();
announceAggregateAndValidate(type, mosaicSupplyChangeTransaction, account);
}
use of io.nem.symbol.sdk.model.transaction.MosaicSupplyChangeTransaction in project nem2-sdk-java by nemtech.
the class TransactionMapperOkHttpTest method shouldCreateStandaloneMosaicSupplyChangeTransaction.
@Test
void shouldCreateStandaloneMosaicSupplyChangeTransaction() {
TransactionInfoDTO mosaicSupplyChangeTransactionDTO = TestHelperOkHttp.loadTransactionInfoDTO("standaloneMosaicSupplyChangeTransaction.json");
Transaction mosaicSupplyChangeTransaction = map(mosaicSupplyChangeTransactionDTO);
validateStandaloneTransaction(mosaicSupplyChangeTransaction, mosaicSupplyChangeTransactionDTO);
}
Aggregations