Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,13 @@ default Hbar getAccountBalance(@NonNull String accountId) throws HieroException
Objects.requireNonNull(accountId, "newAccountId must not be null");
return getAccountBalance(AccountId.fromString(accountId));
}

/**
* Returns the balance of the operator account.
*
* @return the balance of the operator account
* @throws HieroException if the balance could not be retrieved
*/
@NonNull
Hbar getOperatorAccountBalance() throws HieroException;
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.openelements.hiero.base.implementation;

import com.hedera.hashgraph.sdk.AccountId;
import com.hedera.hashgraph.sdk.Hbar;
import com.openelements.hiero.base.data.Account;
import com.openelements.hiero.base.AccountClient;
import com.openelements.hiero.base.HieroException;
import com.openelements.hiero.base.data.Account;
import com.openelements.hiero.base.protocol.AccountBalanceRequest;
import com.openelements.hiero.base.protocol.AccountBalanceResponse;
import com.openelements.hiero.base.protocol.AccountCreateRequest;
Expand All @@ -27,11 +28,11 @@ public Account createAccount(@NonNull Hbar initialBalance) throws HieroException
if (initialBalance == null) {
throw new NullPointerException("initialBalance must not be null");
}

if (initialBalance.toTinybars() < 0) {
throw new HieroException("Invalid initial balance: must be non-negative");
}

try {
final AccountCreateRequest request = AccountCreateRequest.of(initialBalance);
final AccountCreateResult result = client.executeAccountCreateTransaction(request);
Expand All @@ -40,7 +41,7 @@ public Account createAccount(@NonNull Hbar initialBalance) throws HieroException
throw new HieroException("Error while creating Account", e);
}
}


@Override
public void deleteAccount(@NonNull Account account) throws HieroException {
Expand All @@ -61,4 +62,9 @@ public Hbar getAccountBalance(@NonNull AccountId account) throws HieroException
final AccountBalanceResponse response = client.executeAccountBalanceQuery(request);
return response.hbars();
}

@Override
public @NonNull Hbar getOperatorAccountBalance() throws HieroException {
return getAccountBalance(client.getOperatorAccountId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.hedera.hashgraph.sdk.AccountBalanceQuery;
import com.hedera.hashgraph.sdk.AccountCreateTransaction;
import com.hedera.hashgraph.sdk.AccountDeleteTransaction;
import com.hedera.hashgraph.sdk.AccountId;
import com.hedera.hashgraph.sdk.ContractCreateTransaction;
import com.hedera.hashgraph.sdk.ContractDeleteTransaction;
import com.hedera.hashgraph.sdk.ContractExecuteTransaction;
Expand Down Expand Up @@ -573,4 +574,9 @@ public Runnable addTransactionListener(@NonNull TransactionListener listener) {
listeners.add(listener);
return () -> listeners.remove(listener);
}

@Override
public AccountId getOperatorAccountId() {
return hieroContext.getOperatorAccount().accountId();
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.openelements.hiero.base.protocol;

import com.hedera.hashgraph.sdk.AccountId;
import com.openelements.hiero.base.HieroException;
import org.jspecify.annotations.NonNull;

Expand Down Expand Up @@ -226,4 +227,5 @@ TopicSubmitMessageResult executeTopicMessageSubmitTransaction(@NonNull TopicSubm
@NonNull
Runnable addTransactionListener(@NonNull TransactionListener listener);

AccountId getOperatorAccountId();
}
Loading