com.hederahashgraph.api.proto.java.ContractIDOrBuilder Maven / Gradle / Ivy
The newest version!
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: basic_types.proto
package com.hederahashgraph.api.proto.java;
public interface ContractIDOrBuilder extends
// @@protoc_insertion_point(interface_extends:proto.ContractID)
com.google.protobuf.MessageOrBuilder {
/**
*
**
* 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 nonnegative number unique within a given shard and realm
*
*
* int64 contractNum = 3;
* @return Whether the contractNum field is set.
*/
boolean hasContractNum();
/**
*
**
* A nonnegative number unique within a given shard and realm
*
*
* int64 contractNum = 3;
* @return The contractNum.
*/
long getContractNum();
/**
*
**
* The 20-byte EVM address of the contract to call.
* Every contract has an EVM address determined by its <tt>shard.realm.num</tt> id.
* This address is as follows:
* <ol>
* <li>The first 4 bytes are the big-endian representation of the shard.</li>
* <li>The next 8 bytes are the big-endian representation of the realm.</li>
* <li>The final 8 bytes are the big-endian representation of the number.</li>
* </ol>
* Contracts created via CREATE2 have an <b>additional, primary address</b> that is
* derived from the <a href="https://eips.ethereum.org/EIPS/eip-1014">EIP-1014</a>
* specification, and does not have a simple relation to a <tt>shard.realm.num</tt> id.
* (Please do note that CREATE2 contracts can also be referenced by the three-part
* EVM address described above.)
*
*
* bytes evm_address = 4;
* @return Whether the evmAddress field is set.
*/
boolean hasEvmAddress();
/**
*
**
* The 20-byte EVM address of the contract to call.
* Every contract has an EVM address determined by its <tt>shard.realm.num</tt> id.
* This address is as follows:
* <ol>
* <li>The first 4 bytes are the big-endian representation of the shard.</li>
* <li>The next 8 bytes are the big-endian representation of the realm.</li>
* <li>The final 8 bytes are the big-endian representation of the number.</li>
* </ol>
* Contracts created via CREATE2 have an <b>additional, primary address</b> that is
* derived from the <a href="https://eips.ethereum.org/EIPS/eip-1014">EIP-1014</a>
* specification, and does not have a simple relation to a <tt>shard.realm.num</tt> id.
* (Please do note that CREATE2 contracts can also be referenced by the three-part
* EVM address described above.)
*
*
* bytes evm_address = 4;
* @return The evmAddress.
*/
com.google.protobuf.ByteString getEvmAddress();
public com.hederahashgraph.api.proto.java.ContractID.ContractCase getContractCase();
}