All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy