shgraph.hapi.0.54.0.source-code.query.proto Maven / Gradle / Ivy
The newest version!
syntax = "proto3";
package proto;
/*
* Copyright (C) 2018-2024 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
option java_package = "com.hederahashgraph.api.proto.java";
// <<>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;
import "get_by_key.proto";
import "get_by_solidity_id.proto";
import "contract_call_local.proto";
import "contract_get_info.proto";
import "contract_get_bytecode.proto";
import "contract_get_records.proto";
import "crypto_get_account_balance.proto";
import "crypto_get_account_records.proto";
import "crypto_get_info.proto";
import "crypto_get_live_hash.proto";
import "crypto_get_stakers.proto";
import "file_get_contents.proto";
import "file_get_info.proto";
import "transaction_get_receipt.proto";
import "transaction_get_record.proto";
import "transaction_get_fast_record.proto";
import "consensus_get_topic_info.proto";
import "network_get_version_info.proto";
import "network_get_execution_time.proto";
import "token_get_info.proto";
import "schedule_get_info.proto";
import "token_get_account_nft_infos.proto";
import "token_get_nft_info.proto";
import "token_get_nft_infos.proto";
import "get_account_details.proto";
/**
* A single query, which is sent from the client to a node. This includes all possible queries. Each
* Query should not have more than 50 levels.
*/
message Query {
oneof query {
/**
* Get all entities associated with a given key
*/
GetByKeyQuery getByKey = 1;
/**
* Get the IDs in the format used in transactions, given the format used in Solidity
*/
GetBySolidityIDQuery getBySolidityID = 2;
/**
* Call a function of a smart contract instance
*/
ContractCallLocalQuery contractCallLocal = 3;
/**
* Get information about a smart contract instance
*/
ContractGetInfoQuery contractGetInfo = 4;
/**
* Get runtime code used by a smart contract instance
*/
ContractGetBytecodeQuery contractGetBytecode = 5;
/**
* Get Records of the contract instance
*/
ContractGetRecordsQuery ContractGetRecords = 6;
/**
* Get the current balance in a cryptocurrency account
*/
CryptoGetAccountBalanceQuery cryptogetAccountBalance = 7;
/**
* Get all the records that currently exist for transactions involving an account
*/
CryptoGetAccountRecordsQuery cryptoGetAccountRecords = 8;
/**
* Get all information about an account
*/
CryptoGetInfoQuery cryptoGetInfo = 9;
/**
* Get a single livehash from a single account, if present
*/
CryptoGetLiveHashQuery cryptoGetLiveHash = 10;
/**
* Get all the accounts that proxy stake to a given account, and how much they proxy stake
* (not yet implemented in the current API)
*/
CryptoGetStakersQuery cryptoGetProxyStakers = 11;
/**
* Get the contents of a file (the bytes stored in it)
*/
FileGetContentsQuery fileGetContents = 12;
/**
* Get information about a file, such as its expiration date
*/
FileGetInfoQuery fileGetInfo = 13;
/**
* Get a receipt for a transaction (lasts 180 seconds)
*/
TransactionGetReceiptQuery transactionGetReceipt = 14;
/**
* Get a record for a transaction
*/
TransactionGetRecordQuery transactionGetRecord = 15;
/**
* Get a record for a transaction (lasts 180 seconds)
*/
TransactionGetFastRecordQuery transactionGetFastRecord = 16;
/**
* Get the parameters of and state of a consensus topic.
*/
ConsensusGetTopicInfoQuery consensusGetTopicInfo = 50;
/**
* Get the versions of the HAPI protobuf and Hedera Services software deployed on the
* responding node.
*/
NetworkGetVersionInfoQuery networkGetVersionInfo = 51;
/**
* Get all information about a token
*/
TokenGetInfoQuery tokenGetInfo = 52;
/**
* Get all information about a scheduled entity
*/
ScheduleGetInfoQuery scheduleGetInfo = 53;
/**
* Get a list of NFTs associated with the account
*/
TokenGetAccountNftInfosQuery tokenGetAccountNftInfos = 54;
/**
* Get all information about a NFT
*/
TokenGetNftInfoQuery tokenGetNftInfo = 55;
/**
* Get a list of NFTs for the token
*/
TokenGetNftInfosQuery tokenGetNftInfos = 56;
/**
* Gets handleTransaction times for one or more "sufficiently recent" TransactionIDs
*/
NetworkGetExecutionTimeQuery networkGetExecutionTime = 57;
/**
* Gets all information about an account including allowances granted by the account
*/
GetAccountDetailsQuery accountDetails = 58;
}
}