-
Notifications
You must be signed in to change notification settings - Fork 23
/
query.proto
194 lines (155 loc) · 5.61 KB
/
query.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
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";
// <<<pbj.java_package = "com.hedera.hapi.node.transaction">>> 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 <tt>handleTransaction</tt> 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;
}
}