syntax = "proto3";
package proto;
option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;
import "GetByKey.proto";
import "GetBySolidityID.proto";
import "ContractCallLocal.proto";
import "ContractGetInfo.proto";
import "ContractGetBytecode.proto";
import "ContractGetRecords.proto";
import "CryptoGetAccountBalance.proto";
import "CryptoGetAccountRecords.proto";
import "CryptoGetInfo.proto";
import "CryptoGetClaim.proto";
import "CryptoGetStakers.proto";
import "FileGetContents.proto";
import "FileGetInfo.proto";
import "TransactionGetReceipt.proto";
import "TransactionGetRecord.proto";
/* A single query, which is sent from the client to the node. This includes all possible queries. */
message Query {
oneof query {
GetByKeyQuery getByKey = 1; // get all entities associated with a given key
GetBySolidityIDQuery getBySolidityID = 2; // get the IDs in the format used in transactions, given the format used in Solidity
ContractCallLocalQuery contractCallLocal = 3; // call a function of a smart contract instance
ContractGetInfoQuery contractGetInfo = 4; // get information about a smart contract instance
ContractGetBytecodeQuery contractGetBytecode = 5; // get bytecode used by a smart contract instance
ContractGetRecordsQuery ContractGetRecords = 6; //
CryptoGetAccountBalanceQuery cryptogetAccountBalance = 7; // get the current balance in a cryptocurrency account
CryptoGetAccountRecordsQuery cryptoGetAccountRecords = 8; // get all the records that currently exist for transactions involving an account
CryptoGetInfoQuery cryptoGetInfo = 9; // get all information about an account
CryptoGetClaimQuery cryptoGetClaim = 10; // get a single claim from a single account (or null if it doesn't exist)
CryptoGetStakersQuery cryptoGetProxyStakers = 11; // get all the accounts that proxy stake to a given account, and how much they proxy stake (not yet implemented in the current API)
FileGetContentsQuery fileGetContents = 12; // get the contents of a file (the bytes stored in it)
FileGetInfoQuery fileGetInfo = 13; // get information about a file, such as its expiration date
TransactionGetReceiptQuery transactionGetReceipt = 14; // get a receipt for a transaction (lasts 180 seconds)
TransactionGetRecordQuery transactionGetRecord = 15; // get a record for a transaction (lasts 1 hour)
}
}