-
Notifications
You must be signed in to change notification settings - Fork 24
/
crypto_get_info.proto
189 lines (160 loc) · 6.31 KB
/
crypto_get_info.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
syntax = "proto3";
package proto;
/*-
*
* Hedera Network Services Protobuf
*
* Copyright (C) 2018 - 2022 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.token">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;
import "timestamp.proto";
import "duration.proto";
import "basic_types.proto";
import "query_header.proto";
import "response_header.proto";
import "crypto_add_live_hash.proto";
/**
* Get all the information about an account, including the balance. This does not get the list of
* account records.
*/
message CryptoGetInfoQuery {
/**
* Standard info sent from client to node, including the signed payment, and what kind of
* response is requested (cost, state proof, both, or neither).
*/
QueryHeader header = 1;
/**
* The account ID for which information is requested
*/
AccountID accountID = 2;
}
/**
* Response when the client sends the node CryptoGetInfoQuery
*/
message CryptoGetInfoResponse {
/**
* Standard response from node to client, including the requested fields: cost, or state proof,
* or both, or neither
*/
ResponseHeader header = 1;
message AccountInfo {
/**
* The account ID for which this information applies
*/
AccountID accountID = 1;
/**
* The Contract Account ID comprising of both the contract instance and the cryptocurrency
* account owned by the contract instance, in the format used by Solidity
*/
string contractAccountID = 2;
/**
* If true, then this account has been deleted, it will disappear when it expires, and all
* transactions for it will fail except the transaction to extend its expiration date
*/
bool deleted = 3;
/**
* [Deprecated] The Account ID of the account to which this is proxy staked. If proxyAccountID is null,
* or is an invalid account, or is an account that isn't a node, then this account is
* automatically proxy staked to a node chosen by the network, but without earning payments.
* If the proxyAccountID account refuses to accept proxy staking , or if it is not currently
* running a node, then it will behave as if proxyAccountID was null.
*/
AccountID proxyAccountID = 4 [deprecated = true];
/**
* The total number of tinybars proxy staked to this account
*/
int64 proxyReceived = 6;
/**
* The key for the account, which must sign in order to transfer out, or to modify the
* account in any way other than extending its expiration date.
*/
Key key = 7;
/**
* The current balance of account in tinybars
*/
uint64 balance = 8;
/**
* [Deprecated]. The threshold amount, in tinybars, at which a record is created of any
* transaction that decreases the balance of this account by more than the threshold
*/
uint64 generateSendRecordThreshold = 9 [deprecated=true];
/**
* [Deprecated]. The threshold amount, in tinybars, at which a record is created of any
* transaction that increases the balance of this account by more than the threshold
*/
uint64 generateReceiveRecordThreshold = 10 [deprecated=true];
/**
* If true, no transaction can transfer to this account unless signed by this account's key
*/
bool receiverSigRequired = 11;
/**
* The TimeStamp time at which this account is set to expire
*/
Timestamp expirationTime = 12;
/**
* The duration for expiration time will extend every this many seconds. If there are
* insufficient funds, then it extends as long as possible. If it is empty when it expires,
* then it is deleted.
*/
Duration autoRenewPeriod = 13;
/**
* All of the livehashes attached to the account (each of which is a hash along with the
* keys that authorized it and can delete it)
*/
repeated LiveHash liveHashes = 14;
/**
* [DEPRECATED] The metadata of the tokens associated to the account. This field was
* deprecated by <a href="https://hips.hedera.com/hip/hip-367">HIP-367</a>, which allowed
* an account to be associated to an unlimited number of tokens. This scale makes it more
* efficient for users to consult mirror nodes to review their token associations.
*/
repeated TokenRelationship tokenRelationships = 15 [deprecated = true];
/**
* The memo associated with the account
*/
string memo = 16;
/**
* The number of NFTs owned by this account
*/
int64 ownedNfts = 17;
/**
* The maximum number of tokens that an Account can be implicitly associated with.
*/
int32 max_automatic_token_associations = 18;
/**
* The alias of this account
*/
bytes alias = 19;
/**
* The ledger ID the response was returned from; please see <a href="https://github.com/hashgraph/hedera-improvement-proposal/blob/master/HIP/hip-198.md">HIP-198</a> for the network-specific IDs.
*/
bytes ledger_id = 20;
/**
* The ethereum transaction nonce associated with this account.
*/
int64 ethereum_nonce = 21;
/**
* Staking metadata for this account.
*/
StakingInfo staking_info = 22;
}
/**
* Info about the account (a state proof can be generated for this)
*/
AccountInfo accountInfo = 2;
}