Search in sources :

Example 11 with AccountDeleteTransaction

use of com.hedera.hashgraph.sdk.AccountDeleteTransaction in project hedera-sdk-java by hashgraph.

the class TransactionIntegrationTest method transactionFromToBytes.

@Test
@DisplayName("transaction can be serialized into bytes, deserialized, signature added and executed")
void transactionFromToBytes() throws Exception {
    var testEnv = new IntegrationTestEnv(1);
    var key = PrivateKey.generateED25519();
    var transaction = new AccountCreateTransaction().setKey(key).freezeWith(testEnv.client).signWithOperator(testEnv.client);
    var expectedHash = transaction.getTransactionHashPerNode();
    @Var var response = transaction.execute(testEnv.client);
    var record = response.getRecord(testEnv.client);
    assertThat(expectedHash.get(response.nodeId)).containsExactly(record.transactionHash.toByteArray());
    var accountId = record.receipt.accountId;
    assertThat(accountId).isNotNull();
    var deleteTransaction = new AccountDeleteTransaction().setAccountId(accountId).setTransferAccountId(testEnv.operatorId).freezeWith(testEnv.client);
    var updateBytes = deleteTransaction.toBytes();
    var sig1 = key.signTransaction(deleteTransaction);
    var deleteTransaction2 = Transaction.fromBytes(updateBytes);
    response = deleteTransaction2.addSignature(key.getPublicKey(), sig1).execute(testEnv.client);
    response.getReceipt(testEnv.client);
    testEnv.close();
}
Also used : Var(com.google.errorprone.annotations.Var) AccountDeleteTransaction(com.hedera.hashgraph.sdk.AccountDeleteTransaction) AccountCreateTransaction(com.hedera.hashgraph.sdk.AccountCreateTransaction) Test(org.junit.jupiter.api.Test) DisplayName(org.junit.jupiter.api.DisplayName)

Aggregations

AccountDeleteTransaction (com.hedera.hashgraph.sdk.AccountDeleteTransaction)11 AccountCreateTransaction (com.hedera.hashgraph.sdk.AccountCreateTransaction)9 Hbar (com.hedera.hashgraph.sdk.Hbar)7 AccountId (com.hedera.hashgraph.sdk.AccountId)6 PrivateKey (com.hedera.hashgraph.sdk.PrivateKey)6 TransferTransaction (com.hedera.hashgraph.sdk.TransferTransaction)6 Test (org.junit.jupiter.api.Test)6 Client (com.hedera.hashgraph.sdk.Client)5 Var (com.google.errorprone.annotations.Var)4 TransactionReceipt (com.hedera.hashgraph.sdk.TransactionReceipt)4 TransactionResponse (com.hedera.hashgraph.sdk.TransactionResponse)4 DisplayName (org.junit.jupiter.api.DisplayName)4 ScheduleCreateTransaction (com.hedera.hashgraph.sdk.ScheduleCreateTransaction)3 ScheduleId (com.hedera.hashgraph.sdk.ScheduleId)3 ScheduleInfoQuery (com.hedera.hashgraph.sdk.ScheduleInfoQuery)3 ScheduleSignTransaction (com.hedera.hashgraph.sdk.ScheduleSignTransaction)3 AccountBalanceQuery (com.hedera.hashgraph.sdk.AccountBalanceQuery)2 KeyList (com.hedera.hashgraph.sdk.KeyList)2 PublicKey (com.hedera.hashgraph.sdk.PublicKey)2 ScheduleInfo (com.hedera.hashgraph.sdk.ScheduleInfo)2