com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder Maven / Gradle / Ivy
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: basic_types.proto
package com.hedera.hashgraph.sdk.proto;
public interface AccountIDOrBuilder extends
// @@protoc_insertion_point(interface_extends:proto.AccountID)
com.google.protobuf.MessageLiteOrBuilder {
/**
*
**
* The shard number (nonnegative)
*
*
* int64 shardNum = 1;
* @return The shardNum.
*/
long getShardNum();
/**
*
**
* The realm number (nonnegative)
*
*
* int64 realmNum = 2;
* @return The realmNum.
*/
long getRealmNum();
/**
*
**
* A non-negative account number unique within its realm
*
*
* int64 accountNum = 3;
* @return Whether the accountNum field is set.
*/
boolean hasAccountNum();
/**
*
**
* A non-negative account number unique within its realm
*
*
* int64 accountNum = 3;
* @return The accountNum.
*/
long getAccountNum();
/**
*
**
* The public key bytes to be used as the account's alias. The public key bytes are the result of serializing
* a protobuf Key message for any primitive key type. Currently only primitive key bytes are supported as an alias
* (ThresholdKey, KeyList, ContractID, and delegatable_contract_id are not supported)
*
* May also be the ethereum account 20-byte EVM address to be used initially in place of the public key bytes. This EVM
* address may be either the encoded form of the shard.realm.num or the keccak-256 hash of a ECDSA_SECP256K1 primitive key.
*
* At most one account can ever have a given alias and it is used for account creation if it
* was automatically created using a crypto transfer. It will be null if an account is created normally.
* It is immutable once it is set for an account.
*
* If a transaction auto-creates the account, any further transfers to that alias will simply be deposited
* in that account, without creating anything, and with no creation fee being charged.
*
* If a transaction lazily-creates this account, a subsequent transaction will be required containing the public key bytes
* that map to the EVM address bytes. The provided public key bytes will then serve as the final alias bytes.
*
*
* bytes alias = 4;
* @return Whether the alias field is set.
*/
boolean hasAlias();
/**
*
**
* The public key bytes to be used as the account's alias. The public key bytes are the result of serializing
* a protobuf Key message for any primitive key type. Currently only primitive key bytes are supported as an alias
* (ThresholdKey, KeyList, ContractID, and delegatable_contract_id are not supported)
*
* May also be the ethereum account 20-byte EVM address to be used initially in place of the public key bytes. This EVM
* address may be either the encoded form of the shard.realm.num or the keccak-256 hash of a ECDSA_SECP256K1 primitive key.
*
* At most one account can ever have a given alias and it is used for account creation if it
* was automatically created using a crypto transfer. It will be null if an account is created normally.
* It is immutable once it is set for an account.
*
* If a transaction auto-creates the account, any further transfers to that alias will simply be deposited
* in that account, without creating anything, and with no creation fee being charged.
*
* If a transaction lazily-creates this account, a subsequent transaction will be required containing the public key bytes
* that map to the EVM address bytes. The provided public key bytes will then serve as the final alias bytes.
*
*
* bytes alias = 4;
* @return The alias.
*/
com.google.protobuf.ByteString getAlias();
public com.hedera.hashgraph.sdk.proto.AccountID.AccountCase getAccountCase();
}