hedera 0.4.0

Hedera SDK for Rust
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";
import "TransactionGetFastRecord.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)
        TransactionGetFastRecordQuery transactionGetFastRecord = 16; // get a record for a transaction (lasts 180 seconds)
    }
}