use of io.nem.sdk.model.mosaic.Mosaic in project nem2-sdk-java by nemtech.
the class AggregateTransactionTest method serialization.
@Test
@DisplayName("Serialization")
void serialization() {
// Generated at nem2-library-js/test/transactions/RegisterNamespaceTransaction.spec.js
byte[] expected = new byte[] { (byte) 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, (byte) 144, 65, 65, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 85, 0, 0, 0, (byte) 132, 107, 68, 57, 21, 69, 121, (byte) 165, (byte) 144, 59, 20, 89, (byte) 201, (byte) 207, 105, (byte) 203, (byte) 129, 83, (byte) 246, (byte) 208, 17, 10, 122, 14, (byte) 214, 29, (byte) 226, (byte) 154, (byte) 228, (byte) 129, 11, (byte) 242, 3, (byte) 144, 84, 65, (byte) 144, 80, (byte) 185, (byte) 131, 126, (byte) 250, (byte) 180, (byte) 187, (byte) 232, (byte) 164, (byte) 185, (byte) 187, 50, (byte) 216, 18, (byte) 249, (byte) 136, 92, 0, (byte) 216, (byte) 252, 22, 80, (byte) 225, 66, 1, 0, 1, 0, 41, (byte) 207, 95, (byte) 217, 65, (byte) 173, 37, (byte) 213, (byte) 128, (byte) 150, (byte) 152, 0, 0, 0, 0, 0 };
TransferTransaction transferTx = TransferTransaction.create(new FakeDeadline(), new Address("SBILTA367K2LX2FEXG5TFWAS7GEFYAGY7QLFBYKC", NetworkType.MIJIN_TEST), Collections.singletonList(new Mosaic(XEM.MOSAICID, BigInteger.valueOf(10000000))), PlainMessage.Empty, NetworkType.MIJIN_TEST);
AggregateTransaction aggregateTx = AggregateTransaction.createComplete(new FakeDeadline(), Collections.singletonList(transferTx.toAggregate(new PublicAccount("846B4439154579A5903B1459C9CF69CB8153F6D0110A7A0ED61DE29AE4810BF2", NetworkType.MIJIN_TEST))), NetworkType.MIJIN_TEST);
byte[] actual = aggregateTx.generateBytes();
assertArrayEquals(expected, actual);
}
use of io.nem.sdk.model.mosaic.Mosaic in project nem2-sdk-java by nemtech.
the class TransferTransactionTest method toAggregate.
@Test
@DisplayName("To aggregate")
void toAggregate() {
byte[] expected = new byte[] { 85, 0, 0, 0, -102, 73, 54, 100, 6, -84, -87, 82, -72, -117, -83, -11, -15, -23, -66, 108, -28, -106, -127, 65, 3, 90, 96, -66, 80, 50, 115, -22, 101, 69, 107, 36, 3, -112, 84, 65, -112, -24, -2, -67, 103, 29, -44, 27, -18, -108, -20, 59, -91, -125, 28, -74, 8, -93, 18, -62, -14, 3, -70, -124, -84, 1, 0, 1, 0, 103, 43, 0, 0, -50, 86, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0 };
TransferTransaction transferTransaction = TransferTransaction.create(new FakeDeadline(), new Address("SDUP5PLHDXKBX3UU5Q52LAY4WYEKGEWC6IB3VBFM", NetworkType.MIJIN_TEST), Arrays.asList(new Mosaic(new MosaicId(new BigInteger("95442763262823")), BigInteger.valueOf(100))), PlainMessage.Empty, NetworkType.MIJIN_TEST);
byte[] actual = transferTransaction.toAggregate(new PublicAccount("9A49366406ACA952B88BADF5F1E9BE6CE4968141035A60BE503273EA65456B24", NetworkType.MIJIN_TEST)).toAggregateTransactionBytes();
assertArrayEquals(expected, actual);
}
use of io.nem.sdk.model.mosaic.Mosaic in project nem2-sdk-java by nemtech.
the class TransferTransactionTest method serializeAndSignTransaction.
@Test
void serializeAndSignTransaction() {
TransferTransaction transferTransaction = TransferTransaction.create(new FakeDeadline(), new Address("SDUP5PLHDXKBX3UU5Q52LAY4WYEKGEWC6IB3VBFM", NetworkType.MIJIN_TEST), Arrays.asList(new Mosaic(new MosaicId(new BigInteger("95442763262823")), BigInteger.valueOf(100))), PlainMessage.Empty, NetworkType.MIJIN_TEST);
SignedTransaction signedTransaction = transferTransaction.signWith(account);
assertEquals("A5000000773891AD01DD4CDF6E3A55C186C673E256D7DF9D471846F1943CC3529E4E02B38B9AF3F8D13784645FF5FAAFA94A321B94933C673D12DE60E4BC05ABA56F750E1026D70E1954775749C6811084D6450A3184D977383F0E4282CD47118AF37755039054410000000000000000010000000000000090E8FEBD671DD41BEE94EC3BA5831CB608A312C2F203BA84AC01000100672B0000CE5600006400000000000000", signedTransaction.getPayload());
assertEquals("350AE56BC97DB805E2098AB2C596FA4C6B37EF974BF24DFD61CD9F77C7687424", signedTransaction.getHash());
}
use of io.nem.sdk.model.mosaic.Mosaic in project nem2-sdk-java by nemtech.
the class AccountHttp method getAccountsInfo.
@Override
public Observable<List<AccountInfo>> getAccountsInfo(List<Address> addresses) {
JsonObject requestBody = new JsonObject();
requestBody.put("addresses", addresses.stream().map(address -> address.plain()).collect(Collectors.toList()));
Observable<NetworkType> networkTypeResolve = getNetworkTypeObservable();
return networkTypeResolve.flatMap(networkType -> this.client.postAbs(this.url.toString()).as(BodyCodec.jsonArray()).rxSendJson(requestBody).toObservable().map(HttpResponse::body).map(json -> objectMapper.<List<AccountInfoDTO>>readValue(json.toString(), new TypeReference<List<AccountInfoDTO>>() {
})).flatMapIterable(item -> item).map(AccountInfoDTO::getAccount).map(accountDTO -> new AccountInfo(Address.createFromRawAddress(accountDTO.getAddressEncoded()), accountDTO.getAddressHeight().extractIntArray(), accountDTO.getPublicKey(), accountDTO.getPublicKeyHeight().extractIntArray(), accountDTO.getImportance().extractIntArray(), accountDTO.getImportanceHeight().extractIntArray(), accountDTO.getMosaics().stream().map(mosaicDTO -> new Mosaic(new MosaicId(mosaicDTO.getId().extractIntArray()), mosaicDTO.getAmount().extractIntArray())).collect(Collectors.toList()))).toList().toObservable());
}
use of io.nem.sdk.model.mosaic.Mosaic in project nem2-sdk-java by nemtech.
the class SecretProofTransactionMapping method apply.
@Override
public TransferTransaction apply(JsonObject input) {
TransactionInfo transactionInfo = this.createTransactionInfo(input.getJsonObject("meta"));
JsonObject transaction = input.getJsonObject("transaction");
Deadline deadline = new Deadline(extractBigInteger(transaction.getJsonArray("deadline")));
List<Mosaic> mosaics = new ArrayList<>();
if (transaction.getJsonArray("mosaics") != null) {
mosaics = transaction.getJsonArray("mosaics").stream().map(item -> (JsonObject) item).map(mosaic -> new Mosaic(new MosaicId(extractBigInteger(mosaic.getJsonArray("id"))), extractBigInteger(mosaic.getJsonArray("amount")))).collect(Collectors.toList());
}
Message message = PlainMessage.Empty;
if (transaction.getJsonObject("message") != null) {
try {
message = new PlainMessage(new String(Hex.decode(transaction.getJsonObject("message").getString("payload")), "UTF-8"));
} catch (UnsupportedEncodingException e) {
message = new PlainMessage(transaction.getJsonObject("message").getString("payload"));
}
}
return new TransferTransaction(extractNetworkType(transaction.getInteger("version")), extractTransactionVersion(transaction.getInteger("version")), deadline, extractBigInteger(transaction.getJsonArray("fee")), Address.createFromEncoded(transaction.getString("recipient")), mosaics, message, transaction.getString("signature"), new PublicAccount(transaction.getString("signer"), extractNetworkType(transaction.getInteger("version"))), transactionInfo);
}
Aggregations